Description

This article provides information on how transmit rate (LACP Interval) is negotiated between Actor and Partner.

 

Symptoms

If we set "periodic fast," LACPDU exchanges are done every "second" and if we set "periodic slow," LACPDU exchanges are done every "30 seconds."

The above statement is true as long as we have the same transmit rate configuration on both Actor and Partner.

 

Solution

If we configure Actor as "periodic fast" and Partner as "periodic slow," then the transmit rate works reverse as explained below:

Setup

EXA====ae0======EXB

EX-A LAG configuration

user@switch# show interfaces ae0

aggregated-ether-options {
    minimum-links 2;
    lacp {
        active;
        periodic fast;
    }
}
unit 0 {
    family ethernet-switching;
}

LAG status

user@switch# run show interfaces terse |match ae
ge-0/0/0.0              up    up   aenet    --> ae0.0
ge-0/0/1.0              up    up   aenet    --> ae0.0
ae0                     up    up
ae0.0                   up    up   eth-switch

user@switch# run show lacp interfaces ae0
Aggregated interface: ae0
    LACP state:       Role   Exp   Def  Dist  Col  Syn  Aggr  Timeout  Activity
      ge-0/0/1       Actor    No    No   Yes  Yes  Yes   Yes     Fast    Active
      ge-0/0/1     Partner    No    No   Yes  Yes  Yes   Yes     Slow    Active
      ge-0/0/0       Actor    No    No   Yes  Yes  Yes   Yes     Fast    Active
      ge-0/0/0     Partner    No    No   Yes  Yes  Yes   Yes     Slow    Active
    LACP protocol:        Receive State  Transmit State          Mux State
      ge-0/0/1                  Current   Slow periodic Collecting distributing
      ge-0/0/0                  Current   Slow periodic Collecting distributing

>>> Look at the below LACP interface stats for child member ge-0/0/0; it is receiving LACPDUs every second (Fast) from Partner and sending LACPDUs every 30 seconds (Slow).  

user@switch# run show lacp statistics interfaces ge-0/0/0
Aggregated interface: ae0
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/0/0                1679       11144            0            0

{master:0}[edit]
user@switch# run show lacp statistics interfaces ge-0/0/0
Aggregated interface: ae0
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/0/0                1680       11144            0            0

{master:0}[edit]
user@switch# run show lacp statistics interfaces ge-0/0/0
Aggregated interface: ae0
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/0/0                1681       11144            0            0

>>> Look at the below LACP interface stats for child member ge-0/0/1; it is receiving LACPDUs every second (Fast) from  Partner and sending LACPDUs every 30 seconds (Slow).  

{master:0}[edit]
user@switch# run show lacp statistics interfaces ge-0/0/1
Aggregated interface: ae0
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/0/1                1730       11052            0            0

{master:0}[edit]
user@switch# run show lacp statistics interfaces ge-0/0/1
Aggregated interface: ae0
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/0/1                1731       11052            0            0

{master:0}[edit]
user@switch# run show lacp statistics interfaces ge-0/0/1
Aggregated interface: ae0
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/0/1                1732       11052            0            0

user@switch# run monitor traffic interface ge-0/0/0

13:16:46.299378  In LACPv1, length 60
13:16:47.301318  In LACPv1, length 60
13:16:48.302369  In LACPv1, length 60
13:16:49.303318  In LACPv1, length 60
13:16:50.304332  In LACPv1, length 60
13:16:51.305361  In LACPv1, length 60
13:16:52.306353  In LACPv1, length 60

user@switch# run monitor traffic interface ge-0/0/1

13:16:55.310256  In LACPv1, length 60
13:16:56.311240  In LACPv1, length 60
13:16:57.312251  In LACPv1, length 60
13:16:58.314202  In LACPv1, length 60
13:16:59.315204  In LACPv1, length 60
13:17:00.317615  In LACPv1, length 60
13:17:01.319213  In LACPv1, length 60

EX-B LAG configuration

user@switch# show interfaces ae0
aggregated-ether-options {
    minimum-links 2;
    lacp {
        active;
        periodic slow;
    }
}
unit 0 {
    family ethernet-switching;
}

LAG status

user@switch# run show interfaces terse |match ae
ge-0/0/0.0              up    up   aenet    --> ae0.0
ge-0/0/1.0              up    up   aenet    --> ae0.0
ae0                     up    up
ae0.0                   up    up   eth-switch

user@switch# run show lacp interfaces ae0
Aggregated interface: ae0
    LACP state:       Role   Exp   Def  Dist  Col  Syn  Aggr  Timeout  Activity
      ge-0/0/1       Actor    No    No   Yes  Yes  Yes   Yes     Slow    Active
      ge-0/0/1     Partner    No    No   Yes  Yes  Yes   Yes     Fast    Active
      ge-0/0/0       Actor    No    No   Yes  Yes  Yes   Yes     Slow    Active
      ge-0/0/0     Partner    No    No   Yes  Yes  Yes   Yes     Fast    Active
    LACP protocol:        Receive State  Transmit State          Mux State
      ge-0/0/1                  Current   Fast periodic Collecting distributing
      ge-0/0/0                  Current   Fast periodic Collecting distributing

>>> Look at the below LACP interface stats for child member ge-0/0/0; it is transmitting LACPDUs every second (Fast) to Partner and receiving LACPDUs every 30 seconds (Slow).  

user@switch# run show lacp statistics interfaces ge-0/0/0
Aggregated interface: ae0
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/0/0               11143        1999            0            0

{master:0}[edit]
user@switch# run show lacp statistics interfaces ge-0/0/0
Aggregated interface: ae0
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/0/0               11143        2000            0            0

{master:0}[edit]
user@switch# run show lacp statistics interfaces ge-0/0/0
Aggregated interface: ae0
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/0/0               11143        2001            0            0

>>> Look at the below LACP interface stats for child member ge-0/0/1; it is receiving LACPDUs every second (Fast) from Partner and sending LACPDUs every 30 seconds (Slow).  

{master:0}[edit]
user@switch# run show lacp statistics interfaces ge-0/0/1
Aggregated interface: ae0
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/0/1               11053        1754            0            0

{master:0}[edit]
user@switch# run show lacp statistics interfaces ge-0/0/1
Aggregated interface: ae0
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/0/1               11053        1755            0            0

{master:0}[edit]
user@switch# run show lacp statistics interfaces ge-0/0/1
Aggregated interface: ae0
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/0/1               11053        1756            0            0

user@switch# run monitor traffic interface ge-0/0/0

14:16:45.559492 Out LACPv1, length 60
14:16:46.560467 Out LACPv1, length 60
14:16:47.561491 Out LACPv1, length 60
14:16:48.562485 Out LACPv1, length 60
14:16:48.562485 Out LACPv1, length 60
14:16:49.562485 Out LACPv1, length 60
14:16:50.562485 Out LACPv1, length 60

user@switch# run monitor traffic interface ge-0/0/1

14:16:54.571148 Out LACPv1, length 60
14:16:55.572191 Out LACPv1, length 60
14:16:56.574188 Out LACPv1, length 60
14:16:57.575110 Out LACPv1, length 60
14:16:58.576535 Out LACPv1, length 60
14:16:59.578136 Out LACPv1, length 60
14:17:00.579192 Out LACPv1, length 60

In LACP, both Actor and Partner negotiate for transmit rate and the transmitter operates at receiver’s rate as shown above.

 

Modification History

2020-05-12: Article reviewed for accuracy, no changes required; article accurate and valid