Configuring DSCP-based PFC for Layer 3 Untagged Traffic
You can configure DSCP-based PFC to support lossless behavior for untagged traffic across Layer 3 connections to Layer 2 subnetworks for protocols such as Remote Direct Memory Access (RDMA) over converged Ethernet version 2 (RoCEv2).
With DSCP-based PFC, pause frames are generated to notify the peer that the link is congested based on a configured 6-bit Distributed Services code point (DSCP) value in the Layer 3 IP header of incoming traffic, rather than a 3-bit IEEE 802.1p code point in the Layer 2 VLAN header.
Because PFC on the QFX Series can only send pause frames corresponding to PFC priority code points, the 6-bit configured DSCP value must be mapped to a 3-bit PFC priority to use in pause frames when DSCP-based PFC is triggered. Configuring the mapping involves mapping the PFC priority value to a no-loss forwarding class when you map the forwarding class to a queue, defining a congestion notification profile to enable PFC on traffic with the desired DSCP value, and configuring a DSCP classifier to associate the PFC priority-mapped forwarding class (along with the loss priority) with the configured DSCP value on which to trigger PFC pause frames.
The peer device should have output PFC and a corresponding flow control queue configured to match the PFC priority configuration on the QFX Series device.
To configure DSCP-based PFC:
- Map a lossless forwarding class to a PFC priority—a
3-bit value represented in decimal form (0-7)—to use in the
PFC pause frames.
You must also assign an output queue to the forwarding class with the queue-num option. The no-loss option is required in this case to support lossless behavior for DSCP-based PFC, and the pfc-priority statement specifies the priority value mapping, as follows:
- Define an input congestion notification profile to enable
PFC on traffic specified by the desired 6-bit DSCP value, and optionally
configure the maximum receive unit (MRU) at this time (used to determine
PFC buffer headroom space reserved for the link):
You cannot configure both DSCP-based PFC and IEEE 802.1p PFC under the same congestion notification profile.
- Set up a DSCP classifier for the confgured DSCP value and no-loss forwarding class mapped in the previous steps:
- Assign the classifier and congestion notification profile set up in the previous steps to an interface on which you are enabling DSCP-based PFC:
For example, with the following sample commands configuring DSCP-based PFC for interface xe-0/0/1, PFC pause frames will be generated with PFC priority 3 when incoming traffic with DSCP value 110000 becomes congested:
set interfaces xe-0/0/1 unit 0 family inet address 10.1.1.2/24
set class-of-service forwarding-classes class fc1 queue-num 1 no-loss
set class-of-service forwarding-classes class fc1 pfc-priority 3
set class-of-service congestion-notification-profile dpfc-cnp input dscp code-point 110000 pfc
set class-of-service classifiers dscp dpfc forwarding-class fc1 loss-priority low code-points 110000
set class-of-service interfaces xe-0/0/1 congestion-notification-profile dpfc-cnp
set class-of-service interfaces xe-0/0/1 classifiers dscp dpfc