OSDN Git Service

bonding: remove "port-moved" state that was never implemented
authorMahesh Bandewar <maheshb@google.com>
Wed, 8 Mar 2017 18:55:59 +0000 (10:55 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Mar 2017 01:33:29 +0000 (17:33 -0800)
LACP state-machine defines "port-moved" state when the same ActorSystemID
and Port are seen in a LACPDU received on different port. The state is
never set since it's not implemented. However the state-machine attempts
to clear that state occasionally. LACP state machine is already complicated
and since this state is not implemented, removing it's checks makes the
state-machine little simpler.

Signed-off-by: Mahesh Bandewar <maheshb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_3ad.c

index edc70ff..431926b 100644 (file)
@@ -1052,8 +1052,7 @@ static void ad_rx_machine(struct lacpdu *lacpdu, struct port *port)
                port->sm_rx_state = AD_RX_INITIALIZE;
                port->sm_vars |= AD_PORT_CHURNED;
        /* check if port is not enabled */
-       } else if (!(port->sm_vars & AD_PORT_BEGIN)
-                && !port->is_enabled && !(port->sm_vars & AD_PORT_MOVED))
+       } else if (!(port->sm_vars & AD_PORT_BEGIN) && !port->is_enabled)
                port->sm_rx_state = AD_RX_PORT_DISABLED;
        /* check if new lacpdu arrived */
        else if (lacpdu && ((port->sm_rx_state == AD_RX_EXPIRED) ||
@@ -1081,11 +1080,8 @@ static void ad_rx_machine(struct lacpdu *lacpdu, struct port *port)
                        /* if no lacpdu arrived and no timer is on */
                        switch (port->sm_rx_state) {
                        case AD_RX_PORT_DISABLED:
-                               if (port->sm_vars & AD_PORT_MOVED)
-                                       port->sm_rx_state = AD_RX_INITIALIZE;
-                               else if (port->is_enabled
-                                        && (port->sm_vars
-                                            & AD_PORT_LACP_ENABLED))
+                               if (port->is_enabled &&
+                                   (port->sm_vars & AD_PORT_LACP_ENABLED))
                                        port->sm_rx_state = AD_RX_EXPIRED;
                                else if (port->is_enabled
                                         && ((port->sm_vars
@@ -1115,7 +1111,6 @@ static void ad_rx_machine(struct lacpdu *lacpdu, struct port *port)
                        port->sm_vars &= ~AD_PORT_SELECTED;
                        __record_default(port);
                        port->actor_oper_port_state &= ~AD_STATE_EXPIRED;
-                       port->sm_vars &= ~AD_PORT_MOVED;
                        port->sm_rx_state = AD_RX_PORT_DISABLED;
 
                        /* Fall Through */