Example Differentiated Services Application and Configuration
Figure 64 shows an example topology where a service provider offers the following differentiated services to its customers over its MPLS network:
- QoS Internet service—The CE router is managed by the provider and sets the IP precedence to predefined values. IP policy on the PE router sets the traffic-class/color combination according to the incoming well-defined IP precedence value. The policy also sets the UPC value to the incoming well-defined IP precedence value.
- Plain Internet service—IP policy on the PE router leaves the traffic-class/color combination as the default value, best-effort/green. The policy sets the UPC to 0.
- QoS VPN service—For CE-to-PE traffic, the VPN EXP
is copied from the IP precedence value when the PE router pushes VPN
stacked labels.
For PE-to-CE traffic, IP policy on the PE router resets the traffic-class/color combination according to the received, well-defined IP precedence value, so that egress queuing is based on the IP precedence value. This action takes place on the egress line module.
- Plain VPN service—For CE-to-PE traffic, the VPN
EXP bits are set to 000 when the PE router pushes VPN stacked labels.
For PE-to-CE traffic, IP policy on the PE router resets the traffic-class/color combination to the default value, best-effort/green, so that packets are queued as best-effort. The IP precedence value is left unchanged.
In this example, the provider also offers an inter-AS VPN service. The provider's own protocol traffic, for example, BGP signaling traffic such as update messages, is also labeled, with the EXP bits set to the same value as the IP precedence.
The egress queuing of traffic as it leaves the provider is always based on either the VPN EXP bits as received on the core side in inter-AS case, or the IP precedence value in all other cases. It is acceptable that fabric queuing is based on the incoming base label's EXP.
Figure 64: Differentiated Services over an MPLS Network

Differentiated Services Configuration Example
To configure the differentiated services described in this example:
- Create and attach an IP input policy for
the QoS Internet service to CE interfaces on the PE router for incoming
traffic.host1(config)#ip classifier-list prec0 ip any any precedence 0 host1(config)#ip classifier-list prec1 ip any any precedence 1 host1(config)#ip policy-list qos-service host1(config-policy-list)#classifier-group prec0 host1(config-policy-list-classifier-group)#user-packet-class 0 host1(config-policy-list-classifier-group)#traffic-class class0 host1(config-policy-list-classifier-group)#color green host1(config-policy-list)#classifier-group prec1 host1(config-policy-list-classifier-group)#user-packet-class 1 host1(config-policy-list-classifier-group)#traffic-class class1 host1(config-policy-list-classifier-group)#color green host1(config)#interface atm 3/0.1 host1(config-subif)#ip policy input qos-service
- Create and attach an IP input policy for
the plain Internet service to CE interfaces on the PE router for incoming
traffic. All traffic is treated as best effort, so no classifier group
is necessary.host1(config)#ip policy-list plain-service host1(config-policy-list-classifier-group)#user-packet-class 0 host1(config-policy-list-classifier-group)#traffic-class best-effort host1(config-policy-list-classifier-group)#color green
host1(config)#interface atm 5/0.1 host1(config-subif)#ip policy input plain-service - Attach an IP output policy for the QoS VPN service to
CE interfaces on the PE router for outgoing traffic. The same qos-service
policy that is attached to the input in Step 1 can be used on the
output, even though the UPC setting is not needed.host1(config)#Interface atm 3/0.1 host1(config-subif)#Ip policy output qos-service
Attach an IP output policy for the plain VPN service to CE interfaces on the PE router for outgoing traffic. The same plain-service policy that is attached to the input in Step 2 can be used on output, although the UPC setting is not needed.
host1(config)#Interface atm 5/0.1 host1(config-subif)#Ip policy output plain-service - For traffic toward the core, configure per-VR rules or
per-LSP policies to set the base EXP bits value according to the traffic-class/color
combination. Issue the mpls copy-upc-to-exp command to set the VPN EXP bits value to the UPC value. The UPC
value is the same as the IP precedence value for the QoS service case;
for all other cases the value is 000. Configure the mpls
preserve-vpn-exp command so that VPN EXP bits are not
subject to policy or to per-VR EXP rules.host1(config)#mpls match traffic-class … color … set exp-bits … host1(config)#mpls copy-upc-to-exp host1(config)#mpls preserve-vpn-exp
You must attach a policy to the core-side IP interface to set the UPC value of the control traffic appropriately so that the EXP bits value is copied from the UPC when this traffic goes out as MPLS packets.
host1(config)#ip classier-list control-traffic-prec0 … host1(config)#ip classier-list control-traffic-prec1 … host1(config)#ip policy-list core-ip-policy host1(config-policy-list)#classifier-group control-traffic-prec0 host1(config-policy-list-classifier-group)#user-packet-class prec0 host1(config-policy-list-classifier-group)#traffic-class class0 host1(config-policy-list-classifier-group)#color green host1(config-policy-list)#classifier-group control-traffic-prec1 host1(config-policy-list-classifier-group)#-packet-class prec1 host1(config-policy-list-classifier-group)#traffic-class class1 host1(config-policy-list-classifier-group)#color green
host1(config)#interface pos 0/0 host1(config-subif)ip policy output core-ip-policy - For traffic from the core, configure per-VR rules or per-LSP
policies to set the traffic-class/color combination—and therefore
shape the egress traffic queue—according to the value of the
EXP bits in the base label. This action causes host1(config)#mpls match exp-bits <value> set traffic-class <className> color