MPLS 1.962

An open source effort to create a set of MPLS signaling protocols and an MPLS forwarding plane for the Linux OS

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!

What's new in MPLS 1.962:

  • Assorted enhancements and bugfixes.
Read full changelog
send us
an update
GPL (GNU General Public License) 
2.9/5 21
James R. Leu
ROOT \ System \ Networking
MPLS for Linux is a open source effort to create a set of MPLS signaling protocols and an MPLS forwarding plane for the Linux OS.

So far a MPLS forwarding plane for the Linux 2.6.x kernel tree and an implementation of RFC3036 (LDP) have been created.

MPLS for Linux is made up of two projects:

1. mpls-linux -- MPLS forwarding for the Linux Kernel

· Ethernet interfaces
· PPP interfaces
· Virtual MPLS tunnel interface
· Global or interface specific labelspaces
· Label stacking
· Recursive label lookups
· Any entry in the Linux routing table can have an outgoing label associated with it (this include multiple table support, TOS, and per interface routing)
· Integration with Linux QoS model
· DiffServ support (E-LSPs and L-LSPs)
· Ethernet over MPLS (via ebtables)
· Penultimate Hop Popping - PHP (can also be used to avoid IPv4 lookup on egress LER)
· (Support for ATM interfaces was removed)

2. ldp-portable -- a portable implementation of RFC3036

· Unsolicited and on demand modes are implemented
· Direct and indirect peers
· Distribution of labels controlled by policy
· Integration with quagga routing platform (see quagga-mpls below)
· Flexible configuration API (mimics LDP-MIB)


MPLS for Linux started out as a protocol analyzer for the LDP protocol. It utilized a set of encode and decode functions developed by Nortel Networks. It was originally developed for the N+I Las Vegas '99 MPLS iLab. By the time N+I Atlanta '99 rolled around it had matured in to a make shift implementation of LDP-03. During N+I Atlanta '99 it was re-written to follow the procedures from Appendix A of LDP-05. In April of 2000 I joined Laurel Networks ( I was allowed to continue development of LDP as long as I made it portable. With this in mind the linux-mpls-ldp package was split into two packages: mpls-linux (the Linux Kernel based forwarding plane released under the GPL) and ldp-portable (a portable version of the LDP protocol released under the LGPL). The project moved to Sourceforge on 11/30/2000. In January of 2003 I started working for iNOC ( where I have been encouraged to continuing working on this project and be involved in the standardization bodies associated with MPLS.

Last updated on February 17th, 2009

#MPLS signaling #MPLS forwarding plane #Multi-Protocol Label Switching #MPLS #signaling #forwarding #plane

Add your review!