Community discussions

MikroTik App
 
User avatar
stefki
Frequent Visitor
Frequent Visitor
Topic Author
Posts: 57
Joined: Mon Aug 29, 2016 2:13 pm

OSPF VPLS/MPLS load balancing and failover

Fri Jul 10, 2020 2:37 pm

Hello all.

I have the following scenario shown on the picture, my network is OSPF routed and I have VPLS/MPLS to my end points Access Points.
Now the challenge is that I want to split the 300 Mbps traffic trough two parallel wireless links. With this setup failover works good, when I disable one of the interface all traffic is routed to another wireless link .
OSPF VPLS.jpg
At the moment the whole traffic is coming through RBLHG 60 AD, but this is not what I want, the point is that 150 MBps should go trough RBLHG-60AD and rest 150MBps goes trough AirFiber 5XHD. I don't know if possible to steer the traffic to specified AP devices. For example I need traffic from AirFIber 5xHD to be routed to AP1 and Ap2 and the rest traffic from LHG60AD to be routed to AP3 and AP4.

If someone experienced user can give me some help and hints, thank you all the best.

These are my config setup.

CCR1016
/ip address
add address=10.1.255.1 interface=Loopback0 network=10.1.255.1
add address=10.5.1.1/24 interface=ether9 network=10.5.1.0
add address=10.4.1.1/24 interface=ether6 network=10.4.1.0

/routing ospf area
add area-id=2.2.2.2 default-cost=1 inject-summary-lsas=yes name=area2 type=stub

/routing ospf instance
set [ find default=yes ] router-id=10.1.255.1

/routing ospf interface
add interface=ether9 network-type=point-to-point
add interface=ether6 network-type=point-to-point
add interface=Loopback0 network-type=point-to-point passive=yes

/routing ospf network
add area=backbone network=10.1.255.1/32
add area=backbone network=10.255.255.0/24
add area=area2 network=10.4.1.0/24
add area=area2 network=10.5.1.0/24

/mpls interface
set [ find default=yes ] interface=ether9 mpls-mtu=1550
add interface=ether9 mpls-mtu=1550
add interface=ether6 mpls-mtu=1550

/mpls ldp
set enabled=yes lsr-id=10.1.255.1 transport-address=10.1.255.1
/mpls ldp interface
add interface=ether9
add interface=ether6

/interface vpls
add advertised-l2mtu=1508 disabled=no l2mtu=1508 mac-address=00:00:00:00:02:01 name=CCR->AP1 remote-peer=10.1.255.5 vpls-id=20:5
add advertised-l2mtu=1508 disabled=no l2mtu=1508 mac-address=00:00:00:00:02:01 name=CCR->AP2 remote-peer=10.1.255.41 vpls-id=20:41
add advertised-l2mtu=1508 disabled=no l2mtu=1508 mac-address=00:00:00:00:02:01 name=CCR->AP3 remote-peer=10.1.255.18 vpls-id=20:18
add advertised-l2mtu=1508 disabled=no l2mtu=1508 mac-address=00:00:00:00:02:01 name=CCR->AP4 remote-peer=10.1.255.19 vpls-id=20:19
RBLHG-60AD 10.4.1.2/24
Setup config
/interface bridge
add name=bridge1

/interface ethernet
set [ find default-name=ether1 ] speed=100Mbps

/interface w60g
set [ find ] disabled=no frequency=64800 mode=bridge name=wlan60-1 password=xxx region=eu ssid=MikroTik60

/interface w60g station
add mac-address=B8:xxx:F4:95:xx:B3 name=wlan60-station-1 parent=wlan60-1 remote-address=B8:69:xx:95:xx:5A

/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik

/interface bridge port
add bridge=bridge1 interface=ether1
add bridge=bridge1 interface=wlan60-station-1

/ip address
add address=10.4.1.2/24 interface=bridge1 network=10.4.1.0

/ip route
add distance=1 gateway=10.4.1.1
RBLHG-60AD 10.4.1.3/24
/interface bridge
add name=bridge1

/interface ethernet
set [ find default-name=ether1 ] speed=100Mbps

/interface w60g
set [ find ] disabled=no mode=station-bridge name=wlan60-1 password=xxx region=eu ssid=MikroTik60

/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik

/interface bridge port
add bridge=bridge1 interface=wlan60-1
add bridge=bridge1 interface=ether1


/ip address
add address=10.4.1.3/24 interface=bridge1 network=10.4.1.0

/ip route
add distance=1 gateway=10.4.1.1
RB4011i GS+
Setup config

/interface bridge port
add bridge=bridge1 interface=ether3
add bridge=bridge1 interface=ether4
add bridge=bridge1 interface=ether5
add bridge=bridge1 interface=ether6
add bridge=bridge1 interface=ether7
add bridge=bridge1 interface=ether8
add bridge=bridge1 interface=ether9
add bridge=bridge1 interface=ether10

/ip address
add address=10.2.1.4/24 interface=bridge1 network=10.2.1.0
add address=10.4.1.4/24 interface=ether2 network=10.4.1.0
add address=10.1.255.51 interface=loopback network=10.1.255.51
add address=10.5.1.4/24 interface=ether1 network=10.5.1.0

/ip route
add distance=1 gateway=10.2.1.1 pref-src=10.2.1.4

/mpls interface
set [ find default=yes ] disabled=yes
add interface=ether2 mpls-mtu=1550
add interface=ether1 mpls-mtu=1550
add interface=bridge1 mpls-mtu=1550

/mpls ldp
set enabled=yes lsr-id=10.1.255.51 transport-address=10.1.255.51

/mpls ldp interface
add interface=ether2
add interface=ether1
add interface=bridge1

/routing ospf area
set [ find default=yes ] disabled=yes
add area-id=2.2.2.2 default-cost=1 inject-summary-lsas=no name=area2 type=stub

/routing ospf instance
set [ find default=yes ] router-id=10.1.255.51

/routing ospf interface
add interface=ether1 network-type=point-to-point
add interface=ether2 network-type=point-to-point
add interface=loopback network-type=point-to-point passive=yes
add interface=bridge1 network-type=broadcast

/routing ospf network
add area=area2 network=10.4.1.0/24
add area=area2 network=10.5.1.0/24
add area=area2 network=10.2.1.0/24
add area=area2 network=10.1.255.51/32

AP1 10.2.1.6/24
/interface bridge
add name=Loopback0
add admin-mac=4C:xx:0C:xx:7B:AD auto-mac=no fast-forward=no name=bridge

/interface ethernet
set [ find default-name=ether1 ] speed=100Mbps
set [ find default-name=sfp1 ] disabled=yes

/interface vpls
add advertised-l2mtu=1508 disabled=no l2mtu=1508 mac-address=00:00:00:00:02:05 name=AP1 remote-peer=10.1.255.1 vpls-id=20:5

/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
add authentication-types=wpa2-psk eap-methods="" management-protection=allowed mode=dynamic-keys name=profile1 supplicant-identity="" wpa-pre-shared-key=\
    xx wpa2-pre-shared-key=xx
	
/interface wireless
set [ find default-name=wlan1 ] adaptive-noise-immunity=ap-and-client-mode ampdu-priorities=0,1 antenna-gain=19 area=10 band=5ghz-n/ac country=xxxx\
    default-forwarding=no disabled=no frequency=5420 frequency-mode=superchannel installation=outdoor mode=ap-bridge multicast-helper=disabled \
    nv2-cell-radius=10 nv2-downlink-ratio=70 nv2-preshared-key=xx nv2-security=enabled scan-list=5100-5900 security-profile=profile1 ssid=XXX \
    wireless-protocol=nv2
	
/interface wireless nstreme
set wlan1 enable-nstreme=yes

/routing ospf area
set [ find default=yes ] disabled=yes
add area-id=2.2.2.2 default-cost=1 inject-summary-lsas=no name=area2 type=stub

/routing ospf instance
set [ find default=yes ] router-id=10.1.255.5

/routing ospf network
add area=area2 network=10.1.255.5/32
add area=area2 network=10.2.1.0/24

/interface bridge filter
add action=accept chain=forward in-bridge=bridge mac-protocol=pppoe-discovery
add action=accept chain=forward in-bridge=bridge mac-protocol=pppoe
add action=drop chain=input in-bridge=bridge
add action=drop chain=forward in-bridge=bridge mac-protocol=ip
add action=drop chain=forward in-bridge=bridge mac-protocol=rarp
add action=drop chain=forward in-bridge=bridge mac-protocol=vlan
add action=drop chain=forward in-bridge=bridge mac-protocol=ipv6
add action=drop chain=forward in-bridge=bridge mac-protocol=arp

/interface bridge port
add bridge=bridge disabled=yes interface=ether1
add bridge=bridge hw=no interface=sfp1
add bridge=bridge interface=wlan1
add bridge=bridge interface=Toptas_sektor->CCR

/ip address
add address=10.2.1.6/24 interface=ether1 network=10.2.1.0
add address=10.1.255.5 interface=Loopback0 network=10.1.255.5

/mpls interface
set [ find default=yes ] interface=ether1 mpls-mtu=1550
/mpls ldp
set enabled=yes lsr-id=10.1.255.5 transport-address=10.1.255.5
/mpls ldp interface
add interface=ether1

You do not have the required permissions to view the files attached to this post.
 
millenium7
Long time Member
Long time Member
Posts: 538
Joined: Wed Mar 16, 2016 6:12 am

Re: OSPF VPLS/MPLS load balancing and failover

Wed Jul 15, 2020 4:50 am

I'm investigating the same thing at the moment
It appears the only way to do this properly and retain failover in both directions (if backup link goes down, should failover to primary) is using MPLS Traffic Engineering. I'm still investigating how to properly implement it with Mikrotik in the most minimal and effective way. Have a look into it and set it up in a lab
 
User avatar
sri2007
Member Candidate
Member Candidate
Posts: 205
Joined: Wed May 20, 2015 10:14 pm
Location: Lake Grove, NY

Re: OSPF VPLS/MPLS load balancing and failover

Fri Jul 17, 2020 10:34 pm

HI the only way of achieving that is with some Traffic Engineering tunnels at RouterOS. I've tried to deploy ECMP with LDP using a similar idea with two AirFiber 5XHD in a load balancing scenario and it didn't work.
 
User avatar
stefki
Frequent Visitor
Frequent Visitor
Topic Author
Posts: 57
Joined: Mon Aug 29, 2016 2:13 pm

Re: OSPF VPLS/MPLS load balancing and failover

Wed Aug 19, 2020 7:38 pm

Hello again.

nobody with hints or solution ?
 
morf
Member Candidate
Member Candidate
Posts: 182
Joined: Tue Jun 21, 2011 5:31 pm
Location: Saint-Petersburg

Re: OSPF VPLS/MPLS load balancing and failover

Thu Aug 20, 2020 2:18 pm

I once studied this question. You cannot balance VPLS using LDP signaling. You need to use BGP signaling and, in my opinion, some scripts. Somewhere on the forum already discussed.
 
User avatar
IPAsupport
Frequent Visitor
Frequent Visitor
Posts: 62
Joined: Fri Sep 20, 2019 4:02 pm

Re: OSPF VPLS/MPLS load balancing and failover

Fri Aug 28, 2020 8:17 pm

This won't work on Mikrotik. You can get some of this if you use BGP, but Mikrotik's implementation of TE can't allow for the same destination or endpoint. A good solution for this will be a switch that supports ERPS for example.
 
mducharme
Trainer
Trainer
Posts: 1777
Joined: Tue Jul 19, 2016 6:45 pm
Location: Vancouver, BC, Canada

Re: OSPF VPLS/MPLS load balancing and failover

Sat Aug 29, 2020 3:46 am

I have a suggestion. Since you are dealing with equal traffic over both links, what I would probably do here is use one VLAN for management IPs for the radios and a separate VLAN for traffic, and have no untagged traffic across the links. On the MikroTik router on both sides, create a bonding interface with balance-rr and add the traffic VLAN for both interfaces to the bonding interface. The new bonding interface should load balance the MPLS naturally.

I am doing equal load balancing of MPLS traffic successfully with balance-rr bonding interfaces.

It might even work with unequal traffic distributions by creating additional VLANs.
 
bbs2web
Member Candidate
Member Candidate
Posts: 232
Joined: Sun Apr 22, 2012 6:25 pm
Location: Johannesburg, South Africa
Contact:

Re: OSPF VPLS/MPLS load balancing and failover

Mon Oct 05, 2020 9:33 pm

Hi,

I would strongly discourage running round robin balancing, especially on wireless links where the latency between the two vendor's implementation will most definitely be different. Out of order packet delivery will cause TCP congestion control to kick in and cause problems with realtime media streams.

You really should be using a hash based ECMP algorithm. One way of possibly handling this could be to set the bridges protocol to none, this makes it pass through certain BPDU types allowing LACP through a VPLS tunnel. It wouldn't be VPLS end to end, you would only need to establish static VPLS LDP tunnels between the two wireless routers and possibly add a second pair to run a VPLS tunnel over the AirFibre link, if it can't forward LACP BPDUs. Then setup a stock standard 802.3ad bond with layer3+4 hashing and add it to the bridge on the CCR and 4011.

Create vlan interfaces on the CCR using the bridge interface as a parent.

As per https://wiki.mikrotik.com/wiki/Manual:Interface/Bridge:
Since RouterOS v6.43 it is possible to forward Reserved MAC addresses that are in 01:80:C2:00:00:0X range, this can be done by setting the protocol-mode to none.


Regards
David Herselman

Who is online

Users browsing this forum: No registered users and 14 guests