Guest

ATM Signaling

When Does a Router Set the CLP Bit in an ATM Cell?

Cisco - When Does a Router Set the CLP Bit in an ATM Cell?

Document ID: 19594

Updated: Nov 02, 2005

   Print

Introduction

ATM cells consist of 48 bytes of payload and 5 bytes of header. Both the User-Network Interface (UNI) and Network-to-Network Interface (NNI) headers include the 1-bit cell loss priority (CLP) field, which indicates the drop priority of the cell if it encounters extreme congestion as it moves through the ATM network.

clp_bit2-a.gif

A 1-bit field means there are two values—0 to indicate higher priority and 1 to indicate lower priority. In other words, setting the CLP bit to 1 lowers the priority of the cells and increases the likelihood that the cell is dropped when the ATM network experiences congested physical lines and queues.

Traditionally, only ATM switches set the CLP bit. A Cisco ATM router interface or other user side of a UNI interface never set this bit. Recently, as part of the Cisco robust Quality of Service (QoS) feature set, Cisco ATM router interfaces now can be configured to set the CLP bit as part of a service policy applied to a particular virtual circuit (VC).

This document illustrates the two commands, set atm-clp and set-clp-transmit, which can be used to set the CLP bit on Cisco routers. It also clarifies how a router and a switch use the CLP bit.

Prerequisites

Requirements

There are no specific requirements for this document.

Components Used

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

Conventions

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

Understanding the CLP Bit

The cell flow of a virtual connection can be split logically into three flows that consider the CLP bit setting:

clp_bit2-b.gif

The CLP=0+1 cell flow is called the aggregate flow and includes CLP=0 cells and CLP=1 cells.

On Cisco campus ATM switches such as the Catalyst 8500 series, you can obtain cell counts from either a Cisco IOS® Software command or through Simple Network Management Protocol (SNMP) polling. Use the show atm vc interface atm command to see per-VC cell counts at the command line, as shown below.

ls1010# show atm vc interface atm 0/0/0 0 50

   Interface: atm0/0/0, Type: oc3suni 
     VPI = 0 VCI = 50 
     Status: UP 
     Time-since-last-status-change: 00:03:08 
     Connection-type: PVC 
     Cast-type: point-to-point 
     Packet-discard-option: disabled 
     Usage-Parameter-Control (UPC): pass 
     Wrr weight: 2 
     Number of OAM-configured connections: 0 
     OAM-configuration: disabled 
     OAM-states: Not-applicable 
     Cross-connect-interface: atm0/0/1, Type: oc3suni 
     Cross-connect-VPI = 0 
     Cross-connect-VCI = 55 
     Cross-connect-UPC: pass 
     Cross-connect OAM-configuration: disabled 
     Cross-connect OAM-state: Not-applicable 
     Threshold Group: 5, Cells queued: 0 
     Rx cells: 0, Tx cells: 80 
     TX Clp0:80, TX Clp1: 0 
     Rx Clp0:0, Rx Clp1: 0 
    
 !--- Per-VC cell counts based on CLP bit.
      
     Rx Upc Violations:0, Rx cell drops:0 
     Rx Clp0 q full drops:0, Rx Clp1 qthresh drops:0

The CISCO-ATM-CONN-MIB maintains per-VC statistics in the ciscoAtmVclTable. This table considers the value of the CLP bit when incrementing the counter for these object IDs:

  • ciscoAtmVclInCells

  • ciscoAtmVclInClp0Cells

  • ciscoAtmVclInClp1Cells

The Catalyst 8500 series and the Lightstream 1010 use connection traffic table rows (CTTRs) to store the traffic parameters assigned to a permanent virtual circuit (PVC). When configuring a variable bit rate-nonreal time (VBR-NRT) PVC CTTR, you can specify whether the sustainable cell rate (SCR) applies to the scr0 or scr10 cell flow.

Switch(config)# atm connection-traffic-table-row [index row-index] {vbr-rt | vbr-nrt}

pcr pcr-value {scr0 | scr10} scr-value [mbs mbs-value] [cdvt cdvt_value]

Cisco ATM routers do not support an equivalent command that indicates whether to shape on the SCR=0 flow or SCR=1+0 flow. The vbr-nrt command simply allows you to specify a peak cell rate (PCR) and an SCR.

Router(config)# interface atm 5/0 
   Router(config-if)# pvc 1/1 
   Router(config-if-atm-vc)# vbr-nrt ?
    <1-155000> Peak Cell Rate(PCR) in Kbps

   Router(config-if-atm-vc)# vbr-nrt 1000 ? 
      <5-1000> Sustainable Cell Rate(SCR) in Kbps

   Router(config-if-atm-vc)# vbr-nrt 1000 500 ? 
      <1-65535> Maximum Burst Size(MBS) in Cells 

Using the CLP Bit on Cisco Routers

The Cisco modular QoS CLI (MQC) is a special set of commands for configuring QoS policies on an interface or VC. (Refer to Modular Quality of Service Command-Line Interface Overview.) You specify a traffic class with the class-map command, create a traffic policy by associating the traffic class with one or more QoS features using the policy-map command, then attach the traffic policy to an interface or a VC with the service-policy command.

The MQC supports two commands for setting the CLP bit:

  • set atm-clp—Implements simple packet marking. This command sets the CLP bit to one on all packets matching the specified class. It does not consider the level of congestion on the PVC.

  • set-clp-transmit—Implements traffic policing. This command does consider the level of congestion on the PVC and sets the CLP bit to 1 on matching traffic with a rate that exceeds the configured bits per second (bps) values. In other words, this command implements a "violate" action.

These commands are the focus of the next two sections.

Packet Marking with set atm-CLP

Class-Based Packet Marking is a Cisco IOS feature that sets values in Layer 2 and Layer 3 packet headers to differentiate packets into higher and lower priorities. (Refer to Configuring Class-Based Packet Marking.) This feature supports the set atm-CLP command to mark the CLP bit on all cells of a packet matching the specified class.

Router(config)# policy-map TEST 
   Router(config-pmap)# class CLP 
   Router(config-pmap-c)# set atm-clp

Use the show policy-map interface atm command to display the number of marked packets.

It is important to understand that Class-Based Packet Marking does not consider the congestion level of the ATM PVC when setting the CLP bit. The set atm-CLP command configures the router to set the CLP bit on all matching packets during periods of congestion and noncongestion on the VC.

As of Cisco IOS Software Release 12.1T, the set atm-CLP command is supported only on a PA-A3 and only on PVCs, not SVCs. In addition, only packets traveling on Cisco Express Forwarding (CEF) switching paths can be marked. Packets originating from the router use a different Cisco IOS switching method and cannot be marked.

As of Cisco IOS Software Release 12.0(23)S, the ATM CLP setting feature allows users to control the ATM CLP bit setting on the 8-Port OC-3 STM-1 ATM line card for Cisco 12000 series Internet routers.

As of Cisco IOS Release 12.2(8)YN, ATM CLP Bit Marking is available in the Cisco 3600 and 2600 routers.

Note: Cisco bug ID CSCdr19172 resolves a problem with router reloads when the set atm-CLP command is used in a class configured to match on Multiprotocol Label Switching (MPLS) experimental bits.

Packet Policing with set-clp-transmit

Traffic policing mechanisms determine whether traffic conforms to configured contract values and then act on violating traffic by dropping it or by rewriting a header value. With ATM PVCs, you can configure a router to set the CLP bit as a policing action using the set-CLP-transmit command. (Refer to Traffic Policing.) Create a policy map and then configure the police command with set-clp-transmit as an action.

7500(config)# policy-map police 
   7500(config-pmap)# class group2 
   7500(config-pmap-c)# police BPS burst-normal burst-max    
   conform-action action exceed-action action violate-action action

The set-clp-transmit command is supported as of Cisco IOS Software Release 12.1(5)T on Route Switch Processor (RSP) platforms and Cisco IOS Software Release 12.2(1)T on other platforms.

Note: In a particular configuration, packets that are process-switched to an ATM PVC undergo policing. The policer configuration has one or more actions with the set-clp-transmit parameter; however, the ATM cells generated by the packets do not have the CLP bit set. This problem happens only with the class-based policer and process-switched packets, and is resolved with Cisco bug ID CSCdw18196.

Using the CLP Bit on ATM Switches

ATM switches use the CLP bit in two ways:

  • as a violate action with traffic policing.

  • as a determining factor in which cells to drop when congestion occurs and queues fill above a threshold.

The following two sections explore these uses in more detail.

Traffic Policing With ATM Switches

Cisco campus ATM switches apply usage parameter control (UPC) policing algorithms to determine whether the cell rate coming from an end device like a Cisco router complies with the traffic contract. When UPC determines that a cell is nonconforming, the switch performs one of these actions, depending on the configuration:

  • Pass—Transmits the cell and does not change the CLP value.

  • Tag—Sets the CLP bit to indicate the relatively lower priority of the cell.

  • Drop—Drops the cell.

Pass is the default UPC behavior. Configure a nondefault value on a PVC by setting the upc parameter as part of the atm pvc command:

atm pvc vpi vci [cast-type type] [upc upc] [pd pd] [rx-cttr index] [tx-cttr index] 
[wrr-weight weight]

The show atm vc interface atm command displays the UPC setting and the number of Rx Upc Violations.

ls1010# show atm vc interface atm 0/0/0 0 50

   Interface: atm0/0/0, Type: oc3suni 
     VPI = 0 VCI = 50 
     Status: UP 
     Time-since-last-status-change: 00:03:08 
     Connection-type: PVC 
     Cast-type: point-to-point 
     Packet-discard-option: disabled 
     Usage-Parameter-Control (UPC): pass 
     
!--- Confirm the correct UPC setting.
      
     Wrr weight: 2 
     Number of OAM-configured connections: 0 
     OAM-configuration: disabled 
     OAM-states: Not-applicable 
     Cross-connect-interface: atm0/0/1, Type: oc3suni 
     Cross-connect-VPI = 0 
     Cross-connect-VCI = 55 
     Cross-connect-UPC: pass 
     Cross-connect OAM-configuration: disabled 
     Cross-connect OAM-state: Not-applicable 
     Threshold Group: 5, Cells queued: 0 
     Rx cells: 0, TX cells: 80 
     TX Clp0:80, TX Clp1: 0 
     Rx Clp0:0, Rx Clp1: 0 
     Rx Upc Violations:0, Rx cell drops:0 
     !--- View the number of "Upc Violations".      
     Rx Clp0 q full drops:0, Rx Clp1 qthresh drops:0 
     
!--- Output suppressed.

You also can poll the ciscoAtmVclUpcViolations managed object of the CISCO-ATM-CONN-MIB to collect the total number of nonconforming cells detected by UPC on a particular VC.

Discard Levels With ATM Switches

ATM switches consider the CLP=1 setting made traditionally by ATM switches only, and now by ATM-attached routers, when implementing traffic and resource management processes. Selective cell discard is the process by which the network discards CLP=1 cells when output queues reach a configurable threshold.

Cisco campus ATM switches implement selective cell discard with slight variations depending on the feature card and model of switch.

CLP Discard Threshold With FC-PCQ

The LightStream 1010 and Catalyst 8510 with a feature card per class queuing (FC-PCQ or FC1) support configurable interface queue thresholds for each ATM service category, such as VBR-NRT or UBR. The show atm interface resource atm command displays the default value of 87 percent for all service classes.

Switch> show atm interface resource atm 3/0/0 
   Resource Management configuration: 
    Output queues: 
    Max sizes(explicit cfg): 30000 cbr, none vbr-rt, none vbr-nrt, none abr-ubr 
    Max sizes(installed): 30208 cbr, 256 vbr-rt, 4096 vbr-nrt, 12032 abr-ubr

    Efci threshold: 50% cbr, 25% vbr-rt, 25% vbr-nrt, 25% abr, 25% ubr 
      Discard threshold: 87% cbr, 87% vbr-rt, 87% vbr-nrt, 87% abr, 87% ubr 
     
!--- Percent of queue full at which discard threshold starts.
 
      Abr-relative-rate threshold: 25% abr 

Use the atm output-threshold command to configure a nondefault value. (Refer to Configuring Resource Management.)

Switch(config-if)# atm output-threshold {cbr | vbr-rt | vbr-nrt | abr | ubr} 
   discard-threshold disc-thresh-num

When all cells belonging to VCs of a particular service category occupy a default 87 percent of shared memory, subsequent CLP=1 cells are dropped.

CLP Discard Threshold With FC-PFQ

LightStream 1010s and Catalyst 8510s with a feature card per flow queuing (FC-PFQ), as well as Catalyst 8540s, support maximum and minimum queue limit sizes per VC. They use the threshold groups feature to implement these queues.

A threshold group consists of all VCs and virtual paths (VPs) of a single ATM service category. The threshold group sets limits on the cumulative number of cells on the queues of virtual connections in the threshold group. As a threshold group congests (the cumulative number approaches the configured max-cells value), the maximum number of cells in the per-VC queues shrinks from the max-queue-limit for the group to the min-queue-limit.

This example shows how to configure a nondefault value of 95 percent for the CBR service category, which by default maps to threshold group 1:

ls1010(config)# atm threshold-group 1 ?
    discard-threshold discard threshold as percent of queue full    
    marking-threshold marking threshold as percent of queue full    
    max-cells max    number of cells in Threshold Group 
    max-queue-limit max (uncongested) queue limit for    this TG 
    min-queue-limit min (congested) queue limit for    this TG 
    name    name of TG

   ls1010(config)# atm threshold-group 1 discard-threshold ?      
      <0-100> discard threshold percent

   ls1010(config)# atm threshold-group 1 discard-threshold 95

Use the show atm resource command to view your configuration change.

ls1010# show atm resource 
   Resource configuration: 
    Over-subscription-factor 8 Sustained-cell-rate-margin-factor    1% 
    Abr-mode: relative-rate 
    Service Category to Threshold Group mapping:    
    cbr 1 vbr-rt 2 vbr-nrt 3 abr 4 ubr 5    
    Threshold Groups: 
    Group Max Max Q Min Q    Q thresholds Cell Name 
    cells limit    limit Mark Discard count 
    instal instal instal    
    ---------------------------------------------------    
    1 65535 63     63  25 %  95 % 0    cbr-default-tg 
    2 65535 127    127 25 %  87 % 0    vbrrt-default-tg 
    3 65535 511    31  25 %  87 % 0    vbrnrt-default-tg 
    4 65535 511    31  25 %  87 % 0    abr-default-tg 
    5 65535 511    31  25 %  87 % 0    ubr-default-tg 
    6 65535 1023   1023 25 % 87 % 0    well-known-vc-tg

On Cisco campus ATM switches, you can view the number of CLP=1 queue threshold drops from either a Cisco IOS Software command or through SNMP polling. Use the show atm vc interface atm command to see per-VC values at the command line.

ls1010# show atm vc interface atm 0/0/0 0 50

   Interface: atm0/0/0, Type: oc3suni 
     VPI = 0 VCI = 50 
     Status: UP 
     Time-since-last-status-change: 00:03:08 
     Connection-type: PVC 
     Cast-type: point-to-point 
     Packet-discard-option: disabled 
     Usage-Parameter-Control (UPC): pass 
     Wrr weight: 2 
     Number of OAM-configured connections: 0 
     OAM-configuration: disabled 
     OAM-states: Not-applicable 
     Cross-connect-interface: atm0/0/1, Type: oc3suni 
     Cross-connect-VPI = 0 
     Cross-connect-VCI = 55 
     Cross-connect-UPC: pass 
     Cross-connect OAM-configuration: disabled 
     Cross-connect OAM-state: Not-applicable 
     Threshold Group: 5, Cells queued: 0 
     Rx cells: 0, TX cells: 80 
     TX Clp0:80, TX Clp1: 0 
     Rx Clp0:0, Rx Clp1: 0 
     Rx Upc Violations:0, Rx cell drops:0 
     Rx Clp0 q full drops:0, Rx Clp1 qthresh drops:0 
     
!--- View the number of "Rx Clp0 q full drops" and "Rx Clp1 qthresh drops."
 
     
!--- Output suppressed.

Poll the following object IDs of the CISCO-ATM-CONN-MIB to capture per-VC values with SNMP:

  • ciscoAtmVclClp0VcqFullCellDrops—Total number of cells received with the CLP bit clear, discarded because the per-VC queue limit is exceeded. This counter is valid only if early packet discard (EPD) is disabled and only on systems with FC-PFQ functionality.

  • ciscoAtmVclVcqClpThreshCellDrops—Total number of cells discarded because the discard threshold (as opposed to the queue-limit) is exceeded on the per-VC queue, and the CLP bit is set. This counter is valid only if EPD is disabled and only on systems with FC-PFQ functionality.

Related Information

Updated: Nov 02, 2005
Document ID: 19594