Article: MPLS on VyOS

I’m writing a series for MPLS on VyOS in anticipation of the numerous MPLS related features in 1.4.


A small typo

P2 –
P3 –

Thank you, I appreciate that.

Hi @L0crian,

Great read and great blog overall. I admittedly didn’t know anything about MPLS prior to reading and was able to grasp the concept and follow along as I read through the article. I learned something new and grateful for this. Looking forward to P2.

Notice on thing in of the earlier paragraphs the lonely “P” … believe you meant to say PE routers?

“The major benefit of MPLS was that dedicated P routers could be deployed that didn’t need to know about any of the IPv4 customer prefixes…”



Thanks for reading and the feedback.

For that portion of the article, I did mean “P” routers. A “P” router is a router that will be dedicated to being a Label Switched Router (LSR). It won’t do much (if any) IP lookups, everything will be label switched. Compare that to a PE router, that will communicate with Labels between other PEs, but will also communcate using IP with customer router, called Customer Edge (CE) routers.

I’ll be talking more about PEs and CEs in Part 2.

Thanks again for the input.

In this post we talk about what are L3VPNs and how to configure them in VyOS.


As always, fantastic job! I trust that this will contribute to the development of more captivating network designs by harnessing the advanced advantages of L3VPN on VyOS.


It looks like this output was not received after this step
I.e after configure OSPF

set interfaces dummy dum0 address ''
set interfaces ethernet eth0 address ''

set protocols ospf interface dum0 area '0'
set protocols ospf interface eth0 area '0'
set protocols ospf interface eth0 network 'point-to-point'

You get labels after the first step. Why and how? As I understand on this step we do not having any info for labels at all.

vyos@PE1# run show ip route ospf 
O [110/1] via, dum0 onlink, weight 1, 21:51:12
O>* [110/2] via, eth0, label implicit-null, weight 1, 21:50:38
O>* [110/3] via, eth0, label 17, weight 1, 21:49:48
O>* [110/4] via, eth0, label 18, weight 1, 00:04:06


Good catch! In my lab I already had LDP configured. I’ll update that so it won’t cause any confusion. Thanks.

1 Like