MPLS · Topic 3 of 7
LDP Based VPLS, Bridge Split Horizon and the Control Word
Learn how LDP based VPLS builds layer 2 tunnels between provider edge routers, why bridge horizon is needed in a full mesh, and the control word.
- 5 min
- Includes a diagram
- VPLS joins customer sites into one layer 2 domain over MPLS.
- Each PE pair is linked by a pseudowire, signalled with LDP.
- A bridge joins the VPLS interfaces and the customer port.
What it is
VPLS makes a provider network behave like one big Ethernet switch for the customer sites it connects.
Each pair of provider edge routers is joined by a tunnel called a pseudowire. Customer Ethernet frames enter one end and leave at the other, and the provider core sees only labelled packets.
This page covers the LDP based form, the split horizon rule that prevents loops, and the control word, an optional extra header.
How it works
LDP signals each pseudowire, a bridge joins the tunnels and customer ports, and horizon stops loops.
The building blocks
VPLS needs MPLS with LDP working first. The PE routers must reach each other's loopbacks, and LDP bindings must exist for those loopbacks as host prefixes.
Each pseudowire is a VPLS interface. A bridge ties the VPLS interfaces to the customer facing port, and the bridge learns MAC addresses like a switch.
/interface vpls add name=vpls-to-pe2 remote-peer=10.255.255.2 vpls-id=100:1 disabled=no
/interface bridge add name=br-cust
/interface bridge port add bridge=br-cust interface=ether3
/interface bridge port add bridge=br-cust interface=vpls-to-pe2
remote-peeris the loopback address of the other PE.vpls-ididentifies the service. It must be identical at both ends.- The customer port and the VPLS interface sit in one bridge.
The tunnel is signalled with LDP between the two loopback addresses. An inner label identifies the pseudowire, and the outer label carries it across the core.
Full mesh and the loop problem
With more than two sites, each PE has a tunnel to every other PE. This is a full mesh. A frame that arrives from one pseudowire must not be sent into another, because the other PEs already got it directly.
Without a rule, a broadcast could be copied from tunnel to tunnel without end. Ethernet has no TTL to stop it.
Bridge split horizon
The fix is split horizon. Ports in the same horizon group do not forward frames to each other. On RouterOS this is the horizon setting on the bridge port.
/interface bridge port set [find interface=vpls-to-pe2] horizon=1
/interface bridge port set [find interface=vpls-to-pe3] horizon=1
All VPLS interfaces on a PE use the same horizon value. The customer port keeps no horizon, so it can talk to every tunnel.
A frame from the customer reaches all tunnels. A frame from one tunnel reaches the customer but no other tunnel.
The control word
The control word is a 4 byte field placed after the label stack. It carries flags and an optional sequence number.
Its main practical value is protection against bad load sharing. Some routers inspect the first bytes after the labels to guess if the payload is IP. An Ethernet frame may look like IP, and the router may then split the flow and reorder frames.
The control word makes the payload look unlike IP.
RouterOS lets you choose whether a VPLS interface uses it, so look for the control word option in the console help of /interface vpls on the version you run.
- Both ends must agree. If only one end uses the control word, the two sides disagree on the frame format, so the tunnel may not come up or traffic can fail.
- The control word adds 4 bytes, so it increases the MTU that the core must carry.
- When connecting to another vendor, check which control word setting the remote device expects.
| Topic | Rule |
|---|---|
vpls-id | Same value at both ends |
horizon | Same value on all VPLS ports in a bridge |
| Control word | Same choice at both ends |
A VPLS tunnel that is up but passes no traffic points to a mismatch such as the MTU or the control word. A tunnel that will not come up points first to LDP or the loopback route.
What to remember for the exam
Eight facts cover most questions here.
- VPLS joins customer sites into one layer 2 domain over MPLS.
- Each PE pair is linked by a pseudowire, signalled with LDP.
- A bridge joins the VPLS interfaces and the customer port.
remote-peeris the other PE loopback, andvpls-idmust match at both ends.- VPLS in a full mesh needs split horizon to prevent loops.
- Set the same
horizonvalue on all VPLS bridge ports. Leave the customer port without one. - The control word is a 4 byte field after the label stack.
- Both ends must use the same control word setting.
Without horizon, a broadcast can loop between pseudowires with nothing to stop it.
Common mistakes
These four errors are common.
Skipping horizon in a full mesh. A broadcast storm follows, since Ethernet has no TTL.
Putting horizon on the customer port. Then the customer cannot reach the tunnels that share that value.
Different control word choices at the two ends. The tunnel may not come up, or it may come up and lose traffic.
Using a physical address as the remote peer. The tunnel should use the loopbacks, with LDP bindings for them.
Check yourself
Work through these three questions.
Why does a VPLS full mesh need split horizon?
A frame from one pseudowire must not be forwarded into another, or broadcasts can loop forever. Ports with the same
horizonvalue do not forward to each other.Which ports get a horizon value in a bridge?
All the VPLS interfaces get the same value, and the customer port is left without one.
What happens if only one end of a pseudowire uses the control word?
The ends disagree on the frame format, so the tunnel may not come up, or traffic can fail even though it is up.
Topic 3 of 7 in MPLS
Test yourself on MPLS
The full MikroTik MTCINE question bank has 475 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by MikroTik. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.