Intel® Ethernet 800 Series Linux Flow Control

Configuration Guide for RDMA Use Cases

ID Date Version Classification
635330 11/13/2025 Public
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.

These modes are mutually exclusive. If a DSCP mapping is defined (e.g. by using ethtool), then the device will change into DSCP mode and no longer look at the PCP field (if present) to determine a packets priority. When the last DSCP mapping is deleted, then the device will switch back into VLAN mode. DSCP mapping values cannot be negotiated over DCBx since they are a L3 concept. They must be manually configured.

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.

Notes:
  1. 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.
  2. Even when the port is configured for DSCP-based Priority Flow Control (PFC), the User Priority (UP) field may still appear in the L2 header of VLAN-tagged packets. This is expected behavior and does not affect DSCP-based traffic handling.
  3. In RoCEv2 mode, you do not need to manually create VLANs to use VLAN-based Priority Flow Control (PFC). When PFC is enabled, the system automatically adds a VLAN header with ID 0 to untagged packets. This allows the Priority Code Point (PCP) field to be used for traffic prioritization. The priority value is influenced by the ToS (Type of Service) setting at the application level.

    However, in iWARP mode, VLANs must be explicitly configured to enable PFC. Make sure to use a non-zero VLAN ID when setting up iWARP with PFC.