You can enhance a CoS implementation by enabling an MX-series router to adjust the hierarchical CoS policy shaping rate configured for static interface sets that consist of two or more VLANs and represent subscriber local loops. Whenever the digital subscriber line access multiplexer (DSLAM) resynchronizes its data transmission rate to a digital subscriber line (DSL), the router adjusts the shaping rate for the associated subscriber interface so that the maximum bandwidth allocation cannot exceed the current data rate for the associated subscriber local loop. This feature ensures that data transmission rate adjustments by the DSLAM do not cause bandwidth contention at the subscriber’s residential gateway.
This topic includes the following tasks:
To configure a logical interface set, begin by including the interface-set statement with the interface-set-name option at the [edit interfaces] hierarchy level.
An interface set is composed of two or more logical interfaces on the same physical interface. Each logical interface in an interface set corresponds to an individual subscriber service, such as voice, video, or data. To specify either a list of logical unit numbers or the single outer VLAN tag used to identify the logical interfaces that compose the interface set, include statements at the [edit interfaces interface-set interface-set-name] hierarchy level:
For an interface set composed of a list of logical interfaces identified by an inner VLAN tag on Ethernet frames (called the customer VLAN, or C-VLAN, tag), you must specify each logical interface by including the unit statement with the logical-unit-number option.
- [edit]
- interfaces {
-
- interface-set interface-set-name {
-
- interface ethernet-interface-name {
# EQ DPC port
- unit logical-unit-number;
- unit logical-unit-number;
- . . .
- }
- . . .
- }
- }
For an interface set composed of a set of VLANs grouped at the DSLAM and identified by the same service VLAN (S-VLAN) tag), you must specify the S-VLAN tag as the outer VLAN tag for each VLAN by including the vlan-tags-outer statement with the vlan-tag option.
- [edit]
- interfaces {
-
- interface-set interface-set-name {
-
- interface ethernet-interface-name {
# EQ DPC port
- vlan-tags-outer vlan-tag; # Identify
the DSLAM
- }
- . . .
- }
- }
For more information about configuring CoS hierarchical schedulers, see the JUNOS Class of Service Configuration Guide.
Each underlying physical interface must be configured to operate in hierarchical scheduler mode and to support stacked VLAN tagging on all logical interfaces. To configure, include the hierarchical-scheduler statement and the stacked-vlan-tagging statement at the [edit interfaces ethernet-interface-name] hierarchy level.
To associate the individual logical interfaces of an interface set with specific subscriber services provided by the subscriber local loop, bind an S-VLAN tag and a C-VLAN tag to each logical interface that belongs to a scheduler node that represents a subscriber local loop. Ethernet frames sent from the logical interfaces contain an outer VLAN tag that identifies a DSLAM and an inner VLAN tag that identifies a subscriber port on the DSLAM. To configure, include the vlan-tags statement at each logical interface:
- [edit]
- interfaces {
-
- ethernet-interface-name { # EQ DPC
port underlying an interface set
- hierarchical-scheduler;
- stacked-vlan-tagging; # Support 802.1Q VLAN dual-tagged
frames
-
- unit logical-unit-number { # Bind
S-VLAN and C-VLAN tags to logical interface
- vlan-tags inner tpid.vlan-id outer tpid.vlan-id;
- }
- . . .
- }
- }
For more information about configuring 802.1Q VLANs, see the JUNOS Network Interfaces Configuration Guide.
To configure hierarchical CoS on the static logical interface set that serves as the hierarchical scheduler node for a subscriber local loop:
![]() |
Note: The CoS shaping-rate feature is supported only for scheduler nodes with a configured shaping rate. The initial shaping rate must be configured by applying a traffic-control profile that includes the shaping-rate statement. Specify the initial shaping rate as a peak rate, in bits per second (bps), and not as a percentage. Other methods of configuring a shaping rate are not supported with this feature. |
To configure, include the following statements:
- interfaces { # Configure interface-specific CoS for incoming
packets
-
- interface-set interface-set-name {
# Configure a hierarchical scheduler
-
- output-traffic-control-profile tc-profile-name; # Level 3 scheduler node
- }
- . . .
- }
- traffic-control-profiles { # Define traffic-control profiles
-
- tc-profile-name { # Specify a scheduler
map and traffic-shaping parameters
- scheduler-map map-name;
- shaping-rate rate; # This is the “configured shaping rate”
- guaranteed-rate (percent percentage | rate);
- delay-buffer-rate (percent percentage | rate);
- }
- . . .
- }
You can include the statements at the following hierarchy levels:
To configure, include the statements at the static [edit class-of-service] hierarchy level:
- [edit]
- class-of-service {
-
- scheduler-maps {
# Assign queuing characteristics to output queues
-
- map-name { # Map output queues to
- forwarding-class class-name scheduler scheduler-name;
- forwarding-class class-name scheduler scheduler-name;
- ...
- }
- ...
- }
-
- schedulers { #
Define queuing characteristics
-
- scheduler-name { # Specify queuing
and buffer management
- transmit-rate transmit-rate-option;
- buffer-size buffer-size-option;
- priority priority-level;
- drop-profile-map loss-priority loss-priority-option protocol any drop-profile drop-profile-name;
- . . .
- }
- }
-
- drop-profiles { # Define random early detection (RED) for
the delay buffer
-
- drop-profile–name { # Specify
how to drop packets from an output queue
-
- drop-profile-name ( # Map a queue
fullness to a drop probability
- fill-level percentage drop-probability percentage; # Option 1: segmented
- fill-level percentage drop-probability percentage;
- . . .
- }
-
- interpolate { # Option 2: interpolated
- drop-probability [ values ];
- fill-level [ values ];
- }
- }
- . . .
- }
- }
For more information about configuring scheduler maps, schedulers, and drop profiles, see the JUNOS Class of Service Configuration Guide.
To configure the Access Node Control Protocol (ANCP) functionality that supports and drives the shaping-rate adjustments for subscriber local loops:
ANCP uses this information to build a mapping of subscribers to subscriber interfaces. When ANCP receives port management messages from a DSLAM or other access node, it uses the access identifier contained in the message to determine which hierarchical scheduler node corresponds to the subscriber.
To configure, include statements at the [edit protocols ancp] hierarchy level:
- [edit]
- protocols {
-
- ancp {
- qos-adjust; # Enable
ANCP to monitor and adjust CoS shaping rates
- neighbor ip-address; # Configure each
DSLAM as an ANCP neighbor
- . . .
-
- interfaces { #
Identify subscribers for which ANCP can adjust shaping rates
-
- interface-set {
-
- interface-set-name {
- access-identifier identifier-string; # DSLAM ID for the local
loop
- }
- }
- . . .
- }
- . . .
- }
- . . .
- }
If ANCP is enabled, the following operational commands display or clear information about the ANCP configuration:
If ANCP is not yet enabled, the process starts when you commit a configuration that contains the protocols ancp stanza.
For more information about ANCP, see ANCP Topology Discovery and Traffic Monitoring Overview and Configuring ANCP.
To display the configured shaping rate and the adjusted shaping rate for each logical interface set configured for hierarchical CoS, issue the show class-of-service interface-set operational command.
![]() |
Note: After shaping-rate adjustments are enabled and the router has performed shaping-rate adjustments on a scheduler node, you can configure a new shaping rate by including the shaping-rate statement in a traffic-control profile and then applying that profile to that scheduler node. However, this new shaping-rate value does not immediately result in shaping traffic at the new rate. The scheduler node continues to be shaped at rate set by ANCP. Only when the ANCP shaping-rate adjustment feature is disabled is the scheduler node shaped at the newly configured shaping-rate. |