]> 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)
commite3404e71061ee4a5d6acfae543e653f92f7c8e78
tree402661e622fe9b3a483c216d717291a4eed63b90
parent5ddd28790d542a6a56613ca2430f8e83113279d6
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