PFC has the following
configuration guidelines and limitations:
-
PFC is not supported on the Cisco Nexus 9508 switch (NX-OS
7.0(3)F3(3).
-
The
show commands
with the
internal
keyword are not supported.
-
Adding pause buffer size threshold configuration is optional for cable lengths that are less than 100 meters and it need not
be configured.
-
Input queuing policy maps cannot have pause buffer and priority/bandwidth together.
-
For cable lengths that are greater than 100m, the pause buffer size threshold configuration is mandatory and it is required
as part of the QoS policy configuration.
-
If PFC is enabled
on a port or a port channel, it does not cause a port flap.
-
PFC configuration
enables PFC in both the send (Tx) and receive (Rx) direction.
-
Configuration
time quanta of the pause frames is not supported.
-
You can
configure a PFC watchdog interval to detect whether packets in a no-drop queue
are being drained within a specified time period. When the time period is
exceeded, all outgoing packets are dropped on interfaces that match the PFC
queue that is not being drained. Beginning with Cisco NX-OS Release
7.0(3)I4(2), this feature is supported only for Cisco Nexus 9200 Series
switches, Cisco Nexus 93108TC-EX, and 93180YC-EX switches, and Cisco Nexus 9508
switches with the X9732C-EX line cards.
Beginning with Cisco NX-OS Release 7.0(3)I4(5), this feature is
supported on Cisco Nexus 9508 switches with N9K-X9636PQ line cards and Cisco
Nexus 3164Q switches.
-
The configuration
does not support pausing selected streams that are mapped to a particular
traffic-class queue. All flows that are mapped to the class are treated as
no-drop. It blocks out scheduling for the entire queue, which pauses traffic
for all the streams in the queue. To achieve lossless service for a no-drop
class, Cisco recommends that you have only the no-drop class traffic on the
queue.
-
When a no-drop
class is classified based on 802.1p CoS x and assigned a internal priority
value (qos-group) of y, Cisco recommends that you use the internal priority
value x to classify traffic on 802.1p CoS only, and not on any other field. The
packet priority assigned is x if the classification is not based on CoS, which
results in packets of internal priority x and y to map to the same priority x.
-
The PFC feature
supports up to three no-drop classes of any maximum transmission unit (MTU)
size. However, there is a limit on the number of PFC-enabled interfaces based
on the following factors:
-
You can define
the upper limit of any MTU in the system using the systemjumbomtu command. The
MTU range is from 1500 to 9216 bytes, and the default is 9216 bytes.
-
The interface QoS
policy takes precedence over the system policy. PFC priority derivation also
happens in the same order.
-
Ensure that you
apply the same interface-level QoS policy on all PFC-enabled interfaces for
both ingress and egress.
Caution
|
Irrespective of
the PFC configuration, Cisco recommends that you stop traffic before applying
or removing a queuing policy that has strict priority levels at the interface
level or the system level.
|
-
To achieve
end-to-end lossless service over the network, Cisco recommends that you enable
PFC on each interface through which the no-drop class traffic flows (Tx/Rx).
-
Cisco recommends
that you change the PFC configuration when there is no traffic. Otherwise,
packets already in the Memory Management Unit (MMU) of the system might not get
the expected treatment.
-
Cisco recommends
that you use default buffer sizes for no-drop classes or configure different
input queuing policies suitable to 10G and 40G interfaces and the no-drop class
MTU size. If the buffer size is specified through the CLI, it allocates the
same buffer size for all ports irrespective of the link speed and MTU size.
Applying the same pause buffer-size on 10G and 40G interfaces is not supported.
-
Do not enable
WRED on a no-drop class because it results in egress queue drops.
-
Dynamic load
balancing cannot be enabled for internal links with PFC. You must disable DLB
and enable RTAG7 load-balancing for internal links with the port-channel
load-balance internal rtag7 command.
-
The dynamic load
balancing (DLB) based hashing scheme is enabled by default on all internal
links of a linecard. When DLB is enabled, no-drop traffic might experience
out-of-order packet delivery when congestion on internal links occurs and PFC
is applied. If applications on the system are sensitive to out-of-order
delivery, you can adjust for this by disabling DLB at the qos-group level.
Disable DLB by using the
set
dlb-disable action in the QoS policy-maps and the
set
qos-group action for no-drop classes.
In the following
example assume that qos-group 1 is a no-drop class. DLB is disabled for this
no-drop class by adding the
set
dlb-disable action and the
set
qos-group action.
switch(config)# policy-map p1
switch(config-pmap-qos)# class c1
switch(config-pmap-c-qos)# set qos-group 1
switch(config-pmap-c-qos)# set dlb-disable
switch(config-pmap-c-qos)# end
switch# show policy-map p1
Type qos policy-maps
====================
policy-map type qos p1
class c1
set qos-group 1
set dlb-disable
Note
|
The following Cisco Nexus platform switches do not support the set-dlb-disable command:
-
Cisco Nexus 9200-series platform switches
-
Cisco Nexus 9300-EX/FX/FX2 platform switches
-
Cisco Nexus 9500-series platform switches with -EX and -FX line cards
|
-
For VLAN-tagged
packets, priority is assigned based on the 802.1p field in the VLAN tag and
takes precedence over the assigned internal priority (qos-group). DSCP or IP
access-list classification cannot be performed on VLAN-tagged frames.
-
For non
VLAN-tagged frames, priority is assigned based on the
set
qos-group action given by the ingress QoS policy. Classification is
based on a QoS policy-allowed match condition such as precedence, DSCP, or
access-list. You must ensure that the
pfc-cos value provided in the network-qos policy for
this class is the same as the
qos-group value in this case.
-
PFC is not
supported for the N9K-X9408PC-CFP2 line card on Cisco Nexus 9500 Series
switches.
-
Beginning with
NX-OS 7.0(3)I1(2), link level flow control and PFC are supported on Cisco Nexus
9300 Series switches and line cards that contain the ALE (Application Leaf
Engine).
-
PFC on mode is
used to support the hosts that support PFC but do not support the Data Center
Bridging Capability Exchange Protocol (DCBXP).
-
Only an exact
match of the no-drop CoS is considered as a successful negotiation of PFC by
the DCBXP.
-
Beginning with
Cisco NX-OS Release 7.0(3)I3(1), DCBXP is supported on the following Cisco
Nexus switches:
-
Beginning with
Cisco NX-OS Release 7.0(3)I5(1), DCBXP is supported on Cisco Nexus 9200 and
9300-EX Series switches.
-
Beginning with
Cisco NX-OS Release 7.0(3)I4(2), the
no lldp tlv-select
dcbxp command is enhanced so that PFC is disabled for interfaces
on both sides of back-to-back switches.
-
Beginning with Cisco NX-OS Release 7.0(3)I7(4), when PFC is received on a lossy priority group (non-configured), the event
is recorded in the syslog for subsequent analysis.
-
Beginning with Cisco NX-OS Release 7.0(3)I7(4), switches can be configured to drop multicast/broadcast traffic on no-drop
configured classes with the hardware qos pfc mc-drop command.
-
Beginning with Cisco NX-OS Release 7.0(3)I7(8), you can see additional syslog messages for multicast queue drops on no-drop
class when you enable hardware qos pfc mc-drop global configuration.
-
Beginning with Cisco NX-OS Release 7.0(3)I7(4), traffic across all no-drop queues and incoming PFC frames for no-drop classes
can be configured to be dropped with the priority-flow-control watch-dog forced on command. (Use the no priority-flow-control watch-dog forced on command to re-enable the traffic for no-drop classes.)
-
When a queue (under an interface) becomes stuck, you can use the priority-flow-control watch-dog-interval on disable-action command to send a message to the syslog that describes the status of the queue instead of shutting the queue (NX-OS 7.0(3)I7(4)
and later).
Example:
switch(config)# interface ethernet 1/12
switch(config-if)# priority-flow-control watch-dog-interval on disable-action