[Edgecore SONiC] MC-LAG Follow
A multi-chassis link aggregation group (MLAG or MC-LAG) is a type of link aggregation group (LAG) with constituent ports that terminate on separate chassis, which provide redundancy in the event one of the chassis fails.
How to configure the MCLAG(Multi-chassis link aggregation group) setting.
Support models
- Switch model name:
AS7726-32X, AS7326-56X, AS7816-64X, AS5835-54X(T), AS4630-54PE, AS9716-32D, AS8000(Minipack), Wedge100BF-32X
- Edgecore SONiC version:
- Edgecore-SONiC_20201123_130028_ec202006_74
- Edgecore-SONiC_20201229_070315_ec202006_101
- Edgecore-SONiC_20210209_051110_ec202006_134
- Edgecore-SONiC_20210505_054937_ec202006_205
- Edgecore-SONiC_20201229_070315_ec202006_bfn_65(Wedge100BF-32X)
Restriction
- Support LACP for member only
- Known issue, MC-LAG function with SAG will have arp learning flapping issue.(This issue is fixed in Edgecore-SONiC_20210505_054937_ec202006_205)
- In current version, we don't have display design on "mclagdctl dump mac" to know mac learning locally or sync from peer. We can check syslog to know mac learned locally or from remote peer.
"cc:37:ab:60:7f:9d" learned locally.
NOTICE iccpd#iccpd: [mlacp_prepare_for_mac_info_to_peer.NOTICE] Send MAC messge to peer, port PortChannel0001 mac = cc:37:ab:60:7f:9d, vid = 99, type = add count 0
"cc:37:ab:60:7f:9a" learned from remote peer.
NOTICE iccpd#iccpd: [mlacp_fsm_update_mac_entry_from_peer.NOTICE] Received MAC Info, port[PortChannel0001] vid[99] MAC[cc:37:ab:60:7f:9a] type[add]
We could use following command to filter syslog.
admin@sonic:~$ sudo cat /var/log/syslog | grep 'mlacp.*Received\|mlacp.*Send'
MC-LAG L2 scenario configuration
Topology:
Step 1: Create port-channel on all of the switches. Please refer to LAG (Link-Aggregation) tutorial.
MC1 and MC2:
admin@sonic:~$ sudo config portchannel add PortChannel01 admin@sonic:~$ sudo config portchannel add PortChannel02 admin@sonic:~$ sudo config portchannel add PortChannel03 admin@sonic:~$ sudo config portchannel member add PortChannel01 Ethernet0 admin@sonic:~$ sudo config portchannel member add PortChannel02 Ethernet1 admin@sonic:~$ sudo config portchannel member add PortChannel03 Ethernet56 admin@sonic:~$ sudo config portchannel member add PortChannel03 Ethernet60
Step 2: Create two Vlan, one is for MCLAG keepalive another is for data forwarding. As topology, the MCLAG keepalive VLAN is Vlan 10, we should bind it on PortChannel02. Vlan100 is for Host traffic it should bind to PortChannel01 and PortChannel02.(Please refer to VLAN & Inter-VLAN Routing tutorial)
MC1 and MC2:
admin@sonic:~$ sudo config vlan add 10 admin@sonic:~$ sudo config vlan add 100 admin@sonic:~$ sudo config vlan member add 10 PortChannel03 admin@sonic:~$ sudo config vlan member add -u 100 PortChannel01 admin@sonic:~$ sudo config vlan member add 100 PortChannel02 admin@sonic:~$ sudo config vlan member add 100 PortChannel03
Step 3: Add the IP address on Vlan10.(Please refer to VLAN & Inter-VLAN Routing tutorial)
MC1:
admin@sonic:~$ sudo config interface ip add Vlan10 192.168.10.1/24
MC2:
admin@sonic:~$ sudo config interface ip add Vlan10 192.168.10.2/24
|
Step 4: Create an MC-LAG domain and set the unique-ip on Vlan10.
MC1:
admin@sonic:~$ sudo config mclag add 1 192.168.10.1 192.168.10.2 PortChannel03 admin@sonic:~$ sudo config mclag unique-ip add Vlan10 admin@sonic:~$ sudo config mclag member add 1 PortChannel01 admin@sonic:~$ sudo config mclag member add 1 PortChannel02
MC2:
admin@sonic:~$ sudo config mclag add 1 192.168.10.2 192.168.10.1 PortChannel03 admin@sonic:~$ sudo config mclag unique-ip add Vlan10 admin@sonic:~$ sudo config mclag member add 1 PortChannel01 admin@sonic:~$ sudo config mclag member add 1 PortChannel02
Step 5:Check MC-LAG status.
MC1:
admin@sonic:~$ show mclag brief Domain ID : 1 Role : Active Session Status : Up Peer Link Status : Up Source Address : 192.168.10.1 Peer Address : 192.168.10.2 Peer Link : PortChannel03 System MAC : 04:f8:f8:6a:f6:91 Number of MCLAG Interfaces : 2 MCLAG Interface Local/Remote Status PortChannel01 Up/Up PortChannel02 Up/Up
MC2:
admin@sonic:~$ show mclag brief Domain ID : 1 Role : Standby Session Status : Up Peer Link Status : Up Source Address : 192.168.10.2 Peer Address : 192.168.10.1 Peer Link : PortChannel03 System MAC : 04:f8:f8:6a:f6:91 Number of MCLAG Interfaces : 2 MCLAG Interface Local/Remote Status PortChannel01 Up/Up PortChannel02 Up/Up
Note. After MCLAG is up, the system MAC of LAG will be set as role of active.
Step 6.Check mac learned.
MC1:
admin@sonic:~$ show mac No. Vlan MacAddress Port Type ----- ------ ----------------- ------------- ------- 1 10 04:F8:F8:6B:06:91 PortChannel03 Dynamic 2 100 04:F8:F8:6B:06:91 PortChannel03 Dynamic 3 100 8C:EA:1B:30:DA:51 PortChannel02 Dynamic 4 100 8C:EA:1B:30:DA:4F PortChannel01 Dynamic Total number of entries 4 admin@sonic:~$ mclagdctl dump mac -i 1 TYPE: S-STATIC, D-DYNAMIC; AGE: L-Local age, P-Peer age No. TYPE MAC VID DEV ORIGIN-DEV AGE 1 D 04:f8:f8:6b:06:91 10 PortChannel03 PortChannel03 L 2 D 04:f8:f8:6b:06:91 100 PortChannel03 PortChannel03 L 3 D 8c:ea:1b:30:da:4f 100 PortChannel01 PortChannel01 4 D 8c:ea:1b:30:da:51 100 PortChannel02 PortChannel02
MC2:
admin@sonic:~$ show mac No. Vlan MacAddress Port Type ----- ------ ----------------- ------------- ------- 1 100 8C:EA:1B:30:DA:4F PortChannel01 Dynamic 2 100 8C:EA:1B:30:DA:51 PortChannel02 Dynamic Total number of entries 2 admin@sonic:~$ mclagdctl dump mac -i 1 TYPE: S-STATIC, D-DYNAMIC; AGE: L-Local age, P-Peer age No. TYPE MAC VID DEV ORIGIN-DEV AGE 1 D 8c:ea:1b:30:da:51 100 PortChannel02 PortChannel02 2 D 8c:ea:1b:30:da:4f 100 PortChannel01 PortChannel01
MC-LAG L3 scenario configuration
Topology:
Step 1. Create port-channel on all of the switches. Please refer to LAG (Link-Aggregation) tutorial.
MC1 and MC2:
admin@sonic:~$ sudo config portchannel add PortChannel01 admin@sonic:~$ sudo config portchannel add PortChannel02 admin@sonic:~$ sudo config portchannel add PortChannel03 admin@sonic:~$ sudo config portchannel member add PortChannel01 Ethernet0 admin@sonic:~$ sudo config portchannel member add PortChannel02 Ethernet1 admin@sonic:~$ sudo config portchannel member add PortChannel03 Ethernet56 admin@sonic:~$ sudo config portchannel member add PortChannel03 Ethernet60
Step 2. Binding ip to portchannel interface.
MC1:
admin@sonic:~$ sudo config interface ip add PortChannel01 192.168.11.1/24 admin@sonic:~$ sudo config interface ip add PortChannel02 192.168.12.1/24 admin@sonic:~$ sudo config interface ip add PortChannel03 192.168.10.1/24
MC2:
admin@sonic:~$ sudo config interface ip add PortChannel01 192.168.11.1/24 admin@sonic:~$ sudo config interface ip add PortChannel02 192.168.12.1/24 admin@sonic:~$ sudo config interface ip add PortChannel03 192.168.10.2/24
Step 3. Create MCLAG domain and member binding.
MC1:
admin@sonic:~$ sudo config mclag add 1 192.168.10.1 192.168.10.2 admin@sonic:~$ sudo config mclag member add 1 PortChannel01 admin@sonic:~$ sudo config mclag member add 1 PortChannel02
MC2:
admin@sonic:~$ sudo config mclag add 1 192.168.10.2 192.168.10.1 admin@sonic:~$ sudo config mclag member add 1 PortChannel01 admin@sonic:~$ sudo config mclag member add 1 PortChannel02
Note. In the L3 scenario, peer-link configuration is unnecessary. Member ports are router ports.
Step 4. Check MCLAG status
MC1:
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 ----- ------------- ----------- --------------------------- 01 PortChannel01 LACP(A)(Up) Ethernet0(S) 02 PortChannel02 LACP(A)(Up) Ethernet1(S) 03 PortChannel03 LACP(A)(Up) Ethernet60(S) Ethernet56(S) admin@sonic:~$ show mclag brief Domain ID : 1 Role : Active Session Status : Up Peer Link Status : Source Address : 192.168.10.1 Peer Address : 192.168.10.2 Peer Link : System MAC : 04:f8:f8:6a:f6:91 Number of MCLAG Interfaces : 2 MCLAG Interface Local/Remote Status PortChannel01 Up/Up PortChannel02 Up/Up
MC2:
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 ----- ------------- ----------- --------------------------- 01 PortChannel01 LACP(A)(Up) Ethernet0(S) 02 PortChannel02 LACP(A)(Up) Ethernet1(S) 03 PortChannel03 LACP(A)(Up) Ethernet60(S) Ethernet56(S) admin@sonic:~$ show mclag brief Domain ID : 1 Role : Standby Session Status : Up Peer Link Status : Source Address : 192.168.10.2 Peer Address : 192.168.10.1 Peer Link : System MAC : 04:f8:f8:6a:f6:91 Number of MCLAG Interfaces : 2 MCLAG Interface Local/Remote Status PortChannel01 Up/Up PortChannel02 Up/Up
Step 5. Ping from Switch#1 to Switch#2
Step 6. Check the arp sync.
MC1:
admin@sonic:~$ mclagdctl dump arp -i 1 No. IP MAC DEV 1 192.168.12.2 04:f8:f8:8d:81:e1 PortChannel02 2 192.168.11.2 8c:ea:1b:30:da:4f PortChannel01
MC2:
admin@sonic:~$ mclagdctl dump arp -i 1 No. IP MAC DEV 1 192.168.12.2 04:f8:f8:8d:81:e1 PortChannel02 2 192.168.11.2 8c:ea:1b:30:da:4f PortChannel01
Comments
0 comments
Please sign in to leave a comment.