MPLS in Linux
MPLS old tutorial
https://www.netdevconf.org/1.1/proceedings/slides/prabhu-mpls-tutorial.pdf
Routing 10.10.10.10/32 to 192.168.1.2 with label 100:
ip route add 10.10.10.10/32 encap mpls 100 via inet 192.168.1.2
Label swapping 100 for 200 and sent to 192.168.2.2:
ip -f mpls route add 100 as 200 via inet 192.168.2.2
Decapsulating label 300 and delivering locally:
ip -f mpls route add 300 dev lo
To show MPLS routes you can do:
ip -f mpls route show
MPLS networks implementation using FRRouting
This repository includes three MPLS implementations using FRR routers. The first lab sets the MPLS labels manually in three-router topology. In the second lab, the labels are distributed using LDP (Label Distribution Protocol) in three-router ISP network connecting two customer routers. The third lab uses Virtual Routing and Forwarding (VRF) and BGP to create L3 VPN tunnels across an ISP network.
Configuring MPLS TE examples > FRR configuration example
https://codilime.com/blog/linux-network-features-isp-point-of-view
End-to-End MPLS Not Working On Docker Container
MPLS Lab – Playing with static LSPs and VRFs on Linux
GNS3: Basic MPLS L3VPN and OSPF in PE-CE routing
https://github.com/thomarite/mpls-basic
This is a basic MPLS L3VPN network built in GNS3 to understand this technology.