Two things happened in 2017:
- FRRouting came into existence, which mainlined the Quagga ldpd patch
- Cumulus contributed its VRF implementation to mainline Linux
Linux finally got native, working MPLS (L3VPN) and VRF support. 3 years later, a thorough documentation of MPLS configuration on Linux is still largely missing. Recently, after digging into all kinds of codes and documentation, I had a standard MPLS core network up and running in my lab. This article is a write-up for my lab setup.