LAG (Link Aggregation) Follow
Example: Establish LAG (Link Aggregation)
Restriction:
- Both community SONiC and ecSONiC support only LACP. (Does NOT support static link aggregation)
- LACP is from open source project - teamd in SONiC. It follows IEEE802.3ad and supports LACP only for front physical ports and breakout ports.
- Before LACP establish, the LAG blocks all packets. (LACP fallback = False)
- SONiC LACP rate(LACP PDU interval) is 30 seconds(slow mode) in default configuration. And it's NOT configurable.
- SONiC Fast-Reboot(Fast-Reload) requires LACP slow mode for all LAG interface. (https://github.com/Azure/SONiC/wiki/Fast-Reboot)
Reference model:
- Switch model name: All
- Edgecore SONiC version: SONiC.Edgecore-SONiC_20201123_130028_ec202006_74
Topology:
Procedure :
Steps 1. Checking the port configuration
Here's the command to check the port configuration.
admin@sonic:~$ show vlan brief
admin@sonic:~$ show ip interfaces
admin@sonic:~$ show interfaces status
Caution: have to remove VLAN and IP address from the LAG member ports before LAG Establish. Refer to the following articles.
Steps 2. Create a PortChannel interface (Default LACP fallback = False)
admin@sonic:~$ sudo config portchannel add PortChannel1
(Optional) LACP fallback = True configuration:
Caution:
- If you'd like to change Fallback status from False to True and vice versa, please delete the port channel and create it again with Fallback setting. Otherwise, the fallback setting won't take effect.
admin@sonic:~$ sudo config portchannel add PortChannel1 --fallback=true
Steps 3. Add member ports to PortChannel interface
admin@sonic:~$ sudo config portchannel member add PortChannel1 Ethernet48 admin@sonic:~$ sudo config portchannel member add PortChannel1 Ethernet52
Caution: Please be sure the port interfce name is correct, in current version it didn't have error handling when your port name is incorrectly.
Steps 4. Save the setting to config_db.json
admin@sonic:~$ sudo config save -y
Steps 5. Check the appended setting.
admin@sonic:/etc/sonic$ sudo vi config_db.json
{
...
"PORTCHANNEL": {
"PortChannel1": {
"admin_status": "up",
"mtu": "9100"
}
},
"PORTCHANNEL_MEMBER": {
"PortChannel1|Ethernet48": {},
"PortChannel1|Ethernet52": {}
},
...
}
Steps 6. Check the setting status on PortChannel.
admin@sonic:~$ show interfaces portchannel
Flags: A - active, I - inactive, Up - up, Dw - Down, N/A - not available,
S - selected, D - deselected, * - not synced
No. Team Dev Protocol Ports
----- ------------ ----------- ---------------------------
1 PortChannel1 LACP(A)(Up) Ethernet52(S) Ethernet48(S)
If you see there are no port members (N/A), please return to Step 1.
admin@sonic:~$ show interfaces portchannel
Flags: A - active, I - inactive, Up - up, Dw - Down, N/A - not available,
S - selected, D - deselected, * - not synced
No. Team Dev Protocol Ports
----- ------------ ----------- -------
1 PortChannel1 LACP(A)(Dw) N/A
Steps 7. Check the interface status
admin@sonic:~$ show interfaces status | grep "Ethernet48\|Ethernet52\|PortChannel"
Ethernet48 77,78,79,80 100G 9100 hundredGigE49 PortChannel1 up up QSFP28 or later N/A
Ethernet52 85,86,87,88 100G 9100 hundredGigE50 PortChannel1 up up QSFP28 or later N/A
PortChannel1 N/A 200G 9100 N/A routed up up N/A N/A
Comments
0 comments
Please sign in to leave a comment.