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
8cf952231e Remove FIXES_APPLIED.md - info documented in issues 2025-11-30 10:21:00 +00:00
3e7759b655 Fix static routes for inter-VLAN reachability 2025-11-30 10:07:13 +00:00
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
57477167f1 Fix host4 - add missing VLAN 78 configuration 2025-11-30 08:52:43 +00:00
59c4031d13 Remove redundant VLAN creation commands from exec - interface files handle this 2025-11-30 08:49:36 +00:00
c81c117ef4 Add VLAN 40 configuration for host3 2025-11-29 20:00:57 +00:00
a93d5e4b9f Add VLAN 34 configuration for host2 2025-11-29 20:00:39 +00:00
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
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
101143cc59 Add 'up' command to explicitly bring bond0 up 2025-11-29 19:31:00 +00:00
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
15158c2bb1 Simplify host4 interface file to only configure bond0 2025-11-29 18:47:58 +00:00
89d3e0dac0 Simplify host3 interface file to only configure bond0 2025-11-29 18:47:48 +00:00
17a3bb63a3 Simplify host2 interface file to only configure bond0 2025-11-29 18:47:38 +00:00
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
aaca77d4d3 Add 'use bond' directive for host4 2025-11-29 18:15:42 +00:00
b270f4f683 Add 'use bond' directive for host3 2025-11-29 18:15:29 +00:00
aa6fbbd2f3 Add 'use bond' directive for host2 2025-11-29 18:15:17 +00:00
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
aa26ad716e Fix host4 interface config for ifupdown-ng syntax 2025-11-29 17:39:19 +00:00
6bc86b28be Fix host3 interface config for ifupdown-ng syntax 2025-11-29 17:39:13 +00:00
358c0c188b Fix host2 interface config for ifupdown-ng syntax 2025-11-29 17:39:06 +00:00
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
c0f680a0b6 Add README for hosts directory explaining interface configuration files 2025-11-29 17:25:47 +00:00
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
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
3eedb0786c Add host4 network interfaces config with LACP bonding for VLAN 78 2025-11-29 17:23:59 +00:00
25cc7a4dae Add host3 network interfaces config with LACP bonding for VLAN 40 2025-11-29 17:23:54 +00:00
7c5d65558b Add host2 network interfaces config with LACP bonding for VLAN 34 2025-11-29 17:23:44 +00:00
9ddf594862 Add host1 network interfaces config with LACP bonding 2025-11-29 17:20:38 +00:00
31b52d2417 Fix host bonding: use mode 4 instead of mode 802.3ad for Alpine Linux 2025-11-29 17:04:32 +00:00
34b6b7bdd6 Fix command syntax - remove invalid 'show mlag interfaces Port-Channel1' 2025-11-29 16:53:08 +00:00
c3aef36a8e Update troubleshooting guide
Improve formatting and add details for clarity.
2025-11-29 16:39:21 +00:00
fb682fdb19 Add comprehensive EVPN-VXLAN troubleshooting guide 2025-11-29 12:42:54 +00:00
ba3ed79363 Add LACP fallback configuration to leaf configs 2025-11-28 16:20:35 +00:00
413960b8e0 Fix leaf2: Add LACP fallback to Port-Channel1 for dual-homing 2025-11-28 16:17:39 +00:00
50434e7cc7 Fix leaf1: Add LACP fallback to Port-Channel1 for dual-homing 2025-11-28 16:16:27 +00:00
bcf76e4cac Add 'no shutdown' to Port-Channel1 on leaf8 - ALL CONFIGS COMPLETE 2025-11-28 16:01:13 +00:00
05e8970753 Add 'no shutdown' to Port-Channel1 on leaf7 2025-11-28 16:00:31 +00:00
8b837ac2fa Add 'no shutdown' to Port-Channel1 on leaf6 2025-11-28 15:59:47 +00:00
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
57b5766ac0 Add 'no shutdown' to Port-Channel1 on leaf4 2025-11-28 15:57:33 +00:00
6efadaf510 Add 'no shutdown' to Port-Channel1 on leaf3 2025-11-28 15:56:53 +00:00
b2f23fd803 Add 'no shutdown' to Port-Channel1 on leaf2 2025-11-28 15:53:18 +00:00
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
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
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
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
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
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
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
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
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
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
f6c9a15653 Simplify hosts: remove bonding, use single-homed connections 2025-11-28 14:27:02 +00:00
0a23b0ddeb Fix host bond interfaces - bring up eth slaves before adding to bond 2025-11-28 14:10:34 +00:00
a027145204 Fix MLAG peer-link on leaf6: change to trunk mode 2025-11-28 11:55:45 +00:00
be3c0d50d8 Fix MLAG peer-link on leaf5: change to trunk mode 2025-11-28 11:55:28 +00:00
f87a403560 Fix MLAG peer-link on leaf2: change to trunk mode 2025-11-28 11:55:11 +00:00
387ba23809 Fix MLAG peer-link on leaf1: change to trunk mode 2025-11-28 11:54:54 +00:00
b586035895 Fix MLAG peer-link on leaf8: change to trunk mode 2025-11-28 11:46:15 +00:00
e7e8dad6ce Fix MLAG peer-link on leaf7: change to trunk mode 2025-11-28 11:45:19 +00:00
3be174807e Fix MLAG peer-link on leaf4: change to trunk mode 2025-11-28 11:44:29 +00:00
ae06beb9b5 Fix MLAG peer-link on leaf3: change to trunk mode 2025-11-28 11:43:45 +00:00
16c8de57f2 Fix: Move network statements to main IPv4 address-family in leaf8 2025-11-28 11:38:23 +00:00
abfac1ea9f Fix: Move network statements to main IPv4 address-family in leaf7 2025-11-28 11:37:55 +00:00
8ca36c2214 Fix: Move network statements to main IPv4 address-family in leaf4 2025-11-28 11:37:31 +00:00
9113a11100 Fix: Move network statements to main IPv4 address-family in leaf3 2025-11-28 11:37:09 +00:00
aef7ce6b6e Fix: Remove duplicate network advertisements in leaf8 BGP config 2025-11-28 11:24:33 +00:00
862d2260bc Fix: Remove duplicate network advertisements in leaf7 BGP config 2025-11-28 11:24:17 +00:00
b9b4fcd163 Fix: Remove duplicate network advertisements in leaf4 BGP config 2025-11-28 11:24:03 +00:00
70d6bb0b8f Fix: Remove duplicate network advertisements in leaf3 BGP config 2025-11-28 11:23:43 +00:00
1f6bd4f978 Document critical BGP EVPN activation bug fix 2025-11-28 10:49:00 +00:00
27717bc7de Fix: EVPN address family properly activated on spine2 2025-11-28 10:48:48 +00:00
5dada61b2c Fix: EVPN address family properly activated on spine1 2025-11-28 10:48:31 +00:00
d27d72440c Add comprehensive summary of fix-bgp-and-mlag branch changes 2025-11-28 10:40:22 +00:00
573a2af942 Add comprehensive testing checklist for deployment validation 2025-11-28 10:40:00 +00:00
e5a4f5c9e5 Document VLAN tagging issue and fix in detail 2025-11-28 10:39:34 +00:00
c795d1c541 Add comprehensive end-to-end testing guide with VLAN tagging fixes 2025-11-28 10:39:18 +00:00
b6daa30283 Fix: Configure hosts to properly tag VLANs for leaf port-channels 2025-11-28 10:38:48 +00:00
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
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
2aea6a3e7e Remove redundant comment about IP routing 2025-11-28 10:17:02 +00:00
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
e1fb8e27f5 Document all fixes applied in fix-bgp-and-mlag branch 2025-11-28 09:18:32 +00:00
830853dfb2 Fix: Add 'ip routing' command to enable BGP on spine2 2025-11-28 09:17:41 +00:00
7fd9a81013 Fix: Add 'ip routing' command to enable BGP on spine1 2025-11-28 09:17:10 +00:00