From: Jarod Wilson <jarod@xxxxxxxxxx> Date: Wed, 18 Jul 2018 14:49:36 -0400 > For some time now, if you load the bonding driver and configure bond > parameters via sysfs using minimal config options, such as specifying > nothing but the mode, relying on defaults for everything else, modes > that cannot use arp monitoring (802.3ad, balance-tlb, balance-alb) all > wind up with both arp_interval=0 (as it should be) and miimon=0, which > means the miimon monitor thread never actually runs. This is particularly > problematic for 802.3ad. ... > I believe this became a major issue as of commit 4d2c0cda0744, which for > 802.3ad bonds, sets slave->link = BOND_LINK_DOWN, with a comment about > relying on link monitoring via miimon to set it correctly, but since the > miimon work queue never runs, the link just stays marked down. > > If we simply tweak bond_option_mode_set() slightly, we can check for the > non-arp modes having no miimon value set, and insert BOND_DEFAULT_MIIMON, > which gets things back in full working order. This problem exists as far > back as 4.14, and might be worth fixing in all stable trees since, though > the work-around is to simply specify an miimon value yourself. > > Reported-by: Bob Ball <ball@xxxxxxxxx> ... > Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx> Applied and queued up for -stable, thank you.