Table Of Contents
QoS - Hierarchical Queuing for Ethernet DSLAMs
Prerequisites for QoS - Hierarchical Queuing for Ethernet DSLAMs
Restrictions for QoS - Hierarchical Queuing for Ethernet DSLAMs
Information about QoS - Hierarchical Queuing for Ethernet DSLAMs
Configuration Guidelines and Restrictions
Configuring QoS - Hierarchical Queuing for Ethernet DSLAMs
Configuring and Applying QoS - Hierarchical Queuing Policy Maps to Sessions
Configuring and Applying QoS - Hierarchical Queuing Policy Maps to Subinterfaces
Displaying Policy Map Information
Configuration Examples for QoS - Hierarchical Queuing for E-DSLAMs
Configuring QoS - Hierarchical Queuing Policy Maps on VLANs or QinQ Subinterfaces: Example
Configuring QoS - Hierarchical Queuing Policy Maps on VLANs with Arbitrary QinQ: Example
Configuring QoS - Hierarchical Queuing Policy Maps on Sessions: Example
Configuring QoS - Hierarchical Queuing Policy Maps on Sessions with Aggregate Shaping: Example
Feature Information for QoS - Hierarchical Queuing for Ethernet DSLAMs
QoS - Hierarchical Queuing for Ethernet DSLAMs
First Published: November, 2006
This feature module describes how to configure QoS hierarchical queuing policy maps on sessions and subinterfaces in Ethernet Digital Subscriber Line Access Multiplexer (E-DSLAM) applications on a Cisco 10000 series router. The QoS - Hierarchical Queuing for E-DSLAM feature supports IEEE 802.1 QinQ VLAN Tag Termination to configure inner Virtual LAN (VLAN) identifiers on E-DSLAMs.
Finding Feature Information in This Module
Your Cisco IOS software release may not support all of the features documented in this module. To reach links to specific feature documentation in this module and to see a list of the releases in which each feature is supported, use the "Feature Information for QoS - Hierarchical Queuing for Ethernet DSLAMs" section.
Finding Support Information for Platforms and Cisco IOS Software Images
Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support. Access Cisco Feature Navigator at http://www.cisco.com/go/fn. You must have an account on Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions.
Contents
•
Prerequisites for QoS - Hierarchical Queuing for Ethernet DSLAMs
•
Restrictions for QoS - Hierarchical Queuing for Ethernet DSLAMs
•
Information about QoS - Hierarchical Queuing for Ethernet DSLAMs
•
Configuration Guidelines and Restrictions
•
Configuring QoS - Hierarchical Queuing for Ethernet DSLAMs
•
Configuration Examples for QoS - Hierarchical Queuing for E-DSLAMs
•
Feature Information for QoS - Hierarchical Queuing for Ethernet DSLAMs
Prerequisites for QoS - Hierarchical Queuing for Ethernet DSLAMs
•
You must configure traffic classes using the class-map command.
•
This feature requires a Performance Routing Engine 3 (PRE3).
Restrictions for QoS - Hierarchical Queuing for Ethernet DSLAMs
•
Cisco IOS Release 12.2(31)SB2 does not include Modular QoS CLI (MQC) support for these session-based queuing policies:
–
IP sessions
–
Inner VLAN sessions
•
This feature is not supported in combination with load balancing when a session service policy is routed to an L2TP tunnel. Do not configure load balancing on an L2TP tunnel if per-session queuing is enabled.
Information about QoS - Hierarchical Queuing for Ethernet DSLAMs
Traffic downstream from a Broadband Router Access Server (BRAS) requires different levels of Quality of Service (QoS) provisioning depending on the network architecture between the BRAS and subscriber. Figure 1 shows multiple entities where QoS provisioning is required for different reasons.
The following examples are entities that may require different traffic shaping:
•
A VLAN shaped to a certain aggregate traffic rate to limit the traffic to a group of subscribers (different 802.1Q interfaces in Figure 1).
•
Individual sessions shaped with certain QoS services for different classes of traffic (individual PCs in Figure 1).
Different traffic shaping requirements result in QoS provisioning at multiple levels at the same time. The QoS - Hierarchical Queuing for E-DSLAM feature provides the ability to form one integrated queuing hierarchy that provides QoS provisioning at multiple levels with support for features such as bandwidth distribution at any of these levels.
The integrated queuing hierarchy is formed on the physical interface. When a service policy is instantiated on a session, the Subscriber Service Switch (SSS) infrastructure invokes the MQC and a common queuing control plane sets up and enables the queuing features.
Session-to-interface associations are resolved to determine the physical interface on which to form the integrated queuing hierarchy for all levels of QoS provisioning. As subinterface session-based policies are added, the respective queues are created and integrated into the queuing hierarchy.
When a subinterface is provisioned followed by session-based policy provisioning, the integrated queuing hierarchy is formed on top of the physical interface as a result of queuing policies provisioned at two different levels. When a session is provisioned before subinterface-based policy provisioning, the queuing hierarchy has a placeholder logical level between the physical queue and the session queue. The placeholder queue becomes the default queue at that level, and all other sessions are parented to that queue.
A PRE3 supports three hierarchical levels of scheduling: physical port, session, and class queues. When sessions are established within a subinterface configured with a shaping policy, the subinterface level is lowered to the physical layer.
Figure 1 Ethernet DSL Access Network
![]()
Configuration Guidelines and Restrictions
•
An individual subscriber is always identified by a PPP or IP session. A group of subscribers is identified by a particular VLAN via outer tag ISP, E-DSLAM, or user-facing provider edge (U-PE).
•
When a subinterface is used to aggregate a number of sessions with queuing policies, a queuing policy at a subinterface level must be a one-level policy map configured as class-default with only the shape feature.
•
Do not oversubscribe sessions to ensure distributed bandwidth for sessions with configured shape rates.
Configuring QoS - Hierarchical Queuing for Ethernet DSLAMs
This section includes the following procedures:
•
Configuring and Applying QoS - Hierarchical Queuing Policy Maps to Sessions
•
Configuring and Applying QoS - Hierarchical Queuing Policy Maps to Subinterfaces
•
Displaying Policy Map Information
Configuring and Applying QoS - Hierarchical Queuing Policy Maps to Sessions
Perform this task to configure and apply a QoS hierarchical queuing policy map to PPP/IP sessions through a virtual template.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
policy-map policy-map-name
4.
class class-map-name
5.
(Optional) bandwidth {bandwidth-kbps| percent percentage | remaining percent percentage}
6.
(Optional) precedence precedence min-threshold max-threshold mark-probability-denominator
7.
(Optional) set cos cos-value
8.
policy-map policy-map-name
9.
class class-default
10.
shape average cir [bc] [be]
11.
bandwidth remaining ratio weight
12.
service-policy policy-map-name
13.
exit
14.
exit
15.
interface virtual-template number
16.
service-policy output policy-map-name
DETAILED STEPS
Example
Router> enableRouter# configure terminalRouter(config)# policy-map session_a_childRouter(config-pmap)# class voipRouter(config-pmap-c)# police 1000000Router(config-pmap-c)# priority level 1Router(config-pmap-c)# class videoRouter(config-pmap-c)# police 100000Router(config-pmap-c)# priority level 2Router(config-pmap-c)# class precedence_0Router(config-pmap-c)# bandwidth remaining ratio 10Router(config-pmap-c)# class precedence_1Router(config-pmap-c)# bandwidth remaining ratio 20Router(config-pmap-c)# policy-map session_a_parentRouter(config-pmap)# class class-defaultRouter(config-pmap-c)# shape average 10000000Router(config-pmap-c)# bandwidth remaining ratio 10Router(config-pmap-c)# service-policy session_a_childRouter(config-pmap-c)# exitRouter(config-pmap)# exitRouter(config)# interface virtual-template 20Router(config-if)# service-policy output session_a_parentRouter(config-if)# endConfiguring and Applying QoS - Hierarchical Queuing Policy Maps to Subinterfaces
Perform this task to configure and apply a QoS hierarchical queuing policy map to a subinterface. This provides aggregate shaping for a large number of subscribers.
![]()
Note
When a subinterface is used to aggregate a number of sessions with queuing policies, a queuing policy at a subinterface level must be a one-level policy map configured as class-default with only the shape feature.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
policy-map policy-map-name
4.
class class-default
5.
shape average cir [bc] [be]
6.
exit
7.
exit
8.
interface type slot/subslot/port.subinterface
9.
encapsulation dot1q outer-vlan-id second-dot1q inner-vlan-id
10.
service-policy output policy-map-name
DETAILED STEPS
Example
Router> enableRouter# configure terminalRouter(config-pmap-c)# policy-map subint_1Router(config-pmap)# class class-defaultRouter(config-pmap-c)# shape average 10000000Router(config-pmap-c)# exitRouter(config-pmap)# exitRouter(config)# interface g3/1/1.1Router(config-subif)# encapsulation dot1q 1 second-dot1q 10Router(config-subif)# service-policy output subint_1Router(config-subif)# endDisplaying Policy Map Information
Table 1 lists the show commands to display policy map information.
Configuration Examples for QoS - Hierarchical Queuing for E-DSLAMs
This section provides the following configuration examples:
•
Configuring QoS - Hierarchical Queuing Policy Maps on VLANs or QinQ Subinterfaces: Example
•
Configuring QoS - Hierarchical Queuing Policy Maps on VLANs with Arbitrary QinQ: Example
•
Configuring QoS - Hierarchical Queuing Policy Maps on Sessions: Example
•
Configuring QoS - Hierarchical Queuing Policy Maps on Sessions with Aggregate Shaping: Example
Configuring QoS - Hierarchical Queuing Policy Maps on VLANs or QinQ Subinterfaces: Example
The following example shows how to configure and apply QoS hierarchical queuing policy maps on VLANs or QinQ subinterfaces. A child queuing policy is applied to each parent subscriber line level policy. In this example, the policy maps are applied to create subscriber groups on subinterfaces.
Router> enableRouter# configure terminalRouter(config)# policy-map service_a_outRouter(config-pmap)# class voipRouter(config-pmap-c)# priorityRouter(config-pmap-c)# police percent 20 bc 300 ms pir 40Router(config-pmap-c)# set cos 1Router(config-pmap-c)# class videoRouter(config-pmap-c)# police percent 20 bc 300 ms pir 40Router(config-pmap-c)# set cos 2Router(config-pmap-c)# class gamingRouter(config-pmap-c)# bandwidth remaining percent 80Router(config-pmap-c)# set cos 3Router(config-pmap-c)# class class-defaultRouter(config-pmap-c)# bandwidth remaining percent 20Router(config-pmap-c)# set cos 4!Router(config-pmap-c)# policy-map service_z_outRouter(config-pmap)# policy-map rate_1_service_a_inRouter(config-pmap)# class voipRouter(config-pmap-c)# police percent 25 4 ms 1 msRouter(config-pmap-c)# class gamingRouter(config-pmap-c)# police percent 50 2 ms 1 msRouter(config-pmap-c)# class class-defaultRouter(config-pmap-c)# police percent 20 bc 300 ms pir 40Router(config-pmap-c)# policy-map rate_x_service_z_inRouter(config-pmap)# policy-map rate_1_service_a_outRouter(config-pmap)# class class-defaultRouter(config-pmap-c)# bandwidth remaining ratio 10Router(config-pmap-c)# shape average 100000Router(config-pmap-c)# service policy service_a_outRouter(config-pmap-c)# policy-map rate_x_serviice_z_outRouter(config-pmap)# class class-defaultRouter(config-pmap-c)# bandwidth remaining ratio 10Router(config-pmap-c)# shape average 100000Router(config-pmap-c)# service policy service_z_outRouter(config-pmap-c)# exitRouter(config-pmap)# exit!Router(config)# interface GigabitEthernet1/0/0.1Router(config-subif)# encapsulation dot1q 5 second dot1q 20Router(config-subif)# service-policy output rate_1_service_a_outRouter(config-subif)# service-policy input rate_1_service_a_inRouter(config-if)# exitRouter(config)# interface GigabitEthernet1/0/0.2Router(config-subif)# encapsulation dot1q 5 second dot1q 25Router(config-subif)# service-policy output rate_x_service_z_outRouter(config-subif)# service-policy input rate_x_service_z_inRouter(config-if)# endConfiguring QoS - Hierarchical Queuing Policy Maps on VLANs with Arbitrary QinQ: Example
The following example shows how to configure and apply QoS hierarchical queuing policy maps on VLANs with subscriber lines grouped by arbitrary QinQ. A child queuing policy is applied to each parent subscriber line level policy. This example includes configuration of four class maps.
Router> enableRouter# configure terminalRouter(config)# class-map match-all user_1Router(config-cmap)# match vlan 10Router(config-cmap)# class-map match-all user_2Router(config-cmap)# match vlan 11Router(config-cmap)# class-map match-all user_3Router(config-cmap)# match vlan 10Router(config-cmap)# class-map match-any user_4Router(config-cmap)# match vlan 11Router(config-cmap)# class-map match-all user_nRouter(config-cmap)# class-map match-any isp_ARouter(config-cmap)# match class user_1Router(config-cmap)# match class user_2Router(config-cmap)# class-map match-any isp_ZRouter(config-cmap)# match class user_3Router(config-cmap)# match class user_4Router(config-cmap)# exit!Router(config)# policy-map service_a_outRouter(config-pmap)# class voipRouter(config-pmap-c)# priorityRouter(config-pmap-c)# police cir percent 20 bc 300 ms pir 40Router(config-pmap-c)# set cos 1Router(config-pmap-c)# class videoRouter(config-pmap-c)# police cir percent 20 bc 300 ms pir 40Router(config-pmap-c)# set cos 2Router(config-pmap-c)# class gamingRouter(config-pmap-c)# bandwidth remaining percent 80Router(config-pmap-c)# set cos 3Router(config-pmap-c)# class class-defaultRouter(config-pmap-c)# bandwidth remaining percent 20Router(config-pmap-c)# set cos 4!Router(config-pmap-c)# policy-map service_z_outRouter(config-pmap)# policy-map service_a_inRouter(config-pmap)# class voipRouter(config-pmap-c)# police percent 25 4 ms 1 msRouter(config-pmap-c)# class gamingRouter(config-pmap-c)# police percent 50 2 ms 1 msRouter(config-pmap-c)# class class-defaultRouter(config-pmap-c)# police cir percent 20 bc 300 ms pir 40Router(config-pmap-c)# policy-map service_z_inRouter(config-pmap)# policy-map isp_A_outRouter(config-pmap)# class user_1Router(config-pmap-c)# bandwidth remaining ratio 10Router(config-pmap-c)# shape average 100000Router(config-pmap-c)# service policy service_a_outRouter(config-pmap-c)# class user_nRouter(config-pmap-c)# bandwidth remaining ratio 20Router(config-pmap-c)# shape average 100000Router(config-pmap-c)# service policy service_z_outRouter(config-pmap-c)# policy-map isp_Z_outRouter(config-pmap)# policy-map isp_A_inRouter(config-pmap)# class user_1Router(config-pmap-c)# service policy service_a_inRouter(config-pmap-c)# class user_nRouter(config-pmap-c)# service policy service_z_inRouter(config-pmap-c)# policy-map isp_Z_inRouter(config-pmap)# policy-map interface_policy_outRouter(config-pmap)# class isp_ARouter(config-pmap-c)# shape average 100000Router(config-pmap-c)# service policy isp_A_outRouter(config-pmap-c)# class isp_ZRouter(config-pmap-c)# shape average 100000Router(config-pmap-c)# service policy isp_Z_outRouter(config-pmap-c)# policy-map interface_policy_inRouter(config-pmap)# class isp_ARouter(config-pmap-c)# service policy isp_A_inRouter(config-pmap-c)# class isp_ZRouter(config-pmap-c)# service policy isp_Z_inRouter(config-pmap-c)# exitRouter(config-pmap)# exit!Router(config)# interface GigabitEthernet1/0/0.1Router(config-subif)# encapsulation dot1q 5 second dot1q anyRouter(config-subif)# service-policy output interface_policy_outRouter(config-subif)# service-policy input interface_policy_inRouter(config-if)# endConfiguring QoS - Hierarchical Queuing Policy Maps on Sessions: Example
The following example shows how to configure and apply QoS hierarchical queuing policy maps on sessions. A child queuing policy is applied to each parent subscriber line level policy.
Router> enableRouter# configure terminalRouter(config)# policy-map service_a_outRouter(config-pmap)# class voipRouter(config-pmap-c)# priorityRouter(config-pmap-c)# set cos 1Router(config-pmap-c)# class videoRouter(config-pmap-c)# set cos 2Router(config-pmap-c)# class gamingRouter(config-pmap-c)# bandwidth remaining percent 80Router(config-pmap-c)# set cos 3Router(config-pmap-c)# class class-defaultRouter(config-pmap-c)# bandwidth remaining percent 20Router(config-pmap-c)# set cos 4!Router(config-pmap-c)# policy-map service_z_outRouter(config-pmap)# policy-map rate_1_service_a_outRouter(config-pmap)# class class-defaultRouter(config-pmap-c)# bandwidth remaining ratio 10Router(config-pmap-c)# shape average 100000Router(config-pmap-c)# service-policy service_a_out!Router(config-pmap-c)# policy-map rate_x_service_z_outRouter(config-pmap)# class class-defaultRouter(config-pmap-c)# bandwidth remaining ratio 10Router(config-pmap-c)# shape average 100000Router(config-pmap-c)# service-policy service_z_outRouter(config-pmap-c)# policy-map rate_1_service_a_inRouter(config-pmap)# class voipRouter(config-pmap-c)# police percent 25 4 ms 1 msRouter(config-pmap-c)# class gamingRouter(config-pmap-c)# police percent 50 2 ms 1 msRouter(config-pmap-c)# class class-defaultRouter(config-pmap-c)# police cir percent 20 bc 300 ms pir 40!Router(config-pmap-c)# policy-map rate_x_service_z_inRouter(config-pmap)# policy-map isp_A_outRouter(config-pmap)# class class-defaultRouter(config-pmap-c)# shape average 100000Router(config-pmap-c)# policy-map isp_Z_outRouter(config-pmap)# class class-defaultRouter(config-pmap-c)# shape average 100000Router(config-pmap-c)# exitRouter(config-pmap)# exit!Router(config)# interface GigabitEthernet1/0/0.1Router(config-if)# encapsulation dot1q 1Router(config-if)# service-policy output isp_A_outRouter(config-if)# exitRouter(config)# interface GigabitEthernet2/0/0.2Router(config-if)# encapsulation dot1q 2Router(config-if)# service-policy output isp_Z_outConfiguring QoS - Hierarchical Queuing Policy Maps on Sessions with Aggregate Shaping: Example
The following example shows how to configure and apply QoS hierarchical queuing policy maps on sessions with multiple PPP/IP sessions per subscriber line. In this example, the same policies are applied to all sessions using the same virtual interface.
Router> enableRouter# configure terminalRouter(config)# policy-map service_a_outRouter(config-pmap)# class voipRouter(config-pmap-c) priorityRouter(config-pmap-c)# police percent 25 4 ms 1 msRouter(config-pmap-c)# set cos 1Router(config-pmap-c)# class videoRouter(config-pmap-c)# police percent 30 5 ms 1 msRouter(config-pmap-c)# set cos 2Router(config-pmap-c)# class class-defaultRouter(config-pmap-c)# bandwidth remaining percent 20Router(config-pmap-c)# set cos 3!Router(config-pmap-c)# policy-map service_z_outRouter(config-pmap)# policy-map rate_1_service_a_inRouter(config-pmap)# class voipRouter(config-pmap-c)# police percent 25 4 ms 1 msRouter(config-pmap-c)# class videoRouter(config-pmap-c)# police percent 30 2 ms 1 msRouter(config-pmap-c)# class class-defaultRouter(config-pmap-c)# police percent 40 2 ms 1 ms!Router(config-pmap-c)# policy-map rate_x_service_z_inRouter(config-pmap-c)# policy-map rate_1_service_a_outRouter(config-pmap-c)# class class-defaultRouter(config-pmap-c)# bandwidth remaining ratio 10Router(config-pmap-c)# shape average 100000Router(config-pmap-c)# service policy service_a_out!Router(config-pmap-c)# policy-map rate_x_service_z_outRouter(config-pmap)# class class-defaultRouter(config-pmap-c)# bandwidth remaining ratio 10Router(config-pmap-c)# shape average 100000Router(config-pmap-c)# service policy service_z_outRouter(config-pmap-c)# exitRouter(config-pmap)# exit!Router(config)# interface GigabitEthernet1/0/0Router(config-if)# encapsulation dot1q 1Router(config-if)# service-policy output isp_A_outRouter(config-if)# exitRouter(config)# interface GigabitEthernet2/0/0Router(config-if)# encapsulation dot1q 2Router(config-if)# service-policy output isp_Z_outRouter(config-if)# endAdditional References
The following sections provide references related to the QoS - Hierarchical Queuing for E-DSLAM feature.
Related Documents
Related Topic Document TitleQoS provisioning and traffic shaping
Cisco 10000 Series Router Quality of Service Configuration Guide
Standards
Standard TitleNo new or modified standards are supported by this feature, and support for existing standards has not been modified by this feature.
—
MIBs
RFCs
RFC TitleNo new or modified RFCs are supported by this feature, and support for existing RFCs has not been modified by this feature.
—
Technical Assistance
Command Reference
This feature uses no new or modified commands.
Feature Information for QoS - Hierarchical Queuing for Ethernet DSLAMs
Table 2 lists the release history for this feature.
Not all commands may be available in your Cisco IOS software release. For release information about a specific command, see the command reference documentation.
Cisco IOS software images are specific to a Cisco IOS software release, a feature set, and a platform. Use Cisco Feature Navigator to find information about platform support and Cisco IOS software image support. Access Cisco Feature Navigator at http://www.cisco.com/go/fn. You must have an account on Cisco.com. If you do not have an account or have forgotten your username or password, click Cancel at the login dialog box and follow the instructions that appear.
![]()
Note
Table 2 lists only the Cisco IOS software release that introduced support for a given feature in a given Cisco IOS software release train. Unless noted otherwise, subsequent releases of that Cisco IOS software release train also support that feature.
CCVP, the Cisco Logo, and the Cisco Square Bridge logo are trademarks of Cisco Systems, Inc.; Changing the Way We Work, Live, Play, and Learn is a service mark of Cisco Systems, Inc.; and Access Registrar, Aironet, BPX, Catalyst, CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, CCSP, Cisco, the Cisco Certified Internetwork Expert logo, Cisco IOS, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Cisco Unity, Enterprise/Solver, EtherChannel, EtherFast, EtherSwitch, Fast Step, Follow Me Browsing, FormShare, GigaDrive, GigaStack, HomeLink, Internet Quotient, IOS, IP/TV, iQ Expertise, the iQ logo, iQ Net Readiness Scorecard, iQuick Study, LightStream, Linksys, MeetingPlace, MGX, Networking Academy, Network Registrar, Packet, PIX, ProConnect, RateMUX, ScriptShare, SlideCast, SMARTnet, StackWise, The Fastest Way to Increase Your Internet Quotient, and TransPath are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.
All other trademarks mentioned in this document or Website are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (0609R)
Any Internet Protocol (IP) addresses used in this document are not intended to be actual addresses. Any examples, command display output, and figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses in illustrative content is unintentional and coincidental.
© 2006 Cisco Systems, Inc. All rights reserved.