From OpenFlow Wiki
OpenFlow MPLS is a project at Ericsson Research on extending OpenFlow with MPLS capabilities. It is NOT related to the official OpenFlow project!
Ericsson Research is working on supporting MPLS with OpenFlow. The goal is to turn an OpenFlow enabled switch (which has the necessary capabilities) into an MPLS switch.
The basics of MPLS involves pushing, popping, and swapping one or more labels that reside in a "label stack" between the link layer and network layer header of a packet (see the figure below). As of version 0.8.9 and 1.0 the OpenFlow specification does not provide the features needed to describe this functionality. As part of this project, we define a set of additions to the OpenFlow specification that allow us to perform all of the basic MPLS functionality.
As part of the project the OpenFlow software switch and controller reference and the NetFPGA implementation has also been modified to support MPLS.
The project is described in details on the following wiki pages. Downloadable materials are also available on the appropriate pages.
OpenFlowMPLS_Description: provides an in-depth description of the approach taken in extending the OpenFlow specification with MPLS support.
OpenFlowMPLS_Implementation: the modified openflow reference implementation, including the reference controller, reference switch, netfpga sources as well as a wireshark dissector.
OpenFlowMPLS_NOX: a NOX controller modified based on the above specification in order to allow sending MPLS commands to switches
- Howard Green
- Mart Haitjema
- Peyman Kazemian
- James Kempf