Views
OpenFlowMPLS MPLS Operations
From OpenFlow Wiki
This page is no longer maintained. For up to date information on the OpenFlow MPLS Extension, please visit the main page and the pages linked from there: OpenFlowMPLS.
MPLS Operations
MPLS imposes the label switching paradigm to forwarding.
A MPLS path will have three types of nodes:
- Ingress (Tunnel Encapsulation)
- Transit (Label Switching)
- Egress (Tunnel Decapsulation)
The actions required at these nodes are:
- Push (Path Ingress)
- Swap (Transit)
- Pop (Path Egress)
- PHP (Penultimate Hop Popping, used to avoid Pop at the egress node)
- Swap & Push (Nested Path Ingress)
- Pop & Swap (Nested Path Egress)
Further functionality required at the nodes:
- Forward to the MPLS next hop
- TTL handling
Forwarding to the MPLS NHop:
After performing the action on the labeled packet, it is forwarded to the next node in the MPLS path. This is done by re-writing the destination MAC to the MAC address of the nexthop. Also the source MAC of the packet is changed to the source MAC of outgoing MPLS interface.
TTL Handling:
TTL handling requires a number of operations:
- Move the TTL from the IP header to the MPLS label at ingress node
- Decrement the label TTL at the transit and egress nodes
- Move the TTL from the label to the IP header at the egress node
- If the incoming label TTL is 1 at the transit or egress node then do not forward the packet. Instead punt it to the controller for further handling
