]> git.baikalelectronics.ru Git - kernel.git/commit
bonding: fix wrong port enabling in 802.3ad
authorFlavio Leitner <fbl@redhat.com>
Thu, 13 Oct 2011 07:21:23 +0000 (07:21 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Oct 2011 23:24:14 +0000 (19:24 -0400)
commit5068d9f27b3f049d0e2017775f3387e061e8f872
tree402661e622fe9b3a483c216d717291a4eed63b90
parent021bd6415f3c60fb5e7f5d5b5901d0496bb5b3bb
bonding: fix wrong port enabling in 802.3ad

The port shouldn't be enabled unless its current MUX
state is DISTRIBUTING which is correctly handled by
ad_mux_machine(), otherwise the packet sent can be
lost because the other end may not be ready.

The issue happens on every port initialization, but
as the ports are expected to move quickly to DISTRIBUTING,
it doesn't cause much problem.  However, it does cause
constant packet loss if the other peer has the port
configured to stay in STANDBY (i.e. SYNC set to OFF).

Signed-off-by: Flavio Leitner <fbl@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_3ad.c