[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190924.155217.1833825682160899189.davem@davemloft.net>
Date: Tue, 24 Sep 2019 15:52:17 +0200 (CEST)
From: David Miller <davem@...emloft.net>
To: zaharov@...ectel.ru
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH] bonding/802.3ad: fix slave initialization states race
From: Aleksei Zakharov <zaharov@...ectel.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.a.g@...dex.ru>
Please work out the final way to fix this with Jay and repost.
Thank you.
Powered by blists - more mailing lists