I am having a big problem with MLAG, too.
Currently, I am only working with 2x CRS326-24S+2Q that use peer bond with 2*QSFP. Client is third CRS326-24S+2Q that is connected with two SFP+ (port 1 on each of MLAG switches). All of those are connected on CRS326-24G-2S+RM that acts as management switch.
MLAG status is ok, but I loose connectivity to secondary switch (no matter which one is picked as primary or secondary). Sometimes I even can’t reach client switch.
I am not sure if this is the feature od MLAG on Mikrotik, but here is my config:
Management switch:
# model = CRS326-24G-2S+
# serial number =
/interface bridge
add ingress-filtering=no name=bridge1 vlan-filtering=yes
/interface vlan
add interface=bridge1 name=vlan100 vlan-id=100
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/port
set 0 name=serial0
/interface bridge port
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether21 pvid=100
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether22 pvid=100
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether23 pvid=100
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether24 pvid=100
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=vlan100 pvid=100
/interface bridge vlan
add bridge=bridge1 tagged=bridge1,vlan100 untagged=ether21,ether22,ether23,ether24 vlan-ids=100
/ip address
add address=10.44.100.100/24 interface=vlan100 network=10.44.100.0
/system identity
set name="mgmt sw"
/system routerboard settings
set boot-os=router-os
Client switch:
# model = CRS326-24S+2Q+
# serial number =
/interface bridge
add ingress-filtering=no name=bridge1 vlan-filtering=yes
/interface vlan
add interface=bridge1 name=vlan100 vlan-id=100
/interface bonding
add mode=802.3ad name=bonding1 slaves=sfp-sfpplus1,sfp-sfpplus2 transmit-hash-policy=layer-2-and-3
/interface lte apn
set [ find default=yes ] ip-type=ipv4
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/port
set 0 name=serial0
/interface bridge port
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=bonding1 pvid=3000
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether1 pvid=100
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=vlan100 pvid=100
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/ip settings
set max-neighbor-entries=8192
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface bridge vlan
add bridge=bridge1 tagged=bridge1,bonding1 vlan-ids=3000
add bridge=bridge1 tagged=bridge1,vlan100 untagged=ether1 vlan-ids=100
/ip address
add address=10.44.100.101/24 interface=vlan100 network=10.44.100.0
/system identity
set name=KT-DC-SW2
/system routerboard settings
set boot-os=router-os
MLAG switch1:
# model = CRS326-24S+2Q+
# serial number =
/interface bridge
add ingress-filtering=no name=bridge1 vlan-filtering=yes
/interface ethernet
set [ find default-name=qsfpplus1-1 ] name="qsfpplus1-1 - MLAG peer"
set [ find default-name=qsfpplus1-2 ] name="qsfpplus1-2 - MLAG peer"
set [ find default-name=qsfpplus1-3 ] name="qsfpplus1-3 - MLAG peer"
set [ find default-name=qsfpplus1-4 ] name="qsfpplus1-4 - MLAG peer"
set [ find default-name=qsfpplus2-1 ] name="qsfpplus2-1 - MLAG peer"
set [ find default-name=qsfpplus2-2 ] name="qsfpplus2-2 - MLAG peer"
set [ find default-name=qsfpplus2-3 ] name="qsfpplus2-3 - MLAG peer"
set [ find default-name=qsfpplus2-4 ] name="qsfpplus2-4 - MLAG peer"
/interface vlan
add interface=bridge1 name=vlan100 vlan-id=100
/interface bonding
add mode=802.3ad name="bonding - MLAG peer" slaves="qsfpplus1-1 - MLAG peer,qsfpplus1-2 - MLAG peer,qsfpplus1-3 - MLAG peer,qsfpplus1-4 - MLAG peer,qsfpplus2-1 - MLAG peer,qsfpplus2-2 - MLAG peer,qsfpplus2-3 - MLAG peer,qsfpplus2-4 - MLAG peer" transmit-hash-policy=layer-2-and-3
add mlag-id=100 mode=802.3ad name="bonding - Po1" slaves=sfp-sfpplus1 transmit-hash-policy=layer-2-and-3
add mlag-id=101 mode=802.3ad name="bonding - Po2" slaves=sfp-sfpplus2 transmit-hash-policy=layer-2-and-3
/interface lte apn
set [ find default=yes ] ip-type=ipv4
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/port
set 0 name=serial0
/interface bridge mlag
# peer port not running
set bridge=bridge1 peer-port="bonding - MLAG peer"
/interface bridge port
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether1 pvid=100
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface="bonding - MLAG peer" pvid=777
add bridge=bridge1 interface="bonding - Po1"
add bridge=bridge1 interface="bonding - Po2"
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=vlan100 pvid=100
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/ip settings
set max-neighbor-entries=8192
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface bridge vlan
add bridge=bridge1 untagged="bonding - MLAG peer" vlan-ids=777
add bridge=bridge1 tagged="bonding - Po1,bonding - Po2,bonding - MLAG peer" vlan-ids=3000
add bridge=bridge1 tagged="bridge1,bonding - MLAG peer" untagged=ether1 vlan-ids=100
/ip address
add address=10.44.100.102/24 interface=vlan100 network=10.44.100.0
/system identity
set name=DC-SW1
/system routerboard settings
set boot-os=router-os
MLAG switch 2:
# model = CRS326-24S+2Q+
# serial number =
/interface bridge
add ingress-filtering=no name=bridge1 vlan-filtering=yes
/interface ethernet
set [ find default-name=qsfpplus1-1 ] name="qsfpplus1-1 - MLAG peer"
set [ find default-name=qsfpplus1-2 ] name="qsfpplus1-2 - MLAG peer"
set [ find default-name=qsfpplus1-3 ] name="qsfpplus1-3 - MLAG peer"
set [ find default-name=qsfpplus1-4 ] name="qsfpplus1-4 - MLAG peer"
set [ find default-name=qsfpplus2-1 ] name="qsfpplus2-1 - MLAG peer"
set [ find default-name=qsfpplus2-2 ] name="qsfpplus2-2 - MLAG peer"
set [ find default-name=qsfpplus2-3 ] name="qsfpplus2-3 - MLAG peer"
set [ find default-name=qsfpplus2-4 ] name="qsfpplus2-4 - MLAG peer"
/interface vlan
add interface=bridge1 name=vlan100 vlan-id=100
/interface bonding
add mode=802.3ad name="bonding - MLAG peer" slaves="qsfpplus1-1 - MLAG peer,qsfpplus1-2 - MLAG peer,qsfpplus1-3 - MLAG peer,qsfpplus1-4 - MLAG peer,qsfpplus2-1 - MLAG peer,qsfpplus2-2 - MLAG peer,qsfpplus2-3 - MLAG peer,qsfpplus2-4 - MLAG peer" transmit-hash-policy=layer-2-and-3
add mlag-id=100 mode=802.3ad name="bonding - Po1" slaves=sfp-sfpplus1 transmit-hash-policy=layer-2-and-3
add mlag-id=101 mode=802.3ad name="bonding - Po2" slaves=sfp-sfpplus2 transmit-hash-policy=layer-2-and-3
/interface lte apn
set [ find default=yes ] ip-type=ipv4
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/port
set 0 name=serial0
/interface bridge mlag
# peer port not running
set bridge=bridge1 peer-port="bonding - MLAG peer"
/interface bridge port
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface=ether1 pvid=100
add bridge=bridge1 frame-types=admit-only-untagged-and-priority-tagged interface="bonding - MLAG peer" pvid=777
add bridge=bridge1 interface="bonding - Po1"
add bridge=bridge1 interface="bonding - Po2"
add bridge=bridge1 frame-types=admit-only-vlan-tagged interface=vlan100 pvid=100
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/ip settings
set max-neighbor-entries=8192
/ipv6 settings
set disable-ipv6=yes max-neighbor-entries=8192
/interface bridge vlan
add bridge=bridge1 untagged="bonding - MLAG peer" vlan-ids=777
add bridge=bridge1 tagged="bonding - Po1,bonding - Po2,bonding - MLAG peer" vlan-ids=3000
add bridge=bridge1 tagged="bridge1,bonding - MLAG peer" untagged=ether1 vlan-ids=100
/ip address
add address=10.44.100.103/24 interface=vlan100 network=10.44.100.0
/system identity
set name=DC-SW2
/system routerboard settings
set boot-os=router-os
I really want to push this to production, but I am not sure with such beahviour. Maybe is my mistake, but I don’t see anything wrong.