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)
commitd5edf2906e0a251ddddd76caeb1b79de8bb5e3b8
tree402661e622fe9b3a483c216d717291a4eed63b90
parent4dc360c5e7e155373bffbb3c1f7ea0022dee650c
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