• M
    bonding: Implement port churn-machine (AD standard 43.4.17). · 14c9551a
    Mahesh Bandewar 提交于
    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: NNikolay 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: NMahesh Bandewar <maheshb@google.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    14c9551a
bond_3ad.h 9.8 KB