This open source project aims to develop a set of MPLS signaling protocols along with an MPLS forwarding plane for the Linux operating system.
The software comprises of two projects:
1. MPLS-Linux: This project is responsible for creating MPLS forwarding for the Linux Kernel with Ethernet interfaces, PPP interfaces, virtual MPLS tunnel interface, global or interface specific labelspaces, recursive label lookups, label stacking, and more. The software also enables any entry in the Linux routing table to have an outgoing label associated with it- including multiple table support, TOS, and per-interface routing. Additionally, MPLS for Linux integrates with Linux QoS model, supports E-LSPs and L-LSPs, Ethernet over MPLS (via ebtables), Penultimate Hop Popping- PHP, and supports ATM interfaces.
2. LDP-Portable: This project contains a portable implementation of RFC3036 with unsolicited and on-demand modes, direct and indirect peers, distribution of labels controlled by policy, integration with quagga routing platform, and flexible configuration API mimicking LDP-MIB.
MPLS for Linux started out as a protocol analyzer for the LDP protocol developed by Nortel Networks. It was optimized during the N+I Las Vegas '99 MPLS iLab, whereafter it was upgraded into a makeshift LDP-03 implementation during the N+I Atlanta '99. In April of 2000, MPLS for Linux was developed into a forward-thinking project with the intent to continue working on the software using open source software strategies.
The software was further re-developed into a separate version of two packages: MPLS-Linux for 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 was later shifted to Sourceforge on 11/30/2000. MPLS for Linux has been continued by iNOC from January 2003, where the developers have been encouraged to partake in standardization bodies that are involved with MPLS.
MPLS for Linux is an excellent open-source software that is not only robust in its technical engineering but incorporates a tactful approach to working with the best tools and resources available in the open-source community. Their continued effort to innovate and improve the software should be commended for its dedication to building frameworks that work well with mainstream applications.
Version 1.962: N/A