Community discussions

MikroTik App
 
subway
newbie
Topic Author
Posts: 35
Joined: Sat Oct 07, 2017 1:58 pm

MLAG + VPLS should work ?

Sat Dec 31, 2022 4:44 pm

Is it possible to configure VPLS on top of MLAG under ROS 7.6 or 7.7rc3?

No matter what we do, we cannot combine the two. VPLS works as expected on its own, MLAG works as expected on its own, but when we try to put VPLS on top of MLAG, VPLS is not working anymore. The maybe uneducated suspicion is that maybe the fact MLAG is implemented the way it is (requires a bridge instead expanding the bond interface) maybe the reason behind this, but it can be that we just don't understand how this supposed to work :-)

Tried all the way up to latest beta (7.7rc3), no luck so far.

So the question is:

1. Should MLAG + VPLS/MPLS work on ROS 7.6 or 7.7rc3?
2. If it should work, is there a tick to it?

Much appreciate any help.
 
subway
newbie
Topic Author
Posts: 35
Joined: Sat Oct 07, 2017 1:58 pm

Re: MLAG + VPLS should work ?

Tue Jan 03, 2023 4:37 pm

Bump.

It is a totally acceptable answer if this feature is not ready yet, but it would be nice to at least know that this is not possible, or we need to dig more.
 
User avatar
StubArea51
Trainer
Trainer
Posts: 1739
Joined: Fri Aug 10, 2012 6:46 am
Location: stubarea51.net
Contact:

Re: MLAG + VPLS should work ?

Tue Jan 03, 2023 5:29 pm

Can you post the config? It's not a combination that we would use in prod (if it did work) considering all of the caveats MLAG has.
 
rmenkveld
just joined
Posts: 3
Joined: Thu Jan 09, 2020 11:28 am

Re: MLAG + VPLS should work ?

Mon Jan 09, 2023 5:31 pm

In the meantime we managed to get the MLAG setup working properly. We can now get VLANs through it. You will see that it is based on your forum post about MLAG with a few minor changes.

I would expect VPLS to be VLAN transparent. So if we put tagged VLAN traffic in it comes out tagged at the other end as well. In the picture of the setup you can see that we use ether8 in a number of places for the breakout of the traffic.
At the moment we can offer untagged traffic via the customer_switch and it comes out on the other side of the data center, but as soon as we use tagged traffic it goes through the MLAG setup but not through the VPLS. Do you have any idea what is going wrong here?
MLAG_VPLS_Testlab.png


Datacenter 1
/interface bridge
add mtu=3000 name=bridge-loopback
add name=bridge-vpls protocol-mode=none
/interface ethernet
set [ find default-name=ether1 ] l2mtu=3000 mtu=3000
set [ find default-name=ether8 ] l2mtu=3000 mtu=3000
set [ find default-name=ether10 ] l2mtu=3000 mtu=3000 name=ether10-ptp-router-Datacenter2
/interface vlan
add interface=ether8 name=ether8_vlan300 vlan-id=300
add interface=ether10-ptp-router-Datacenter2 name=ether10_vlan2199 vlan-id=2199
/routing id
add disabled=no id=10.10.2.1 name=router-id-dc select-dynamic-id="" select-from-vrf=main
/routing ospf instance
add disabled=no name=ospf-instance-1 redistribute=connected router-id=router-id-dc
/routing ospf area
add disabled=no instance=ospf-instance-1 name=ospf-area-core
add area-id=1.1.1.1 disabled=no instance=ospf-instance-1 name=ospf-area-to-client1
/routing bgp template
add as=64551 disabled=no name=bgp_template nexthop-choice=force-self router-id=10.10.2.1 routing-table=main vrf=main
/interface bridge port
add bridge=bridge-vpls interface=ether8
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/ip settings
set max-neighbor-entries=8192
/ip address
add address=10.10.2.1 interface=bridge-loopback network=10.10.2.1
add address=1.1.1.1/27 interface=ether1 network=1.1.1.0
add address=100.64.0.16/27 interface=ether10_vlan2199 network=100.64.0.0
/mpls interface
add disabled=no interface=ether10_vlan2199
add disabled=no interface=ether1
/mpls ldp
add disabled=no lsr-id=10.10.2.1 transport-addresses=10.10.2.1 vrf=main
/mpls ldp advertise-filter
add advertise=yes disabled=no prefix=10.10.0.0/16
add advertise=no disabled=no prefix=0.0.0.0/0
/mpls ldp interface
add disabled=no hello-interval=1s hold-time=3s interface=ether10_vlan2199
add disabled=no hello-interval=1s hold-time=3s interface=ether1
/routing bgp connection
add address-families=l2vpn,l2vpn-cisco,vpnv4 as=64551 disabled=no local.address=10.10.2.1 .role=ibgp name=bgp-Client1 nexthop-choice=force-self output.redistribute=connected,static,ospf,bgp,vpn remote.address=10.10.2.6/32 .as=64551 router-id=10.10.2.1 routing-table=main templates=bgp_template vrf=main
add address-families=l2vpn,l2vpn-cisco,vpnv4 as=64551 disabled=no local.address=10.10.2.1 .role=ibgp name=bgp-Client2 nexthop-choice=force-self output.redistribute=connected,static,ospf,bgp,vpn remote.address=10.10.2.5/32 .as=64551 router-id=10.10.2.1 routing-table=main templates=bgp_template vrf=main
add address-families=l2vpn,l2vpn-cisco,vpnv4 as=64551 disabled=no local.address=10.10.2.1 .role=ibgp name=bgp-Datacenter2 nexthop-choice=force-self output.redistribute=connected,static,ospf,bgp,vpn remote.address=10.10.2.2/32 .as=64551 router-id=10.10.2.1 routing-table=main templates=bgp_template vrf=main
/routing bgp vpls
add bridge=bridge-vpls bridge-horizon=300 disabled=no export-route-targets=64551:300 import-route-targets=64551:300 name=vpls-test-300 pw-l2mtu=1600 pw-type=tagged-ethernet rd=64551:300 site-id=1
/routing ospf interface-template
add area=ospf-area-core dead-interval=3s disabled=no hello-interval=1s interfaces=ether10_vlan2199 retransmit-interval=1s
add area=ospf-area-core dead-interval=3s disabled=no hello-interval=1s interfaces=ether1 retransmit-interval=1s
/system identity
set name=Datacenter1


Datacenter 2
/interface bridge
add mtu=3000 name=bridge-loopback
add name=bridge-vpls protocol-mode=none
/interface ethernet
set [ find default-name=ether1 ] l2mtu=3000 mtu=3000
set [ find default-name=ether8 ] l2mtu=3000 mtu=3000
set [ find default-name=ether10 ] l2mtu=3000 mtu=3000 name=ether10-p2p-router-Datacenter1
/interface vlan
add interface=ether8 name=ether8_vlan300 vlan-id=300
add interface=ether10-p2p-router-Datacenter1 name=ether10_vlan2199 vlan-id=2199
/routing id
add disabled=no id=10.10.2.2 name=router-id-dc select-dynamic-id="" select-from-vrf=main
/routing ospf instance
add disabled=no name=ospf-instance-1 redistribute=connected router-id=router-id-dc
/routing ospf area
add disabled=no instance=ospf-instance-1 name=ospf-area-core
add area-id=1.1.1.1 disabled=no instance=ospf-instance-1 name=ospf-area-to-client2
/routing bgp template
add as=64551 disabled=no name=bgp_template nexthop-choice=force-self router-id=10.10.2.2 routing-table=main vrf=main
/interface bridge port
add bridge=bridge-vpls interface=ether8
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/ip settings
set max-neighbor-entries=8192
/ip address
add address=10.10.2.2 interface=bridge-loopback network=10.10.2.2
add address=1.1.2.2/27 interface=ether1 network=1.1.2.0
add address=100.64.0.15/27 interface=ether10_vlan2199 network=100.64.0.0
/mpls interface
add disabled=no interface=ether10_vlan2199
add disabled=no interface=ether1
/mpls ldp
add disabled=no lsr-id=10.10.2.2 transport-addresses=10.10.2.2 vrf=main
/mpls ldp advertise-filter
add advertise=yes disabled=no prefix=10.10.0.0/16
add advertise=no disabled=no prefix=0.0.0.0/0
/mpls ldp interface
add disabled=no hello-interval=1s hold-time=3s interface=ether10_vlan2199
add disabled=no hello-interval=1s hold-time=3s interface=ether1
/routing bgp connection
add address-families=l2vpn,l2vpn-cisco,vpnv4 as=64551 disabled=no local.address=10.10.2.2 .role=ibgp name=bgp-Client1 nexthop-choice=force-self output.redistribute=connected,static,ospf,bgp,vpn remote.address=10.10.2.6/32 .as=64551 router-id=10.10.2.2 routing-table=main templates=bgp_template vrf=main
add address-families=l2vpn,l2vpn-cisco,vpnv4 as=64551 disabled=no local.address=10.10.2.2 .role=ibgp name=bgp-Client2 nexthop-choice=force-self output.redistribute=connected,static,ospf,bgp,vpn remote.address=10.10.2.5/32 .as=64551 router-id=10.10.2.2 routing-table=main templates=bgp_template vrf=main
add address-families=l2vpn,l2vpn-cisco,vpnv4 as=64551 disabled=no local.address=10.10.2.2 .role=ibgp name=bgp-Datacenter1 nexthop-choice=force-self output.redistribute=connected,static,ospf,bgp,vpn remote.address=10.10.2.1/32 .as=64551 router-id=10.10.2.2 routing-table=main templates=bgp_template vrf=main
/routing bgp vpls
add bridge=bridge-vpls bridge-horizon=300 disabled=no export-route-targets=64551:300 import-route-targets=64551:300 name=vpls-test-300 pw-l2mtu=1600 pw-type=tagged-ethernet rd=64551:300 site-id=2
/routing ospf interface-template
add area=ospf-area-core dead-interval=3s disabled=no hello-interval=1s interfaces=ether10_vlan2199 retransmit-interval=1s
add area=ospf-area-core dead-interval=3s disabled=no hello-interval=1s interfaces=ether1 retransmit-interval=1s
/system identity
set name=Datacenter2


Client 1
/interface bridge
add name=Bridge-MLAG vlan-filtering=yes
add mtu=3000 name=bridge-loopback
/interface ethernet
set [ find default-name=ether1 ] l2mtu=3000 mtu=3000
set [ find default-name=ether2 ] l2mtu=3000 mtu=3000
set [ find default-name=ether8 ] l2mtu=3000 mtu=3000
set [ find default-name=ether10 ] l2mtu=3000 mtu=3000
set [ find default-name=sfp-sfpplus1 ] l2mtu=3000 mtu=3000
/interface vlan
add interface=Bridge-MLAG name=Bridge-MLAG_vlan300 vlan-id=300
add interface=Bridge-MLAG name=Bridge-MLAG_vlan400 vlan-id=400
add interface=ether8 name=ether8_vlan300 vlan-id=300
/interface bonding
add lacp-rate=1sec mlag-id=10 mode=802.3ad name=Po1 slaves=ether2 transmit-hash-policy=layer-3-and-4
/routing id
add disabled=no id=10.10.2.6 name=router-id-client1 select-dynamic-id="" select-from-vrf=main
/routing ospf instance
add disabled=no name=ospf-instance-1 redistribute=connected router-id=router-id-client1
/routing ospf area
add disabled=no instance=ospf-instance-1 name=ospf-area-1
/routing bgp template
add as=64551 disabled=no name=bgp_template nexthop-choice=force-self router-id=10.10.2.6 routing-table=main
/interface vrrp
add group-master=vrrp1 interface=Bridge-MLAG_vlan400 interval=500ms name=vrrp1 password=vrrp_password priority=150
/interface bridge mlag
set bridge=Bridge-MLAG peer-port=sfp-sfpplus1
/interface bridge port
add bridge=Bridge-MLAG interface=Po1
add bridge=Bridge-MLAG interface=sfp-sfpplus1 pvid=99
add bridge=Bridge-MLAG interface=ether8
/interface bridge vlan
add bridge=Bridge-MLAG tagged=Po1,sfp-sfpplus1,ether8 vlan-ids=300
add bridge=Bridge-MLAG tagged=sfp-sfpplus1 vlan-ids=1
add bridge=Bridge-MLAG tagged=Po1,sfp-sfpplus1,ether8,Bridge-MLAG,vrrp1 vlan-ids=400
/ip address
add address=10.10.2.6 interface=bridge-loopback network=10.10.2.6
add address=1.1.1.6/27 interface=ether1 network=1.1.1.0
add address=1.1.3.1/27 interface=ether10 network=1.1.3.0
add address=192.20.20.1 interface=vrrp1 network=192.20.20.1
add address=192.20.20.11/24 interface=Bridge-MLAG_vlan400 network=192.20.20.0
/mpls interface
add disabled=no interface=ether10 mpls-mtu=1600
add disabled=no interface=ether1 mpls-mtu=1600
/mpls ldp
add disabled=no lsr-id=10.10.2.6 transport-addresses=10.10.2.6 vrf=main
/mpls ldp advertise-filter
add advertise=yes disabled=no prefix=10.10.0.0/16
add advertise=no disabled=no prefix=0.0.0.0/0
/mpls ldp interface
add disabled=no hello-interval=1s hold-time=3s interface=ether1
add disabled=no hello-interval=1s hold-time=3s interface=ether10
/routing bgp connection
add address-families=l2vpn,l2vpn-cisco,vpnv4 as=64551 disabled=no local.address=10.10.2.6 .role=ibgp name=bgp-Datacenter2 nexthop-choice=force-self output.redistribute=connected,static,ospf,bgp,vpn remote.address=10.10.2.2/32 .as=64551 router-id=10.10.2.6 routing-table=main templates=bgp_template
add address-families=l2vpn,l2vpn-cisco,vpnv4 as=64551 disabled=no local.address=10.10.2.6 .role=ibgp name=bgp-Datacenter1 nexthop-choice=force-self output.redistribute=connected,static,ospf,bgp,vpn remote.address=10.10.2.1/32 .as=64551 router-id=10.10.2.6 routing-table=main templates=bgp_template
add address-families=l2vpn,l2vpn-cisco,vpnv4 as=64551 disabled=no local.address=10.10.2.6 .role=ibgp name=bgp-Client2 nexthop-choice=force-self output.redistribute=connected,static,ospf,bgp,vpn remote.address=10.10.2.5/32 .as=64551 router-id=10.10.2.6 routing-table=main templates=bgp_template vrf=main
/routing bgp vpls
add bridge=Bridge-MLAG bridge-horizon=300 disabled=no export-route-targets=64551:300 import-route-targets=64551:300 name=vpls-test-300 pw-l2mtu=1600 pw-type=tagged-ethernet rd=64551:300 site-id=3
/routing ospf interface-template
add area=ospf-area-1 dead-interval=3s disabled=no hello-interval=1s interfaces=ether1 priority=0 retransmit-interval=1s
add area=ospf-area-1 cost=20 dead-interval=3s disabled=no hello-interval=1s interfaces=ether10 retransmit-interval=1s
/system identity
set name=Client1


Client 2
/interface bridge
add name=Bridge-MLAG vlan-filtering=yes
add mtu=3000 name=bridge-loopback
/interface ethernet
set [ find default-name=ether1 ] l2mtu=3000 mtu=3000
set [ find default-name=ether2 ] l2mtu=3000 mtu=3000
set [ find default-name=ether8 ] l2mtu=3000 mtu=3000
set [ find default-name=ether10 ] l2mtu=3000 mtu=3000
set [ find default-name=sfp-sfpplus1 ] l2mtu=3000 mtu=3000
/interface vlan
add interface=Bridge-MLAG name=Bridge-MLAG_vlan300 vlan-id=300
add interface=Bridge-MLAG name=Bridge-MLAG_vlan400 vlan-id=400
add interface=ether8 name=ether8_vlan300 vlan-id=300
/interface bonding
add lacp-rate=1sec mlag-id=10 mode=802.3ad name=Po1 slaves=ether2 transmit-hash-policy=layer-3-and-4
/routing id
add disabled=no id=10.10.2.5 name=router-id-client2 select-dynamic-id="" select-from-vrf=main
/routing ospf instance
add disabled=no name=ospf-instance-1 redistribute=connected router-id=router-id-client2
/routing ospf area
add disabled=no instance=ospf-instance-1 name=ospf-area-1
/routing bgp template
add as=64551 disabled=no name=bgp_template nexthop-choice=force-self router-id=10.10.2.5 routing-table=main
/interface vrrp
add group-master=vrrp1 interface=Bridge-MLAG_vlan400 interval=500ms name=vrrp1 password=vrrp_password
/interface bridge mlag
set bridge=Bridge-MLAG peer-port=sfp-sfpplus1
/interface bridge port
add bridge=Bridge-MLAG interface=Po1
add bridge=Bridge-MLAG interface=sfp-sfpplus1 pvid=99
add bridge=Bridge-MLAG interface=ether8
/interface bridge vlan
add bridge=Bridge-MLAG tagged=Po1,sfp-sfpplus1,ether8 vlan-ids=300
add bridge=Bridge-MLAG tagged=sfp-sfpplus1 vlan-ids=1
add bridge=Bridge-MLAG tagged=Po1,sfp-sfpplus1,ether8,Bridge-MLAG,vrrp1 vlan-ids=400
/ip address
add address=10.10.2.5 interface=bridge-loopback network=10.10.2.5
add address=1.1.2.5/27 interface=ether1 network=1.1.2.0
add address=1.1.3.2/27 interface=ether10 network=1.1.3.0
add address=192.20.20.12/24 interface=Bridge-MLAG_vlan400 network=192.20.20.0
add address=192.20.20.1 interface=vrrp1 network=192.20.20.1
/mpls interface
add disabled=no interface=ether10 mpls-mtu=1600
add disabled=no interface=ether1 mpls-mtu=1600
/mpls ldp
add disabled=no lsr-id=10.10.2.5 transport-addresses=10.10.2.5 vrf=main
/mpls ldp advertise-filter
add advertise=yes disabled=no prefix=10.10.0.0/16
add advertise=no disabled=no prefix=0.0.0.0/0
/mpls ldp interface
add disabled=no hello-interval=1s hold-time=3s interface=ether1
add disabled=no hello-interval=1s hold-time=3s interface=ether10
/routing bgp connection
add address-families=l2vpn,l2vpn-cisco,vpnv4 as=64551 disabled=no local.address=10.10.2.5 .role=ibgp name=bgp-Datacenter2 nexthop-choice=force-self output.redistribute=connected,static,ospf,bgp,vpn remote.address=10.10.2.2/32 .as=64551 router-id=10.10.2.5 routing-table=main templates=bgp_template
add address-families=l2vpn,l2vpn-cisco,vpnv4 as=64551 disabled=no local.address=10.10.2.5 .role=ibgp name=bgp-Datacenter1 nexthop-choice=force-self output.redistribute=connected,static,ospf,bgp,vpn remote.address=10.10.2.1/32 .as=64551 router-id=10.10.2.5 routing-table=main templates=bgp_template
add address-families=l2vpn,l2vpn-cisco,vpnv4 as=64551 disabled=no local.address=10.10.2.5 .role=ibgp name=bgp-Client1 nexthop-choice=force-self output.redistribute=connected,static,ospf,bgp,vpn remote.address=10.10.2.6/32 .as=64551 router-id=10.10.2.5 routing-table=main templates=bgp_template
/routing bgp vpls
add bridge=Bridge-MLAG bridge-horizon=300 disabled=no export-route-targets=64551:300 import-route-targets=64551:300 name=vpls-test-300 pw-l2mtu=1600 pw-type=tagged-ethernet rd=64551:300 site-id=4
/routing ospf interface-template
add area=ospf-area-1 dead-interval=3s disabled=no hello-interval=1s interfaces=ether1 priority=0 retransmit-interval=1s
add area=ospf-area-1 cost=20 dead-interval=3s disabled=no hello-interval=1s interfaces=ether10 retransmit-interval=1s
/system identity
set name=Client2


The customer switch
/interface bridge
add name=bridge_customer
/interface ethernet
set [ find default-name=ether1 ] l2mtu=1600 mtu=1600
set [ find default-name=ether2 ] l2mtu=1600 mtu=1600
/interface bonding
add lacp-rate=1sec mode=802.3ad mtu=1600 name=bond1 slaves=ether1,ether2 transmit-hash-policy=layer-2-and-3
/interface bridge port
add bridge=bridge_customer interface=bond1
add bridge=bridge_customer interface=ether8
/system identity
set name=Customer_Switch
You do not have the required permissions to view the files attached to this post.

Who is online

Users browsing this forum: Ahrefs [Bot], Amazon [Bot], deadmaus911, donmunyak, Google [Bot], Greyhard, jamesperks, sybadi and 97 guests