IP to ATM Class of Service

Where Do I Apply a QoS Service Policy on an ATM Interface?

Document ID: 10050

Updated: Jun 05, 2005



The Modular QoS CLI is a command-line interface (CLI) structure that allows you to create service polices and attach these policies to interfaces, subinterfaces and ATM or Frame Relay virtual circuits (VCs). A traffic policy contains a traffic class and one or more QoS features. A traffic class is used to classify traffic, while the QoS features in the service policy determine how to treat the classified traffic.

This document clarifies where to apply service policies on ATM interfaces. Service policies are part of the IP to ATM Class of Service (CoS) feature set for differentiated service over ATM interfaces. For more information on IP to ATM CoS, see IP to ATM Class of Service Overview and Configuring IP to ATM Class of Service. This document assumes an understanding to IP to ATM CoS and of the commands of the MQC.



There are no specific requirements for this document.

Components Used

This document is not restricted to specific software and hardware versions.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.


For more information on document conventions, refer to the Cisco Technical Tips Conventions.

Decision Criteria

As of Cisco IOS® Software Release 12.2 and 12.2T, ATM interfaces support service policies at three logical interfaces - main interface, subinterface, and VC. The selection of a particular logical interface depends on the QoS features to be applied in the traffic policy. Use the following table to determine where to apply a service policy:

Service Policy Main Interface Subinterface VC
Service policy with queueing only Yes - Yes
Service policy with queueing and shaping Yes Yes Yes

Cisco IOS Software prints the following log message when you attempt to attach a policy to a subinterface and a PVC, which is not an allowed combination.

Note: To view this message, the logging console command must be configured from global configuration mode.

3640-105(config)#int atm 1/0.1 point 
3640-105(config-subif)#service-policy output leslie 
2w5d: Attaching service policy to sub-interface and pvc 
concurrently is not allowed 

In general, queueing-related features, applied with commands such as random-detect, bandwidth, priority, and fair-queue, apply only in the context of a hierarchical policy with shaping at the parent policy to create a bandwidth-limited traffic stream with queueing of excess packets. In other words, a queueing mechanism applies to packets that have been restrained in a queue by a shaping mechanism. A service policy that specifies queueing and no shaping cannot be applied directly to subinterfaces of any type since subinterfaces do not support inhererently a state of congestion. Instead, you first need to apply shaping to the subinterface using class-based shaping. Cisco IOS Software prints the following log message when an ATM subinterface is configured with a service policy that applies queueing without shaping.

Note: To view this message, the logging console command must be configured from global configuration mode.

7200-16(config)#int atm 5/0.20
7200-16(config-subif)#pvc 1/20
7200-16(config-subif)#service-policy output queuenoshape
 CBWFQ : Not supported on subinterfaces

However, the same policy is accepted on an ATM VC since the VC supports native ATM-layer shaping via the vbr-nrt, vbr-rt, cbr or abr commands.

7200-16(config)#int atm 5/0.20 
7200-16(config-subif)#pvc 1/50 
7200-16(config-if-atm-vc)#vbr-nrt 100 100 94 
7200-16(config-if-atm-vc)#service-policy output queuenoshape 
7200-16#show policy-map int atm 5/0.20
 ATM5/0.20: VC 1/50 -

Service-policy output: queuenoshape 

    Class-map: leslie (match-all) 
      0 packets, 0 bytes 
      5 minute offered rate 0 bps, drop rate 0 bps 
      Match: any 
        Strict Priority 
        Output Queue: Conversation 24 
        Bandwidth 50 (kbps) Burst 1250 (Bytes) 
        (pkts matched/bytes matched) 0/0 
        (total drops/bytes drops) 0/0 

    Class-map: class-default (match-any) 
      0 packets, 0 bytes 
      5 minute offered rate 0 bps, drop rate 0 bps 
      Match: any

Please see the section below for restrictions on which router platforms support the shape command.

Newer ATM interface hardware such as the PA-A3 port adapter and the ATM network modules for the 2600 and 3600 Series creates a separate packet queue for each virtual circuit (VC). The purpose of per-VC queues is to ensure that one congested VC does not consume all the memory resources and starve other VCs. Thus, the most logical place to apply a service policy is at the PVC level in VC configuration mode. For further clarification of per-VC queueing, please see Understanding Per-VC Transmit Queuing on the PA-A3 and NM-1A ATM Interfaces.

Alternately, if your service policy applies packet marking with the set command or the traffic policing with the police command, you may choose to apply a policy to the ATM subinterface.

Older ATM hardware does not maintain per-VC queues. For example, the PA-A1 was designed for use in campus LAN Emulation (LANE) environments and maintains only an interface-level queue. Thus, you may choose to treat the PA-A1 main interface as a single "fat pipe" and apply a service policy with queueing features to the main interface. For further clarification, please see Understanding ATM Hardware Support for IP to ATM CoS.

Policies on Cisco 2600, 3600, 7200 Series Routers

As of Cisco IOS Software Releases 12.2(4)T and 12.2(2), ATM and Frame Relay interfaces support one policy or specific combinations of multiple policies.

Input Policies

ATM interfaces on platforms other than the Cisco 7500 Series support input service polices on one logical interface only. Applying service policies on both the main interface and a subinterface of that main interface is not supported. If you choose to apply a service policy at the PVC level, as is recommended, each PVC can support a unique input service policy.

Output Policies

ATM interfaces on platforms other than the Cisco 7500 Series support output service policies on up to two logical interfaces simultaneously. The following table lists the valid combinations.

Main Interface Subinterface PVC
Yes - Yes
Yes Yes -

If you apply an output service policy to a VC and then apply a policy to a subinterface, only the first attached policy takes effect.

Policies on Cisco 7500 Series Routers

The Cisco 7500 Series uses a distributed architecture that ensures high packet throughput by moving the packet-forwarding decisions from the Route Switch Processor (RSP) to the VIPs. This architecture also enables the deployment of large-scale enhanced IP services such as QoS by spreading the processing load across the multiple independent processors of the VIPs.

Depending on the interface hardware, the Cisco 7500 Series supports two forms of QoS:

  How Enabled Where Supported Where Processed
RSP-Based Automatically on legacy Interface Processors. Legacy Interface Processors. Can no longer be enabled on VIPs. RSP CPU
VIP-Based (Distributed) Automatically when the following two commands are configured:
  • ip cef distributed in global configuration mode.
  • ip route-cache distributed in interface configuration mode.

In general, VIP-based QoS mechanisms applied via the modular QoS CLI (MQC), including commands such as bandwidth, priority, shape, and police, are introduced in three Cisco IOS Software release trains:

  • Cisco IOS Software Release 12.0(XE), which became 12.1(E).

  • Cisco IOS Software Release 12.0(9)S.

  • Cisco IOS Software Release 12.1(5)T, which became 12.2 mainline and 12.2T.

In these releases, you attach a service policy directly to an ATM PVC and achieve per-VC feature functionality. All the MQC commands - including police, set, bandwidth, priority, and shape - are supported. Alternately, if you choose to attach a policy to an ATM subinterface and the subinterface has a single ATM PVC, the resulting behavior is the same as if the policy were attached to the PVC. Since policies can be attached directly to a PVC, there is generally no reason to attach a policy to a subinterface. Cisco retained subinterface service policies on the PA-A3 for backward compatibility.

The following table lists the progression of support for service policies on logical interfaces on the PA-A3 in the Cisco 7500 Series.

Release Feature Enhancement
12.0(5)T Introduces class-based weighted fair queueing (CBWFQ) in Cisco IOS Software on various interface types.
12.0(5)XE1 Introduces CBWFQ on subinterfaces on the PA-A3.
12.0(5)XE2 Replaces the the show interface fair-queue command with the show policy-map command for displaying service policy statistics on the PA-A3.
12.0(7)XE Introduces CBWFQ and low latency queueing (LLQ) on the PA-A3 on individual VCs. Cisco IOS Software Release 12.0(7)XE is an "X" or short-lived release. All X releases merge back into a subsequent T release. Cisco IOS Software Release 12.0(7)XE merged back into the T train with 12.1(5)T. Thus, on the Cisco 7500 Series, MQC-based per-VC queueing features are not available in 12.1 mainline and any 12.1T release prior to 12.1(5)T.

The show interface atm command will display "Queuing strategy: fifo" even after you apply a queueing-based service policy. The queueing strategy reflects the view of the Cisco 7500 Series RSP and not the status of the distributed services. Use the show policy interface command to verify the expected functionality.

7500#show interface atm 3/0
   ATM3/0 is up, line protocol is up (looped) 
     Hardware is ENHANCED ATM PA 
     Internet address is 
     MTU 4470 bytes, sub MTU 4470, BW 44209 Kbit, DLY 190 usec, 
        reliability 255/255, txload 1/255, rxload 1/255    
     Encapsulation ATM, loopback set
     Keepalive not supported 
     Encapsulation(s): AAL5 
     4096 maximum active VCs, 5 current VCCs
     VC idle disconnect time: 300 seconds
     Signalling vc = 1, vpi = 0, vci = 5
     UNI Version = 4.0, Link Side = user
     0 carrier transitions 
     Last input 00:00:17, output 00:00:17, output hang never
     Last clearing of "show interface" counters 2d12h
     Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
     Queueing strategy: fifo
     5 minute input rate 0 bits/sec, 0 packets/sec
     5 minute output rate 0 bits/sec, 0 packets/sec
     [output omitted]

Controlling IP-Layer Flows With Class-Based Shaping

ATM interfaces support native ATM-layer shaping using a command such as vbr-nrt and abr. Additionally, you may choose to shape particular IP-layer flows or subnets forwarded through an ATM interface. As of Cisco IOS Software Release 12.2(8)T, only the Cisco 7500 Series running distributed QoS services supports such a configuration with Cisco IOS 12.2 mainline, 12.1E and 12.0S release trains.

This configuration typically would use a hierarchial policy with shaping at the parent layer and queueing at the child layer. A sample configuration is provided below.

Sample Configuration for Hierarchical Policy with shape Command
policy-map child
 class prec2
  bandwidth percent 60
 class prec4
  bandwidth percent 20
 class class-default
policy-map parent
 class prec24
  shape average 10240000 40960 40960
  service-policy child
interface ATM5/0/0.1 point-to-point
 pvc 1/101
  vbr-nrt 50000 50000 94
  service-policy output parent

The Cisco 3600, and 2600 series and other non-distributed platforms do not support class-based shaping with the shape command on ATM router interfaces; a feature request has been filed. As a workaround, configure per-VC class-based policing using a service policy that applies the police command. In this configuration, you do not create a child queueing policy since a policer simply drops or forwards a packet and does not queue any excess above the burst parameters. The Cisco 7200 and 7500 support class-based shaping for ATM VCs only in 12.0(26)S and later S train.

Service Policies and MPLS

Cisco IOS Software Release 12.2(2)T introduces a new form of back-pressure on the PA-A3 to support queueing on a tag-switching interface over a set of unspecified bit rate (UBR)-like Tag VCs (TVCs). The only congestion feedback mechanism in this configuration is for the entire set of TVCs, not per-VC.

Applying Service Policies With QDM and QPM

Cisco offers two graphical user interface tools for configuring and monitoring advanced IP-based QoS functionality within Cisco routers, and is used to ease QoS configuring and monitoring.

QoS Device Manager 2.1 can apply service policies to subinterfaces and main interfaces only; it cannot apply a service policy at the VC level. For reference, please see the Release Notes. As of August 2002, VC-layer service policies configured from within QDM are not planned.

QoS Policy Manager 2.1 introduces support for configuring service policies on ATM point-to-point subinterfaces with a single VC. For reference, please see Release Notes and Installation Guide for CiscoWorks2000 QoS Policy Manager 2.1. QPM 3.0 will support configuring VC-layer service policies.

Related Information

Updated: Jun 05, 2005
Document ID: 10050