Understanding Default CoS Settings
If you do not configure CoS settings, Junos OS performs some CoS functions to ensure that traffic and protocol packets are forwarded with minimum delay when the network experiences congestion. Some default mappings are automatically applied to each logical interface that you configure.
You can display default CoS settings by issuing the show
class-of-service
operational mode command.
This topic describes the default configurations for the following CoS components:
Default Forwarding Classes and Queue Mapping
Table 1 shows the default mapping of the default forwarding classes to queues and packet drop attribute.
Default Forwarding Class |
Description |
Default Queue Mapping |
Packet Drop Attribute |
---|---|---|---|
best-effort (be) |
Best-effort traffic class (priority 0, IEEE 802.1p code point 000) |
0 |
drop |
fcoe |
Guaranteed delivery for FCoE traffic (priority 3, IEEE 802.1p code point 011) |
3 |
no-loss |
no-loss |
Guaranteed delivery for TCP no-loss traffic (priority 4, IEEE 802.1p code point 100) |
4 |
no-loss |
network-control (nc) |
Network control traffic (priority 7, IEEE 802.1p code point 111) |
7 |
drop |
(Excluding QFX10000) mcast |
Multidestination traffic |
8 |
drop Note:
You cannot configure multidestination forwarding classes as no-loss (lossless) traffic classes. |
On the QFX10000 switch, unicast and multidestination (multicast, broadcast, and destination lookup fail) traffic use the same forwarding classes and output queues 0 through 7.
Default Forwarding Class Sets (Priority Groups)
If you do not explicitly configure forwarding class sets, the system automatically creates a default forwarding class set that contains all of the forwarding classes on the switch. The system assigns 100 percent of the port output bandwidth to the default forwarding class set.
Ingress traffic is classified based on the default classifier settings. The forwarding classes (queues) in the default forwarding class set receive bandwidth based on the default scheduler settings. Forwarding classes that are not part of the default scheduler receive no bandwidth.
The default forwarding class set is transparent. It does not appear in the configuration and is used for Data Center Bridging Capability Exchange (DCBX) protocol advertisement.
Default Code-Point Aliases
Table 2 shows the default mapping of code-point aliases to IEEE code points.
CoS Value Types |
Mapping |
---|---|
be |
000 |
be1 |
001 |
ef |
010 |
ef1 |
011 |
af11 |
100 |
af12 |
101 |
nc1 |
110 |
nc2 |
111 |
Table 3 shows the default mapping of code-point aliases to DSCP and DSCP IPv6 code points.
CoS Value Types |
Mapping |
---|---|
ef |
101110 |
af11 |
001010 |
af12 |
001100 |
af13 |
001110 |
af21 |
010010 |
af22 |
010100 |
af23 |
010110 |
af31 |
011010 |
af32 |
011100 |
af33 |
011110 |
af41 |
100010 |
af42 |
100100 |
af43 |
100110 |
be |
000000 |
cs1 |
001000 |
cs2 |
010000 |
cs3 |
011000 |
cs4 |
100000 |
cs5 |
101000 |
nc1 |
110000 |
nc2 |
111000 |
Default Classifiers
The switch applies default unicast IEEE 802.1, unicast DSCP, and multidestination classifiers to each interface that does not have explicitly configured classifiers. If you explicitly configure one type of classifier but not other types of classifiers, the system uses only the configured classifier and does not use default classifiers for other types of traffic.
The QFX10000 switch applies the default MPLS EXP classifier to a logical interface if you enable the MPLS protocol family on that interface.
There are two different default unicast IEEE 802.1 classifiers, a trusted classifier for ports that are in trunk mode or tagged-access mode, and an untrusted classifier for ports that are in access mode. Table 4 shows the default mapping of IEEE 802.1 code-point values to forwarding classes and loss priorities for ports in trunk mode or tagged-access mode.
Code Point |
Forwarding Class |
Loss Priority |
---|---|---|
be (000) |
best-effort |
low |
be1 (001) |
best-effort |
low |
ef (010) |
best-effort |
low |
ef1 (011) |
fcoe |
low |
af11 (100) |
no-loss |
low |
af12 (101) |
best-effort |
low |
nc1 (110) |
network-control |
low |
nc2 (111) |
network-control |
low |
Table 5 shows the default mapping of IEEE 802.1p code-point values to forwarding classes and loss priorities for ports in access mode (all incoming traffic is mapped to best-effort forwarding classes).
Code Point |
Forwarding Class |
Loss Priority |
---|---|---|
000 |
best-effort |
low |
001 |
best-effort |
low |
010 |
best-effort |
low |
011 |
best-effort |
low |
100 |
best-effort |
low |
101 |
best-effort |
low |
110 |
best-effort |
low |
111 |
best-effort |
low |
Table 6 shows the default mapping of IEEE 802.1 code-point values to multidestination (multicast, broadcast, and destination lookup fail traffic) forwarding classes and loss priorities.
Code Point |
Forwarding Class |
Loss Priority |
---|---|---|
be (000) |
mcast |
low |
be1 (001) |
mcast |
low |
ef (010) |
mcast |
low |
ef1 (011) |
mcast |
low |
af11 (100) |
mcast |
low |
af12 (101) |
mcast |
low |
nc1 (110) |
mcast |
low |
nc2 (111) |
mcast |
low |
Table 7 shows the default mapping of DSCP code-point values to forwarding classes and loss priorities for DSCP IP and DCSP IPv6.
There are no default DSCP IP classifiers for multidestination traffic. DSCP IPv6 classifiers are not supported for multidestination traffic.
Code Point |
Forwarding Class |
Loss Priority |
---|---|---|
ef (101110) |
best-effort |
low |
af11 (001010) |
best-effort |
low |
af12 (001100) |
best-effort |
low |
af13 (001110) |
best-effort |
low |
af21 (010010) |
best-effort |
low |
af22 (010100) |
best-effort |
low |
af23 (010110) |
best-effort |
low |
af31 (011010) |
best-effort |
low |
af32 (011100) |
best-effort |
low |
af33 (011110) |
best-effort |
low |
af41 (100010) |
best-effort |
low |
af42 (100100) |
best-effort |
low |
af43 (100110) |
best-effort |
low |
be (000000) |
best-effort |
low |
cs1 (001000) |
best-effort |
low |
cs2 (010000) |
best-effort |
low |
cs3 (011000) |
best-effort |
low |
cs4 (100000) |
best-effort |
low |
cs5 (101000) |
best-effort |
low |
nc1 (110000) |
network-control |
low |
nc2 (111000) |
network-control |
low |
On QFX10000 switches, Table 8 shows the default mapping of MPLS EXP code-point values to forwarding classes and loss priorities.
Code Point |
Forwarding Class |
Loss Priority |
---|---|---|
000 |
best-effort |
low |
001 |
best-effort |
high |
010 |
expedited-forwarding |
low |
011 |
expedited-forwarding |
high |
100 |
assured-forwarding |
low |
101 |
assured-forwarding |
high |
110 |
network-control |
low |
111 |
network-control |
high |
Default Rewrite Rules
There are no default rewrite rules. If you do not explicitly configure rewrite rules, the switch does not reclassify egress traffic.
Default Drop Profile
Table 9 shows the default drop profile configuration.
Fill Level |
Drop Probability |
---|---|
100 |
100 |
Default Schedulers
Table 10 shows the default scheduler configuration.
Default Scheduler and Queue Number |
Transmit Rate (Guaranteed Minimum Bandwidth) |
Shaping Rate (Maximum Bandwidth) |
Excess Bandwidth Sharing |
Priority |
Buffer Size |
---|---|---|---|---|---|
best-effort forwarding class scheduler (queue 0) |
5% (QFX10000 15%) |
None |
5% (QFX10000 15%) |
low |
5% (QFX10000 15%) |
fcoe forwarding class scheduler (queue 3) |
35% |
None |
35% |
low |
35% |
no-loss forwarding class scheduler (queue 4) |
35% |
None |
35% |
low |
35% |
network-control forwarding class scheduler (queue 7) |
5% (QFX10000 15%) |
None |
5% (QFX10000 15%) |
low |
5% (QFX10000 15%) |
(Excluding QFX10000) mcast forwarding class scheduler (queue 8) |
20% |
None |
20% |
low |
20% |
The minimum guaranteed bandwidth (transmit rate) also determines
the amount of excess (extra) bandwidth that the queue can share. Extra
bandwidth is allocated to queues in proportion to the transmit rate
of each queue. On QFX10000 switches, you can use the excess-rate
statement to override the default transmit rate setting and configure
the excess bandwidth percentage independently of the transmit rate.
By default, only the five default schedulers shown in Table 10, excluding the mcast scheduler on QFX10000 switches, have traffic mapped to them. Only the queues associated with the default schedulers, and forwarding classes on QFX10000 switches, receive default bandwidth, based on the default scheduler transmit rate. (You can configure schedulers and forwarding classes to allocate bandwidth to other queues or to change the default bandwidth of a default queue.) In addition, other than on QFX5200, QFX5210, and QFX10000 switches, multidestination queue 11 receives enough bandwidth from the default multidestination scheduler to handle CPU-generated multidestination traffic. If a forwarding class does not transport traffic, the bandwidth allocated to that forwarding class is available to other forwarding classes.
On QFX10000 switches, unicast and multidestination (multicast, broadcast, and destination lookup fail) traffic use the same forwarding classes and output queues.
Default hierarchical scheduling, known as enhanced transmission
selection (ETS, defined in IEEE 802.1Qaz), divides the total port
bandwidth between two groups of traffic: unicast traffic and multidestination
traffic. By default, unicast traffic consists of queue 0 (best-effort
forwarding class), queue 3 (fcoe
forwarding class), queue
4 (no-loss
forwarding class), and queue 7 (network-control
forwarding class). Unicast traffic receives and shares a total of
80 percent of the port bandwidth. By default, multidestination traffic
(mcast
queue 8) receives a total of 20 percent of the port
bandwidth. So on a 10-Gigabit port, default scheduling provides unicast
traffic 8-Gbps of bandwidth and multidestination traffic 2-Gbps of
bandwidth.
Except on QFX5200, QFX5210, and QFX10000 switches, multidestination queue 11 also receives a small amount of default bandwidth from the multidestination scheduler. CPU-generated multidestination traffic uses queue 11, so you might see a small number of packets egress from queue 11. In addition, in the unlikely case that firewall filter match conditions map multidestination traffic to a unicast forwarding class, that traffic uses queue 11.
On QFX10000 switches, default scheduling is port scheduling. Default hierarchical scheduling, known as ETS, allocates the total port bandwidth to the four default forwarding classes served by the four default schedulers, as defined by the four default schedulers. The result is the same as direct port scheduling. Configuring hierarchical port scheduling, however, enables you to group forwarding classes that carry similar types of traffic into forwarding class sets (also called priority groups),and to assign port bandwidth to each forwarding class set. The port bandwidth assigned to the forwarding class set is then assigned to the forwarding classes within the forwarding class set. This hierarchy enables you to control port bandwidth allocation with greater granularity, and enables hierarchical sharing of extra bandwidth to better utilize link bandwidth.
Default scheduling for all switches uses weighted round-robin (WRR) scheduling. Each queue receives a portion (weight) of the total available interface bandwidth. The scheduling weight is based on the transmit rate of the default scheduler for that queue. For example, queue 7 receives a default scheduling weight of 5 percent, 15 percent on QFX10000 switches, of the available bandwidth, and queue 4 receives a default scheduling weight of 35 percent of the available bandwidth. Queues are mapped to forwarding classes (for example, queue 7 is mapped to the network-control forwarding class and queue 4 is mapped to the no-loss forwarding class), so forwarding classes receive the default bandwidth for the queues to which they are mapped. Unused bandwidth is shared with other default queues.
If you want non-default (unconfigured) queues to forward traffic, you should explicitly map traffic to those queues (configure the forwarding classes and queue mapping) and create schedulers to allocate bandwidth to those queues. For example, except on QFX5200, QFX5210, and QFX10000 switches, by default, queues 1, 2, 5, and 6 are unconfigured, and multidestination queues 9, 10, and 11 are unconfigured. Unconfigured queues have a default scheduling weight of 1 so that they can receive a small amount of bandwidth in case they need to forward traffic. (However, queue 11 can use more of the default multidestination scheduler bandwidth if necessary to handle CPU-generated multidestination traffic.)
Except on QFX10000 switches, all four multidestination queues, or two for QFX5200 and QFX5210, switches, have a scheduling weight of 1. Because by default multidestination traffic goes to queue 8, queue 8 receives almost all of the multidestination bandwidth. (There is no default traffic on queue 9 and queue 10, and very little default traffic on queue 11, so there is almost no competition for multidestination bandwidth.)
However, if you explicitly configure queue 9, 10, or 11 (by mapping code points to the unconfigured multidestination forwarding classes using the multidestination classifier), the explicitly configured queues share the multidestination scheduler bandwidth equally with default queue 8, because all of the queues have the same scheduling weight (1). To ensure that multidestination bandwidth is allocated to each queue properly and that the bandwidth allocation to the default queue (8) is not reduced too much, we strongly recommend that you configure a scheduler if you explicitly classify traffic into queue 9, 10, or 11.
If you map traffic to an unconfigured queue, the queue receives only the amount of group bandwidth proportional to its default weight (1). The actual amount of bandwidth an unconfigured queue receives depends on how much bandwidth the other queues in the group are using.
On QFX 10000 switches, if you map traffic to an unconfigured queue and do not schedule port resources for the queue (configure a scheduler, map it to the forwarding class that is mapped to the queue, and apply the scheduler mapping to the port), the queue receives only the amount of excess bandwidth proportional to its default weight (1). The actual amount of bandwidth an unconfigured queue gets depends on how much bandwidth the other queues on the port are using.
If the other queues use less than their allocated amount of bandwidth, the unconfigured queues can share the unused bandwidth. Configured queues have higher priority for bandwidth than unconfigured queues, so if a configured queue needs more bandwidth, then less bandwidth is available for unconfigured queues. Unconfigured queues always receive a minimum amount of bandwidth based on their scheduling weight (1). If you map traffic to an unconfigured queue, to allocate bandwidth to that queue, configure a scheduler for the forwarding class that is mapped to the queue and apply it to the port.
Default Scheduler Maps
Table 11 shows the default mapping of forwarding classes to schedulers.
Forwarding Class |
Scheduler |
---|---|
best-effort |
Default BE scheduler |
fcoe |
Default FCoE scheduler |
no-loss |
No-loss scheduler |
network-control |
Default network-control scheduler |
(Excluding QFX10000) mcast-be |
Default multidestination scheduler |
Default Shared Buffer Configuration
Table Table 12 and Table 13 show the default shared buffer allocations:
Shared buffers do not apply to QFX10000 switches.
Total Shared Ingress Buffer |
Lossless Buffer |
Lossless-Headroom Buffer |
Lossy Buffer |
---|---|---|---|
100% |
9% |
45% |
46% |
Total Shared Egress Buffer |
Lossless Buffer |
Lossy Buffer |
Multicast Buffer |
---|---|---|---|
100% |
50% |
31% |
19% |