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)
commit7bb11dc9f59ddcb33ee317da77b235235aaa582a
tree8be0d8a17fa3d7880233c112dc944800608ea625
parentb25c2e7d3c44aaadee55d70f70c31cbc9014c713
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