On the Flexibility of MPLS Applications over an OpenFlow-Enabled Network

In today's networks, a node usually has a static role that cannot be easily changed without an expensive upgrade. In MPLS architecture, despite the flexible forwarding data plane not tied to a single forwarding technology, each MPLS node has to be dedicated for a specific role depending on its position in the edge or the core of the MPLS network domain. This paper proposes an approach to address the flexibility of an MPLS node to play multiple roles for different MPLS domains built on top of an underlying OpenFlow-enabled physical network. The pipelined approach through tables introduced in the version 1.1 and later of the OpenFlow specification allows the change of the packet processing behavior by just updating the memory structures -- such as the TCAM and hash tables. It exploits the power of the OpenFlow rules-based paradigm to demonstrate the high level programmability to achieve the deossification of an MPLS infrastructure. In order to validate our proposal, we have implemented our approach over a 100Gbps switch box built on network processors and tested it with three applications to evaluate its flexibility. The results show that the local software to hardware update of a Label Switched Path (LSP) can be made in 2.2ms, in average, and the deployment of a Label Switched Router (LSR) application with 400 labels takes only 392.5ms.