Cisco 10000 Series Router Quality of Service Configuration Guide
Marking Traffic

Table Of Contents

Marking Traffic

QoS Packet Marking

Feature History for QoS Packet Marking

Benefits of QoS Packet Marking

IP Precedence Marking

IP Precedence-Based Weighted Random Early Detection

set ip precedence Command

Syntax Description

set ip precedence Command History

Usage Guidelines for the set ip precedence Command

IP Differentiated Services Code Point Marking

DSCP Per-Hop Behavior

Assured Forwarding

Expedited Forwarding

Class Selector Code Points

DSCP Values

DSCP-Based Weighted Random Early Detection

set ip dscp Command

Syntax Description

set ip dscp Command History

Usage Guidelines for the set ip dscp Command

Class of Service Marking

QinQ Class of Service Marking

set cos Command

Syntax Description

set cos Command History

Usage Guidelines for the set cos Command

QoS Group Marking

set qos-group Command

Syntax Description

set qos-group Command History

Usage Guidelines for the set qos-group Command

ATM Cell Loss Priority Marking

set atm-clp Command

set atm-clp Command History

Usage Guidelines for the set atm-clp Command

MPLS Experimental Marking

QinQ MPLS Experimental Marking

set mpls experimental imposition Command

Syntax Description

set mpls experimental imposition Command History

Usage Guidelines for the set mpls experimental imposition Command

Discard-Class Marking

set discard-class Command

Syntax Description

set discard-class Command History

Usage Guidelines for the set discard-class Command

Class-Based Frame Relay DE Bit Marking

History for the Class-Based Frame Relay DE Bit Marking Feature

Marking and Policing Traffic

Tunnel Header Marking

Feature History for Tunnel Header Marking

Restrictions and Limitations for Marking

Interfaces Supporting Marking

Classification and Marking Design Guidelines

Recommended Values for Traffic Marking

Configuring Traffic Marking

Configuring IP Precedence Marking

Configuration Examples for IP Precedence Marking and Classification

Configuring IP DSCP Marking

Configuration Examples for IP DSCP Marking and Classification

Configuring Class of Service Marking

Configuration Examples for CoS Marking and Classification

Configuring QoS Group Marking

Configuration Examples for Configuring QoS Group Marking and Classification

Setting the ATM Cell Loss Priority Bit

Configuration Example for Setting the ATM CLP Bit

Configuring MPLS Experimental Marking

Configuration Examples for Configuring MPLS Experimental Marking and Classification

Configuring Discard-Class Marking

Configuration Examples for Configuring Discard-Class Marking and Classification

Configuring Tunnel Header Marking Using the set Command

Configuration Example for Tunnel Header Marking Using the set Command

Configuring Tunnel Header Marking Using the police Command

Example Configuration for Tunnel Header Marking Using the police Command

Verifying Traffic Marking

Verification Examples for Traffic Marking

Related Documentation


Marking Traffic


To service the growing numbers of customers and their needs, service provider networks have become more complex and often include both Layer 2 and Layer 3 network devices. With this continued growth, service providers must quickly identify the packets streaming across the network and apply the appropriate service behavior before sending them to their destinations.

A differentiated service (DiffServ) model enables you to classify packets based on traffic classes. In this model, traffic marking allows you to partition your network into multiple priority levels or classes of service. By marking traffic, other network devices along the forwarding path can quickly determine the proper class of service (CoS) to apply to a traffic flow.

An important aspect of DiffServ is that the markings must be consistently interpreted from end-to-end. All devices in the network path must understand the per-hop behavior to apply to a specific class of traffic. If one of the routers in the path does not act appropriately, the overall service for a particular packet might not be as desired.

This chapter describes the marking capabilities of the Cisco 10000 series router. It includes the following topics:

QoS Packet Marking

IP Precedence Marking

IP Differentiated Services Code Point Marking

Class of Service Marking

QoS Group Marking

ATM Cell Loss Priority Marking

MPLS Experimental Marking

Discard-Class Marking

Class-Based Frame Relay DE Bit Marking

Marking and Policing Traffic

Tunnel Header Marking

Restrictions and Limitations for Marking

Restrictions and Limitations for Marking

Interfaces Supporting Marking

Classification and Marking Design Guidelines

Recommended Values for Traffic Marking

Configuring Traffic Marking

Verifying Traffic Marking

Related Documentation

QoS Packet Marking

QoS packet marking is a QoS tool used to differentiate packets based on designated markings. Using marking, you can partition your network into multiple priority levels or classes of service. Marking simplifies the network Qos design and QoS tools configuration, and reduces the overhead of packet classification by other QoS tools.

You can configure QoS packet marking on a main interface, subinterface, or an individual virtual circuit (VC). Traffic marking involves setting bits inside frame, packet, or cell header fields that are specifically designed for QoS marking. Other devices can examine the marked bits and classify traffic based on the marked values.

Table 7-1 summarizes the mechanisms you can use to mark packets. The internal mechanisms affect only the Cisco 10000 series router's behavior; internal marks are not passed on to other routers.

Table 7-1 Traffic Marking Actions

Action
Description
Layer
Section Reference

atm-clp

Sets the ATM cell loss priority (CLP) bit to 1.

2

ATM Cell Loss Priority Marking

cos

Sets the IEEE 802.1Q class of service bits in the user priority field.

2

Class of Service Marking

discard-class

Marks a packet with the discard-class value that you specify, which indicates the drop eligibility of a packet.

Internal

Discard-Class Marking

dscp

Marks a packet with the differentiated services code point (DSCP) you specify.

3

IP Differentiated Services Code Point Marking

mpls experimental imposition

Sets the value of the MPLS experimental (EXP) field on all imposed label entries.

2

MPLS Experimental Marking

ip precedence

Marks a packet with the IP precedence level you specify.

3

IP Precedence Marking

qos-group

Marks a packet with the QoS group identifier you specify.

Internal

QoS Group Marking


Feature History for QoS Packet Marking

Cisco IOS Release
Description
Required PRE

Release 12.0(17)SL

The marking feature was introduced on the router.

PRE1

Release 12.0(22)S

This feature was enhanced to support MPLS experimental marking.

PRE1

Release 12.2(16)BX

This feature was introduced on the PRE2 and enhanced to support 802.1Q class of service marking.

PRE2

Release 12.3(7)XI1

This feature was enhanced on the PRE2 to support MPLS experimental marking on all imposed label entries and discard-class marking.

PRE2

Release 12.2(28)SB

This feature was integrated in Cisco IOS Release 12.2(28)SB for the PRE2.

PRE2

Release 12.2(31)SB2

This feature was introduced on the PRE3 for class of service marking. Enhancements to the modular QoS CLI allow you to mark the IP DSCP bits of traffic on the L2TP access concentrator (LAC). The Class-Based Frame Relay DE Bit Marking and Tunnel Header Marking features were also introduced on the PRE3.

PRE3

Release 12.2(33)SB

This feature was enhanced to support Class-Based Frame Relay DE Bit Marking on the PRE4.

PRE3, PRE4


Benefits of QoS Packet Marking

Network Partitioning and Categorizing

Packet marking allows you to partition your network into multiple priority levels or classes of service.

Layer 2 to Layer 3 Mapping

If a packet that needs to be marked to differentiate user-defined QoS services is leaving the router and entering a switch, the router can set the class of service (CoS) value of the packet because the switch can process the Layer 2 CoS header marking.

Weighted Random Early Detection Configuration

Weighted random early detection (WRED) uses IP precedence values or IP DSCP values to determine the drop probability of a packet. Therefore, you can use the IP precedence and IP DSCP markings with the WRED feature.

Improved Bandwidth Management in ATM Networks

The ability to set the ATM CLP bit allows you to extend your IP QoS policies into an ATM network. As congestion occurs in the ATM network, cells with the CLP bit set are more likely to be dropped, resulting in improved network performance for higher priority traffic and applications.

IP Precedence Marking

You can mark the importance of a packet by using the IP precedence marking mechanism. IP precedence marking helps to do the following:

Manage congestion—IP precedence field is used to determine how to schedule packets.

Avoid congestion—IP precedence field is used to determine how to handle packets when packet-dropping mechanisms, such as weighted random early detection (WRED), are configured.

Police traffic—Networking devices within the network can use IP precedence values to determine how to handle inbound traffic based on the transmission rate.

Layer 2 media often changes as packets traverse from source to destination. A more ubiquitous marking can occur at Layer 3, using the IP type of service (ToS) byte. The ToS byte is the second byte in an IPv4 packet. The first three bits of the ToS byte are the IP precedence bits, which enable you to set eight IP precedence markings (0 through 7).

Table 7-2 lists the 8 different IP precedence markings defined in RFC 791. Notice that IP precedence 6 and 7 are used for network control. Do not use IP precedence 6 or 7 to mark packets, unless you are marking control packets.

Table 7-2 IP Precedence Values 

Precedence Value
Precedence Name
Binary Value
Recommended Use

0

Routine

000

Default marking value

1

Priority

001

Data applications

2

Immediate

010

3

Flash

011

Call signaling

4

Flash Override

100

Video conferencing and streaming video

5

Critic

101

Voice

6

Internetwork Control

110

Network control traffic (such as routing, which is typically precedence 6)

7

Network Control

111


You can configure a QoS policy to include IP precedence marking for packets entering the network. Devices within your network can then use the newly marked IP precedence values to determine how to treat the packets. For example, class-based weighted random early detection (WRED) uses IP precedence values to determine the probability that a packet is dropped. You can also mark voice packets with a particular precedence. You can then configure low-latency queuing (LLQ) to place all packets of that precedence into the priority queue.

IP Precedence-Based Weighted Random Early Detection

When you configure IP precedence-based weighted random early detection (WRED) on an output policy map and the outgoing packets are MPLS packets, the router drops the MPLS packets based on the three experimental (EXP) bits in the MPLS label, instead of using the 3-bit IP precedence field in the underlying IP packets.

set ip precedence Command

To set the precedence value in a packet header, use the set ip precedence command in policy-map class configuration mode. To remove the precedence value, use the no form of this command. By default, this command is disabled.

set ip precedence prec-value

no set ip precedence prec-value

Syntax Description

ip

Specifies that the match is for IPv4 packets only. You must specify this keyword.

precedence prec-value

Sets the precedence value. Valid values are from 0 to 7.


set ip precedence Command History

Cisco IOS Release
Description

Release 12.0(17)SL

The set ip precedence command was introduced on the PRE1.

Release 12.2(16)BX

This command was introduced on the PRE2.

Release 12.2(28)SB

This command was integrated in Cisco IOS Release 12.2(28)SB for the PRE2.

Release 12.2(31)SB2

This command was introduced on the PRE3.

Release 12.2(33)SB

This command was introduced on the PRE4.


Usage Guidelines for the set ip precedence Command

Bit Settings

After the precedence bits are set, other quality of service (QoS) features such as weighted fair queuing (WFQ) and weighted random early detection (WRED) can then operate on the bit settings.

Precedence Value

The network can give priority (or some type of expedited handling) to marked traffic through the application of weighted fair queuing (WFQ) or weighted random early detection (WRED) at points downstream in the network. Typically, you set the precedence value at the edge of the network (or administrative domain); data then is queued according to the specified precedence. WFQ can speed up handling for certain precedence traffic at congestion points. WRED can ensure that certain precedence traffic has lower loss rates than other traffic during times of congestion.

In Cisco IOS Release 12.3(7)XI, the router accepts the set precedence command without specifying the ip keyword. However, you must specify the set ip precedence command to set the precedence value in a packet header.

IP Differentiated Services Code Point Marking

IP precedence marking might seem too restrictive and limiting because only eight classes are available for marking. You might choose instead to use the IP differentiated services code point (DSCP) marking model, which offers up to 64 different values (0 through 63).

The differentiated services (DiffServ) functionality of the Cisco IOS software is fully compliant with the Internet Engineering Task Force (IETF) standards defined in the following request for comments (RFCs) documents:

RFC-2474

RFC-2475

RFC-2597

RFC-2598

The router leverages the IETF definition of the IPv4 1-byte type of service (ToS) field in the IP packet header by using the six most significant bits of this field (the DSCP bits) to classify traffic into any of the 64 possible classes. After the router classifies packets, you can use the modular QoS CLI to implement IETF-defined per-hop behaviors (PHBs), including assured forwarding (AF) and expedited forwarding (EF).

The router also uses bits in the ToS field to prioritize packets using an IP precedence value. Because the IP precedence value is actually part of the DSCP value, you cannot simultaneously set both the IP precedence and DSCP values. If you attempt to, an error message displays.

Figure 7-1 shows the DSCP bits in the ToS field.

Figure 7-1 DSCP Bits in the IP ToS Byte

DSCP Per-Hop Behavior

You can enter DSCP values as numeric values or as special keyword names called per-hop behaviors (PHBs). For example, DSCP EF is the same as DSCP 46 and DSCP AF31 is the same as DSCP 26.

The router supports the following classes of DSCP PHBs:

Best effort (BE)—DSCP 0

Assured forwarding (AF)—AF classes 1 through 4

Expedited forwarding (EF)—DSCP 46

Class selector code points—CS1 through CS7

Again, vendor-specific mechanisms need to be configured to implement these PHBs. For more information about EF PHB, see RFC-2598. To implement the PHBs, you must configure vendor-specific mechanisms. For more information, see the appropriate RFC as indicated in Table 7-4.

Assured Forwarding

There are four assured forwarding (AF) classes, AF1x through AF4x. The first number corresponds to the AF class and the second number (x) refers to the level of drop preference within each AF class. There are three drop probabilities, ranging from 1 (low drop) through 3 (high drop). Depending on a network policy, packets can be selected for a PHB based on required throughput, delay, jitter, loss, or according to the priority of access to network services. AF allows for a committed information rate between multiple classes in a network according to desired policies.

Table 7-3 provides the DSCP coding and drop probability for AF classes 1 through 4. Bits 0, 1, and 2 define the class; bits 3 and 4 specify the drop probability; bit 5 is always 0.

Table 7-3 Assured Forwarding DSCP Code Points

Drop Probability
Class 1
Class 2
Class 3
Class4

Low Drop

001010

AF11

DSCP 10

010010

AF21

DSCP 18

011010

AF31

DSCP 26

100010

AF41

DSCP 34

Medium Drop

001100

AF12

DSCP 12

010100

AF 22

DSCP 20

011100

AF32

DSCP 28

100100

AF42

DSCP 36

High Drop

001110

AF13

DSCP 14

010110

AF23

DSCP 22

011110

AF33

DSCP 30

100110

AF43

DSCP 38


Expedited Forwarding

The expedited forwarding (EF) PHB is used to build a low-loss, low-latency, low-jitter, assured bandwidth, end-to-end service through differentiated services (DiffServ) domains. This PHB appears to the endpoints like a point-to-point connection or a virtual leased line. EF PHB, also referred to as a premium service, is suitable for applications such as Voice over IP (VoIP).

The recommended code point for the EF PHB is 101110.

Class Selector Code Points

The router also supports class selector (CS) code points, which is a way of marking the six DSCP bits so that the code points are identical to IP precedence values. These code points can be used with systems that only support the IP precedence. The CS code points have the form xyz000, where x, y, and z represent a 1 or 0.

For more information, see the appropriate RFC as indicated in Table 7-4.

DSCP Values

The following differentiated services (DiffServ) RFCs define DSCP values:

RFC-2474, Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers

RFC-2475, An Architecture for Differentiated Services

RFC-2597, Assured Forwarding PHB Group

RFC-2598, An Expedited Forwarding PHB

The RFCs do not dictate the way to implement PHBs; this is the responsibility of the vendor. Cisco implements queuing techniques that can base their PHB on the IP precedence or DSCP value in the IP header of a packet. Based on DSCP or IP precedence, traffic can be put into a particular service class. Packets within a service class are treated the same way.

Table 7-4 lists only the DSCP values suggested by the DiffServ RFCs.

Table 7-4 DSCP Values  

DSCP Value
DSCP Name
Binary Value
Defined in RFC

0

Best Effort or Default

000000

2475

8

CS1

001000

16

CS2

010000

24

CS3

011000

32

CS4

100000

40

CS5

101000

48

CS6

110000

56

CS7

111000

10

AF11

001010

2597

12

AF12

001100

14

AF13

001110

18

AF21

010010

20

AF22

010100

22

AF23

010110

26

AF31

011010

28

AF32

011100

30

AF33

011110

34

AF41

100010

36

AF42

100100

38

AF43

100110

46

EF

101110

2598


You can configure a QoS policy to include an IP DSCP marking for packets entering the network. Devices within your network can then use the newly marked IP DSCP values to determine how to treat the packets. For example, class-based weighted random early detection (WRED) uses IP DSCP values to determine the probability that a packet is dropped. You can also mark voice packets with a particular DSCP value. You can then configure low-latency queuing (LLQ) to place all packets of that DSCP value into the priority queue.

DSCP-Based Weighted Random Early Detection

When you configure DSCP-based weighted random early detection (WRED) on an output policy map and the outgoing packets are MPLS packets, the router drops the MPLS packets based on the three experimental (EXP) bits in the MPLS label, instead of using the 6-bit DSCP field in the underlying IP packets. The router shifts the three EXP bits to the left to make it six bits. For example, if the value of the EXP bits is 5 (binary 101), the router left-shifts the bits to make them binary 101000, thus making it look like a 6-bit DSCP field. The router drops packets based on the shifted binary value.

set ip dscp Command

To mark a packet by setting the differentiated services code point (DSCP) value in the type of service (ToS) byte, use the set ip dscp command in policy-map class configuration mode. To remove a previously set DSCP value, use the no form of this command. By default, no packets are marked.

set ip dscp {dscp-value | afxy | csx | ef | default}

no set ip dscp {dscp-value | afxy | csx | ef | default}

Syntax Description

ip

Specifies that the match is for IPv4 packets only. You must specify this keyword.

dscp dscp-value

Sets the DSCP value. Valid values are from 0 to 63.

Instead of specifying a numeric dscp-value, you can specify one of the following reserved keywords:

afxy indicates assured forwarding.

csx indicates class selector code points that are backward-compatible with IP precedence. These code points (CS1 through CS7) are identical to IP precedence values 1 through 7.

ef indicates expedited forwarding.

default indicates best effort or DSCP 0.

For more information, see Table 7-4.


set ip dscp Command History

Cisco IOS Release
Description

Release 12.0(17)SL

This command was introduced on the PRE1.

Release 12.2(16)BX

This command was introduced on the PRE2.

Release 12.2(28)SB

This command was integrated in Cisco IOS Release 12.2(28)SB for the PRE2.

Release 12.2(31)SB2

This command was introduced on the PRE3 to allow you to mark the IP DSCP bits of traffic on the L2TP access concentrator (LAC).

Release 12.2(33)SB

This command was introduced on the PRE4.


Usage Guidelines for the set ip dscp Command

After the DSCP bit is set, other quality of service (QoS) features can then operate on the bit settings.

You cannot use the set ip dscp command with the set ip precedence command to mark the same packet. DSCP and precedence values are mutually exclusive. A packet can have one value or the other, but not both.

The network can give priority (or some type of expedited handling) to marked traffic. Typically, you set the precedence value at the edge of the network (or administrative domain); data is then queued according to the precedence. Weighted fair queuing (WFQ) can speed up handling for high-precedence traffic at congestion points. Weighted random early detection (WRED) can ensure that high-precedence traffic has lower loss rates than other traffic during times of congestion.

In Cisco IOS Release 12.3(7)XI, the router accepts the set dscp command without specifying the ip keyword. However, you must specify the set ip dscp command to set the DSCP value in a packet header. The ip keyword is required.

Class of Service Marking

Class of service (CoS) marking enables the Cisco 10000 series router to interoperate with switches to deliver end-to-end QoS. The IEEE 802.1p standard enables the router to:

Classify inbound Ethernet packets based on the value in the CoS field

Set the value in the CoS field of outbound packets

For Layer 2 devices, you can assign priority-indexed IEEE 802.1p CoS values to Ethernet frames. Layer 2 IEEE 802.1Q frame headers have a 2-byte Tag Control Information field in the 802.1p portion of the header. The three most-significant bits of this field (the User Priority bits) make up the Layer 2 CoS field. This 3-bit field allows you to mark eight classes of service (0 through 7) on Layer 2 Ethernet frames. Other QoS tools can then use the CoS marking to classify traffic. For IEEE 802.1Q, the User Priority bits are set to zero (0) in the Ethernet header.

Figure 7-2 shows the PRI field containing the 3-bit User Priority field.

Figure 7-2 User Priority Bits in the IEEE 802.1p Header

For CoS-based QoS, the Cisco 10000 series router uses the IP precedence bits in the IP header to give preference to higher-priority traffic. Layer 3 IP headers have a 1-byte Type of Service (ToS) field. The router uses the six most significant bits of this field (the differentiated services code point (DSCP) bits) to prioritize traffic. Figure 5-3 shows the DSCP bits in the TOS field.

Figure 7-3 DSCP Bits in the IP ToS Byte

The router uses the CoS value to determine how to prioritize packets for transmission and can also use CoS marking to perform Layer 2 to Layer 3 mapping. Using the CoS field, you can differentiate user-defined QoS services for packets leaving a router and entering a switch. Switches already have the ability to match and set CoS values; therefore, a router can set the CoS value of a packet to enable Layer 2 to Layer 3 mapping. The switch can then process the Layer 2 CoS header marking.

To allow the Cisco 10000 series router to interoperate with Layer 2 devices, CoS-based QoS on the router allows the 802.1p User Priority bits to be mapped to the IP DSCP bits for packets received on inbound interfaces. The DSCP bits are mapped to the User Priority bits for packets forwarded from outbound interfaces.

In the inbound direction, you can configure the router to match on the CoS bits and then perform an action (such as setting the IP precedence or DSCP bits). By default, the router ignores the CoS field of inbound packets.

In the outbound direction, you can configure the router to set the CoS bits of outbound packets to a value that you specify. If you do not do this, by default, the router ignores the CoS field and leaves it set to a default value.

QinQ Class of Service Marking

For EXP-to-CoS mapping in QinQ configurations, the parallel express forwarding (PXF) engine marks both the inner and outer CoS bits.

For CoS-to-EXP mapping in QinQ configurations, the PXF engine looks at the CoS bits in the outer dot1q header to determine how to mark the EXP bits.

set cos Command

To set the Layer 2 class of service (CoS) value of an outgoing packet, use the set cos command in policy-map class configuration mode. To remove a specific CoS value setting, use the no form of this command. By default, this command is disabled.

set cos cos-value

no set cos cos-value

Syntax Description

cos-value

Is a specific IEEE 802.1Q CoS value from 0 to 7.


set cos Command History

Cisco IOS Release
Description

Release 12.0(16)BX

This command was introduced on the PRE2 only.

Release 12.2(28)SB

This command was integrated in Cisco IOS Release 12.2(28)SB for the PRE2.

Release 12.2(31)SB2

This command was integrated in Cisco IOS Release 12.2(31)SB2 for the PRE3.

Release 12.2(33)SB

This command was introduced on the PRE4.


Usage Guidelines for the set cos Command

The set cos command allows switches and routers to interoperate. By configuring the router to match packets based on the CoS value (using the match cos command) and to set CoS values, you can configure Layer 2 to Layer 3 mapping. If a packet that needs to be marked to differentiate user-defined QoS services is leaving a router and entering a switch, the router can set the CoS value of the packet because the switch can process the Layer 2 header.

Use the set cos command only in service policies that are attached in the output direction of an interface; packets entering an interface cannot be set with a CoS value. You can configure a CoS value on an Ethernet interface that is configured for 802.1Q or on a virtual access interface that is using an 802.1Q interface.

QoS Group Marking

You can use QoS group marking to assign packets to a QoS group. The QoS group field is an internal marking that exists only within the router. You can set this field as packets pass through the fabric of the router. The router uses the group ID marking to determine how to prioritize packets for transmission. QoS groups are used as part of QoS policy propagation through the Border Gateway Protocol (QPPB) and are useful in configurations that support MPLS QoS tunneling modes: short pipe, long pipe, and uniform pipe.

You can set up to 100 different QoS group markings.

set qos-group Command

To set a quality of service (QoS) group identifier (ID) that can be used later to classify packets, use the set qos-group command in policy-map class configuration mode. To remove the group ID, use the no form of this command. By default, this command is disabled; no group ID is specified.

set qos-group group-id

no set qos-group group-id

Syntax Description

group-id

Is the group identifier. Valid values are from 0 to 99.


set qos-group Command History

Cisco IOS Release
Description

Release 12.0(17)SL

This command was introduced on the PRE1.

Release 12.2(16)BX

This command was introduced on the PRE2.

Release 12.2(28)SB

This command was integrated in Cisco IOS Release 12.2(28)SB for the PRE2.


Usage Guidelines for the set qos-group Command

The set qos-group command allows you to associate a group ID with a packet. The group ID can be used later to classify packets into QoS groups as part of QoS policy propagation through the Border Gateway Protocol (QPPB). QoS groups are also useful in configurations supporting MPLS QoS tunneling modes: short pipe, long pipe, and uniform pipe.

A QoS group and discard class are required when the input per-hop behavior (PHB) marking is used for classifying packets on the output interface

ATM Cell Loss Priority Marking

You can change the cell loss priority (CLP) bit setting in an ATM header of a cell to control the discarding of cells in congested ATM environments. As congestion occurs in the ATM network, the ATM network switch can discard cells with the CLP bit set to 1 (discard) before discarding cells with a CLP bit setting of 0.

You can set ATM CLP marking only on outbound packets. The Cisco 10000 series router does not support CLP bit matching.

set atm-clp Command

To set the cell loss priority (CLP) bit to 1, use the set atm-clp command in policy-map class configuration mode. To change the CLP bit setting back to 0, use the no form of the command. By default, the CLP bit automatically sets to 0 when the router sends packets as ATM cells.

set atm-clp

no set atm-clp

set atm-clp Command History

Cisco IOS Release
Description

Release 12.0(17)SL

This command was introduced on the PRE1.

Release 12.2(28)SB

This command was integrated in Cisco IOS Release 12.2(28)SB for the PRE2.

Release 12.2(31)SB2

This command was introduced on the PRE3.

Release 12.2(33)SB

This command was introduced on the PRE4.


Usage Guidelines for the set atm-clp Command

You can attach a policy map containing the set atm-clp command only as an output policy. The set atm-clp command does not support packets that originate from the router.

To disable this command, remove the service policy from the interface by using the no service-policy command.

The router discards packets with the CLP bit set to 1 before it discards packets with the CLP bit set to 0.

MPLS Experimental Marking

The Multiprotocol Layer Switching (MPLS) experimental (EXP) field is a 3-bit field within the MPLS label that is used in QoS marking. By default, the IP precedence field in the underlying IP packet is copied to the MPLS EXP field during label imposition. Using the MPLS EXP field does not modify the DSCP or IP precedence markings in the packet IP header.

The MPLS EXP field allows up to eight different QoS markings that correspond to the eight possible IP precedence values. For more information, see Table 7-2.

The value of the EXP bits determines the per-hop behavior (PHB) for MPLS nodes and is also used as transparency mechanisms when used with MPLS DiffServ tunneling modes such as pipe and uniform modes. IP marking does not modify an MPLS packet carrying IP data. You must configure MPLS marking on an input interface. MPLS marking takes effect only during label imposition. You can combine marking and policing to change the DSCP and MPLS EXP values of an IP packet during MPLS label imposition.

A provider edge (PE) router at the edge of the MPLS network can be configured to map the DSCP or IP precedence field to the MPLS EXP field. The router uses the value of the EXP field as the basis for IP QoS. As a result, MPLS routers can perform QoS features indirectly, based on the original IP precedence field inside the MPLS-encapsulated IP packet. The IP packet does not need to be opened to examine the IP precedence field. When a packet leaves the MPLS network, IP QoS is still based on the DSCP or IP precedence value in the IP header.

QinQ MPLS Experimental Marking

For CoS-to-EXP mapping in QinQ configurations, the parallel express forwarding (PXF) engine looks at the CoS bits in the outer dot1q header to determine how to mark the EXP bits.

For EXP-to-CoS mapping in QinQ configurations, the PXF marks both the inner and outer CoS bits.

set mpls experimental imposition Command

To set the value of the Multiprotocol Label Switching (MPLS) experimental (EXP) field on all imposed label entries, use the set mpls experimental imposition command in policy-map class configuration mode. To disable the setting, use the no form of the command. By default, no MPLS EXP value is set.

set mpls experimental imposition mpls-exp-value

no set mpls experimental imposition mpls-exp-value

Syntax Description

mpls-exp-value

Specifies the value used to set the MPLS EXP bits. Valid values are from 0 to 7.


set mpls experimental imposition Command History

Cisco IOS Release
Description

Release 12.0(22)S

The set mpls experimental command was introduced on the PRE1.

Release 12.3(7)XI1

The set mpls experimental imposition command was introduced on the PRE2.

Release 12.2(28)SB

This command was integrated in Cisco IOS Release 12.2(28)SB for the PRE2.



Note Cisco IOS software replaced the set mpls experimental command with the set mpls experimental imposition command. However, the Cisco 10000 series router continues to use the set mpls experimental command for PRE1. For PRE2, the command is set mpls experimental imposition.


Usage Guidelines for the set mpls experimental imposition Command

The set mpls experimental imposition command is supported only on input interfaces. Use this command during label imposition. This command sets the MPLS EXP field on all imposed label entries.

You can use the set mpls experimental imposition command on the input interface of a provider edge (PE) router connected to a customer edge (CE) router. In MPLS QoS differentiated services (DiffServ) tunneling modes, you can also use this command on the input interfaces of CE routers in pipe mode.


Note The Cisco 10000 series router does not support the set mpls experimental topmost command.


Discard-Class Marking

The discard-class is a 3-bit field that is used to set the per-hop behavior (PHB) for dropping traffic. The discard-class indicates the drop portion of the PHB. You can set the discard-class on the input interface to use as a matching criterion and to affect how packets are dropped on the output interface. You can use the discard-class with weighted random early detection (WRED) on the output interface to classify packets and determine packet drop probability. You can set up to eight discard-class values (0 through 7).

set discard-class Command

To mark a packet with a discard-class value or to drop a specific traffic type during congestion, use the set discard-class command in policy-map class configuration mode. To remove a discard-class value or to disable the discard-class value, use the no form of the command. By default, the discard-value is zero.

set discard-class value

no set discard-class value

Syntax Description

value

Is the priority of a type of traffic. Valid values are from 0 to 7.

Note This command is available only on the PRE2.


set discard-class Command History

Cisco IOS Release
Description

Release 12.3(7)XI

This command was introduced on the PRE2 only.

Release 12.2(28)SB

This command was integrated in Cisco IOS Release 12.2(28)SB for the PRE2.


Usage Guidelines for the set discard-class Command

You can set the discard-class on the input interface to use as a matching criterion and to affect how packets are dropped on the output interface. You can use the discard-class with weighted random early detection (WRED) on the output interface to classify packets and determine packet drop probability.

The router supports the set discard-class command only on the PRE2.

Class-Based Frame Relay DE Bit Marking

The Class-Based Frame Relay DE Bit Marking feature provides the ability to prioritize frames in a Frame Relay network by setting the discard eligibility (DE) bit in the header of Frame Relay frames. As congestion occurs in the Frame Relay network, frames with the DE bit set are more likely to be dropped, resulting in improved network performance for higher priority traffic and applications.

This feature supports the classification of inbound Frame Relay traffic based on the DE bit setting and the marking of the DE bit of outbound Frame Relay traffic. During classification, the router matches the DE bit of inbound packets to previously configured traffic classes (created using a class map) and classifies each matching packet as belonging to a specific traffic class.

DE bit marking can occur either as a class-based shaping action or as a class-based policing action. The modular QoS command-line interface (MQC) commands used to mark the DE bit are the following:

set fr-de command (class-based shaping)

set-frde-transmit command (class-based policing)

The set-frde-transmit command is a policing action for conforming traffic and is used with the police command. When using the conforming-action set-frde-transmit command, the router sends the frames through the policer's token bucket mechanism for processing and sets the DE bit for all frames that conform to the committed rate.

The PRE3 and PRE4 support Frame Relay DE bit marking across packet fragments.

History for the Class-Based Frame Relay DE Bit Marking Feature

Cisco IOS Release
Description
Required PRE

Release 12.2(31)SB2

This feature was introduced on the PRE3.

PRE2, PRE3

Release 12.2(33)SB

This feature was introduced on the PRE4.

PRE2, PRE3, PRE4


Marking and Policing Traffic

When you simultaneously configure a class in a policy map to include both marking and policing commands (the set and police commands), the router processes the set command first and then processes the police command. As a result, the values set by the police command override the values of the set command. This occurs regardless of whether you attach a policy map to an inbound or outbound interface.

For example, if you use the set command to configure a value for the IP precedence field and you configure a value for the same field by using the police command, the IP precedence value you set for the police command overrides the IP precedence value you configured for the set command.

The set and police commands allow you to configure the following fields:

IP precedence and IP DSCP

QoS group

MPLS experimental imposition

Discard-class

ATM cell loss priority

Tunnel Header Marking

The Tunnel Header Marking (THM) feature allows you to mark the outer IP header's DSCP or precedence value during tunnel encapsulation of the packet.

The outer IP header type of service (ToS) field of a tunneled packet is typically exposed to a different QoS domain from that of the inner IP header. For example, for Multicast Virtual Private Network (MVPN) packets placed in Generic Routing Encapsulation (GRE) tunnels, the router processes the packet's outer ToS field based on the QoS services of a common core MPLS network. The router processes the packet's inner IP ToS field based on the QoS services of a particular VRF. Using tunnel header marking, different traffic streams that are aggregated into the same tunnel can mark their outer ToS field differently. This enables the streams to receive a different level of QoS processing at the outer ToS field's QoS domain.

A policy map is used to enable tunnel header marking and is applied to the inbound interface. If the outbound interface is a tunnel, the router marks the outer headers of packets as tunnel encapsulation occurs. If the outbound interface is not a tunnel, the policy map has no affect on the arriving packet headers.

As shown in Figure 7-4, the policy map named policy1 has tunnel header marking configured and is attached to inbound interface P1, and outbound interface P2 is a tunnel. As a result, the router classifies traffic as it enters the router through interface P1 and marks the traffic as it leaves through interface P2.

Figure 7-4 Tunnel Header Marking

Feature History for Tunnel Header Marking

Cisco IOS Release
Description
Required PRE

Release 12.2(31)SB2

This feature was introduced on the PRE2 to allow you to mark the outer IP header's DSCP or precedence value during tunnel encapsulation of the packet.

PRE2


Restrictions and Limitations for Marking

DSCP-Based and Precedence-Based Marking

You cannot simultaneously configure both the set ip dscp command and the set ip precedence command in a policy map.

Because IP precedence is actually part of the DSCP value, you cannot simultaneously set both the IP precedence and DSCP values for a traffic class. A packet can have one value or the other, but not both. If you do configure both values, the router marks the packet with the DSCP value.

Because the router copies the IP precedence value to the MPLS EXP bits during label imposition, you cannot simultaneously set both IP precedence and MPLS experimental marking for a class.

Marking has no preset scaling limit.

In Cisco IOS Release 12.3(7)XI, the router accepts the set precedence and set dscp commands without specifying the ip keyword. However, you must specify the set ip precedence command to set the precedence value in a packet header and the set ip dscp command to set the DSCP value. The ip keyword is required.

Frame Relay DE Bit Marking Restrictions

In Cisco IOS Release 12.3(7)XI, when you enter the set ? command, the context-sensitive help lists the fr-de keyword to allow you to set the Frame Relay discard eligibility (DE) bit. However, the router does not support setting the DE bit in Cisco IOS Release 12.3(7)XI and later releases.

Discard-Class-Based Marking Restrictions

The router supports the set discard-class command only on the PRE2.

When you use the input per-hop behavior (PHB) marking to classify packets on the output interface, you must configure the set discard-class command in the input policy.

CoS-Based Marking Restrictions

The router supports CoS-based QoS only on Ethernet interfaces or PPPoE sessions associated with Ethernet interfaces.

The router supports matching and marking for physical Ethernet interfaces. The router supports CoS-based QoS for virtual access interfaces (VAIs) associated with PPPoE interfaces and it supports classification on the input policy and marking on the output policy.

Tunnel Header Marking Restrictions

If the outbound interface is not a tunnel, a policy map with tunnel header marking has no effect on the packet headers.

The router accepts only input service policies for tunnel header marking. You must apply a policy map with tunnel header marking to inbound interfaces. If you attempt to apply a service policy with tunnel header marking to an outbound interface, an error message displays.

You may use the [no] set ip [dscp | precedence] tunnel value command in conjunction with other input set actions. However, if you specify tunnel header marking as a policer action, using the set-dscp-tunnel-transmit or set-prec-tunnel-transmit command, then you cannot specify any other policer action. The router only supports a single police action.

The marking statistics for tunnel header marking are included in the statistical information for the class map.

Interfaces Supporting Marking

The following describes interface support for marking using the set commands:

Interfaces Supporting the set Command

Physical

Multilink PPP and multilink Frame Relay

ATM unspecified bit rate (UBR) PVCs and point-to-point subinterfaces

ATM variable bit rate (VBR) and constant bit rate (CBR) PVCs, and point-to-point subinterfaces

Label-controlled ATM