Re: [PATCH net v2] bonding/802.3ad: fix link_failure_count tracking

From: David Miller
Date: Sun Nov 04 2018 - 19:46:07 EST


From: Jarod Wilson <jarod@xxxxxxxxxx>
Date: Sun, 4 Nov 2018 14:59:46 -0500

> Commit 4d2c0cda07448ea6980f00102dc3964eb25e241c set slave->link to
> BOND_LINK_DOWN for 802.3ad bonds whenever invalid speed/duplex values
> were read, to fix a problem with slaves getting into weird states, but
> in the process, broke tracking of link failures, as going straight to
> BOND_LINK_DOWN when a link is indeed down (cable pulled, switch rebooted)
> means we broke out of bond_miimon_inspect()'s BOND_LINK_DOWN case because
> !link_state was already true, we never incremented commit, and never got
> a chance to call bond_miimon_commit(), where slave->link_failure_count
> would be incremented. I believe the simple fix here is to mark the slave
> as BOND_LINK_FAIL, and let bond_miimon_inspect() transition the link from
> _FAIL to either _UP or _DOWN, and in the latter case, we now get proper
> incrementing of link_failure_count again.
>
> Fixes: 4d2c0cda0744 ("bonding: speed/duplex update at NETDEV_UP event")
> CC: Mahesh Bandewar <maheshb@xxxxxxxxxx>
> CC: David S. Miller <davem@xxxxxxxxxxxxx>
> CC: netdev@xxxxxxxxxxxxxxx
> CC: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx>
> ---
> v2: fix Fixes line

Applied and queued up for -stable.