MPLS functions on many vendors’ equipment as it is an open method of data-carrying. Cisco chooses to implement MPLS in combination with CEF because of their similarities in functions and the efficiency this introduces. Essentially, CEF functionality complements MPLS.
MPLS is like CEF because it generates a table with mappings from incoming labels to outgoing labels and next hop. CEF on the other hand generates a table mapping the incoming packets destination to the outgoing interface and next hop. Both function based on the routing table and are generated on startup, allowing for very fast switching of packets.
On Cisco devices, CEF and MPLS work together. On the ingress edge router the IP destination network of an unlabelled packet will be looked up in the CEF table which contains a mapping to the outgoing label. This is done for efficiency so that the destination doesn’t have to be looked up in the CEF table, then again in the label forwarding information base (LFIB).
A Label Switched Path (LSP) defines a path in only one direction. This means that it allows data to flow in only one direction between two endpoints. Establishing two-way communications between endpoints requires a pair of LSPs to be established, one for each direction. Because two LSPs are required for connectivity, data flowing in the forward direction may use a different path from data flowing in the reverse direction. This is a similar concept to the fact that if routing is available from point A to point B, it is not necessarily true that routing exists from point B to point A. It must be explicitly defined.
The pop label is very different than the untagged label. A popped label is when the penultimate (the second-to-last router) performs a pop of the outer label. The inner label is still there, so it forwards it based on that.
The Untagged keyword shows up in the output of the
show mpls forwarding-table command. What it means is that the router has no output label associated with the forwarding equivalence class (FEC … usually an IP prefix). Since there is no output label, the router cannot perform a label swap (or pop) but has to remove the whole MPLS header.
In this case, the raw IP packet has to be forwarded based on the routing table and the prefixes found there.
I hope this has been helpful!