MQC Traffic Shaping Overhead Accounting for ATM

The MQC Traffic Shaping Overhead Accounting for ATM feature enables a broadband aggregation system (BRAS) to account for various encapsulation types when applying quality of service (QoS) functionality to packets. Typically, in Ethernet digital subscriber line (DSL) environments, the encapsulation from the router to the digital subscriber line access multiplexer (DSLAM) is Gigabit Ethernet and the encapsulation from the DSLAM to the customer premises equipment (CPE) is ATM. ATM overhead accounting enables the router to account for ATM encapsulation on the subscriber line and for the overhead added by cell segmentation. This functionality enables the service provider to prevent overruns at the subscriber line and ensures that the router executes QoS features on the actual bandwidth used by ATM packets.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.

Prerequisites for Traffic Shaping Overhead Accounting for ATM

Traffic classes must be configured using the class-map command.

Restrictions for Traffic Shaping Overhead Accounting for ATM

  • The overhead accounting type or value used within a policy map and between the parent policy map and the child policy map (in a hierarchical policy map structure) must be consistent.
  • You must attach a policy map that is configured with ATM overhead accounting to only an Ethernet interface (or an IP session on an Ethernet interface).

  • Ethernet overhead accounting allows the automatic inclusion of downstream Ethernet frame headers in the shaped rate.

  • If you enable overhead accounting on a child policy, you must enable overhead accounting on the parent policy.

  • In a policy map, you must either enable overhead accounting for all classes in the policy or disable overhead accounting for all classes in the policy. You cannot enable overhead accounting for some classes and disable overhead accounting for other classes in the same policy.

  • Overhead accounting is not reflected in any QoS counters (classification, policing, or queuing).

  • Implicit ATM overhead accounting for policers are not supported.

  • Implicit L2 overhead (ATM or otherwise) for policers are not supported for certain logical targets (tunnels) when the policy is applied to the logical target. The same limitation exists for queuing and scheduling overhead accounting.

  • Police overhead cannot be configured on conditional policers (priority and rate), however, the priority queue it used will inherit the queueing overhead from parent shaper if configured.

  • Police overhead is not added to the counters and are not reflected in statistics reported by the control plane.

  • The overhead accounting type or value used by policing within a policy map and between the parent policy map and the child policy map (in a hierarchical policy map structure) must be consistent.

  • The overhead accounting type or value used by queuing features within a policy map and between the parent policy map and the child policy map (in a hierarchical policy map structure) must be consistent.

  • In releases preceding to Cisco IOS XE Release 3.9S, the router does not support overhead accounting updates on attached policies and the policy must be detached from the interface before the overhead can be modified, then the policy can be reattached to the interface.

  • The router does not support overhead accounting for classes with fair-queue, which includes the following scenarios:

    • When used in conjunction with shape in the same class

    • When used in conjunction with bandwidth in the same class

    • When inherited from a parent or grandparent class through the Parent Level Overhead Accounting feature introduced in Cisco IOS XE Release 3.9S

Information About Traffic Shaping Overhead Accounting for ATM

Benefits of Traffic Shaping Overhead Accounting for ATM

The Traffic Shaping Overhead Accounting for ATM feature enables the broadband aggregation system (BRAS) to account for various encapsulation types when applying QoS to packets. Typically, in Ethernet digital subscriber line (DSL) environments, the encapsulation from the BRAS to the DSLAM is Gigabit Ethernet and the encapsulation from the DSLAM to the CPE is ATM. ATM overhead accounting enables the BRAS to account for ATM encapsulation on the subscriber line and for the overhead added by cell segmentation. This functionality enables the service provider to prevent overruns at the subscriber line and ensures that the router executes QoS features on the actual bandwidth used by ATM subscriber traffic.

BRAS and Encapsulation Types

Broadband aggregation system (BRAS) uses the encapsulation type that is configured for the DSLAM-CPE side to calculate the ATM overhead per packet.

DSLAM-CPE encapsulation types are based on Subnetwork Access Protocol (SNAP) and multiplexer (MUX) formats of ATM adaptation layer 5 (AAL5), followed by routed bridge (RBE), x-1483, x-dot1q-rbe, IP, PPP over Ethernet (PPPoE), or PPP over ATM (PPPoA) encapsulations. Because the DSLAM treats IP and PPPoE packets as payload, the BRAS does not account for IP and PPPoE encapsulations.

On the BRAS-DSLAM side, encapsulation is IEEE 802.1Q VLAN or Q-in-Q (qinq). However, because the DSLAM removes the BRAS-DSLAM encapsulation, the BRAS does not account for 802.1Q or qinq encapsulation.

AAL5 segmentation processing adds the additional overhead of the 5-byte cell headers, the AAL5 Common Part Convergence Sublayer (CPCS) padding, and the AAL5 trailer. For more information, see the ATM Overhead Calculation.

Subscriber Line Encapsulation Types

The router supports the following subscriber line encapsulation types:

  • snap-rbe

  • mux-rbe

  • snap-dot1q-rbe

  • mux-dot1q-rbe

  • snap-pppoa

  • mux-pppoa

  • snap-1483routed

  • mux-1483routed

  • snap-rbe-dot1q

  • mux-rbe-dot1q


Note

The encapsulation types listed above are for AAL5, qinq, and dot1q encapsulations. User-defined encapsulations with offsets based on the platform in use are also supported.


ATM Overhead Calculation

The Traffic Shaping Overhead Accounting for ATM feature prevents oversubscription of a subscriber line by accounting for the ATM encapsulation overhead at the BRAS. When calculating the ATM overhead, the Traffic Shaping Overhead Accounting for ATM feature considers the following:

  • The encapsulation type used by the BRAS

  • The CPCS trailer overhead

  • The encapsulation type used between the DSLAM and the CPE

The offset size (a parameter used to calculate ATM overhead accounting) is calculated using the following formula:

Offset size in bytes = (CPCS trailer overhead) + (DSLAM to CPE) - (BRAS encapsulation type)

See the table below for the offset sizes, in bytes, derived from this formula.

This offset size, along with the packet size and packet assembler/disassembler (PAD) byte overhead in the CPCS, is used by the router to calculate the ATM overhead accounting rate.


Note

A CPCS trailer overhead of 8 bytes corresponds to AAL5. A CPCS trailer overhead of 4 bytes corresponds to AAL3, but AAL3 is not supported.


Table 1. Offset Sizes, in Bytes, Used for ATM Overhead Calculation

Encapsulation Type in Use

BRAS

CPCS Trailer Overhead

DSLAM to CPE

Offset Size

dot1q mux-1483routed

18

8

3

-7

dot1q snap-1483routed

18

8

6

-4

dot1q mux-rbe

18

8

14

4

dot1q snap-rbe

18

8

24

14

dot1q mux-dot1q-rbe

18

8

18

8

dot1q snap-dot1q-rbe

18

8

28

18

qot1q mux-pppoa

18 + 6

8

2

-14

qot1q snap-pppoa

18 + 6

8

4

-12

qinq mux-1483routed

22

8

3

-11

qinq snap-1483routed

22

8

6

-8

qinq mux-rbe

22

8

14

0

qinq snap-rbe

22

8

24

10

qinq mux-dot1q-rbe

22

8

18

4

qing snap-dot1q-rbe

22

8

28

14

qinq mux-pppoa

22 + 6

8

2

-18

qinq snap-pppoa

22 + 6

8

4

-16

ATM Overhead Accounting and Hierarchical Policies

In hierarchical policies, you can enable ATM overhead accounting for shaping and bandwidth on parent policies and child policies. You are not required to enable ATM overhead accounting on a traffic class that does not contain the bandwidth or shape command. If you enable ATM overhead accounting on a child policy, then you must enable ATM overhead accounting on the parent policy. The parent and child classes must specify the same encapsulation type when ATM overhead accounting is enabled.

Overhead Accounting and Priority Queues

Overhead accounting configuration is supported for queuing features (shape, bandwidth and priority) and non-queuing feature (police) separately. However, priority queue can be integrated with policer. When overhead accounting is configured on a priority queue, through inheritance, it operates in the following fashion:

  • Overhead accounting is added to (or subtracted from) the priority packet for queuing features in the hierarchy (for example, shape in the parent class).

  • Overhead accounting is not added to the packet for priority rate enforcement (priority {bandwidth-kbps | percent percentage} [burst ] ). Although policing overhead accounting is supported, it does not apply to the conditional policer (rate enforcement is implemented through this conditional policer).

How to Configure Traffic Shaping Overhead Accounting for ATM

Configuring Traffic Shaping Overhead Accounting for ATM in a Hierarchical Policy

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. policy-map policy-map-name
  4. class class-map-name
  5. bandwidth {bandwidth-kbps | percent percentage | remaining percent percentage} account {{qinq | dot1q} {aal5 | aal3 } {subscriber-encapsulation}} | {user-defined offset [atm]}}
  6. bandwidth remaining ratio ratio [account {qinq | dot1q } [aal5 | aal3 ] {subscriber-encapsulation | user-defined offset [atm]}]
  7. shape [average | peak ] mean-rate [burst-size ] [excess-burst-size ] account {{{qinq | dot1q} {aal5 | aal3} {subscriber-encapsulation}} | {user-defined offset [atm]}}
  8. end

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:


Router# configure terminal

Enters global configuration mode.

Step 3

policy-map policy-map-name

Example:


Router(config)# policy-map Business

Creates or modifies the child policy and enters policy-map configuration mode.

  • Enter the policy map name. This is the name of the child policy.

Step 4

class class-map-name

Example:


Router(config-pmap)# class video

Assigns the traffic class that you specify for the policy map and enters policy-map class configuration mode.

  • Enter the traffic class name. This is the name of the previously configured class map.

Step 5

bandwidth {bandwidth-kbps | percent percentage | remaining percent percentage} account {{qinq | dot1q} {aal5 | aal3 } {subscriber-encapsulation}} | {user-defined offset [atm]}}

Example:


Router(config-pmap-c)# bandwidth 8000 account dot1q aal5 snap-pppoa

Enables Class-Based Weighted Fair Queueing (CBWFQ) on the basis of the keywords and arguments specified, such as the following:

  • bandwidth-kbps --Specifies or modifies the minimum bandwidth allocated for a class that belongs to a policy map. Valid values are from 8 to 2488320, which represents from 1 to 99 percent of the link bandwidth.

  • percent percentage --Specifies or modifies the minimum percentage of the link bandwidth allocated for a class that belongs to a policy map. Valid values are from 1 to 99.

  • remaining percent percentage --Specifies or modifies the minimum percentage of unused link bandwidth allocated for a class that belongs to a policy map. Valid values are from 1 to 99.

  • account --Enables ATM overhead accounting.

  • qinq --Specifies queue-in-queue encapsulation as the BRAS-DSLAM encapsulation type.

  • dot1q --Specifies IEEE 802.1Q VLAN encapsulation as the BRAS-DSLAM encapsulation type.

  • aal5 --Specifies the ATM adaptation layer 5 that supports connection-oriented variable bit rate (VBR) services.

  • aal3 --Specifies the ATM adaptation layer 5 that supports both connectionless and connection-oriented links.

  • subscriber-encapsulation --Specifies the encapsulation type at the subscriber line. For more information, see the Subscriber Line Encapsulation Types.

  • user-defined --Specifies the offset size that the router uses when calculating the ATM overhead.

  • offset --Specifies the offset size when calculating ATM overhead. Valid values are from -63 to +63 bytes.

  • atm --(Optional) Applies the ATM cell tax in the ATM overhead calculation.

Step 6

bandwidth remaining ratio ratio [account {qinq | dot1q } [aal5 | aal3 ] {subscriber-encapsulation | user-defined offset [atm]}]

Example:


Router(config-pmap-c)# bandwidth remaining ratio 10 account dot1q aal5 snap-pppo

(Optional) Specifies the bandwidth-remaining ratio for the subinterface along with ATM accounting parameters:

  • ratio --Specifies the bandwidth-remaining ratio for the subinterface. Valid values are 1 to 100. The default value is 1.

Note 

For the Cisco 7600 series router, valid values are from 1 to 10000. The default value is 1.

  • account --Enables ATM overhead accounting.

  • qinq --Specifies queue-in-queue encapsulation as the BRAS-DSLAM encapsulation type.

  • dot1q --Specifies IEEE 802.1Q VLAN encapsulation as the BRAS-DSLAM encapsulation type.

  • aal5 --Specifies the ATM adaptation layer 5 that supports connection-oriented VBR services.

  • aal3 --Specifies the ATM adaptation layer 5 that supports both connectionless and connection-oriented links.

  • subscriber-encapsulation --Specifies the encapsulation type at the subscriber line. For more information, see the Subscriber Line Encapsulation Types.

  • user-defined --Specifies the offset size that the router uses when calculating the ATM overhead.

  • offset --Specifies the offset size, in bytes, when calculating ATM overhead. Valid values are from -63 to +63.

  • atm --(Optional) Applies the ATM cell tax in the ATM overhead calculation.

Step 7

shape [average | peak ] mean-rate [burst-size ] [excess-burst-size ] account {{{qinq | dot1q} {aal5 | aal3} {subscriber-encapsulation}} | {user-defined offset [atm]}}

Example:


Router(config-pmap-c)# shape 8000 account qinq aal5 snap-dot1q-rbe 

Shapes traffic to the indicated bit rate and enables ATM overhead accounting on the basis of the keywords and arguments specified, such as the following:

  • average --(Optional) The committed burst (Bc) that specifies the maximum number of bits sent out in each interval.

  • peak --(Optional) Specifies the maximum number of bits sent out in each interval (the Bc + excess burst [Be]). The Cisco 10000 router and the SIP400 (on the Cisco 7600 series router) do not support this option.

  • mean-rate --Also called committed information rate (CIR). Indicates the bit rate used to shape the traffic, in bits per second.

  • burst-size --(Optional) The number of bits in a measurement interval (Bc).

  • excess-burst-size --(Optional) The acceptable number of bits permitted to go over the Be.

  • account --Enables ATM overhead accounting.

  • qinq --Specifies queue-in-queue encapsulation as the BRAS-DSLAM encapsulation type.

  • dot1q --Specifies IEEE 802.1Q VLAN encapsulation as the BRAS-DSLAM encapsulation type.

  • aal5 --The ATM adaptation layer 5 that supports connection-oriented variable bit rate (VBR) services.

  • aal3 --Specifies the ATM Adaptation Layer 5 that supports both connectionless and connection-oriented links. You must specify either aal3 or aal5.

  • subscriber-encapsulation --Specifies the encapsulation type at the subscriber line. For more information, see the Subscriber Line Encapsulation Types.

  • user-defined --Specifies the offset size that the router uses when calculating the ATM overhead.

  • offset --Specifies the offset size when calculating ATM overhead. Valid values are from -63 to +63 bytes.

  • atm --(Optional) Applies ATM cell tax in the ATM overhead calculation. Configuring both the offset and the atm options adjusts the packet size to the offset size and then adds ATM cell tax.

Step 8

end

Example:


Router(config-pmap-c)# end

Exits policy-map class configuration mode and returns to privileged EXEC mode.

Verifying the Configuration of Traffic Shaping Overhead Accounting for ATM

SUMMARY STEPS

  1. enable
  2. show policy-map [policy-map-name ]
  3. show policy-map session
  4. show running-config
  5. exit

DETAILED STEPS

  Command or Action Purpose
Step 1

enable

Example:


Router> enable

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

show policy-map [policy-map-name ]

Example:


Router# show policy-map unit-test

(Optional) Displays the configuration of all classes for a specified policy map or of all classes for all existing policy maps.

  • (Optional) Enter the policy map name.

Step 3

show policy-map session

Example:


Router# show policy-map session

(Optional) Displays the QoS policy map in effect for an IPoE/PPPoE session.

Step 4

show running-config

Example:


Router# show running-config

(Optional) Displays the contents of the currently running configuration file.

Step 5

exit

Example:


Router# exit

Exits privileged EXEC mode.

Configuration Examples for Traffic Shaping Overhead Accounting for ATM

Example Enabling Traffic Shaping Overhead Accounting for ATM

The following example shows how to enable ATM overhead accounting using a hierarchical policy map structure. The Child policy map has two classes: Business and Non-Business. The Business class has priority and is policed at 128,000 kbps. The Non-Business class has ATM overhead accounting enabled and has a bandwidth of 20 percent of the available bandwidth. The Parent policy map shapes the aggregate traffic to 256,000 kbps and enables ATM overhead accounting.

Notice that Layer 2 overhead accounting is not explicitly configured for the Business traffic class. If the class-default class of a parent policy has ATM overhead accounting enabled, you are not required to enable ATM overhead accounting on a child traffic class that does not contain the bandwidth or shape command. Therefore, in this example, the Business priority queue implicitly has ATM overhead accounting enabled because its parent class-default class has overhead accounting enabled.

policy-map Child
 class Business
  priority
  police 128000 
 class Non-Business
  bandwidth percent 20 account dot1q aal5 snap-rbe-dot1q
  exit
 exit
policy-map Parent
 class class-default
  shape 256000 account dot1q aal5 snap-rbe-dot1q
  service-policy Child

In the following example, overhead accounting is enabled for bandwidth on the gaming and class-default class of the child policy map named subscriber_classes and on the class-default class of the parent policy map named subscriber_line. The voip and video classes do not have accounting explicitly enabled; these classes have ATM overhead accounting implicitly enabled because the parent policy has overhead accounting enabled. Notice that the features in the parent and child policies use the same encapsulation type.


policy-map subscriber_classes
 class voip
  priority level 1
  police 8000
 class video
  priority level 2
  police 8000
 class gaming
  bandwidth remaining percent 80 account dot1q aal5 snap-rbe-dot1q
 class class-default
  bandwidth remaining percent 20 account dot1q aal5 snap-rbe-dot1q
policy-map subscriber_line
 class class-default
  bandwidth remaining ratio 10 account dot1q aal5 snap-rbe-dot1q
  shape average 512 account aal5 dot1q snap-rbe-dot1q
  service policy subscriber_classes

Example Verifying Traffic Shaping Overhead Accounting for ATM


Router# show policy-map interface

Service-policy output:unit-test
Class-map: class-default (match-any)
100 packets, 1000 bytes
30 second offered rate 800 bps, drop rate 0 bps
Match: any
shape (average) cir 154400, bc 7720, be 7720
target shape rate 154400
overhead accounting: enabled
bandwidth 30% (463 kbps)
overhead accounting: disabled
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(packets output/bytes output) 100/1000

Router# show policy-map session output
 
SSS session identifier 2 -
Service-policy output:  ATM_OH_POLICY 
    Class-map: class-default (match-any)
      0 packets, 0 bytes
      30 second offered rate 0 bps, drop rate 0 bps
      Match: any 
      Queueing
      queue limit 2500 packets
      (queue depth/total drops/no-buffer drops) 0/0/0
      (pkts output/bytes output) 0/0
      shape (average) cir 10000000, bc 40000, be 40000
      target shape rate 10000000
       Overhead Accounting Enabled

The following output from the show running-config command indicates that ATM overhead accounting is enabled for shaping. The BRAS-DSLAM encapsulation is dot1q and the subscriber line encapsulation is snap-rbe based on the AAL5 service.


subscriber policy recording rules limit 64
no mpls traffic-eng auto-bw timers frequency 0
call rsvp-sync
!
controller T1 2/0
framing sf
linecode ami
!
controller T1 2/1
framing sf
linecode ami
!
!
policy-map unit-test
class class-default
shape average percent 10 account dot1q aal5 snap-rbe
!

Additional References

Related Documents

Related Topic

Document Title

QoS commands: complete command syntax, command modes, command history, defaults, usage guidelines, and examples

Cisco IOS Quality of Service Solutions Command Reference

Modular Quality of Service (QoS) Command-Line Interface (CLI) (MQC), hierarchical policies, policy maps

"Applying QoS Features Using the MQC" module

Policing and shaping traffic

"Policing and Shaping Overview" module

Standards

Standard

Title

No new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.

--

MIBs

MIB

MIBs Link

No new or modified MIBs are supported by this feature, and support for existing MIBs has not been modified by this feature.

To locate and download MIBs for selected platforms, software releases, and feature sets, use Cisco MIB Locator found at the following URL:

http://www.cisco.com/go/mibs

RFCs

RFC

Title

No new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.

--

Technical Assistance

Description

Link

The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

http://www.cisco.com/cisco/web/support/index.html

Feature Information for MQC Traffic Shaping Overhead Accounting for ATM

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 2. Feature Information for MQC Traffic Shaping Overhead Accounting for ATM

Feature Name

Releases

Feature Information

MQC Traffic Shaping Overhead Accounting for ATM

Cisco IOS XE Release 2.4

The MQC Traffic Shaping Overhead Accounting for ATM feature enables a broadband aggregation system (BRAS) to account for various encapsulation types when applying QoS functionality to packets.

The following commands were introduced or modified: bandwidth (policy-map class) , bandwidth remaining ratio , shape (policy-map class) , show policy-map interface , show policy-map session , show running-config .