POP: The second last router in an LSP (PHP) pops the the top label in the label stack and transmits the packet with one label (if more than one label exists) OR transmits the packet as an IP packet if only the one label existed in the label stack.
Untagged: An untagged label will be listed as an outgoing label in the LFIB when the IP prefix is either a directly connected interface, a summary route, or the next-hop router has not advertised the label.
I've made a special note of the last point of an Untagged label - IF the next-hop router did not advertise the label.... the packet is sent out untagged, which makes sense. However, you may be thinking...... why would that label not be advertised ?
Lets take a look at a look at a scenario in where the outgoing label will be Untagged....
Lets focus on the PE2 router for now. We've created a loopback interface Loopback0 with an IP address of 14.14.14.1/24. We are running OSPF on all routers in the AS100 domain, except for the external links to remote autonomous systems.
On PE2, there will be a directly connected route to 14.14.14.0/24 in the routing table. However, that router advertised 14.14.14.1/32 in OSPF due to that Loopback being a "stub network" (the default behavior of OSPF on a loopback interface). PE2 however, advertises a label to its neighbors for the network 14.14.14.0/24 via LDP.
This is the beginning of the issue here. OSPF advertises a route to 14.14.14.1/32, where LDP advertises a label to 14.14.14.0/24. The P2 Router does NOT receive a label binding for the 14.14.14.1/32 network, but it DOES create its own local binding because that route exists in its local routing table. This binding is created locally and advertised to its neighbors, however because P2 never received a label from PE2 for the 14.14.14.1/32 network - the outgoing label is "UNTAGGED".
This is indeed one scenario where you would see UNTAGGED instead of what I expected to see, POP.
The outgoing label value can be changed from UNTAGGED to POP on the P2 router pretty easily. The solution is simple.. Configure the Loopback interface on PE2 to a new OSPF network type:
"ip ospf network point-to-point". The PE2 router will now advertise the network as a /24 (which is what is truley is) instead of a /32 network. The outgoing label on P2 is now POP, because it has now received the corresponding OSPF route to the MPLS label it received from PE2.
Hopefully this explains the difference between the two outgoing label values - and when you may expect to see them in a real network.
Kyle