You use the ingress
queuing to partition the port ingress buffers that are 1.25 MB and an
additional 256 KB (a total of 1.5 MB) to absorb the frames in transit after
pause has been sent. This buffer is partitioned among the eight CoS values. The
number of partitions is fixed for a given network qos template. The incoming
CoS values are mapped to each partition. Each buffer partition is considered as
an ingress queue.
There is a high
threshold and a low threshold at which the pause or resume frames are generated
when a threshold is met. This requirement is applicable to the no-drop CoS
only. The frames that are in transit are absorbed by a skid buffer after a
pause is generated. If the number of frames exceed the skid buffer threshold,
the frames are tail dropped. There are three thresholds for drop eligible (DE),
non-DE, and Bridge Protocol Data Unit (BPDU) frames for dropping. For the drop
CoS, the high and low thresholds are the same.
The default policy
ingress queues are created as follows:
-
Different queues
per drop class:
Drop queue =70%
buffers; no-drop queue = 30% buffers
-
Different queues
for priority and nonpriority CoS in a given drop class:
Nonpriority queue=
90% buffers; priority queue = 10% buffers
Each network qos
policy has a corresponding default ingress queuing policy (template) and is
automatically activated for the system. They are the default-4q-8e-in-policy,
default-4q-7e-in-policy, default-4q-6e-in-policy, default-4q-4e-in-policy,
default-8e-4q8q-in-policy, default-7e-4q8q-in-policy,
default-6e-4q8q-in-policy, default-4e-4q8q-in-policy, and
default-8e-4q4q-in-policy.
The predefined class
map names (queue names) for ingress queuing are described in the table below.
Table 1. Predefined Class
Maps for Ingress Queuing
Ingress Policy
Maps
|
Ingress Class
Map Names
|
default-4q-8e-in-policy
|
2q4t-8e-in-q1
and 2q4t-8e-in-q-default
|
default-4q-7e-in-policy
|
4q4t-7e-in-q1,
4q4t-7e-in-q-default, 4q4t-7e-in-q3, and 4q4t-7e-in-q4
|
default-4q-6e-in-policy
|
4q4t-6e-in-q1,
4q4t-6e-in-q-default, 4q4t-6e-in-q3, and 4q4t-6e-in-q4
|
default-4q-4e-in-policy
|
4q4t-4e-in-q1,
4q4t-4e-in-q-default, 4q4t-4e-in-q3, and 4q4t-4e-in-q4
|
default-8e-4q4q-in-policy
|
4q1t-8e-4q4q-in-q1, 4q1t-8e-4q4q-in-q-default,
4q1t-8e-4q4q-in-q3, and 4q1t-8e-4q4q-in-q4
|
default-8e-4q8q-in-policy (on Cisco Nexus 7710 / 7718 switches
only)
|
8e-4q8q-in-q1,
8e-4q8q-in-q-default, 8e-4q8q-in-q3, and 8e-4q8q-in-q4
|
default-7e-4q8q-in-policy (Cisco Nexus 7710 / 7718 switches
only)
|
c-7e-4q8q-drop-in, c-7e-4q8q-ndrop-in
7e-4q8q-in-q1,
7e-4q8q-in-q-default and 7e-4q8q-in-q3
7e-4q8q-in-q4
|
default-6e-4q8q-in-policy (Cisco Nexus 7710 / 7718 switches
only)
|
c-6e-4q8q-drop-in and c-6e-4q8q-ndrop-in
6e-4q8q-in-q1
and 6e-4q8q-in-q-default
6e-4q8q-in-q3
and 6e-4q8q-in-q4
|
default-4e-4q8q-in-policy (Cisco Nexus 7710 / 7718 switches
only)
|
c-4e-4q8q-drop-in and c-4e-4q8q-ndrop-in
4e-4q8q-in-q1
and 4e-4q8q-in-q-default
4e-4q8q-in-q3
and 4e-4q8q-in-q4
|
Note |
-
The naming
conventions of the queue are similar to the M1 modules. Also, the process for
referring to queuing class maps and changing CoS to queue maps is also similar
to M1 modules.
-
When a port
becomes part of a port channel, the port inherits the policy of the port
channel. When the port is moved out of the port channel, the default system
queuing policy gets activated on the port.
|
By default, the
queuing policy maps the priority CoS values (CoS 5-7) and nonpriority CoS
values (CoS 0-4) into different ingress queues (IVL). CoS to ingress queue
mapping is configured from the default VDC and the configuration is applied
system wide. A network administrator user role is required to change CoS to
IVL.
Starting with the
Cisco NX-OS 6.1 release, DSCP to IVL is supported on F2 modules, in the ingress
direction, using the match dscp command with the 2q4t-8e-in-q1 class map and
the 2q4t-8e-in-q-default class map.
Note |
Starting with the
Cisco NX-OS 6.1(2) release, DSCP to IVL is supported on IPV6 using F2e modules.
|
Guidelines for the
match
dscp command are as follows:
-
The
match
dscp command is applicable only to queues that have at least one CoS
value associated with it. If all DSCP values are not mapped to a nondefault
ingress queue, the default queue should have the CoS values associated with it.
-
DSCP queuing is
automatically disabled when the user removes all
match
dscp commands (using
no
match statements).
-
If the
match
dscp command is used in the 2q4t-8e-in-q1 class map to set some DSCP
values, all remaining DSCP values are automatically mapped to the default
queue.
Bridged Traffic
|
When the DSCP-to-queue is enabled, the ingress queue selection is based on the DSCP value.
When CoS-to-queue is enabled, the ingress queue selection is based on the CoS value, for 802.1Q tagged frames or implied CoS
of “0” for untagged frames.
Egress queuing selection is based on CoS value, and not affected by DSCP-to-queue mappings. If a CoS value does not exist,
then all packets are accepted as CoS 0.
|
Routed
Traffic without Proxy Mode (native F-Series modules)
|
When the DSCP-to-queue is enabled, the ingress queue selection is based on the DSCP.
When CoS -to-queue is enabled, the ingress queue is based on the CoS value, for 802.1Q tagged frames or implied CoS of “0”
for untagged frames.
When there is a non-IP frame, ingress queue selection is based on CoS irrespective of DSCP-to-ingress queue enabled or not.
Egress queuing selection is based on first 3 bits of the DSCP value. If the 802.1q tag is present, the CoS value mutates to
match the first 3 bits of the DSCP value on the egress packet.
When the CoS-to-ingress queue is enabled for sub-interfaces, the ingress queue selection is based on the CoS.
The above stated is valid for any routed traffic ingressing on Layer 3/ Sub-Interface/ SVI and egressing on Layer 3/ Sub-Interface/
SVI. Enabling “hardware QoS dscp-to-queue ingress” does not change behavior for egress queuing classification.
|
Routed Traffic with Proxy Mode (mixed F-Series and M-Series modules)
|
When the DSCP-to-ingress queue is enabled, the ingress queue selection is based on the DSCP.
When the CoS-to-ingress queue is enabled, the ingress queue selection is based on the CoS.
Egress queuing selection is based on first 3 bits of the DSCP value. If 802.1q tag is present, the CoS value mutates to match
the first 3 bits of the DSCP value on the egress packet.
The above stated is valid for any routed traffic when mixed F-Series and M-Series work in Proxy mode. Enabling “hardware QoS
dscp-to-queue ingress” does not change behavior for egress queuing classification.
|
The following table
contains an example of when the match dscp command is used in the 2q4t-8e-in-q1
class map to set specific DSCP values.
Commands
|
Description
|
class-map type queuing match-any 2q4t-8e-in-q1
match cos 5-7
match dscp 40-45
|
The values
set by the
match dscp command are displayed by the
show run command.
|
class-map type queuing match-any
2q4t-8e-in-q-default
match dscp 0-39,46-63.
|
The
remaining DSCP values (0-39, 46-63) are automatically mapped to the default
queue.
The values
associated with the default queue are not displayed by the
show run command. These values are implicitly
programmed in the hardware.
|
class-map type queuing match-any
2q4t-8e-in-q-default
match dscp 40-45
|
When
specific DSCP values are mapped to the default queue (2q4t-8e-in-q-default),
the remaining DSCP values are automatically mapped to the default queue.
There is
no restriction when specifying all of the remaining DSCP values in the default
queue.
The values
set by the
match dscp command are displayed by the
show run command.
|
class-map type queuing match-any
2q4t-8e-in-q-default
match dscp 0-39,46-63
|
The DSCP
values (0-39, 46-63) are automatically mapped to the default queue
(2q4t-8e-in-q-default).
The values
associated with the default queue are not displayed by the
show run command. These values are implicitly
programmed in the hardware.
|
Note |
Modifying the
default queuing policy maps is a disruptive operation that might cause frame
drops.
|
You can assign a
bandwidth percentage to each ingress queue. The CoS values (priority group) of
each queue and its bandwidth are relayed to the peer using the DCBXP.
With the Enhanced
Transmission Selection (ETS; specifies scheduling of queues based on priority)
implementation, when you define both the drop and no-drop classes in a non-8e
network qos policy template, the queuing follows a hierarchical pattern. In a
hierarchical queuing pattern, queues within a class are configured with respect
to the buffer at the first level, and buffers across the queuing groups are
configured at the second level.
You use the
queue-limit command to tune the ingress queue sizes
(buffers). You can define the percentage of the total buffer to be allocated to
the queue. For more information about the queue-limit command, see the
Cisco Nexus
7000 Series NX-OS Quality of Service Command Reference.
You use the
bandwidth command to control the bandwidth allocated
to the traffic classes (CoS) in the ingress queue. The bandwidth allocated to a
traffic class in the ingress queue does not impact the switch. Instead, it
sends the bandwidth information to the peer as an indication of the bandwidth
for the traffic classes (CoS) that the peer sends. For more information about
the bandwidth command, see the
Cisco Nexus
7000 Series NX-OS Quality of Service Command Reference.
You use the
set
cos command only on the default queue to make a port that is
untrusted on the default queue.
Starting with Cisco
NXOS 6.2(2) Release, default dscp values are provided for all the following
five templates on F-Series Modules:
-
default-nq-4e-policy template 4e
-
default-nq-6e-policy template 6e
-
default-nq-7e-policy template 7e
-
default-nq-8e-policy template 8e
-
default-nq-8e-4q4q-policy template 8e-4q4q
The following table
lists the default dscp values for 4q mode templates:
Ingress
Queue
|
DSCP Map
Value
|
Template:
default-nq-4e-policy template 4e
|
4q4t-4e-in-q-default
|
0-39
|
4q4t-4e-in-q1
|
40-63
|
4q4t-4e-in-q3
|
—
|
4q4t-4e-in-q4
|
—
|
default-nq-6e-policy template 6e
|
4q4t-6e-in-q-default
|
0-39
|
4q4t-6e-in-q1
|
40-63
|
4q4t-6e-in-q3
|
—
|
4q4t-6e-in-q4
|
—
|
default-nq-7e-policy template 7e
|
4q4t-7e-in-q-default
|
0-15
|
4q4t-7e-in-q1
|
40-63
|
4q4t-7e-in-q3
|
16-39
|
4q4t-7e-in-q4
|
|
default-nq-8e-policy template 8e
|
2q4t-8e-4q4q-in-q-default
|
0-39
|
2q4t-8e-4q4q-in-q1
|
40-63
|
default-nq-8e-4q4q-policy template 8e-4q4q
|
4q1t-8e-4q4q-in-q-default
|
0-15
|
4q1t-8e-4q4q-in-q1
|
40-63
|
4q1t-8e-4q4q-in-q3
|
24-39
|
4q1t-8e-4q4q-in-q4
|
16-23
|
Similarly, the
default dscp values are mapped for ingress queues for Cisco 7710/7718 switches.