]> git.baikalelectronics.ru Git - kernel.git/commit
bonding: Implement port churn-machine (AD standard 43.4.17).
authorMahesh Bandewar <maheshb@google.com>
Tue, 24 Feb 2015 01:50:11 +0000 (17:50 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Feb 2015 21:05:48 +0000 (16:05 -0500)
commit85cc07d5dc75b2677fde93194a1772e84737a26a
tree22a0420c1ffd7ed7f996f1dedd675da7644a1d9b
parentd3640b880fd36b7061892195f995575e26e2e66c
bonding: Implement port churn-machine (AD standard 43.4.17).

The Churn Detection machines detect the situation where a port is operable,
but the Actor and Partner have not attached the link to an Aggregator and
brought the link into operation within a bound time period. Under normal
operation of the LACP, agreement between Actor and Partner should be reached
very rapidly. Continued failure to reach agreement can be symptomatic of
device failure.

Actor-churn-detection state-machine
Reviewed-by: Nikolay Aleksandrov <nikolay@redhat.com>
===================================

BEGIN=True + PortEnable=False
           |
           v
 +------------------------+   ActorPort.Sync=True  +------------------+
 |   ACTOR_CHURN_MONITOR  | ---------------------> |  NO_ACTOR_CHURN  |
 |========================|                        |==================|
 |    ActorChurn=False    |  ActorPort.Sync=False  | ActorChurn=False |
 | ActorChurn.Timer=Start | <--------------------- |                  |
 +------------------------+                        +------------------+
           |                                                ^
           |                                                |
  ActorChurn.Timer=Expired                                  |
           |                                       ActorPort.Sync=True
           |                                                |
           |                +-----------------+             |
           |                |   ACTOR_CHURN   |             |
           |                |=================|             |
           +--------------> | ActorChurn=True | ------------+
                            |                 |
                            +-----------------+

Similar for the Partner-churn-detection.

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