Re: [PATCH net] bonding/802.3ad: fix slave link initialization transition states

From: Jarod Wilson
Date: Fri May 24 2019 - 22:43:56 EST


On 5/24/19 5:16 PM, Jay Vosburgh wrote:
Jarod Wilson <jarod@xxxxxxxxxx> wrote:

Once in a while, with just the right timing, 802.3ad slaves will fail to
properly initialize, winding up in a weird state, with a partner system
mac address of 00:00:00:00:00:00. This started happening after a fix to
properly track link_failure_count tracking, where an 802.3ad slave that
reported itself as link up in the miimon code, but wasn't able to get a
valid speed/duplex, started getting set to BOND_LINK_FAIL instead of
BOND_LINK_DOWN. That was the proper thing to do for the general "my link
went down" case, but has created a link initialization race that can put
the interface in this odd state.

Reading back in the git history, the ultimate cause of this
"weird state" appears to be devices that assert NETDEV_UP prior to
actually being able to supply sane speed/duplex values, correct?

Presuming that this is the case, I don't see that there's much
else to be done here, and so:

Acked-by: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx>

Correct, we've got an miimon "device is up", but still can't get speed and/or duplex in this case.

--
Jarod Wilson
jarod@xxxxxxxxxx