From: Aleksei Zakharov <zaha...@selectel.ru>
Date: Wed, 18 Sep 2019 16:05:45 +0300

> Once a while, one of 802.3ad slaves fails to initialize and hangs in
> BOND_LINK_FAIL state. Commit 334031219a84 ("bonding/802.3ad: fix slave
> link initialization transition states") checks slave->last_link_up. But
> link can still hang in weird state.
> After physical link comes up it sends first two LACPDU messages and
> doesn't work properly after that. It doesn't send or receive LACPDU.
> Once it happens, the only message in dmesg is:
> bond1: link status up again after 0 ms for interface eth2
> 
> This behavior can be reproduced (not every time):
> 1. Set slave link down
> 2. Wait for 1-3 seconds
> 3. Set slave link up
> 
> The fix is to check slave->link before setting it to BOND_LINK_FAIL or
> BOND_LINK_DOWN state. If got invalid Speed/Dupex values and link is in
> BOND_LINK_UP state, mark it as BOND_LINK_FAIL; otherwise mark it as
> BOND_LINK_DOWN.
> 
> Fixes: 334031219a84 ("bonding/802.3ad: fix slave link initialization
> transition states")

Please do not split Fixes: tags onto mutliple lines.

> Signed-off-by: Aleksei Zakharov <zakharov....@yandex.ru>

Please work out the final way to fix this with Jay and repost.

Thank you.

Reply via email to