Intel® Ethernet 800 Series Linux Flow Control

Configuration Guide for RDMA Use Cases

ID 635330
Date 07/13/2023
Version 1.3
Document Table of Contents

Determining PFC Priority Mode: PCP vs. DSCP

An Ethernet frame's priority can be determined by one of two distinct values: PCP (VLAN) or DSCP.

Priority Code Point (PCP) is used to classify and manage network traffic, and providing QoS in Layer 2 Ethernet networks. It uses the 3-bit PCP field in the VLAN header for packet classification.

Differentiated Services or DiffServ uses a 6-bit DSCP in the 8-bit DS field in the IP header for packet classification. The DS field replaces the outdated IPv4 TOS field. Of the 6 DSCP bits, 3 most significant bits represent priority value and the next 3 bits represent the drop precedence within each traffic class.

Intel's ice driver supports two PFC modes: Layer 3 DSCP-based Quality of Service (L3 QoS) and L2 VLAN based QoS in the PF driver. For RoCEv2 traffic, VLAN priority tags or DSCP values must be configured on the network. PFC mode is configured per port.

Value Reference Layer Field Description
PCP IEEE 802.1Qbb 2

Priority determined by the 3-bit 802.1p Priority Code Point (PCP) field in a frame's VLAN tag.

Also sometimes called Class of Service (CoS).

DSCP RFC 4594 3

Priority determined by the 6-bit Differentiated Services Code Point (DSCP) value in the IPv4 or IPv6 header.

DSCP is the upper 6 bits of the Type of Service (ToS) field.

Ethernet devices might choose to use either value when making QoS priority decisions. This setting is usually referred to as trust mode, with options like CoS Trust, DSCP Trust, or Untrusted.

Note:L3 QoS mode is not available when FW-LLDP is enabled. You also cannot enable FW-LLDP if L3 QoS mode is active. See the L3 QoS mode section in the ice README for more details. Note:VLAN UP may be included in the L2 header even when the port is configured for DSCP PFC. Note:Contrary to what its name might suggest, in RoCEv2 mode VLAN-based PFC can be used without explicitly creating new VLANs. Instead, when PFC is enabled, VLAN 0 priority tagging is automatically and transparently enabled on otherwise untagged interfaces. This creates a VLAN header so that the PCP field exists, but the VLAN ID is 0. Also, the VLAN priority value is influenced by setting the ToS value at the application level. While this is true for RoCEv2 mode, iWARP mode requires VLAN to be configured fully to enable PFC. Use a non-zero VLAN tag when setting up iWARP.