Score:0

ping fails when bond0 switches slaves, ip stays the same

gb flag

setup is fresh debian 11

Bonded connection (bond0) is created using all nmcli commands

sudo nmcli con add type bond con-name bondcon ifname bond0 mode active-backup +bond.options "primary=eth0,fail_over_mac=none,miimon=500,primary_reselect=always,updelay=200"

bond mode is active-backup Slave connections are added for Ethernet (bond-eth) and wifi (ssidname) nmcli con add type ethernet con-name bond-eth slave-type bond master bond0 ifname eth0 same with wifi

bond0 is brought up, and the slaves are confirmed to be connected by:

ip a and by sudo watch cat /proc/net/bonding/bond0

As the ethernet cable is unplugged and plugged back in, the bond0 active slave is seen to change, and the ip a output shows the link failures and restorations.

HOWEVER!!

From another computer on the same network, the ping command to the ip address of the computer (which doesn't change as the slaves are connected and disconnected)... fails and succeeds predictably based on the cable being unplugged. If the active slave is the wifi... the ping succeeds (along with any other ip based tools, including ssh) and if the cable is plugged in... ping immediately fails.... until the cable is unplugged again and wifi becomes the active slave.

the only diagnostic item I can find, is that the mac address of the bond master (bond0), the ethernet slave, and the wifi slave are all being set to the same thing via the fail_over_man=none in the nmcli connection profile... and the condition where ping is working, is when the wifi is the active slave.

in other words, if the currently active slave's permanent mac address is the same the forced mac address via the failovermac option... the ping succeeds.

But! if the currently active slave's permanent mac address is not the same as the forced mac addresses via failovermac options... the ping fails.

This behavior is bizarre to me, because I thought ping was simply based on ip address resolution, period. But, of course, I could easily be conflating separate issues.

In case it's usefule, I'll note that hostname resolution is flaky in my network (behind a cheap att router). "dig targethostname" often gives stale information. I need to correct that as well... perhaps by moving to static ip addresses for my target computers.

Thanks, I've been hunting this for many hours, and no luck anywhere online.

See main story for details. every test I could find from lan computers, from ping to dig to nomachine remote protocols... the failure is clearly linked to the cable getting unplugged... which entirely defeats the purpose of bonding the interfaces to begin with.

A.B avatar
cl flag
A.B
My 2c: With Wifi which can't change MAC address, you should use `fail_over_mac=active`. But I would have expected the opposite to happen.
I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.