linux/drivers/net
Wilson Kok 63b46242f7 bonding: fix incorrect lacp mux state when agg not active
This patch attempts to fix the following problems when an actor or
partner's aggregator is not active:
    1. a slave's lacp port state is marked as AD_STATE_SYNCHRONIZATION
       even if it is attached to an inactive aggregator. LACP advertises
       this state to the partner, making the partner think he can move
       into COLLECTING_DISTRIBUTING state even though this link will not
       pass traffic on the local side

    2. a slave goes into COLLECTING_DISTRIBUTING state without checking
       if the aggregator is actually active

    3. when in COLLECTING_DISTRIBUTING state, the partner parameters may
       change, e.g. the partner_oper_port_state.SYNCHRONIZATION. The
       local mux machine is not reacting to the change and continue to
       keep the slave and bond up

    4. When bond slave leaves an inactive aggregator and joins an active
       aggregator, the actor oper port state need to update to SYNC state.

v2:
 * fix style issues in bond_3ad.c

Cc: Andy Gospodarek <gospo@cumulusnetworks.com>
Reviewed-by: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: Wilson Kok <wkok@cumulusnetworks.com>
Signed-off-by: Jonathan Toppins <jtoppins@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-01-27 17:09:04 -08:00
..
appletalk
arcnet
bonding bonding: fix incorrect lacp mux state when agg not active 2015-01-27 17:09:04 -08:00
caif caif: Fix napi poll list corruption 2014-12-22 16:34:39 -05:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-27 16:59:56 -08:00
cris
dsa net: dsa/mv88e6352: make mv88e6352_wait generic 2015-01-27 00:05:56 -08:00
ethernet Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-27 16:59:56 -08:00
fddi net: fddi: skfp: smt.c: Remove unused function 2015-01-02 16:36:07 -05:00
hamradio hamradio: 6pack: remove unnecessary check 2014-11-03 15:34:31 -05:00
hippi
hyperv hyperv: match wait_for_completion_timeout return type 2015-01-27 17:00:20 -08:00
ieee802154 at86rf230: Constify struct regmap_config 2015-01-05 16:30:50 -05:00
ipvlan ipvlan: fix incorrect usage of IS_ERR() macro in IPv6 code path. 2015-01-25 00:24:19 -08:00
irda irda: vlsi_ir: Replace timeval with ktime_t 2015-01-11 21:39:40 -05:00
phy net: phy: Invalidate LP advertising flags when restarting or disabling AN 2015-01-27 00:27:08 -08:00
plip
ppp ppp_read(): switch to skb_copy_datagram_iter() 2014-12-09 16:29:10 -05:00
slip
team Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-15 00:53:17 -05:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-27 16:59:56 -08:00
vmxnet3 Driver: Vmxnet3: Fix ethtool -S to return correct rx queue stats 2015-01-16 00:30:05 -05:00
wan
wimax
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-27 16:59:56 -08:00
xen-netback xen-netback: always fully coalesce guest Rx packets 2015-01-23 18:01:58 -08:00
dummy.c dummy: use MODULE_VERSION 2014-12-09 21:51:06 -05:00
eql.c
ifb.c
Kconfig ipvlan: ipvlan depends on INET and IPV6 2014-11-29 20:53:05 -08:00
LICENSE.SRC
loopback.c
macvlan.c macvlan: advertise link netns via netlink 2015-01-23 17:51:15 -08:00
macvtap.c net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
Makefile ipvlan: Initial check-in of the IPVLAN driver. 2014-11-24 15:29:18 -05:00
mdio.c
mii.c mii: Handle link state changes for forced modes in mii_check_media() 2015-01-19 15:43:42 -05:00
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
veth.c veth: advertise link netns via netlink 2015-01-23 17:51:15 -08:00
virtio_net.c virtio_net: add software timestamp support 2015-01-22 18:10:16 -08:00
vxlan.c vxlan: Eliminate dependency on UDP socket in transmit path 2015-01-24 23:15:40 -08:00
xen-netfront.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-15 00:53:17 -05:00