Complete Lab Fixes - L2 and L3 VXLAN Fully Operational #14

Merged
Damien merged 87 commits from fix-bgp-and-mlag into main 2025-11-30 10:24:29 +00:00
87 Commits
Author SHA1 Message Date
Damien 8cf952231e Remove FIXES_APPLIED.md - info documented in issues 2025-11-30 10:21:00 +00:00
Damien 3e7759b655 Fix static routes for inter-VLAN reachability 2025-11-30 10:07:13 +00:00
Damien d0db291ede Configure Linux hosts for LACP bonding and VLANs
Use a network-multitool image and configure LACP bonding and VLANs using
the `ip` command.
2025-11-30 09:44:47 +00:00
Damien 57477167f1 Fix host4 - add missing VLAN 78 configuration 2025-11-30 08:52:43 +00:00
Damien 59c4031d13 Remove redundant VLAN creation commands from exec - interface files handle this 2025-11-30 08:49:36 +00:00
Damien c81c117ef4 Add VLAN 40 configuration for host3 2025-11-29 20:00:57 +00:00
Damien a93d5e4b9f Add VLAN 34 configuration for host2 2025-11-29 20:00:39 +00:00
Damien 4405c75cdb Fix host1 IP address to 10.40.40.101 (was incorrectly set to 10.34.34.102) 2025-11-29 20:00:25 +00:00
Damien 43a90805ef Configure interfaces for bonding and VLANs
Adds bonding and VLAN configuration to host interfaces files and
configures the clab yaml to load the modules.
2025-11-29 19:59:06 +00:00
Damien 101143cc59 Add 'up' command to explicitly bring bond0 up 2025-11-29 19:31:00 +00:00
Damien 428ce8e80f Hybrid approach: ifupdown for bond0, ip commands for VLAN interfaces
Interface files handle bond0 creation with LACP via ifupdown-ng.
VLAN sub-interfaces created via ip link commands in exec due to
ifupdown-ng limitations with VLAN interfaces on bonds.

This combines the best of both approaches:
- Persistent bond configuration in /etc/network/interfaces
- Reliable VLAN interface creation via ip commands
2025-11-29 18:48:29 +00:00
Damien 15158c2bb1 Simplify host4 interface file to only configure bond0 2025-11-29 18:47:58 +00:00
Damien 89d3e0dac0 Simplify host3 interface file to only configure bond0 2025-11-29 18:47:48 +00:00
Damien 17a3bb63a3 Simplify host2 interface file to only configure bond0 2025-11-29 18:47:38 +00:00
Damien d32c6fd6a2 Simplify interface file to only configure bond0
VLAN interface creation will be handled by exec commands in topology
since ifupdown-ng can't reliably create VLAN sub-interfaces on bonds.
Removed 'inet manual' to allow bond0 to come up automatically.
2025-11-29 18:47:27 +00:00
Damien aaca77d4d3 Add 'use bond' directive for host4 2025-11-29 18:15:42 +00:00
Damien b270f4f683 Add 'use bond' directive for host3 2025-11-29 18:15:29 +00:00
Damien aa6fbbd2f3 Add 'use bond' directive for host2 2025-11-29 18:15:17 +00:00
Damien 0f3b8f6dff Add 'use bond' directive to enable bonding executor
The bonding executor must be explicitly enabled with 'use bond' 
for ifupdown-ng to create the bond interface properly.
Requires 'bonding' package installed.

Tested and verified working:
- bond0 created with LACP (802.3ad) mode
- eth1 and eth2 enslaved to bond0  
- VLAN interface bond0.40 working
- MLAG showing active-full on switches
2025-11-29 18:15:05 +00:00
Damien aa26ad716e Fix host4 interface config for ifupdown-ng syntax 2025-11-29 17:39:19 +00:00
Damien 6bc86b28be Fix host3 interface config for ifupdown-ng syntax 2025-11-29 17:39:13 +00:00
Damien 358c0c188b Fix host2 interface config for ifupdown-ng syntax 2025-11-29 17:39:06 +00:00
Damien 2016863228 Fix host1 interface config for ifupdown-ng syntax
Changed to ifupdown-ng compatible bonding syntax:
- bond-slaves → bond-members
- bond-mode 4 → bond-mode 802.3ad
- bond-lacp-rate 1 → bond-lacp-rate fast
- Removed bond-slaves directive (handled by bond-members)
- Removed vlan-raw-device (ifupdown-ng auto-detects from interface name)
2025-11-29 17:38:56 +00:00
Damien c0f680a0b6 Add README for hosts directory explaining interface configuration files 2025-11-29 17:25:47 +00:00
Damien 417b3fc245 Add comprehensive host interface configuration documentation
Document the persistent interface file approach using binds, explaining:
- Dual-homing architecture with LACP bonding
- VLAN tagging configuration on hosts
- Interface file format and parameters
- Deployment process and requirements
- Testing and troubleshooting procedures
2025-11-29 17:25:28 +00:00
Damien 383a631d92 Update topology to use binds for host interface configuration
Replace exec commands with binds mounting /etc/network/interfaces files.
This provides cleaner, more maintainable configuration that properly
handles LACP bonding and VLAN tagging on Alpine Linux hosts.

All hosts now:
- Mount their interface config from hosts/ directory
- Install required packages (ifupdown, bonding, vlan)
- Load kernel modules (bonding, 8021q)
- Bring up interfaces with ifup -a
2025-11-29 17:24:54 +00:00
Damien 3eedb0786c Add host4 network interfaces config with LACP bonding for VLAN 78 2025-11-29 17:23:59 +00:00
Damien 25cc7a4dae Add host3 network interfaces config with LACP bonding for VLAN 40 2025-11-29 17:23:54 +00:00
Damien 7c5d65558b Add host2 network interfaces config with LACP bonding for VLAN 34 2025-11-29 17:23:44 +00:00
Damien 9ddf594862 Add host1 network interfaces config with LACP bonding 2025-11-29 17:20:38 +00:00
Damien 31b52d2417 Fix host bonding: use mode 4 instead of mode 802.3ad for Alpine Linux 2025-11-29 17:04:32 +00:00
Damien 34b6b7bdd6 Fix command syntax - remove invalid 'show mlag interfaces Port-Channel1' 2025-11-29 16:53:08 +00:00
Damien c3aef36a8e Update troubleshooting guide
Improve formatting and add details for clarity.
2025-11-29 16:39:21 +00:00
Damien fb682fdb19 Add comprehensive EVPN-VXLAN troubleshooting guide 2025-11-29 12:42:54 +00:00
Damien ba3ed79363 Add LACP fallback configuration to leaf configs 2025-11-28 16:20:35 +00:00
Damien 413960b8e0 Fix leaf2: Add LACP fallback to Port-Channel1 for dual-homing 2025-11-28 16:17:39 +00:00
Damien 50434e7cc7 Fix leaf1: Add LACP fallback to Port-Channel1 for dual-homing 2025-11-28 16:16:27 +00:00
Damien bcf76e4cac Add 'no shutdown' to Port-Channel1 on leaf8 - ALL CONFIGS COMPLETE 2025-11-28 16:01:13 +00:00
Damien 05e8970753 Add 'no shutdown' to Port-Channel1 on leaf7 2025-11-28 16:00:31 +00:00
Damien 8b837ac2fa Add 'no shutdown' to Port-Channel1 on leaf6 2025-11-28 15:59:47 +00:00
Damien 2e2c4e677c Add 'no shutdown' to Port-Channel1 on leaf5-8
Batch update: Adding 'no shutdown' to all remaining Port-Channel1 interfaces
2025-11-28 15:58:14 +00:00
Damien 57b5766ac0 Add 'no shutdown' to Port-Channel1 on leaf4 2025-11-28 15:57:33 +00:00
Damien 6efadaf510 Add 'no shutdown' to Port-Channel1 on leaf3 2025-11-28 15:56:53 +00:00
Damien b2f23fd803 Add 'no shutdown' to Port-Channel1 on leaf2 2025-11-28 15:53:18 +00:00
Damien 326638fc8d Add 'no shutdown' to Port-Channel1 on leaf1
CRITICAL FIX: Port-Channel1 was administratively down.
Added 'no shutdown' command to enable the interface.
2025-11-28 15:52:22 +00:00
Damien da1fffdb17 Restore LACP mode for Port-Channel1 on leaf8
- Changed channel-group 1 from 'mode on' to 'mode active' for LACP
- Changed Port-Channel1 from access to trunk mode
- Added switchport trunk allowed vlan 78
- This matches the host4 LACP bond configuration
2025-11-28 14:48:14 +00:00
Damien 82b0fa95b4 Restore LACP mode for Port-Channel1 on leaf7
- Changed channel-group 1 from 'mode on' to 'mode active' for LACP
- Changed Port-Channel1 from access to trunk mode
- Added switchport trunk allowed vlan 78
- This matches the host4 LACP bond configuration
2025-11-28 14:46:50 +00:00
Damien e7ee8df0e5 Restore LACP mode for Port-Channel1 on leaf6
- Changed channel-group 1 from 'mode on' to 'mode active' for LACP
- Changed Port-Channel1 from access to trunk mode
- Added switchport trunk allowed vlan 40
- This matches the host3 LACP bond configuration
2025-11-28 14:45:34 +00:00
Damien 812d30fcd8 Restore LACP mode for Port-Channel1 on leaf5
- Changed channel-group 1 from 'mode on' to 'mode active' for LACP
- Changed Port-Channel1 from access to trunk mode
- Added switchport trunk allowed vlan 40
- This matches the host3 LACP bond configuration
2025-11-28 14:44:28 +00:00
Damien 90644633ea Restore LACP mode for Port-Channel1 on leaf4
- Changed channel-group 1 from 'mode on' to 'mode active' for LACP
- Changed Port-Channel1 from access to trunk mode
- Added switchport trunk allowed vlan 34
- This matches the host2 LACP bond configuration
2025-11-28 14:43:26 +00:00
Damien 2b93fd1385 Restore LACP mode for Port-Channel1 on leaf3
- Changed channel-group 1 from 'mode on' to 'mode active' for LACP
- Changed Port-Channel1 from access to trunk mode
- Added switchport trunk allowed vlan 34
- This matches the host2 LACP bond configuration
2025-11-28 14:42:29 +00:00
Damien 68bc4e95f7 Restore LACP mode for Port-Channel1 on leaf2
- Changed channel-group 1 from 'mode on' to 'mode active' for LACP
- Changed Port-Channel1 from access to trunk mode
- Added switchport trunk allowed vlan 40
- This matches the host1 LACP bond configuration
2025-11-28 14:41:40 +00:00
Damien f6ad61ab2e Restore LACP mode for Port-Channel1 on leaf1
- Changed channel-group 1 from 'mode on' to 'mode active' for LACP
- Changed Port-Channel1 from access to trunk mode
- Added switchport trunk allowed vlan 40
- This matches the host1 LACP bond configuration
2025-11-28 14:40:57 +00:00
Damien 13bb234971 Revert to dual-homing with LACP for all hosts
- All hosts now dual-homed to MLAG pairs using LACP bonding
- host1: connects to leaf1 (eth1) and leaf2 (eth2) - VLAN 40
- host2: connects to leaf3 (eth1) and leaf4 (eth2) - VLAN 34  
- host3: connects to leaf5 (eth1) and leaf6 (eth2) - VLAN 40
- host4: connects to leaf7 (eth1) and leaf8 (eth2) - VLAN 78
- Each host creates bond0 with LACP (mode 802.3ad)
- Proper MAC address assignment per host
2025-11-28 14:40:16 +00:00
Damien f6c9a15653 Simplify hosts: remove bonding, use single-homed connections 2025-11-28 14:27:02 +00:00
Damien 0a23b0ddeb Fix host bond interfaces - bring up eth slaves before adding to bond 2025-11-28 14:10:34 +00:00
Damien a027145204 Fix MLAG peer-link on leaf6: change to trunk mode 2025-11-28 11:55:45 +00:00
Damien be3c0d50d8 Fix MLAG peer-link on leaf5: change to trunk mode 2025-11-28 11:55:28 +00:00
Damien f87a403560 Fix MLAG peer-link on leaf2: change to trunk mode 2025-11-28 11:55:11 +00:00
Damien 387ba23809 Fix MLAG peer-link on leaf1: change to trunk mode 2025-11-28 11:54:54 +00:00
Damien b586035895 Fix MLAG peer-link on leaf8: change to trunk mode 2025-11-28 11:46:15 +00:00
Damien e7e8dad6ce Fix MLAG peer-link on leaf7: change to trunk mode 2025-11-28 11:45:19 +00:00
Damien 3be174807e Fix MLAG peer-link on leaf4: change to trunk mode 2025-11-28 11:44:29 +00:00
Damien ae06beb9b5 Fix MLAG peer-link on leaf3: change to trunk mode 2025-11-28 11:43:45 +00:00
Damien 16c8de57f2 Fix: Move network statements to main IPv4 address-family in leaf8 2025-11-28 11:38:23 +00:00
Damien abfac1ea9f Fix: Move network statements to main IPv4 address-family in leaf7 2025-11-28 11:37:55 +00:00
Damien 8ca36c2214 Fix: Move network statements to main IPv4 address-family in leaf4 2025-11-28 11:37:31 +00:00
Damien 9113a11100 Fix: Move network statements to main IPv4 address-family in leaf3 2025-11-28 11:37:09 +00:00
Damien aef7ce6b6e Fix: Remove duplicate network advertisements in leaf8 BGP config 2025-11-28 11:24:33 +00:00
Damien 862d2260bc Fix: Remove duplicate network advertisements in leaf7 BGP config 2025-11-28 11:24:17 +00:00
Damien b9b4fcd163 Fix: Remove duplicate network advertisements in leaf4 BGP config 2025-11-28 11:24:03 +00:00
Damien 70d6bb0b8f Fix: Remove duplicate network advertisements in leaf3 BGP config 2025-11-28 11:23:43 +00:00
Damien 1f6bd4f978 Document critical BGP EVPN activation bug fix 2025-11-28 10:49:00 +00:00
Damien 27717bc7de Fix: EVPN address family properly activated on spine2 2025-11-28 10:48:48 +00:00
Damien 5dada61b2c Fix: EVPN address family properly activated on spine1 2025-11-28 10:48:31 +00:00
Damien d27d72440c Add comprehensive summary of fix-bgp-and-mlag branch changes 2025-11-28 10:40:22 +00:00
Damien 573a2af942 Add comprehensive testing checklist for deployment validation 2025-11-28 10:40:00 +00:00
Damien e5a4f5c9e5 Document VLAN tagging issue and fix in detail 2025-11-28 10:39:34 +00:00
Damien c795d1c541 Add comprehensive end-to-end testing guide with VLAN tagging fixes 2025-11-28 10:39:18 +00:00
Damien b6daa30283 Fix: Configure hosts to properly tag VLANs for leaf port-channels 2025-11-28 10:38:48 +00:00
Damien 1275f27637 Fix: Add loopback network advertisements to IPv4 AF on leaf3,4,7,8
Added network statements for loopback addresses in IPv4 address family:
- Leaf3/4: network 10.0.250.13/32, 10.0.250.14/32, 10.0.255.12/32
- Leaf7/8: network 10.0.250.17/32, 10.0.250.18/32, 10.0.255.14/32

This ensures EVPN BGP sessions establish properly on redeploy.
Previously these were only in the VRF gold section.
2025-11-28 10:33:12 +00:00
Damien 5cc976e218 Fix: Update all leafs - Port-Channel1 to ACCESS mode
- Changed switchport mode from trunk to access on all leafs
- Updated switchport access vlan statements for each VLAN
- Leaf1/2/5/6: VLAN 40 (L2 VXLAN)
- Leaf3/4: VLAN 34 (L3 VXLAN)
- Leaf7/8: VLAN 78 (L3 VXLAN)

This enables proper untagged traffic handling for host connections.
2025-11-28 10:31:37 +00:00
Damien 2aea6a3e7e Remove redundant comment about IP routing 2025-11-28 10:17:02 +00:00
Damien a6754de9d6 Fix: Add ip routing command to leaf3, leaf4, leaf7, leaf8
Critical fix to enable BGP initialization on all leaf switches.
Without this command, BGP stays disabled and EVPN neighbors
cannot establish sessions.
2025-11-28 09:57:31 +00:00
Damien e1fb8e27f5 Document all fixes applied in fix-bgp-and-mlag branch 2025-11-28 09:18:32 +00:00
Damien 830853dfb2 Fix: Add 'ip routing' command to enable BGP on spine2 2025-11-28 09:17:41 +00:00
Damien 7fd9a81013 Fix: Add 'ip routing' command to enable BGP on spine1 2025-11-28 09:17:10 +00:00