Bridge bond port fails
Issue
Shortly after the bridge is enabled, bond sub-interfaces are spontaneously disabled and the entire bond stops working.
Environment
Red Hat Enterprise Linux (RHEL) machine with bridge configured over bond to external switch.
IP configuration is set up on the bridge level, not on the bond.
STP (Spanning tree protocol) is enabled on both RHEL machine and the switch.
Example setup:
Let's have a physical machine with the RHEL OS (let's call it a RHEL machine) that contains:
- A hypervisor with other virtual machines
- A bridge that is configured within the RHEL machine
- It interconnects the virtual machines and a physical network switch (Cisco) that is connected via a bond (2 physical Ethernet interfaces)
- The bridge (unlike the bond) has an IP address and serves as an access interface to the RHEL machine
- STP is enabled on both the bridge and the switch
An example topology can be found in the attached image and can be configured using the commands below.
#Create bond (mode 1 – active backup)
nmcli con add type bond ifname bond0 con-name bond0
nmcli con modify bond0 bond.options mode=1
nmcli con add type ethernet con-name bond0-eno0 ifname eno0 master bond0
nmcli con add type ethernet con-name bond0-eno1 ifname eno1 master bond0
#Check bond and its slaves
cat /proc/net/bonding/bond0
#Create bridge
nmcli con add ifname bridge0 type bridge con-name bridge0
nmcli con modify bridge0 bridge.stp yes
nmcli con modify bridge0 ipv4.method static ipv4.address 192.168.123.54/24 ipv6.method ignore
nmcli con up bridge0
#Check bridge slaves
nmcli -f GENERAL.DEVICE,GENERAL.TYPE,BRIDGE.SLAVES device show bridge0
#Attach bond to bridge
nmcli con modify bond0 master bridge0 slave-type bridge
nmcli con up bond0
#Check bridge and bond slaves (and if they work)
cat /proc/net/bonding/bond0
nmcli -f GENERAL.DEVICE,GENERAL.TYPE,BRIDGE.SLAVES device show bridge0
In addition to the commands listed above, routing must also be configured appropriately. However, this issue will not be discussed in depth here.
Available bond modes can be found in the documentation.*
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.