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> enable
Router# configure terminal
Router(config)# policy-map session_a_child
Router(config-pmap)# class voip
Router(config-pmap-c)# police 1000000
Router(config-pmap-c)# priority level 1
Router(config-pmap-c)# class video
Router(config-pmap-c)# police 100000
Router(config-pmap-c)# priority level 2
Router(config-pmap-c)# class precedence_0
Router(config-pmap-c)# bandwidth remaining ratio 10
Router(config-pmap-c)# class precedence_1
Router(config-pmap-c)# bandwidth remaining ratio 20
Router(config-pmap-c)# policy-map session_a_parent
Router(config-pmap)# class class-default
Router(config-pmap-c)# shape average 10000000
Router(config-pmap-c)# bandwidth remaining ratio 10
Router(config-pmap-c)# service-policy session_a_child
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)# interface virtual-template 20
Router(config-if)# service-policy output session_a_parent
Router(config-if)# end
Configuring 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> enable
Router# configure terminal
Router(config-pmap-c)# policy-map subint_1
Router(config-pmap)# class class-default
Router(config-pmap-c)# shape average 10000000
Router(config-pmap-c)# exit
Router(config-pmap)# exit
Router(config)# interface g3/1/1.1
Router(config-subif)# encapsulation dot1q 1 second-dot1q 10
Router(config-subif)# service-policy output subint_1
Router(config-subif)# end
Displaying 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> enable
Router# configure terminal
Router(config)# policy-map service_a_out
Router(config-pmap)# class voip
Router(config-pmap-c)# priority
Router(config-pmap-c)# police percent 20 bc 300 ms pir 40
Router(config-pmap-c)# set cos 1
Router(config-pmap-c)# class video
Router(config-pmap-c)# police percent 20 bc 300 ms pir 40
Router(config-pmap-c)# set cos 2
Router(config-pmap-c)# class gaming
Router(config-pmap-c)# bandwidth remaining percent 80
Router(config-pmap-c)# set cos 3
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# bandwidth remaining percent 20
Router(config-pmap-c)# set cos 4
!Router(config-pmap-c)# policy-map service_z_out
Router(config-pmap)# policy-map rate_1_service_a_in
Router(config-pmap)# class voip
Router(config-pmap-c)# police percent 25 4 ms 1 ms
Router(config-pmap-c)# class gaming
Router(config-pmap-c)# police percent 50 2 ms 1 ms
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# police percent 20 bc 300 ms pir 40
Router(config-pmap-c)# policy-map rate_x_service_z_in
Router(config-pmap)# policy-map rate_1_service_a_out
Router(config-pmap)# class class-default
Router(config-pmap-c)# bandwidth remaining ratio 10
Router(config-pmap-c)# shape average 100000
Router(config-pmap-c)# service policy service_a_out
Router(config-pmap-c)# policy-map rate_x_serviice_z_out
Router(config-pmap)# class class-default
Router(config-pmap-c)# bandwidth remaining ratio 10
Router(config-pmap-c)# shape average 100000
Router(config-pmap-c)# service policy service_z_out
Router(config-pmap-c)# exit
Router(config-pmap)# exit
!Router(config)# interface GigabitEthernet1/0/0.1
Router(config-subif)# encapsulation dot1q 5 second dot1q 20
Router(config-subif)# service-policy output rate_1_service_a_out
Router(config-subif)# service-policy input rate_1_service_a_in
Router(config-if)# exit
Router(config)# interface GigabitEthernet1/0/0.2
Router(config-subif)# encapsulation dot1q 5 second dot1q 25
Router(config-subif)# service-policy output rate_x_service_z_out
Router(config-subif)# service-policy input rate_x_service_z_in
Router(config-if)# end
Configuring 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> enable
Router# configure terminal
Router(config)# class-map match-all user_1
Router(config-cmap)# match vlan 10
Router(config-cmap)# class-map match-all user_2
Router(config-cmap)# match vlan 11
Router(config-cmap)# class-map match-all user_3
Router(config-cmap)# match vlan 10
Router(config-cmap)# class-map match-any user_4
Router(config-cmap)# match vlan 11
Router(config-cmap)# class-map match-all user_n
Router(config-cmap)# class-map match-any isp_A
Router(config-cmap)# match class user_1
Router(config-cmap)# match class user_2
Router(config-cmap)# class-map match-any isp_Z
Router(config-cmap)# match class user_3
Router(config-cmap)# match class user_4
Router(config-cmap)# exit
!Router(config)# policy-map service_a_out
Router(config-pmap)# class voip
Router(config-pmap-c)# priority
Router(config-pmap-c)# police cir percent 20 bc 300 ms pir 40
Router(config-pmap-c)# set cos 1
Router(config-pmap-c)# class video
Router(config-pmap-c)# police cir percent 20 bc 300 ms pir 40
Router(config-pmap-c)# set cos 2
Router(config-pmap-c)# class gaming
Router(config-pmap-c)# bandwidth remaining percent 80
Router(config-pmap-c)# set cos 3
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# bandwidth remaining percent 20
Router(config-pmap-c)# set cos 4
!Router(config-pmap-c)# policy-map service_z_out
Router(config-pmap)# policy-map service_a_in
Router(config-pmap)# class voip
Router(config-pmap-c)# police percent 25 4 ms 1 ms
Router(config-pmap-c)# class gaming
Router(config-pmap-c)# police percent 50 2 ms 1 ms
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# police cir percent 20 bc 300 ms pir 40
Router(config-pmap-c)# policy-map service_z_in
Router(config-pmap)# policy-map isp_A_out
Router(config-pmap)# class user_1
Router(config-pmap-c)# bandwidth remaining ratio 10
Router(config-pmap-c)# shape average 100000
Router(config-pmap-c)# service policy service_a_out
Router(config-pmap-c)# class user_n
Router(config-pmap-c)# bandwidth remaining ratio 20
Router(config-pmap-c)# shape average 100000
Router(config-pmap-c)# service policy service_z_out
Router(config-pmap-c)# policy-map isp_Z_out
Router(config-pmap)# policy-map isp_A_in
Router(config-pmap)# class user_1
Router(config-pmap-c)# service policy service_a_in
Router(config-pmap-c)# class user_n
Router(config-pmap-c)# service policy service_z_in
Router(config-pmap-c)# policy-map isp_Z_in
Router(config-pmap)# policy-map interface_policy_out
Router(config-pmap)# class isp_A
Router(config-pmap-c)# shape average 100000
Router(config-pmap-c)# service policy isp_A_out
Router(config-pmap-c)# class isp_Z
Router(config-pmap-c)# shape average 100000
Router(config-pmap-c)# service policy isp_Z_out
Router(config-pmap-c)# policy-map interface_policy_in
Router(config-pmap)# class isp_A
Router(config-pmap-c)# service policy isp_A_in
Router(config-pmap-c)# class isp_Z
Router(config-pmap-c)# service policy isp_Z_in
Router(config-pmap-c)# exit
Router(config-pmap)# exit
!Router(config)# interface GigabitEthernet1/0/0.1
Router(config-subif)# encapsulation dot1q 5 second dot1q any
Router(config-subif)# service-policy output interface_policy_out
Router(config-subif)# service-policy input interface_policy_in
Router(config-if)# end
Configuring 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> enable
Router# configure terminal
Router(config)# policy-map service_a_out
Router(config-pmap)# class voip
Router(config-pmap-c)# priority
Router(config-pmap-c)# set cos 1
Router(config-pmap-c)# class video
Router(config-pmap-c)# set cos 2
Router(config-pmap-c)# class gaming
Router(config-pmap-c)# bandwidth remaining percent 80
Router(config-pmap-c)# set cos 3
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# bandwidth remaining percent 20
Router(config-pmap-c)# set cos 4
!Router(config-pmap-c)# policy-map service_z_out
Router(config-pmap)# policy-map rate_1_service_a_out
Router(config-pmap)# class class-default
Router(config-pmap-c)# bandwidth remaining ratio 10
Router(config-pmap-c)# shape average 100000
Router(config-pmap-c)# service-policy service_a_out
!Router(config-pmap-c)# policy-map rate_x_service_z_out
Router(config-pmap)# class class-default
Router(config-pmap-c)# bandwidth remaining ratio 10
Router(config-pmap-c)# shape average 100000
Router(config-pmap-c)# service-policy service_z_out
Router(config-pmap-c)# policy-map rate_1_service_a_in
Router(config-pmap)# class voip
Router(config-pmap-c)# police percent 25 4 ms 1 ms
Router(config-pmap-c)# class gaming
Router(config-pmap-c)# police percent 50 2 ms 1 ms
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# police cir percent 20 bc 300 ms pir 40
!Router(config-pmap-c)# policy-map rate_x_service_z_in
Router(config-pmap)# policy-map isp_A_out
Router(config-pmap)# class class-default
Router(config-pmap-c)# shape average 100000
Router(config-pmap-c)# policy-map isp_Z_out
Router(config-pmap)# class class-default
Router(config-pmap-c)# shape average 100000
Router(config-pmap-c)# exit
Router(config-pmap)# exit
!Router(config)# interface GigabitEthernet1/0/0.1
Router(config-if)# encapsulation dot1q 1
Router(config-if)# service-policy output isp_A_out
Router(config-if)# exit
Router(config)# interface GigabitEthernet2/0/0.2
Router(config-if)# encapsulation dot1q 2
Router(config-if)# service-policy output isp_Z_out
Configuring 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> enable
Router# configure terminal
Router(config)# policy-map service_a_out
Router(config-pmap)# class voip
Router(config-pmap-c) priority
Router(config-pmap-c)# police percent 25 4 ms 1 ms
Router(config-pmap-c)# set cos 1
Router(config-pmap-c)# class video
Router(config-pmap-c)# police percent 30 5 ms 1 ms
Router(config-pmap-c)# set cos 2
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# bandwidth remaining percent 20
Router(config-pmap-c)# set cos 3
!Router(config-pmap-c)# policy-map service_z_out
Router(config-pmap)# policy-map rate_1_service_a_in
Router(config-pmap)# class voip
Router(config-pmap-c)# police percent 25 4 ms 1 ms
Router(config-pmap-c)# class video
Router(config-pmap-c)# police percent 30 2 ms 1 ms
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# police percent 40 2 ms 1 ms
!Router(config-pmap-c)# policy-map rate_x_service_z_in
Router(config-pmap-c)# policy-map rate_1_service_a_out
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# bandwidth remaining ratio 10
Router(config-pmap-c)# shape average 100000
Router(config-pmap-c)# service policy service_a_out
!Router(config-pmap-c)# policy-map rate_x_service_z_out
Router(config-pmap)# class class-default
Router(config-pmap-c)# bandwidth remaining ratio 10
Router(config-pmap-c)# shape average 100000
Router(config-pmap-c)# service policy service_z_out
Router(config-pmap-c)# exit
Router(config-pmap)# exit
!Router(config)# interface GigabitEthernet1/0/0
Router(config-if)# encapsulation dot1q 1
Router(config-if)# service-policy output isp_A_out
Router(config-if)# exit
Router(config)# interface GigabitEthernet2/0/0
Router(config-if)# encapsulation dot1q 2
Router(config-if)# service-policy output isp_Z_out
Router(config-if)# end
Additional 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.