Default Behavior: Penultimate Hop Pop (PHP)
R7#show mpls for 5.5.5.5 32
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 Untagged 5.5.5.5/32 0 Se0/0/0.57 point2point
Behavior with Ultimate Hop Popping (UHP)
R5(config)#mpls ldp explicit-null !this is how you enable UHP
R7#show mpls for 5.5.5.5 32
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 0 5.5.5.5/32 0 Se0/0/0.57 point2point
UHP: in other words: explicit-null, instead of advertising a pop we send a label (0, for both LDP/TDP)
–
Cisco.com Reference URL: In some cases (for example, a plain non-VPN MPLS network), the PHP action on the final P router can expose a plain IP packet when a packet with only one label is received. When this IP packet is received by the egress LSR (PE), it is not possible to classify the packet based on the MPLS EXP bits because there is no label now. In these situations, you must configure the egress PE router to advertise an explicit-null label. When the PHP (I guess that they mean a SWAP operation because of UHP in the P) action is performed on the P router, a label with a value of zero is sent, and with this special label you can mark the EXP bits as normally labeled packets, allowing the correct classification on the egress PE router.
–
Disposition Condition Table
Default Disposition behavior: the EXP value of the top-most label is not copied as the IP Precedence value of the IP packet |
 |
Uniform MODE: mpls exp value is copied down in the label stack |
 |
PIPE Mode: Similar to Uniform mode, but at the disposition of the label, the EXP of the label is not copied to the packet TOS The egress LSR does not maintain a copy of the ingress labeled packet’s EXP value in the qos-group variable (use internally in order to be able to classify EXP and give a PHB to IP) |
Short Pipe mode: |
 |
Long pipe (CSC) |
 |
General QOS Configuration Guide
MPLS TOPMOST & IMPOSITION in QOS when Labels are received
|
 |
MPLS: Se0/0/0.79: recvd: CoS=5, TTL=254, Label(s)=16/17
MPLS: Se0/0/0.89: xmit: CoS=5, TTL=253, Label(s)=17 |
 |
MPLS: Se0/0/0.79: recvd: CoS=2, TTL=254, Label(s)=16/17
MPLS: Se0/0/0.89: xmit: CoS=2, TTL=253, Label(s)=17 |
 |
MPLS: Se0/0/0.79: recvd: CoS=2, TTL=254, Label(s)=16/17
MPLS: Se0/0/0.89: xmit: CoS=5, TTL=253, Label(s)=17 |
 |
MPLS: Se0/0/0.79: recvd: CoS=3, TTL=254, Label(s)=16/17
MPLS: Se0/0/0.89: xmit: CoS=2, TTL=253, Label(s)=17 |
 |
MPLS: Se0/0/0.79: recvd: CoS=3, TTL=254, Label(s)=16/17
MPLS: Se0/0/0.89: xmit: CoS=4, TTL=253, Label(s)=17 |
 |
MPLS: Se0/0/0.79: recvd: CoS=3, TTL=254, Label(s)=16/17
MPLS: Se0/0/0.89: xmit: CoS=5, TTL=253, Label(s)=17 |
|
MPLS TOPMOST & IMPOSITION in QOS when Packets are received
|
 |
MPLS: Se0/0/0.79: recvd: CoS=5, TTL=254, Label(s)=16/17
MPLS: Se0/0/0.89: xmit: CoS=5, TTL=253, Label(s)=17 |
 |
MPLS: Se0/0/0.79: recvd: CoS=3, TTL=254, Label(s)=16/17
MPLS: Se0/0/0.89: xmit: CoS=5, TTL=253, Label(s)=17 |
 |
MPLS: Se0/0/0.79: recvd: CoS=3, TTL=254, Label(s)=16/17
MPLS: Se0/0/0.89: xmit: CoS=2, TTL=253, Label(s)=17 |
 |
MPLS: Se0/0/0.79: recvd: CoS=3, TTL=254, Label(s)=16/17
MPLS: Se0/0/0.89: xmit: CoS=2, TTL=253, Label(s)=17 |
ConfExamples — Comming soon,
Notes: based on RFC 3270, and Cisco DiffServ Tunneling Modes for MPLS Networks

Like this:
Like Loading...
Related
Very nice! I just started experimenting with MPLS…