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
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.
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
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
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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