]> 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)
commitad0f75a5c8763e42e1e2b6015aa901e13d6667ef
tree8be0d8a17fa3d7880233c112dc944800608ea625
parent5a6ce14411f5efdc369f2760f0fc77d69aed9ccb
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