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.