FD.io VPP  v19.04.2-12-g66b1689
Vector Packet Processing
VPP Link Aggregation Control Protocol (LACP) implementation

This document is to describe the usage of VPP LACP implementation.

LACP

The Link Aggregation Control Protocol (LACP) is an 802.3ad standard which provides a protocol for exchanging information between Partner Systems on a link to allow their protocol instances to reach agreement on the Link Aggregation Group to which the link belongs and enable transmission and reception for the higher layer. Multiple links may be bundled to the same Aggregation Group to form a high bandwidth transmission medium and create a fault-tolerant link.

Configuration

  1. Create the bond interface create bond mode lacp [hw-addr <mac-address>] [load-balance { l2 | l23 | l34 }]
  2. Enslave the physical interface to the bond bond add <bond-interface-name> <slave-interface> [passive] [long-timeout]"
  3. Delete the bond interface delete bond {<interface> | sw_if_index <sw_idx>}
  4. Detach the slave interface from the bond bond del <slave-interface>

Configuration example

1 create bond mode lacp
2 set interface state BondEthernet0 up
3 bond add BondEthernet0 TenGigabitEthernet7/0/0
4 bond add BondEthernet0 TenGigabitEthernet7/0/1
5 bond add BondEthernet0 TenGigabitEthernet5/0/0
6 bond add BondEthernet0 TenGigabitEthernet5/0/1
1 bond del TenGigabitEthernet5/0/1
1 delete bond BondEthernet0

Operational data

1 show lacp [<interface>] [details]

Example:

1 DBGvpp# show lacp
2  actor state partner state
3 interface name sw_if_index bond interface exp/def/dis/col/syn/agg/tim/act exp/def/dis/col/syn/agg/tim/act
4 GigabitEthernet2/0/1 1 BondEthernet0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1
5  LAG ID: [(ffff,e4-c7-22-f3-26-71,0000,00ff,0001), (ffff,fc-99-47-4a-0c-8b,0009,00ff,0001)]
6  RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
7 TenGigabitEthernet4/0/0 2 BondEthernet1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1
8  LAG ID: [(ffff,90-e2-ba-76-cf-2d,0001,00ff,0001), (8000,00-2a-6a-e5-50-c1,0140,8000,011d)]
9  RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
10 TenGigabitEthernet4/0/1 3 BondEthernet1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1
11  LAG ID: [(ffff,90-e2-ba-76-cf-2d,0001,00ff,0002), (8000,00-2a-6a-e5-50-c1,0140,8000,011e)]
12  RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
13 TenGigabitEthernet8/0/1 7 BondEthernet1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1
14  LAG ID: [(ffff,90-e2-ba-76-cf-2d,0001,00ff,0003), (8000,00-2a-6a-e5-50-01,007a,8000,0114)]
15  RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
16 TenGigabitEthernet8/0/0 6 BondEthernet1 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1
17  LAG ID: [(ffff,90-e2-ba-76-cf-2d,0001,00ff,0004), (8000,00-2a-6a-e5-50-01,007a,8000,0115)]
18  RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
19 TenGigabitEthernet6/0/1 5 BondEthernet2 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1
20  LAG ID: [(ffff,90-e2-ba-36-31-21,0002,00ff,0001), (ffff,90-e2-ba-29-f5-31,000f,00ff,0002)]
21  RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
22 TenGigabitEthernet6/0/0 4 BondEthernet2 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1
23  LAG ID: [(ffff,90-e2-ba-36-31-21,0002,00ff,0002), (ffff,90-e2-ba-29-f5-31,000f,00ff,0001)]
24  RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
25 DBGvpp#

``` show bond [details] ````

Example:

1 DBGvpp# show bond
2 sh bond
3 interface name sw_if_index mode load balance active slaves slaves
4 BondEthernet0 10 lacp l2 1 1
5 BondEthernet1 11 lacp l34 4 4
6 BondEthernet2 12 lacp l23 2 2
7 DBGvpp#

Debugging

1 debug lacp [<interface>] <on | off>