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
In a nutshell
  • 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.

Site Acustomer switchframesPE1bridge and VPLSpseudowire over MPLSPE2bridge and VPLSframesSite Bcustomer switch

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-peer is the loopback address of the other PE.
  • vpls-id identifies 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

Inside the PE1 bridge, the customer port ether3 with no horizon forwards to both VPLS ports, while the two VPLS ports sharing horizon 1 do not forward to each other. 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.

PE1customer port, no horizonforwardPE1VPLS ports, horizon 1PE1VPLS port from PE2, horizon 1blocked towardPE1VPLS port to PE3, horizon 1

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.
TopicRule
vpls-idSame value at both ends
horizonSame value on all VPLS ports in a bridge
Control wordSame choice at both ends
Exam tip

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-peer is the other PE loopback, and vpls-id must match at both ends.
  • VPLS in a full mesh needs split horizon to prevent loops.
  • Set the same horizon value 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.
Watch out

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 horizon value 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.