Modular QoS Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Release

PDF

Modular QoS Configuration Guide for Cisco 8000 Series Routers, Cisco IOS XR Release

QoS on Pseudowire Headend

Want to summarize with AI?

Log in

Details QoS on PWHE interfaces, including traffic mapping, marking, policing, queuing, aggregate shaping, policy options, limitations, and configuration procedures for flat and hierarchical QoS.


Quality of Service (QoS) on Pseudowire Headend (PWHE) is a network traffic management feature that

  • applies QoS classification, marking, policing, and queuing on pseudowire headend interfaces

  • ensures prioritized forwarding of customer traffic that enters a pseudowire, and

  • enhances the performance and reliability of Layer 2 and Layer 3 VPN services on edge routers.

Pseudowire (PW)—A pseudowire is a virtual, point-to-point connection that emulates the properties of a physical wire. It allows the transport of various Layer 2 services, such as Ethernet, Frame Relay, or Asynchronous Transmission Mode (ATM), over a Layer 3 packet-switched network like IP or MPLS.
Pseudowire Headend (PWHE)—PWHE refers to the interface and configuration at the start of a pseudowire connection on an edge router. It provides the logical boundary where traffic from a customer or access network is encapsulated into a pseudowire for transport across the core.

QoS on PWHE and the importance of headend

PWHE allows Layer 2 services to be extended over a Layer 3 network. By applying QoS at the headend, traffic entering the pseudowire can be policed, shaped, and marked to maintain consistent QoS treatment across the MPLS or IP backbone. This ensures that latency-sensitive traffic such as voice or video is forwarded with the appropriate priority.

Table 1. Feature History Table

Feature Name

Release Information

Feature Description

QoS on PWHE

Release 26.2.1

Introduced in this release on: Fixed Systems (8700 [ASIC: K100]) (select variants only*)

This feature requires egress feature capability on supported platforms. Use the hw-module profile edge-mode CLI command to enable the feature.

The feature introduces these changes:

CLI:

  • hw-module profile edge-mode

  • show hw-module profile edge-mode

*This feature is now supported on:

  • 8711-48Z-M

  • 8712-MOD-M

QoS on PWHE

Release 26.1.1

Introduced in this release on: Centralized Systems (8400 [ASIC: K100])(select variants only*)

* This feature is now supported on Cisco 8404-SYS-D routers.

QoS on PWHE

Release 25.4.1

Introduced in this release on: Fixed Systems (8700 [ASIC: K100], 8010 [ASIC: A100])(select variants only*)

*This feature is supported on:

  • 8711-48Z-M

  • 8011-32Y8L2H2FH

  • 8011-12G12X4Y-A/D

  • 8011-4G24Y4H-I

QoS on PWHE

Release 25.1.1

Introduced in this release on: Fixed Systems (8700 [ASIC:K100])(select variants only*)

*This feature is now supported on Cisco 8712-MOD-M routers.

QoS on PWHE

Release 24.3.1

Introduced in this release on: Fixed Systems (8200 [ASIC: P100], 8700 [ASIC: P100])(select variants only*); Modular Systems (8800 [LC ASIC: P100])(select variants only*)

You can now prioritize critical services like voice, video, and real-time applications for network traffic entering a Pseudowire Headend (PWHE) interface, which then forwards the prioritized traffic into the pseudowire to be transported over a packet-switched network, such as an IP or MPLS network.

The feature introduces the show qos-ea default-queue command.

The feature modifies the Cisco-IOS-XR-qos-ma-oper.yang (see GitHub, YANG Data Models Navigator) data model.

*This feature is supported on:

  • 8212-48FH-M

  • 8711-32FH-M

  • 88-LC1-36EH

  • 88-LC1-52Y8H-EM

  • 88-LC1-12TH24FH-E

QoS on PWHE in practice

For example, a service provider can configure QoS on a PWHE interface so that voice and video services are prioritized when they enter the pseudowire. These packets are then transported across the MPLS core with markings that preserve their service class, ensuring consistent performance end-to-end.


How QoS on Pseudowire Headend works

Pseudowire Headend (PWHE) extends QoS control to pseudowire interfaces. This enables per-class differentiation and bandwidth management alongside core interfaces.

Summary

The key components in the QoS process on PWHE interfaces are:

  • Classification and marking: The router examines Layer 2 and Layer 3 header fields on ingress and egress to identify traffic classes and apply appropriate QoS group and traffic class markings.

  • Policing and queuing: The router applies policing on ingress to control traffic rates and uses queuing and shaping on egress to manage congestion and enforce bandwidth guarantees.

  • Bandwidth distribution: The system allocates excess bandwidth between PWHE and non-PWHE traffic that share the same interface.

  • Aggregate shaper: The line card supports an aggregate shaping policy that coexists with subinterface policies.

  • Traffic pin-down: Each PWHE interface maps its traffic to a single physical interface, known as a pin-down member.

  • QoS accounting: The router collects QoS statistics based on the customer IP packet, Layer 2 header, and any configured overhead.

Workflow

These stages describe how QoS on PWHE operates.

  1. Ingress classification and policing: The router receives incoming traffic on the PWHE interface and classifies it based on Layer 2 and Layer 3 header fields. This stage ensures that packets entering the pseudowire are marked and rate-limited in alignment with service policies.

  2. Pin-down selection: The router assigns each PWHE interface to a single physical interface called a pin-down member, selected from a generic interface list. This mapping remains constant for all traffic belonging to that PWHE interface. The pin-down mechanism ensures that traffic flows consistently through the same physical path, maintaining predictable forwarding and shaping behavior.

  3. Port shaping interaction: The router enforces port-level shaping policies configured on the pin-down member. These shaping parameters limit the maximum bandwidth that all PWHE traffic mapped to that member can use. As a result, even if the PWHE interface allows a higher percentage of bandwidth, its effective throughput is constrained by the shaping policy on the pin-down member.

  4. Egress queuing and shaping: When packets are forwarded toward the pseudowire egress, the router derives the egress queues and shaping actions from the QoS policies applied to the PWHE main or subinterfaces. These egress queues are replicated on each member or bundle interface as applicable, ensuring consistent queuing behavior across all physical members.

  5. Bandwidth remaining distribution: After high-priority traffic receives its guaranteed bandwidth, the router distributes the remaining bandwidth among PWHE and non-PWHE traffic on the same pin-down member. It uses the bandwidth remaining ratios configured in the parent class-default of the PWHE policies to control how the excess bandwidth is shared across different classes and interfaces.

  6. QoS accounting and verification: The router collects QoS accounting statistics that include the customer IP packet, customer Layer 2 header, and any configured additional overhead. It excludes outer transport and encapsulation headers. You can use these statistics to verify policy behavior, evaluate bandwidth distribution, and fine-tune configurations for optimal performance.

Result

QoS on PWHE ensures that traffic is consistently prioritized, shaped, and accounted for, maintaining predictable performance for pseudowire-based services and fair resource allocation across shared physical interfaces.


Functional details and behaviors of QoS on PWHE

QoS on PWHE provides the framework for applying consistent service differentiation to pseudowire-based traffic.

Each topic in this section explains a specific operational aspect, such as bandwidth distribution, aggregate shaping, or policing behavior, that contributes to the overall performance of QoS on PWHE interfaces.

Before configuring QoS on PWHE interfaces, it's essential to understand the features and functionalities this technology provides and the restrictions that accompany them.

Table 2. Reference Information about Functional Details and Behaviors

Information

What It Covers

General features and support information for QoS on PWHE

Lists address-family support, policy directions, and inheritance rules for main and subinterfaces.

Traffic mapping for Pseudowire Headend interfaces to pin-down members

Explains how PWHE traffic maps to a single physical interface (pin-down member) for predictable flow paths.

Port shaping effect on pin-down members

Describes how port-level shaping on a pin-down member constrains the total bandwidth available to mapped PWHE traffic.

Bandwidth distribution for QoS on Pseudowire Headend

Details how remaining bandwidth is distributed fairly among PWHE and non-PWHE traffic on shared members.

QoS accounting for Pseudowire Headend traffic

Defines how the router measures and reports PWHE traffic for policing, shaping, and statistics.

Marking for QoS on Pseudowire Headend

Summarizes supported marking types and restrictions for ingress and egress directions.

Policing and queuing for QoS on Pseudowire Headend

Explains ingress policing and egress queuing behavior with and without policy maps, including bundle replication

Pseudowire Headend aggregate shaper

Describes aggregate shaping policies that coexist with subinterface policies and the supported action combinations.

Pseudowire Ethernet subinterface policy

Provides information on applying QoS policies at the subinterface level and setting bandwidth limits.

Scale information for QoS on Pseudowire Headend interfaces

Lists the supported number of PWHE interfaces per line card and scale considerations.

Pseudowire Headend without QoS policy

Explains default traffic behavior when no QoS policies are applied to a PWHE interface.


General features and support information for QoS on PWHE

Read this topic to understand the foundational support details for QoS on PWHE, including address-family compatibility, policy directions, and subinterface inheritance behavior. Knowing these details helps you apply policies correctly on main and subinterfaces. This ensures that configurations remain supported and behave as expected across IPv4 and IPv6 deployments.

The feature supports:

  • IPv4 address families

  • IPv6 address families

QoS policies supported:

  • Ingress: support for policing and marking.

  • Egress: support for marking and queuing.

Subinterface policies:

  • You can apply policy maps on PW-Ether subinterfaces.

  • PW-Ether subinterfaces inherit policies from their main PW-Ether interface.

This table summarizes the policies you can configure on PWHE main and subinterfaces for egress.

Table 3. Egress Policy Matrix (Main versus Subinterface)

On the egress PWHE main interface

On the egress PWHE subinterface

when you configure one of the following:
  • two-level H-QoS queuing policy or flat QoS queuing policy,

  • marking policy, or

  • both

you cannot configure any policies.

if you do not configure any policies

you can configure one of the following:
  • two-level H-QoS queuing policy or flat QoS queuing policy,

  • marking policy, or

  • both

if you configure aggregate shaper, you cannot configure a second policy

you can configure a marking policy, but you cannot set the traffic class. You can set the bandwidth allocation in the queuing policy.

Simultaneous policies on port and PWHE interfaces:

  • You can apply policies at the port for transit traffic while also applying policies for PWHE interfaces.

  • This application enables concurrent control of core and pseudowire traffic on the same device.


Traffic mapping for Pseudowire Headend interfaces to pin-down members

By pinning down a member, you keep specific network resources in use. This method gives you stability, predictability, and control over operations. Use it for complex network environments, where dynamic changes can cause issues.

A Pseudowire Headend (PWHE) interface sends its traffic to a specific physical (or pin-down) member. The mapping determines how flows are assigned and maintained for predictable forwarding and shaping.

  • Consider a case where the generic interface list has 10G and 100G interfaces, and 2 PWHE interfaces named PWHE-1 and PWHE-2 use this generic list.

    • If the traffic for PWHE-1 is hashed (or assigned) to the 10G interface, all the traffic for PWHE-1 will exclusively use the pinned-down 10G interface.

    • If the traffic for PWHE-2 is hashed to the 100G interface, all the traffic for PWHE-2 will exclusively use the pinned-down 100G interface.

  • Each PWHE interface directs its traffic through a single physical interface from the generic interface list, so all data flows for that PWHE interface use the same physical path.


Port shaping effect on pin-down members

Port shaping determines how much bandwidth a pin-down member can provide to pseudowire headend (PWHE) traffic.

Understanding this behavior helps you predict effective throughput when PWHE interfaces share the same physical interface.

Port shaping defines how bandwidth limits configured on a physical member influence the total rate available to PWHE traffic pinned to that member.

  • Rate limitation: A shaping policy on a member interface restricts the maximum amount of traffic that can pass through that port. This constraint affects all PWHE interfaces that are hashed to the same physical member.

  • Example scenario: If a pin-down member has a shaping policy set to 10 G on its default traffic class (TC-0), the maximum bandwidth allowed on that interface is 10 G. When a PWHE interface (for example, PWHE-1) is configured to use 50% of available bandwidth and is pinned to that member, the effective maximum bandwidth for PWHE-1 is 5 Gbps.

  • Operational summary: The shaping configuration on the physical port directly determines the throughput available to PWHE traffic. Even if a PWHE interface has its own shaping policy, its actual transmission rate is constrained by the shaping policy of the pin-down member it uses.


Bandwidth distribution for QoS on Pseudowire Headend

Bandwidth distribution controls how excess capacity is shared across classes once high-priority traffic has received its guaranteed bandwidth. Understanding this mechanism helps maintain fairness and efficient utilization of shared physical resources.

Bandwidth distribution determines how remaining capacity is shared between Pseudowire Headend (PWHE) and non-PWHE traffic after guaranteed service levels are met.

  • Shared resource control: PWHE and non-PWHE traffic on the same pin-down member share scheduling resources dynamically based on configured bandwidth ratios.

  • Policy tuning: Configure bandwidth remaining ratio values in the parent class-default of PWHE policies to control excess-bandwidth allocation.

    • between PWHE and non-PWHE traffic and

    • between various PWHE interfaces and physical interfaces.

  • Operational guidance: Adjust these ratios to maintain fairness and prevent oversubscription between pseudowire traffic and core traffic.


QoS accounting for Pseudowire Headend traffic

QoS accounting measures how pseudowire traffic consumes bandwidth and applies QoS functions, including policing, shaping, and collecting statistics. Accurate accounting enables you to verify performance, troubleshoot issues, and optimize configurations.

QoS accounting describes how the router measures and reports traffic that is handled by PWHE interfaces. This helps validate policy effectiveness and ensures accurate performance analysis.

  • Measurement basis: Packet length calculations when performing QoS functions (such as policing, shaping, and gathering statistics) include the customer IP packet, the customer Layer 2 header, and any configured overhead.

  • Exclusion scope: Outer MPLS headers (such as VC and transport labels) and outer Layer 2 headers (Layer 2 encap of the underlying physical interface) of the physical interface are not counted.

  • Operational use: These statistics provide insight into actual customer traffic and enable validation of QoS policy outcomes.


Marking for QoS on Pseudowire Headend

Marking identifies packet classes and preserves differentiated treatment as traffic enters and exits the pseudowire. Understanding supported marking options ensures consistent end-to-end QoS behavior.

Marking defines which header fields the router can set on Pseudowire Headend (PWHE) interfaces and how those markings apply in the ingress and egress directions.

  • Supported fields: Marking of the customer IP header (DSCP or precedence), qos-group, and discard-class is supported.

  • Transport CoS limitation: Marking of CoS bits in the transport Layer 2 header is not supported.

  • Unconditional marking (ingress and egress): You can set DSCP or precedence, discard-class , and qos-group .

  • Conditional policer marking (ingress): You can set at most two of these— DSCP or precedence, qos-group , discard-class .

  • Unconditional policer marking (egress): You can set DSCP or precedence and discard-class .

Table 4. Marking Options and Supported Traffic Direction

Type of marking

Traffic direction

Supported markings

Unconditional

Ingress and egress

DSCP or precedence, discard-class , qos-group

Conditional policer

Ingress

Any two of: DSCP or precedence, qos-group , discard-class

Unconditional policer

Egress

DSCP or precedence, discard-class

Transport L2 CoS

Ingress or egress

Not supported


Policing and queuing for QoS on Pseudowire Headend

Policing regulates ingress rates while queuing and shaping control egress scheduling. Understanding these behaviors ensures predictable bandwidth enforcement and priority handling for Pseudowire Headend (PWHE) traffic.

Policing and queuing govern how PWHE traffic complies with configured rates and how packets are scheduled on egress:

  • Ingress policing: All policing features supported on normal Layer 3 interfaces are supported on the PWHE main interface and subinterfaces.

  • Bundles: If a PWHE member is a bundle, policy maps are replicated on bundle members.

  • Statistics: Show commands provide egress statistics per pin-down member and per bundle member. Aggregate shaper statistics summarize subinterface queues per pin-down member.

If you attach a policy map to the PWHE interface, queuing behavior changes for ingress and egress traffic.

Table 5. PWHE Queuing and Policing Behavior

Policy map on PWHE

Egress queues

Ingress policers

None

Each PWHE member has default queues for each port. Egress traffic uses the member's port default queue. Queuing is supported in the egress direction only when a service policy is attached in the output direction.

Not applicable

Present

Egress queues in the policy maps are replicated on each PWHE member.

Policer bandwidth is calculated based on active members per slice. These are the members attached to the generic interface list on the PWHE interface.


Pseudowire Headend aggregate shaper

The aggregate shaper limits the total egress rate for Pseudowire Headend (PWHE) traffic while allowing subinterfaces to enforce class-level policies.

The PWHE aggregate shaper operates on class-default and can coexist with subinterface policies using supported action combinations.

  • Action scope: The aggregate shaper policy contains class-default with shape and bandwidth remaining actions.

  • Supported combinations for the aggregate shaper policy:

    • Only shape action

    • Only bandwidth remaining action, or

    • both shape and bandwidth remaining actions (recommended)

  • Coexistence rule: Coexistence rule: The aggregate shaper can coexist with subinterface policies. If a shaper is configured on the main interface, you cannot configure another shaping policy.

Table 6. Aggregate Shaper Action Variants

Policy variant

Actions in class-default

Only shape

shape average <rate>

Only bandwidth remaining

bandwidth remaining ratio <value>

Both shape and bandwidth remaining actions (recommended)

shape average <rate> and bandwidth remaining ratio <value>


Pseudowire Ethernet subinterface policy

Subinterface policies enable fine-grained QoS management at lower levels of the interface hierarchy. You can specify how bandwidth and marking are applied to specific classes of traffic on each pseudowire subinterface.

Apply PW-Ethernet subinterface policies for granular QoS management when no policy exists on the parent PW-Ether interface. Key features include:

  • Applicability: You can apply QoS policies on PW-Ether subinterfaces only when no policy exists on the main PW-Ether interface.

  • Granular bandwidth control: You can configure bandwidth limits as percentage values for each class within the subinterface policy hierarchy. For example, if you have a policy that manages traffic on a PW-Ether subinterface, you can specify that a particular class of traffic should use, say, 20 percent of the available bandwidth.

  • Differentiated treatment: These subinterface-level configurations let you assign distinct service levels for different customers or applications.

  • Hierarchy consistency: Subinterface policies align with parent aggregate and shaping policies to maintain overall QoS consistency.


Scale information for QoS on Pseudowire Headend interfaces

Scale information helps you plan configurations that remain within hardware resource limits and maintain consistent performance.

Router-specific scale values define how many Pseudowire Headend (PWHE) interfaces can simultaneously support ingress or egress QoS policies without depleting queueing resources.

  • Line Card Capacity:

    • Each line card supports up to 256 PWHE interfaces with ingress or egress QoS policies.

    • This scale is valid only if queuing resources are not exhausted.

    • The actual scale also depends on available queuing and shaping resources and the complexity of the policies applied.

    • Exceeding these limits may cause policy application failures or degraded performance.

  • Resource Dependency: The actual scale depends on available queuing and shaping resources. Higher policy complexity can reduce effective scale.


Pseudowire Headend without QoS policy

When a PWHE interface does not have an explicit QoS policy, the router still applies basic classification by copying IP header markings into MPLS labels. Knowing this default behavior helps you predict traffic handling before applying explicit policies.

Default QoS on PWHE interfaces exhibits these behaviors:

  • PWHE ingress to core-facing egress (access to core): DSCP or precedence values from the customer IP packet are copied to the EXP bits of all imposed labels (VPN and transport).

  • PWHE egress (core to access): DSCP or precedence values from the customer IP packet are copied to the EXP field in the access facing direction.

  • Operational impact: These inherited markings preserve basic service differentiation. Bandwidth and queueing controls are not enforced until explicit policies are applied.


Limitations for QoS on Pseudowire Headend

These constraints apply to QoS on pseudowire headend interfaces:

  • Interface support: Configure QoS only on PW-Ether main or subinterfaces operating in Layer 3 mode.

  • QoS accounting scope: QoS accounting does not include pseudowire (PW) headers when measuring and recording packet length.

    Configuration rules

    • When defining QoS policies, include at least one match criterion per class.

    • Use supported classification methods for matching access groups in class maps in IPv4 or IPv6. Packet-length or Time to Live (TTL)-based classification is not supported.

  • Classification and marking inheritance

    • Do not use Layer 2 header-based classification and marking on Layer 3 PWHE interfaces.

    • Subinterfaces inherit classification and marking behavior from the PW-Ether main interface if no explicit policy is configured.

  • Egress QoS-group classification: Use classification methods other than QoS group for BUM traffic in access-to-pseudowire flows.

  • Policing and shaping rate values: Policing and shaping rates are supported only as percentages of the interface bandwidth. Absolute rate values are not supported.


Configuration options for QoS on Pseudowire Headend

Use this reference to identify which QoS configuration best suits your Pseudowire Headend deployment.

The table helps you compare scenarios and select the configuration that matches your traffic type and shaping requirements.

Table 7. Selecting the Appropriate QoS Configuration on PWHE Interfaces

Configuration option

When to use

Network scale

Recommended for

Configure Flat QoS on Pseudowire Headend

Simple traffic management and basic prioritization; no hierarchy needed

Small to medium

Uniform traffic in which marking and queuing apply directly at the interface

Configure Hierarchical QoS on Pseudowire Headend

Multilevel control with parent and child policies

Large

Differentiated voice, video, and data with layered shaping and bandwidth

Configure QoS with aggregate shaper on Pseudowire Headend

Control total bandwidth and smooth bursts while preserving class QoS

Large

Multiple PW-Ether subinterfaces share physical bandwidth and require port level limits


Configure Flat QoS on Pseudowire Headend

Configure a single-level policy on a PWHE interface to prioritize traffic classes.

Flat QoS provides a single policy level on the PW-Ether interface. You manage ingress marking and policing, as well as egress queuing and shaping directly.

Before you begin

Identify classes and priority. Ensure there is no conflicting aggregate shaper on the main interface.

Follow these steps to configure flat QoS on a PWHE interface.

Procedure

  1. Apply an input service policy to the physical interface

    Example:

    Router(config)#interface HundredGigE0/0/0/59
    Router(config-if)#service-policy input MAIN_IN_PMAP5
    Router(config-if)#commit

    This example applies an input service policy named MAIN_IN_PMAP5 to the HundredGigE0/0/0/59 physical interface.

  2. Apply output service policies to the PWHE interface.

    Example:

    Router(config)#interface PW-Ether1 
    Router(config-if)#service-policy output shape_flat_bwrr 
    Router(config-if)#service-policy output MAIN_OUT_PMAP5_Q_TC_MARK 
    Router(config-if)#commit 

    This example applies two service policies named shape_flat_bwrr and MAIN_OUT_PMAP5_Q_TC_MARK to the PWHE interface named PW-Ether .

  3. Define class maps and policy maps for traffic classes.

    Example:

    Router(config)#policy-map type qos shape_flat_bwrr
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_1
    Router(config-pmap-c)#bandwidth remaining ratio 20
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_2
    Router(config-pmap-c)#bandwidth remaining ratio 30
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_3
    Router(config-pmap-c)#bandwidth remaining ratio 40
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_4
    Router(config-pmap-c)#bandwidth remaining ratio 50
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_5
    Router(config-pmap-c)#bandwidth remaining ratio 60
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_6
    Router(config-pmap-c)#shape average percent 30
    Router(config-pmap-c)#priority level 2
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_7
    Router(config-pmap-c)#shape average percent 40
    Router(config-pmap-c)#priority level 1
    Router(config-pmap)#end-policy-map

    This step configures bandwidth remaining ratio in the shape_flat_bwrr service policy on the PW-Ether1 interface for different traffic classes. It defines how bandwidth is distributed and prioritized among classes on the PWHE interface.

  4. Set traffic classes on the PWHE interface.

    Example:

    Router(config)#policy-map type qos MAIN_OUT_PMAP5_Q_TC_MARK
    Router(config-pmap)#class type qos MAIN_OUT_MARK_CMAP_1
    Router(config-pmap-c)#set traffic-class 1
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_MARK_CMAP_2
    Router(config-pmap-c)#set traffic-class 2
    
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_MARK_CMAP_3
    Router(config-pmap-c)#set traffic-class 3
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_MARK_CMAP_4
    Router(config-pmap-c)#set traffic-class 4
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_MARK_CMAP_5
    Router(config-pmap-c)#set traffic-class 5
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_MARK_CMAP_6
    Router(config-pmap-c)#set traffic-class 6
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_MARK_CMAP_7
    Router(config-pmap-c)#set traffic-class 7
    Router(config-pmap-c)#exit
    Router(config-pmap)#end-policy-map

    This example sets traffic classes in the MAIN_OUT_PMAP5_Q_TC_MARK policy on the PW-Ether1 interface. This enables consistent QoS treatment across the network.

  5. Set traffic classes and QoS groups on the physical interface.

    Example:

    Router(config)#policy-map type qos MAIN_IN_PMAP5
    Router(config-pmap)#class type qos MAIN_IN_CMAP8_1
    Router(config-pmap-c)#set traffic-class 1
    Router(config-pmap-c)#set qos-group 1
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_IN_CMAP8_2
    Router(config-pmap-c)#set traffic-class 2
    Router(config-pmap-c)#set qos-group 2
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_IN_CMAP8_3
    Router(config-pmap-c)#set traffic-class 3
    Router(config-pmap-c)#set qos-group 3
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_IN_CMAP8_4
    Router(config-pmap-c)#set traffic-class 4
    Router(config-pmap-c)#set qos-group 4
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_IN_CMAP8_5
    Router(config-pmap-c)#set traffic-class 5
    Router(config-pmap-c)#set qos-group 5
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_IN_CMAP8_6
    Router(config-pmap-c)#set traffic-class 6
    Router(config-pmap-c)#set qos-group 6
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_IN_CMAP8_7
    Router(config-pmap-c)#set traffic-class 7
    Router(config-pmap-c)#set qos-group 7
    Router(config-pmap-c)#exit
    Router(config-pmap)#end-policy-map
    Router(config-pmap)#commit

    This example sets traffic classes and QoS groups in the MAIN_IN_PMAP5 policy on the HundredGigE0/0/0/59 physical interface. It ensures ingress traffic is properly classified and marked for QoS enforcement.

  6. Verify the flat QoS configuration for the PWHE interface.

    Example:

    Router#show policy-map  interface PW-Ether1 output   
    
     
    PW-Ether1 output: shape_flat_bwrr
     
    Class MAIN_OUT_CMAP_1
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3713933519/885747042770         20297753
        Transmitted         :           819154447/194810747182         4464282
        Total Dropped       :          2894779072/690936295588         15833471
      Queueing statistics
        Queue ID                             : None (Pseudo-Wire)
        Taildropped(packets/bytes)           : 2894779072/690936295588
    Class MAIN_OUT_CMAP_2
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3713933859/885747126352         20297723
        Transmitted         :          1226431948/292261487200         6697427
        Total Dropped       :          2487501911/593485639152         13600296
      Queueing statistics
        Queue ID                             : None (Pseudo-Wire)
        Taildropped(packets/bytes)           : 2487501911/593485639152
    Class MAIN_OUT_CMAP_3
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3713934320/885747236808         20297726
        Transmitted         :          1635701991/389672415000         8929683
        Total Dropped       :          2078232329/496074821808         11368043
      Queueing statistics
        Queue ID                             : None (Pseudo-Wire)
        Taildropped(packets/bytes)           : 2078232329/496074821808
    Class MAIN_OUT_CMAP_4
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3713934620/885747307472         20297725
        Transmitted         :          1962135193/467620808304         10715952
        Total Dropped       :          1751799427/418126499168         9581773
      Queueing statistics
        Queue ID                             : None (Pseudo-Wire)
        Taildropped(packets/bytes)           : 1751799427/418126499168
    Class MAIN_OUT_CMAP_5
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3713934983/885747394920         20297724
        Transmitted         :          2453607357/584506995776         13394493
        Total Dropped       :          1260327626/301240399144         6903231
      Queueing statistics
        Queue ID                             : None (Pseudo-Wire)
        Taildropped(packets/bytes)           : 1260327626/301240399144
    Class MAIN_OUT_CMAP_6
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3713935277/885747464816         20297721
        Transmitted         :          3713522895/885652168176         20295533
        Total Dropped       :              412382/95296640             2188
      Queueing statistics
        Queue ID                             : None (Pseudo-Wire)
        Taildropped(packets/bytes)           : 412382/95296640
    Class MAIN_OUT_CMAP_7
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3713935660/885747555696         20297721
        Transmitted         :          3713935660/885747555696         20297721
        Total Dropped       :                   0/0                    0
      Queueing statistics
        Queue ID                             : None (Pseudo-Wire)
        Taildropped(packets/bytes)           : 0/0
    Class class-default
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3713933237/885746977848         20297727
        Transmitted         :            40921134/9742495832           223233
        Total Dropped       :          3673012103/876004482016         20074494
    Policy Bag Stats time: 1722242150998  [Local Time: 07/29/24 08:35:50.998]
     
    PW-Ether1 output: MAIN_OUT_PMAP5_Q_TC_MARK
     
    Class MAIN_OUT_MARK_CMAP_1
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3714522947/885887620056         20317550
        Transmitted         :          3714522947/885887620056         20317550
        Total Dropped       :                   0/0                    0
    Class MAIN_OUT_MARK_CMAP_2
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3714523360/885887719136         20317549
        Transmitted         :          3714523360/885887719136         20317549
        Total Dropped       :                   0/0                    0
    Class MAIN_OUT_MARK_CMAP_3
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3714523737/885887808376         20317548
        Transmitted         :          3714523737/885887808376         20317548
        Total Dropped       :                   0/0                    0
    Class MAIN_OUT_MARK_CMAP_4
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3714524115/885887898616         20317547
        Transmitted         :          3714524115/885887898616         20317547
        Total Dropped       :                   0/0                    0
    Class MAIN_OUT_MARK_CMAP_5
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3714524499/885887990496         20317545
        Transmitted         :          3714524499/885887990496         20317545
        Total Dropped       :                   0/0                    0
    Class MAIN_OUT_MARK_CMAP_6
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3714524873/885888079352         20317545
        Transmitted         :          3714524873/885888079352         20317545
        Total Dropped       :                   0/0                    0
    Class MAIN_OUT_MARK_CMAP_7
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3714525265/885888173128         20317546
        Transmitted         :          3714525265/885888173128         20317546
        Total Dropped       :                   0/0                    0
    Class class-default
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          3714525658/885888266160         20317545
        Transmitted         :          3714525658/885888266160         20317545
        Total Dropped       :                   0/0                    0
    Policy Bag Stats time: 1722242151064  [Local Time: 07/29/24 08:35:51.064]
     
     
     

    This example shows:

    • large numbers of matched and transmitted packets per class indicating active classification and forwarding.

    • significant drops in some classes (for example, MAIN_OUT_CMAP_1 to MAIN_OUT_CMAP_5 ), indicating traffic shaping or congestion control is active and working.

    • zero drops in marking policy classes (MAIN_OUT_MARK_CMAP_1 to MAIN_OUT_MARK_CMAP_7 ), confirming marking is applied without loss.

Flat QoS enforces simple per-class bandwidth allocation and marking on PWHE interfaces without hierarchical nesting.


Configure Hierarchical QoS on Pseudowire Headend

Configure hierarchical parent and child policies on a Pseudowire Headend (PWHE) interface to achieve granular control over traffic scheduling and shaping.

In a hierarchical QoS (H-QoS) setup, the parent policy defines the overall shaping rate for the interface, while the child policy determines how that bandwidth is distributed among individual traffic classes. This configuration enables precise control of traffic priorities and ensures that critical services continue to receive resources even when congestion occurs.

Before you begin

Before configuring H-QoS:

Follow these steps to configure H-QoS on a PWHE interface:

Procedure

  1. Apply the parent output policy to the PW-Ether interface.

    Example:

    Router(config)#interface PW-Ether1
    Router(config-if)#service-policy  output port_shaper_combination_hqos_bwrr
    Router(config-if)#commit

    This example attaches the parent QoS policy map parent_shape_hqos_bwrr to the egress (output) of the PW-Ether1 interface. This ensures that all outbound traffic on this interface is controlled by the shaping and bandwidth rules defined in the referenced policy map.

  2. Create the parent QoS policy map with shaping rules.

    Example:

    Router(config)#policy-map type qos parent_shape_hqos_bwrr
    Router(config-pmap)#class type qos class-default
    Router(config-pmap-c)#shape average percent 70
    Router(config-pmap-c)#end-policy-map

    This example creates a parent QoS policy named parent_shape_hqos_bwrr . Within this policy, the class-default traffic class is shaped to use up to 70 percent of the interface's bandwidth.

  3. Reference a child policy map within the parent policy map.

    Example:

    Router(config)#policy-map type qos parent_shape_hqos_bwrr
    Router(config-pmap)#class type qos class-default
    Router(config-pmap-c)#service-policy type qos shape_hqos_bwrr

    This step links the child policy map shape_hqos_bwrr to the class-default class of the parent policy. This allows for further breakdown and detailed QoS handling of the shaped traffic, enabling more granular bandwidth management and queuing within the already shaped group.

  4. Define the child policy map.

    Example:

    Router(config)#policy-map type qos shape_hqos_bwrr
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_1
    Router(config-pmap-c)#bandwidth remaining ratio 20
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_2
    Router(config-pmap-c)#bandwidth remaining ratio 30
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_3
    Router(config-pmap-c)#bandwidth remaining ratio 40
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_4
    Router(config-pmap-c)#bandwidth remaining ratio 50
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_5
    Router(config-pmap-c)#bandwidth remaining ratio 60
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_6
    Router(config-pmap-c)#shape average percent 10
    Router(config-pmap-c)#priority level 2
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_7
    Router(config-pmap-c)#shape average percent 20
    Router(config-pmap-c)#priority level 1
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos class-default
    Router(config-pmap-c)#bandwidth remaining ratio 10
    Router(config-pmap-c)#end-policy-map
    Router(config)#commit

    This example defines the child policy map shape_hqos_bwrr . Each MAIN_OUT_CMAP_X class is assigned a specific bandwidth share (bandwidth remaining ratio) or shaping parameter (shape average percent and priority level).

    This allows for further breakdown and detailed QoS handling of the shaped traffic, enabling more granular bandwidth management and queuing within the already shaped group. Specifically:

    • Classes 1 to 5 are allocated bandwidth in increasing ratios.

    • Classes 6 and 7 are shaped and prioritized, ensuring critical traffic gets faster service.

    • The class-default ensures any unclassified traffic gets a minimal share.

    • Traffic is separated into classes, each with explicit bandwidth allocation or priority, providing precise traffic management.

  5. Verify the H-QoS operation.

    Example:

    Router#show policy-map interface PW-Ether1 output  
    
    
    PW-Ether1 output: MAIN_OUT_PMAP5_Q_TC_MARK
    Class MAIN_OUT_MARK_CMAP_1
    
      Classification statistics          (packets/bytes)     (rate - kbps)
    
        Matched             :           567459747/135334786816         12797449
    
        Transmitted         :           567459747/135334786816         12797449
    
        Total Dropped       :                   0/0                    0
    
    Class MAIN_OUT_MARK_CMAP_2
    
      Classification statistics          (packets/bytes)     (rate - kbps)
    
        Matched             :           567460159/135334884896         12797447
    
        Transmitted         :           567460159/135334884896         12797447
    
        Total Dropped       :                   0/0                    0
    
    Class MAIN_OUT_MARK_CMAP_3
    
      Classification statistics          (packets/bytes)     (rate - kbps)
    
        Matched             :           567460559/135334979696         12797443
    
        Transmitted         :           567460559/135334979696         12797443
    
        Total Dropped       :                   0/0                    0
    
    Class MAIN_OUT_MARK_CMAP_4
    
      Classification statistics          (packets/bytes)     (rate - kbps)
    
        Matched             :           567460923/135335066400         12797441
    
        Transmitted         :           567460923/135335066400         12797441
    
        Total Dropped       :                   0/0                    0
    
    Class MAIN_OUT_MARK_CMAP_5
    
      Classification statistics          (packets/bytes)     (rate - kbps)
    
        Matched             :           567461313/135335159920         12797441
    
        Transmitted         :           567461313/135335159920         12797441
    
        Total Dropped       :                   0/0                    0
    
    Class MAIN_OUT_MARK_CMAP_6
    
      Classification statistics          (packets/bytes)     (rate - kbps)
    
        Matched             :           567461672/135335245112         12797434
    
        Transmitted         :           567461672/135335245112         12797434
    
        Total Dropped       :                   0/0                    0
    
    Class MAIN_OUT_MARK_CMAP_7
    
      Classification statistics          (packets/bytes)     (rate - kbps)
    
        Matched             :           567462071/135335339784         12797433
    
        Transmitted         :           567462071/135335339784         12797433
    
        Total Dropped       :                   0/0                    0
    
    Class class-default
    
      Classification statistics          (packets/bytes)     (rate - kbps)
    
        Matched             :           567462460/135335433176         12797433
    
        Transmitted         :           567462460/135335433176         12797433
    
        Total Dropped       :                   0/0                    0
    
    Policy Bag Stats time: 1722242661147  
    
     PW-Ether1 output: parent_shape_hqos_bwrr
    
    Class class-default
    
      Classification statistics          (packets/bytes)     (rate - kbps)
    
        Matched             :          4534918248/1081543126494        103380648
    
        Transmitted         :          1754661178/418305616732         40446522
    
        Total Dropped       :          2780257070/663237509762         62934126
    
     Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_1
    
        Classification statistics          (packets/bytes)     (rate - kbps)
    
          Matched             :           566863835/135192664022         13582722
    
          Transmitted         :           116771460/27808308708          3393098
    
          Total Dropped       :           450092375/107384355314         10189624
    
        Queueing statistics
    
          Queue ID                             : None (Pseudo-Wire)
    
          Taildropped(packets/bytes)           : 450092375/107384355314
    
     Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_2
    
        Classification statistics          (packets/bytes)     (rate - kbps)
    
          Matched             :           566864236/135192760288         12828274
    
          Transmitted         :           175109685/41713170712          3958057
    
          Total Dropped       :           391754551/93479589576          8870217
    
        Queueing statistics
    
          Queue ID                             : None (Pseudo-Wire)
    
          Taildropped(packets/bytes)           : 391754551/93479589576
    
     Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_3
    
        Classification statistics          (packets/bytes)     (rate - kbps)
    
          Matched             :           566864574/135192841920         12828272
    
          Transmitted         :           233516796/55616629856          5277334
    
          Total Dropped       :           333347778/79576212064          7550938
    
        Queueing statistics
    
          Queue ID                             : None (Pseudo-Wire)
    
          Taildropped(packets/bytes)           : 333347778/79576212064
    
     Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_4
    
        Classification statistics          (packets/bytes)     (rate - kbps)
    
          Matched             :           566864964/135192934568         12828276
    
          Transmitted         :           280180776/66740681128          6332876
    
          Total Dropped       :           286684188/68452253440          6495400
    
        Queueing statistics
    
          Queue ID                             : None (Pseudo-Wire)
    
          Taildropped(packets/bytes)           : 286684188/68452253440
    
     Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_5
    
        Classification statistics          (packets/bytes)     (rate - kbps)
    
          Matched             :           566865352/135193027832         12828278
    
          Transmitted         :           350225162/83425674520          7916096
    
          Total Dropped       :           216640190/51767353312          4912182
    
        Queueing statistics
    
          Queue ID                             : None (Pseudo-Wire)
    
          Taildropped(packets/bytes)           : 216640190/51767353312
    
     Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_6
    
        Classification statistics          (packets/bytes)     (rate - kbps)
    
          Matched             :           566865746/135193120992         12828275
    
          Transmitted         :           180140646/43035061400          4083496
    
          Total Dropped       :           386725100/92158059592          8744779
    
        Queueing statistics
    
          Queue ID                             : None (Pseudo-Wire)
    
          Taildropped(packets/bytes)           : 386725100/92158059592
    
    Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_7
    
        Classification statistics          (packets/bytes)     (rate - kbps)
    
          Matched             :           566866035/135193189376         12828277
    
          Transmitted         :           360261283/86063059512          8166361
    
          Total Dropped       :           206604752/49130129864          4661916
    
        Queueing statistics
    
          Queue ID                             : None (Pseudo-Wire)
    
          Taildropped(packets/bytes)           : 206604752/49130129864
    
    Policy shape_hqos_bwrr Class class-default
    
        Classification statistics          (packets/bytes)     (rate - kbps)
    
          Matched             :           566863506/135192587496         12828274
    
          Transmitted         :            58455370/13903030896          1319204
    
          Total Dropped       :           508408136/121289556600         11509070
    
        Queueing statistics
    
          Queue ID                             : None (Pseudo-Wire)
    
          Taildropped(packets/bytes)           : 508408136/121289556600
    
    Policy Bag Stats time: 1722242661011  
    

    Use this example to confirm that:

    • all expected classes appear with growing counters.

    • critical classes have minimal or zero drops.

    • traffic rates match your policy allocations.

After configuration, the H-QoS policy maintains fairness across all classes by providing fine-grained control of pseudowire queues. During congestion, high-priority traffic retains required bandwidth and performance, while overall bandwidth is shaped efficiently.


Configure QoS with aggregate shaper on Pseudowire Headend

Configure an aggregate shaper on the Pseudowire Ethernet (PW-Ether) main interface to control the total egress bandwidth for all pseudowire subinterfaces. This setup ensures that overall traffic leaving the interface stays within a defined limit, while each subinterface continues to manage its own class-based marking and queuing.

An aggregate shaper defines the maximum rate for all PWHE subinterfaces combined. It operates on the class-default of the policy map and enforces a collective bandwidth cap across all associated traffic.

You can configure an aggregate shaper to coexist with subinterface policies if these configurations meet the rules for shaping and bandwidth-remaining actions. This approach allows you to balance total throughput with per-subinterface service differentiation.

Before you begin

Before you configure the aggregate shaper:

Follow these steps to configure an aggregate shaper on a PWHE interface:

Procedure

  1. Define the aggregate shaper parent policy map.

    Example:

    Router(config)#policy-map parent_shape_hqos_bwrr
    Router(config-pmap)#class class-default
    Router(config-pmap-c)#shape average percent 5
    Router(config-pmap-c)#service-policy type qos shape_hqos_bwrr
    Router(config-pmap-c)#exit
    Router(config-pmap)#end-policy-map
    Router(config)#commit

    The policy map (parent_shape_hqos_bwrr ) defines how all output traffic on the PW-Ether1 main interface is managed:

    • The class-default command matches all traffic on the interface that isn’t explicitly matched by another class (and since only class-default is present, this means all egress traffic).

    • The shape average command enforces an aggregate shaping limit of 5 percent of the available interface bandwidth. The total egress bandwidth for all traffic combined cannot exceed 100 percent of the interface bandwidth.

    • The service-policy type qos shape_hqos_bwrr command attaches a child policy. After applying the aggregate shaping limit, the traffic is further divided and managed into classes as defined in the child policy.

  2. Define the child policy map for class-based shaping and bandwidth allocation.

    Example:

    Router(config)#policy-map type qos shape_hqos_bwrr
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_1
    Router(config-pmap-c)#bandwidth remaining ratio 20
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_2
    Router(config-pmap-c)#bandwidth remaining ratio 30
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_3
    Router(config-pmap-c)#bandwidth remaining ratio 40
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_4
    Router(config-pmap-c)#bandwidth remaining ratio 50
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_5
    Router(config-pmap-c)#bandwidth remaining ratio 60
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_6
    Router(config-pmap-c)#shape average percent 10
    Router(config-pmap-c)#priority level 2
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_CMAP_7
    Router(config-pmap-c)#shape average percent 20
    Router(config-pmap-c)#priority level 1
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos class-default
    Router(config-pmap-c)#bandwidth remaining ratio 10
    Router(config-pmap-c)#end-policy-map
    Router(config)#commit

    The child policy (shape_hqos_bwrr ) breaks down the aggregate bandwidth among several classes:

    • the bandwidth remaining ratio assigns relative bandwidth shares to each class.

    • the shape average percent and the priority level give special handling to specific classes.

  3. Apply the aggregate shaper parent policy to the main PWHE interface.

    Example:

    Router(config)#interface PW-Ether1
    Router(config-if)#service-policy output parent_shape_hqos_bwrr
    Router(config-if)#commit

    This command applies the aggregate shaper and all class-based bandwidth and priority controls to all egress traffic on the main interface (PW-Ether1 ).

  4. Apply a DSCP marking policy to the PWHE subinterface.

    Example:

    Router(config)#interface PW-Ether1.1
    Router(config-if)#service-policy output MAIN_OUT_DSCP_MARK
    Router(config-if)#commit

    This example ensures traffic leaving the subinterface PW-Ether1.1 is marked with the correct DSCP values for downstream QoS treatment.

  5. Define the DSCP marking policy map for the subinterface.

    Example:

    Router(config)#policy-map type qos MAIN_OUT_DSCP_MARK
    Router(config-pmap)#class type qos MAIN_OUT_MARK_DSCP_CMAP_1
    Router(config-pmap-c)#set dscp af11
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_MARK_DSCP_CMAP_2
    Router(config-pmap-c)#set dscp af12
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_MARK_DSCP_CMAP_3
    Router(config-pmap-c)#set dscp af13
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_MARK_DSCP_CMAP_4
    Router(config-pmap-c)#set dscp af41
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_MARK_DSCP_CMAP_5
    Router(config-pmap-c)#set dscp af42
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_MARK_DSCP_CMAP_6
    Router(config-pmap-c)#set dscp af43
    Router(config-pmap-c)#exit
    Router(config-pmap)#class type qos MAIN_OUT_MARK_DSCP_CMAP_7
    Router(config-pmap-c)#set dscp ef
    Router(config-pmap-c)#end-policy-map
    Router(config)#commit

    The policy map marks each class of traffic with a specific DSCP value as it leaves the subinterface:

    • Assured Forwarding (af ) values (for example, af11 and af41 ) indicate differentiated levels of forwarding assurance and drop precedence for business-critical or prioritized services.

    • Expedited Forwarding (ef ) is typically used for low-latency, high-priority traffic such as voice or real-time applications.

  6. Confirm shaping and class statistics on main interface.

    Example:

    Router#show qos-ea default-queue PW-Ether 1 member interface HundredGigE0/7/0/2 output
    
    Interface Name        =          PE1
    Interface Handle      =     1c000180
    Location              =     0/7/CPU0
    Asic Instance         =            0
    VOQ Base              =        53312
    Port Speed(kbps)      =    100000000
    Local Port            =    etm_local
    VOQ Mode              =            8
           ReceivedPkts    ReceivedBytes   DroppedPkts     DroppedBytes
    -------------------------------------------------------------------
    TC_0 = 150295879       150596322940    762151909       763676346056    
    TC_1 = 0               0               0               0               
    TC_2 = 0               0               0               0               
    TC_3 = 0               0               0               0               
    TC_4 = 0               0               0               0               
    TC_5 = 0               0               0               0               
    TC_6 = 0               0               0               0               
    TC_7 = 0               0               0               0 
     

    This example shows queue statistics for each traffic class (TC_0 to TC_7 ) on the main interface PW-Ether1 . TC_0 (class-default) reflects packet shaping and drops.

  7. View detailed QoS statistics and configuration information for output traffic from the main interface.

    Example:

    Router#show qos interface PW-Ether1 output member HundredGigE0/7/0/2 
    NOTE:- Configured values are displayed within parentheses
    Node 0/7/CPU0, Interface PW-Ether1 Ifh 0x7800104c (PW-Ether) -- output policy
    NPU Id:                        0
    Total number of classes:       9
    Interface Bandwidth:           100000000 kbps
    Policy Name:                   parent_shape_hqos_bwrr
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    ------------------------------------------------------------------------------
    Level1 Class                             =   class-default
    
       Level2 Class                             =   MAIN_OUT_CMAP_1
    
       Level2 Class                             =   MAIN_OUT_CMAP_2
    
       Level2 Class                             =   MAIN_OUT_CMAP_3
    
       Level2 Class                             =   MAIN_OUT_CMAP_4
    
       Level2 Class                             =   MAIN_OUT_CMAP_5
    
       Level2 Class                             =   MAIN_OUT_CMAP_6
    
       Level2 Class                             =   MAIN_OUT_CMAP_7
    
       Level2 Class                             =   class-default
    Node 0/7/CPU0, Interface PW-Ether1 Ifh 0x7800104c (PW-Ether) -- output policy
    NPU Id:                        0
    Total number of classes:       8
    Interface Bandwidth:           100000000 kbps
    Policy Name:                   MAIN_OUT_PMAP5_Q_TC_MARK
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    ------------------------------------------------------------------------------
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_1
    New traffic class                        =   1
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_2
    New traffic class                        =   2
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_3
    New traffic class                        =   3
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_4
    New traffic class                        =   4
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_5
    New traffic class                        =   5
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_6
    New traffic class                        =   6
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_7
    New traffic class                        =   7
    
    Level1 Class                             =   class-default
    Node 0/7/CPU0, Interface PW-Ether1 Ifh 0x7800104c (PW-Ether) -- output policy
    NPU Id:                        3
    Total number of classes:       9
    Interface Bandwidth:           100000000 kbps
    Policy Name:                   parent_shape_hqos_bwrr
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    ------------------------------------------------------------------------------
    Level1 Class                             =   class-default
    
       Level2 Class                             =   MAIN_OUT_CMAP_1
    
       Level2 Class                             =   MAIN_OUT_CMAP_2
    
       Level2 Class                             =   MAIN_OUT_CMAP_3
    
       Level2 Class                             =   MAIN_OUT_CMAP_4
    
       Level2 Class                             =   MAIN_OUT_CMAP_5
    
       Level2 Class                             =   MAIN_OUT_CMAP_6
    
       Level2 Class                             =   MAIN_OUT_CMAP_7
    
       Level2 Class                             =   class-default
    Node 0/7/CPU0, Interface PW-Ether1 Ifh 0x7800104c (PW-Ether) -- output policy
    NPU Id:                        3
    Total number of classes:       8
    Interface Bandwidth:           100000000 kbps
    Policy Name:                   MAIN_OUT_PMAP5_Q_TC_MARK
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    ------------------------------------------------------------------------------
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_1
    New traffic class                        =   1
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_2
    New traffic class                        =   2
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_3
    New traffic class                        =   3
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_4
    New traffic class                        =   4
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_5
    New traffic class                        =   5
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_6
    New traffic class                        =   6
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_7
    New traffic class                        =   7
    
    Level1 Class                             =   class-default
    Interface HundredGigE0/7/0/2 Ifh 0x1c000180 (PinDown Member) -- output policy
    NPU Id:                        0
    Total number of classes:       9
    Interface Bandwidth:           100000000 kbps
    Policy Name:                   parent_shape_hqos_bwrr
    VOQ Base:                      53312
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    VOQ Mode:                      8
    Shared Counter Mode:           1
    ------------------------------------------------------------------------------
    Level1 Class                             =   class-default
    Queue Max. BW.                           =   70000000 kbps (70 %)
    Inverse Weight / Weight                  =   255 / (BWR not configured)
    
       Level2 Class                             =   MAIN_OUT_CMAP_1
       Egressq Queue ID                         =   53313 (LP queue)
       Queue Max. BW.                           =   no max (default)
       Inverse Weight / Weight                  =   12 / (20)
       Guaranteed service rate                  =   4711538 kbps
       TailDrop Threshold                       =   614400 bytes / 1 ms (614400 bytes)
       WRED not configured for this class
    
       Level2 Class                             =   MAIN_OUT_CMAP_2
       Egressq Queue ID                         =   53314 (LP queue)
       Queue Max. BW.                           =   no max (default)
       Inverse Weight / Weight                  =   8 / (30)
       Guaranteed service rate                  =   7067307 kbps
       TailDrop Threshold                       =   614400 bytes / 702 us (614400 bytes)
       WRED not configured for this class
    
       Level2 Class                             =   MAIN_OUT_CMAP_3
       Egressq Queue ID                         =   53315 (LP queue)
       Queue Max. BW.                           =   no max (default)
       Inverse Weight / Weight                  =   6 / (40)
       Guaranteed service rate                  =   9423076 kbps
       TailDrop Threshold                       =   614400 bytes / 527 us (614400 bytes)
       WRED not configured for this class
    
       Level2 Class                             =   MAIN_OUT_CMAP_4
       Egressq Queue ID                         =   53316 (LP queue)
       Queue Max. BW.                           =   no max (default)
       Inverse Weight / Weight                  =   5 / (50)
    Guaranteed service rate                  =   11307692 kbps
       TailDrop Threshold                       =   614400 bytes / 421 us (614400 bytes)
       WRED not configured for this class
    
       Level2 Class                             =   MAIN_OUT_CMAP_5
       Egressq Queue ID                         =   53317 (LP queue)
       Queue Max. BW.                           =   no max (default)
       Inverse Weight / Weight                  =   4 / (60)
       Guaranteed service rate                  =   14134615 kbps
       TailDrop Threshold                       =   614400 bytes / 351 us (614400 bytes)
       WRED not configured for this class
    
       Level2 Class (HP2)                       =   MAIN_OUT_CMAP_6
       Egressq Queue ID                         =   53318 (HP2 queue)
       Queue Max. BW.                           =   7000000 kbps (10 %)
       Guaranteed service rate                  =   7000000 kbps
       TailDrop Threshold                       =   614400 bytes / 702 us (614400 bytes)
       WRED not configured for this class
    
       Level2 Class (HP1)                       =   MAIN_OUT_CMAP_7
       Egressq Queue ID                         =   53319 (HP1 queue)
       Queue Max. BW.                           =   14000000 kbps (20 %)
       Guaranteed service rate                  =   14000000 kbps
       TailDrop Threshold                       =   614400 bytes / 351 us (614400 bytes)
       WRED not configured for this class
    
       Level2 Class                             =   class-default
       Egressq Queue ID                         =   53312 (Default LP queue)
       Queue Max. BW.                           =   no max (default)
       Inverse Weight / Weight                  =   24 / (10)
       Guaranteed service rate                  =   2355769 kbps
       TailDrop Threshold                       =   614400 bytes / 2 ms (614400 bytes)
       WRED not configured for this class
    
    Interface HundredGigE0/7/0/2 Ifh 0x1c000180 (PinDown Member) -- output policy
    NPU Id:                        0
    Total number of classes:       8
    Interface Bandwidth:           100000000 kbps
    Policy Name:                   MAIN_OUT_PMAP5_Q_TC_MARK
    VOQ Base:                      0
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    VOQ Mode:                      8
    Shared Counter Mode:           1
    ------------------------------------------------------------------------------
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_1
    New traffic class                        =   1
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_2
    New traffic class                        =   2
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_3
    New traffic class                        =   3
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_4
    New traffic class                        =   4
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_5
    New traffic class                        =   5
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_6
    New traffic class                        =   6
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_7
    New traffic class                        =   7
    
    Level1 Class                             =   class-default
    
    Node 0/0/CPU0, Interface PW-Ether1 Ifh 0x7800104c (PW-Ether) -- output policy
    NPU Id:                        0
    Total number of classes:       9
    Interface Bandwidth:           25000000 kbps
    Policy Name:                   parent_shape_hqos_bwrr
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    ------------------------------------------------------------------------------
    Level1 Class                             =   class-default
    
       Level2 Class                             =   MAIN_OUT_CMAP_1
    
       Level2 Class                             =   MAIN_OUT_CMAP_2
    
       Level2 Class                             =   MAIN_OUT_CMAP_3
    
       Level2 Class                             =   MAIN_OUT_CMAP_4
    
       Level2 Class                             =   MAIN_OUT_CMAP_5
    
       Level2 Class                             =   MAIN_OUT_CMAP_6
    
       Level2 Class                             =   MAIN_OUT_CMAP_7
    
       Level2 Class                             =   class-default
    Node 0/0/CPU0, Interface PW-Ether1 Ifh 0x7800104c (PW-Ether) -- output policy
    NPU Id:                        0
    Total number of classes:       8
    Interface Bandwidth:           25000000 kbps
    Policy Name:                   MAIN_OUT_PMAP5_Q_TC_MARK
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    ------------------------------------------------------------------------------
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_1
    New traffic class                        =   1
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_2
    New traffic class                        =   2
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_3
    New traffic class                        =   3
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_4
    New traffic class                        =   4
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_5
    New traffic class                        =   5
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_6
    New traffic class                        =   6
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_7
    New traffic class                        =   7
    
    Level1 Class                             =   class-default
     

    This example displays applied policy name (parent_shape_hqos_bwrr ), class structure, bandwidth, queue, and drop thresholds. Ensure that the class and queue structure match the configuration.

  8. View detailed QoS statistics and configuration information for output traffic from the main interface.

    Example:

    Router#show qos interface PW-Ether1 output member HundredGigE0/7/0/2 
    NOTE:- Configured values are displayed within parentheses
    Node 0/7/CPU0, Interface PW-Ether1 Ifh 0x7800104c (PW-Ether) -- output policy
    NPU Id:                        0
    Total number of classes:       9
    Interface Bandwidth:           100000000 kbps
    Policy Name:                   parent_shape_hqos_bwrr
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    ------------------------------------------------------------------------------
    Level1 Class                             =   class-default
    
       Level2 Class                             =   MAIN_OUT_CMAP_1
    
       Level2 Class                             =   MAIN_OUT_CMAP_2
    
       Level2 Class                             =   MAIN_OUT_CMAP_3
    
       Level2 Class                             =   MAIN_OUT_CMAP_4
    
       Level2 Class                             =   MAIN_OUT_CMAP_5
    
       Level2 Class                             =   MAIN_OUT_CMAP_6
    
       Level2 Class                             =   MAIN_OUT_CMAP_7
    
       Level2 Class                             =   class-default
    Node 0/7/CPU0, Interface PW-Ether1 Ifh 0x7800104c (PW-Ether) -- output policy
    NPU Id:                        0
    Total number of classes:       8
    Interface Bandwidth:           100000000 kbps
    Policy Name:                   MAIN_OUT_PMAP5_Q_TC_MARK
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    ------------------------------------------------------------------------------
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_1
    New traffic class                        =   1
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_2
    New traffic class                        =   2
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_3
    New traffic class                        =   3
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_4
    New traffic class                        =   4
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_5
    New traffic class                        =   5
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_6
    New traffic class                        =   6
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_7
    New traffic class                        =   7
    
    Level1 Class                             =   class-default
    Node 0/7/CPU0, Interface PW-Ether1 Ifh 0x7800104c (PW-Ether) -- output policy
    NPU Id:                        3
    Total number of classes:       9
    Interface Bandwidth:           100000000 kbps
    Policy Name:                   parent_shape_hqos_bwrr
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    ------------------------------------------------------------------------------
    Level1 Class                             =   class-default
    
       Level2 Class                             =   MAIN_OUT_CMAP_1
    
       Level2 Class                             =   MAIN_OUT_CMAP_2
    
       Level2 Class                             =   MAIN_OUT_CMAP_3
    
       Level2 Class                             =   MAIN_OUT_CMAP_4
    
       Level2 Class                             =   MAIN_OUT_CMAP_5
    
       Level2 Class                             =   MAIN_OUT_CMAP_6
    
       Level2 Class                             =   MAIN_OUT_CMAP_7
    
       Level2 Class                             =   class-default
    Node 0/7/CPU0, Interface PW-Ether1 Ifh 0x7800104c (PW-Ether) -- output policy
    NPU Id:                        3
    Total number of classes:       8
    Interface Bandwidth:           100000000 kbps
    Policy Name:                   MAIN_OUT_PMAP5_Q_TC_MARK
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    ------------------------------------------------------------------------------
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_1
    New traffic class                        =   1
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_2
    New traffic class                        =   2
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_3
    New traffic class                        =   3
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_4
    New traffic class                        =   4
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_5
    New traffic class                        =   5
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_6
    New traffic class                        =   6
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_7
    New traffic class                        =   7
    
    Level1 Class                             =   class-default
    Interface HundredGigE0/7/0/2 Ifh 0x1c000180 (PinDown Member) -- output policy
    NPU Id:                        0
    Total number of classes:       9
    Interface Bandwidth:           100000000 kbps
    Policy Name:                   parent_shape_hqos_bwrr
    VOQ Base:                      53312
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    VOQ Mode:                      8
    Shared Counter Mode:           1
    ------------------------------------------------------------------------------
    Level1 Class                             =   class-default
    Queue Max. BW.                           =   70000000 kbps (70 %)
    Inverse Weight / Weight                  =   255 / (BWR not configured)
    
       Level2 Class                             =   MAIN_OUT_CMAP_1
       Egressq Queue ID                         =   53313 (LP queue)
       Queue Max. BW.                           =   no max (default)
       Inverse Weight / Weight                  =   12 / (20)
       Guaranteed service rate                  =   4711538 kbps
       TailDrop Threshold                       =   614400 bytes / 1 ms (614400 bytes)
       WRED not configured for this class
    
       Level2 Class                             =   MAIN_OUT_CMAP_2
       Egressq Queue ID                         =   53314 (LP queue)
       Queue Max. BW.                           =   no max (default)
       Inverse Weight / Weight                  =   8 / (30)
       Guaranteed service rate                  =   7067307 kbps
       TailDrop Threshold                       =   614400 bytes / 702 us (614400 bytes)
       WRED not configured for this class
    
       Level2 Class                             =   MAIN_OUT_CMAP_3
       Egressq Queue ID                         =   53315 (LP queue)
       Queue Max. BW.                           =   no max (default)
       Inverse Weight / Weight                  =   6 / (40)
       Guaranteed service rate                  =   9423076 kbps
       TailDrop Threshold                       =   614400 bytes / 527 us (614400 bytes)
       WRED not configured for this class
    
       Level2 Class                             =   MAIN_OUT_CMAP_4
       Egressq Queue ID                         =   53316 (LP queue)
       Queue Max. BW.                           =   no max (default)
       Inverse Weight / Weight                  =   5 / (50)
    Guaranteed service rate                  =   11307692 kbps
       TailDrop Threshold                       =   614400 bytes / 421 us (614400 bytes)
       WRED not configured for this class
    
       Level2 Class                             =   MAIN_OUT_CMAP_5
       Egressq Queue ID                         =   53317 (LP queue)
       Queue Max. BW.                           =   no max (default)
       Inverse Weight / Weight                  =   4 / (60)
       Guaranteed service rate                  =   14134615 kbps
       TailDrop Threshold                       =   614400 bytes / 351 us (614400 bytes)
       WRED not configured for this class
    
       Level2 Class (HP2)                       =   MAIN_OUT_CMAP_6
       Egressq Queue ID                         =   53318 (HP2 queue)
       Queue Max. BW.                           =   7000000 kbps (10 %)
       Guaranteed service rate                  =   7000000 kbps
       TailDrop Threshold                       =   614400 bytes / 702 us (614400 bytes)
       WRED not configured for this class
    
       Level2 Class (HP1)                       =   MAIN_OUT_CMAP_7
       Egressq Queue ID                         =   53319 (HP1 queue)
       Queue Max. BW.                           =   14000000 kbps (20 %)
       Guaranteed service rate                  =   14000000 kbps
       TailDrop Threshold                       =   614400 bytes / 351 us (614400 bytes)
       WRED not configured for this class
    
       Level2 Class                             =   class-default
       Egressq Queue ID                         =   53312 (Default LP queue)
       Queue Max. BW.                           =   no max (default)
       Inverse Weight / Weight                  =   24 / (10)
       Guaranteed service rate                  =   2355769 kbps
       TailDrop Threshold                       =   614400 bytes / 2 ms (614400 bytes)
       WRED not configured for this class
    
    Interface HundredGigE0/7/0/2 Ifh 0x1c000180 (PinDown Member) -- output policy
    NPU Id:                        0
    Total number of classes:       8
    Interface Bandwidth:           100000000 kbps
    Policy Name:                   MAIN_OUT_PMAP5_Q_TC_MARK
    VOQ Base:                      0
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    VOQ Mode:                      8
    Shared Counter Mode:           1
    ------------------------------------------------------------------------------
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_1
    New traffic class                        =   1
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_2
    New traffic class                        =   2
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_3
    New traffic class                        =   3
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_4
    New traffic class                        =   4
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_5
    New traffic class                        =   5
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_6
    New traffic class                        =   6
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_7
    New traffic class                        =   7
    
    Level1 Class                             =   class-default
    
    Node 0/0/CPU0, Interface PW-Ether1 Ifh 0x7800104c (PW-Ether) -- output policy
    NPU Id:                        0
    Total number of classes:       9
    Interface Bandwidth:           25000000 kbps
    Policy Name:                   parent_shape_hqos_bwrr
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    ------------------------------------------------------------------------------
    Level1 Class                             =   class-default
    
       Level2 Class                             =   MAIN_OUT_CMAP_1
    
       Level2 Class                             =   MAIN_OUT_CMAP_2
    
       Level2 Class                             =   MAIN_OUT_CMAP_3
    
       Level2 Class                             =   MAIN_OUT_CMAP_4
    
       Level2 Class                             =   MAIN_OUT_CMAP_5
    
       Level2 Class                             =   MAIN_OUT_CMAP_6
    
       Level2 Class                             =   MAIN_OUT_CMAP_7
    
       Level2 Class                             =   class-default
    Node 0/0/CPU0, Interface PW-Ether1 Ifh 0x7800104c (PW-Ether) -- output policy
    NPU Id:                        0
    Total number of classes:       8
    Interface Bandwidth:           25000000 kbps
    Policy Name:                   MAIN_OUT_PMAP5_Q_TC_MARK
    Accounting Type:               Layer1 (Include Layer 1 encapsulation and above)
    ------------------------------------------------------------------------------
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_1
    New traffic class                        =   1
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_2
    New traffic class                        =   2
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_3
    New traffic class                        =   3
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_4
    New traffic class                        =   4
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_5
    New traffic class                        =   5
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_6
    New traffic class                        =   6
    
    Level1 Class                             =   MAIN_OUT_MARK_CMAP_7
    New traffic class                        =   7
    
    Level1 Class                             =   class-default
     

    This example displays applied policy name (parent_shape_hqos_bwrr ), class structure, bandwidth, queue, and drop thresholds. Look for class and queue structure matching configuration.

  9. View per-class statistics and queuing details for a specific member interface on the main interface.

    Example:

    Router#show policy-map interface PW-Ether1 output member HundredGigE0/7/0/2
    Interface:PW-Ether1 Member:HundredGigE0/7/0/2 output: parent_shape_hqos_bwrr
    
    Class class-default
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :          1048830183/250133071040         0
        Transmitted         :           405970112/96745121320          0
        Total Dropped       :           642860071/153387949720         0
    
      Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_1
        Classification statistics          (packets/bytes)     (rate - kbps)
          Matched             :           131102864/31266417264          0
          Transmitted         :            27020068/6431611720           0
          Total Dropped       :           104082796/24834805544          0
        Queueing statistics
          Queue ID                             : 53313 
          Taildropped(packets/bytes)           : 104082796/24834805544
    
      Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_2
        Classification statistics          (packets/bytes)     (rate - kbps)
          Matched             :           131103199/31266497640          0
          Transmitted         :            40521792/9647311792           0
          Total Dropped       :            90581407/21619185848          0
        Queueing statistics
          Queue ID                             : 53314 
          Taildropped(packets/bytes)           : 90581407/21619185848
    
      Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_3
        Classification statistics          (packets/bytes)     (rate - kbps)
          Matched             :           131103636/31266600664          0
          Transmitted         :            54004138/12863485816          0
          Total Dropped       :            77099498/18403114848          0
        Queueing statistics
          Queue ID                             : 53315 
          Taildropped(packets/bytes)           : 77099498/18403114848
    
      Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_4
        Classification statistics          (packets/bytes)     (rate - kbps)
          Matched             :           131103920/31266669280          0
          Transmitted         :            64802769/15436026336          0
          Total Dropped       :            66301151/15830642944          0
        Queueing statistics
          Queue ID                             : 53316 
          Taildropped(packets/bytes)           : 66301151/15830642944
    
      Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_5
        Classification statistics          (packets/bytes)     (rate - kbps)
          Matched             :           131104311/31266762056          0
          Transmitted         :            80969302/19295430376          0
          Total Dropped       :            50135009/11971331680          0
        Queueing statistics
          Queue ID                             : 53317 
    Taildropped(packets/bytes)           : 50135009/11971331680
    
      Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_6
        Classification statistics          (packets/bytes)     (rate - kbps)
          Matched             :           131104735/31266863416          0
          Transmitted         :            41698712/9952700928           0
          Total Dropped       :            89406023/21314162488          0
        Queueing statistics
          Queue ID                             : 53318 
          Taildropped(packets/bytes)           : 89406023/21314162488
    
      Policy shape_hqos_bwrr Class MAIN_OUT_CMAP_7
        Classification statistics          (packets/bytes)     (rate - kbps)
          Matched             :           131105067/31266942536          0
          Transmitted         :            83425746/19902839360          0
          Total Dropped       :            47679321/11364103176          0
        Queueing statistics
          Queue ID                             : 53319 
          Taildropped(packets/bytes)           : 47679321/11364103176
    
      Policy shape_hqos_bwrr Class class-default
        Classification statistics          (packets/bytes)     (rate - kbps)
          Matched             :           131102451/31266318184          0
          Transmitted         :            13527585/3215714992           0
          Total Dropped       :           117574866/28050603192          0
        Queueing statistics
          Queue ID                             : 53312 
          Taildropped(packets/bytes)           : 117574866/28050603192
    Policy Bag Stats time: 1722238640916  [Local Time: 07/29/24 07:37:20.916] 
    
    Interface:PW-Ether1 Member:HundredGigE0/7/0/2 output: MAIN_OUT_PMAP5_Q_TC_MARK
    
    Class MAIN_OUT_MARK_CMAP_1
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :                   0/0                    0
        Transmitted         :                   0/0                    0
        Total Dropped       :                   0/0                    0
    Class MAIN_OUT_MARK_CMAP_2
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :                   0/0                    0
        Transmitted         :                   0/0                    0
        Total Dropped       :                   0/0                    0
    Class MAIN_OUT_MARK_CMAP_3
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :                   0/0                    0
        Transmitted         :                   0/0                    0
        Total Dropped       :                   0/0                    0
    Class MAIN_OUT_MARK_CMAP_4
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :                   0/0                    0
        Transmitted         :                   0/0                    0
        Total Dropped       :                   0/0                    0
    Class MAIN_OUT_MARK_CMAP_5
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :                   0/0                    0
        Transmitted         :                   0/0                    0
        Total Dropped       :                   0/0                    0
    Class MAIN_OUT_MARK_CMAP_6
      Classification statistics          (packets/bytes)     (rate - kbps)
    Matched             :                   0/0                    0
        Transmitted         :                   0/0                    0
        Total Dropped       :                   0/0                    0
    Class MAIN_OUT_MARK_CMAP_7
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :                   0/0                    0
        Transmitted         :                   0/0                    0
        Total Dropped       :                   0/0                    0
    Class class-default
      Classification statistics          (packets/bytes)     (rate - kbps)
        Matched             :                   0/0                    0
        Transmitted         :                   0/0                    0
        Total Dropped       :                   0/0                    0
    Policy Bag Stats time: 1722238674599  [Local Time: 07/29/24 07:37:54.599]
    

    This example shows matched, transmitted, and dropped counts per class, queueing info, and policy name on the member interface HundredGigE0/7/0/2 .

This end-to-end configuration directly implements your design. It enforces a bandwidth cap of 100 Mbps across all subinterfaces on class-default. You can also apply distinct QoS policies, such as marking, at the subinterface level for service differentiation.