• Mahesh Bandewar's avatar
    bonding: Implement port churn-machine (AD standard 43.4.17). · 14c9551a
    Mahesh Bandewar authored
    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: default avatarNikolay 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: default avatarMahesh Bandewar <maheshb@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    14c9551a
bond_3ad.c 79.4 KB