Doc updates prior to branch
[vpp.git] / src / plugins / lacp / lacp_doc.md
1 # VPP Link Aggregation Control Protocol (LACP) implementation    {#lacp_plugin_doc}
2
3 This document is to describe the usage of VPP LACP implementation.
4
5 ## LACP
6
7 The Link Aggregation Control Protocol (LACP) is an 802.3ad standard which
8 provides a protocol for exchanging information between Partner Systems on a
9 link to allow their protocol instances to reach agreement on the Link Aggregation
10 Group to which the link belongs and enable transmission and reception for the
11 higher layer. Multiple links may be bundled to the same Aggregation Group to form
12 a high bandwidth transmission medium and create a fault-tolerant link.
13
14
15 ### Configuration
16
17 1. Create the bond interface
18 create bond mode lacp [hw-addr <mac-address>] [load-balance { l2 | l23 | l34 }]
19
20 2. Enslave the physical interface to the bond
21 enslave interface <interface> to <bond-interface-name> [passive] [long-timeout]"
22
23 3. Delete the bond interface
24 delete bond {<interface> | sw_if_index <sw_idx>}
25
26 4. Detach the slave interface from the bond
27 detach interface <interface>
28
29 ### Configuration example
30
31 ```
32 create bond mode lacp
33 set interface state BondEthernet0 up
34 enslave interface TenGigabitEthernet7/0/0 to BondEthernet1
35 enslave interface TenGigabitEthernet7/0/1 to BondEthernet1
36 enslave interface TenGigabitEthernet5/0/0 to BondEthernet1
37 enslave interface TenGigabitEthernet5/0/1 to BondEthernet1
38 ```
39
40 ```
41 detach interface TenGigabitEthernet5/0/1
42 ```
43
44 ```
45 delete bond BondEthernet0
46 ```
47
48 ### Operational data
49
50 ```
51 show lacp [<interface>] [details]
52 ```
53
54 Example:
55
56 ```
57 DBGvpp# show lacp
58                                                         actor state                      partner state
59 interface name            sw_if_index  bond interface   exp/def/dis/col/syn/agg/tim/act  exp/def/dis/col/syn/agg/tim/act
60 GigabitEthernet2/0/1      1            BondEthernet0      0   0   1   1   1   1   1   1    0   0   1   1   1   1   1   1
61   LAG ID: [(ffff,e4-c7-22-f3-26-71,0000,00ff,0001), (ffff,fc-99-47-4a-0c-8b,0009,00ff,0001)]
62   RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
63 TenGigabitEthernet4/0/0   2            BondEthernet1      0   0   1   1   1   1   1   1    0   0   1   1   1   1   0   1
64   LAG ID: [(ffff,90-e2-ba-76-cf-2d,0001,00ff,0001), (8000,00-2a-6a-e5-50-c1,0140,8000,011d)]
65   RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
66 TenGigabitEthernet4/0/1   3            BondEthernet1      0   0   1   1   1   1   1   1    0   0   1   1   1   1   0   1
67   LAG ID: [(ffff,90-e2-ba-76-cf-2d,0001,00ff,0002), (8000,00-2a-6a-e5-50-c1,0140,8000,011e)]
68   RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
69 TenGigabitEthernet8/0/1   7            BondEthernet1      0   0   1   1   1   1   1   1    0   0   1   1   1   1   0   1
70   LAG ID: [(ffff,90-e2-ba-76-cf-2d,0001,00ff,0003), (8000,00-2a-6a-e5-50-01,007a,8000,0114)]
71   RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
72 TenGigabitEthernet8/0/0   6            BondEthernet1      0   0   1   1   1   1   1   1    0   0   1   1   1   1   0   1
73   LAG ID: [(ffff,90-e2-ba-76-cf-2d,0001,00ff,0004), (8000,00-2a-6a-e5-50-01,007a,8000,0115)]
74   RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
75 TenGigabitEthernet6/0/1   5            BondEthernet2      0   0   1   1   1   1   1   1    0   0   1   1   1   1   1   1
76   LAG ID: [(ffff,90-e2-ba-36-31-21,0002,00ff,0001), (ffff,90-e2-ba-29-f5-31,000f,00ff,0002)]
77   RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
78 TenGigabitEthernet6/0/0   4            BondEthernet2      0   0   1   1   1   1   1   1    0   0   1   1   1   1   1   1
79   LAG ID: [(ffff,90-e2-ba-36-31-21,0002,00ff,0002), (ffff,90-e2-ba-29-f5-31,000f,00ff,0001)]
80   RX-state: CURRENT, TX-state: TRANSMIT, MUX-state: COLLECTING_DISTRIBUTING, PTX-state: PERIODIC_TX
81 DBGvpp#
82 ```
83
84 ```
85 show bond [details]
86 ````
87
88 Example:
89
90 ```
91 DBGvpp# show bond
92 sh bond
93 interface name   sw_if_index   mode         load balance  active slaves  slaves
94 BondEthernet0    10            lacp         l2            1              1
95 BondEthernet1    11            lacp         l34           4              4
96 BondEthernet2    12            lacp         l23           2              2
97 DBGvpp#
98 ```
99
100 ### Debugging
101
102 ```
103 debug lacp [<interface>] <on | off>
104 ```