In this post we look at an MPLS QoS mode often used when the SP manages the CE devices and therefore controls the QoS settings between them. Uniform mode is considered end-to-end because the EXP value is copied from the IP Precedence (IPP) value on ingress, and vice versa on egress. Any changes made to the EXP value may result in the IPP value being different when it exits the cloud than it was entering it.
CE2 is sending icmp echos with an IPP value of 5. PE2 copies this to the EXP value by default (ToS Reflection) so no configuration is necessary. P2 is policing EXP 5 packets, and when traffic exceeds 16k, they are marked down to EXP3. This can be done a couple of ways, but here it is done as follows:
class-map match-all EXP5 match mpls experimental topmost 5 ! policy-map POLICER class EXP5 police 16000 conform-action transmit exceed-action set-mpls-exp-topmost-transmit 3 ! interface Serial1/1 description Connection to P1 service-policy output POLICER
Another way of doing this would be to match EXP 5 on inbound from P3, then set a qos group in the input policy. Then we could match the qos group and police as we do towards P1.
Next we need to use explicit null labels otherwise P1 pops off the label with the topmost EXP value when sending packets to PE1. This would cause packets that were labeled with EXP 3 to be seen as EXP 5 (PE2 sets EXP to 5 on both labels)…not good! This command is required on PE1 but can be used on all routers for completeness:
mpls ldp explicit-null
Finally, we have to copy the topmost EXP value as it enters PE1 to the IPP value as it transmitted toward CE1. This is done using qos groups. We will match the EXP value then set a qos group.
class-map match-all EXP5 match mpls experimental topmost 5 class-map match-all EXP3 match mpls experimental topmost 3 ! policy-map SETQ class EXP5 set qos-group 5 class EXP3 set qos-group 3 ! interface Serial1/0 description Connection to P1 service-policy input SETQ
Next we match the qos group then set the IPP value accordingly:
class-map match-all GROUP5 match qos-group 5 class-map match-all GROUP3 match qos-group 3 ! policy-map SETP class GROUP3 set ip precedence 3 class GROUP5 set ip precedence 5 ! interface Serial1/1 description Connection to CE1 ip vrf forwarding VPNA service-policy output SETP
On CE1, I have created this tracker that we can use to make sure values are getting set properly.
class-map match-all PREC5 match ip precedence 5 class-map match-all PREC3 match ip precedence 3 ! policy-map TRACKER class PREC3 class PREC5 ! interface Serial1/0 service-policy input TRACKER
Send enough pings from CE2 to generate more than 16k of traffic (pretty easy!) and verify on CE1:
CE2#ping 192.168.1.1 source lo 0 re 40 size 1400 Type escape sequence to abort. Sending 40, 1400-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds: Packet sent with a source address of 192.168.2.1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Success rate is 100 percent (40/40), round-trip min/avg/max = 44/59/112 ms CE1#sho policy-map interface Serial1/0 Service-policy input: TRACKER Class-map: PREC3 (match-all) 36 packets, 50544 bytes 30 second offered rate 0 bps Match: ip precedence 3 Class-map: PREC5 (match-all) 4 packets, 5616 bytes 30 second offered rate 0 bps Match: ip precedence 5 Class-map: class-default (match-any) 0 packets, 0 bytes 30 second offered rate 0 bps, drop rate 0 bps Match: any
Doesn’t take much too get policed down in this network! MPLS QoS is a topic probably only seen on the SP Lab Exam, but nevertheless can provide hours of enjoyment for anyone.
Regards, Bryan (Post by Bryan Bartik)
Tags: CCIE Class, CCIE Course, ccie lab, CCIE lab training, CCIE R&S, CCIE Service Provider, MPLS QOS









[...] CCIE Blog » MPLS QoS – Uniform Mode [...]
[...] CCIE Blog » MPLS QoS – Uniform Mode [...]