remarkable-linux/drivers/net/bonding
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
..
bond_3ad.c bonding: fix incorrect lacp mux state when agg not active 2015-01-27 17:09:04 -08:00
bond_alb.c vlan: kill vlan_put_tag helper 2014-11-21 14:20:17 -05:00
bond_debugfs.c net: Move bonding headers under include/net 2014-11-10 13:27:49 -05:00
bond_main.c bonding: fix bond_open() don't always set slave active flag 2015-01-27 17:09:03 -08:00
bond_netlink.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-12-10 15:48:20 -05:00
bond_options.c bonding: update bond carrier state when min_links option changes 2015-01-27 17:09:03 -08:00
bond_procfs.c net: Move bonding headers under include/net 2014-11-10 13:27:49 -05:00
bond_sysfs.c net: Move bonding headers under include/net 2014-11-10 13:27:49 -05:00
bond_sysfs_slave.c net: Move bonding headers under include/net 2014-11-10 13:27:49 -05:00
Makefile