Bonding problems (bonded bridge active-backup)

Feb 5, 2018
15
2
23
45
I've configured my server with a bonded and bridged connection and seem to have gotten in a little over my head. Our networking group's switch configuration may also be involved. I have kernel logs going back to July 16th and since August 14th I keep periodically getting the following error for reasons unclear (though I know they have been troubleshooting a multicast issue):

Code:
kernel: [   38.456871] vmbr0: received packet on bond0 with own address as source address (addr:14:18:77:5a:5c:2c, vlan:0)


While investigating, I looked at /cat/net/bonding/bond0 and see that my bonding mode is "round-robin". However, in my configuration, I had set active-backup. Did I set this incorrectly?

Here is my /etc/network/interfaces file:

Code:
auto lo
iface lo inet loopback

#auto eno1
allow-hotplug eno1
iface eno1 inet manual
        bond-master bond0

iface eno2 inet manual

iface eno3 inet manual

iface eno4 inet manual

#auto enp13s0
allow-hotplug enp13s0
iface enp13s0 inet manual
        bond-master bond0

auto bond0
iface bond0 inet manual
        bond-slaves none
        bond-mode active-backup
        bond-miimon 100
        bond-primary enp13s0

auto vmbr0
iface vmbr0 inet static
        address ##redacted
        netmask ##redacted
        gateway ##redacted
        network ##redacted
        broadcast ##redacted
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0


Here is /cat/net/bonding/bond0

Code:
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eno1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 14:18:77:5a:5c:2c
Slave queue ID: 0

Slave Interface: enp13s0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: a0:36:9f:51:4c:08
Slave queue ID: 0


Can I also ask what is the proper way to restart this interface if I want to try different settings. I ran 'systemctl restart networking' via SSH and it locked up. I logged into our light-out controller however and was still unable to bring up the interface. I had to reboot at that point (I hadn't made any config changes; so rebooting reliably raised the interface as it has in the past with the configuration above).
 
Thank you! I have it working now.

The "laptop mode" perfectly describes what I wanted to accomplish. On the laptop, the WiFi interface is inferior to an Ethernet connection, but is better then nothing, hence an active-backup setting which prioritizes the Ethernet is desired. The only thing missing is having a bridge on top, but I had already figured that out. Here are the settings I'm using in case anyone else wants to do this.

Code:
#Check "laptop mode" section:  https://wiki.debian.org/Bonding

#Default settings for loopback
auto lo
iface lo inet loopback

#Slaves must be set to auto and appear before the bond in this file
#NOTE: bonded-bridge seems to use the MAC from this first interface
#though it may only be the first one successfully raised which is not
#exactly the same thing.
auto eno1
allow-hotplug eno1
iface eno1 inet manual
        bond-master bond0
        bond-primary enp13s0
        bond-mode active-backup

#Unused interfaces
iface eno2 inet manual

iface eno3 inet manual

iface eno4 inet manual

#Slaves must each have identical bond settings
auto enp13s0
allow-hotplug enp13s0
iface enp13s0 inet manual
        bond-master bond0
        bond-primary enps13s0
        bond-mode active-backup

#The bond must also be set to auto, but 'bond-slaves none' prevents
#the bond from auto-starting the already started slaves when a
#networking restart is performed.  A miimon setting is required
auto bond0
iface bond0 inet manual
        bond-slaves none
        bond-primary enp13s0
        bond-mode active-backup
        bond-miimon 100

#The bridge is configured last and determines the IP address
#Using a bond and one bridge, stp and fd are not needed
#(warning: I'm not confident about the stp/fd setting but it works)
auto vmbr0
iface vmbr0 inet static
        address #redacted
        netmask #redacted
        gateway #redacted
        network #redacted
        broadcast #redacted
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0



And here is the successful output of 'cat /proc/net/bonding/bond0':

Note: my 10G NIC is not actually running at 10G yet because our
10G switch isn't installed yet.

Code:
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: enp13s0 (primary_reselect always)
Currently Active Slave: enp13s0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eno1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 14:18:77:5a:5c:2c
Slave queue ID: 0

Slave Interface: enp13s0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 3
Permanent HW addr: a0:36:9f:51:4c:08
Slave queue ID: 0
 
Last edited: