]> git.baikalelectronics.ru Git - kernel.git/commit
bonding: unify all places where actor-oper key needs to be updated.
authorMahesh Bandewar <maheshb@google.com>
Sat, 31 Oct 2015 19:45:06 +0000 (12:45 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Nov 2015 03:52:24 +0000 (22:52 -0500)
commit190640b5577ab02fb89e7b92d5598317486d404f
tree8be0d8a17fa3d7880233c112dc944800608ea625
parent9fe2197db8066e4386980e6b709e8ba49a816a2a
bonding: unify all places where actor-oper key needs to be updated.

actor_admin, and actor_oper key is changed at multiple locations in
the code. This patch brings all those updates into one location in
an attempt to avoid possible inconsistent updates causing LACP state
machine to go in weird state.

The unified place is ad_update_actor_key() with simple state-machine
logic -
  (a) If port is "duplex" then only it can participate in LACP
  (b) Speed change reinitializes the LACP state-machine.

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