From: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
To: dev@dpdk.org
Cc: bruce.richardson@intel.com, anatoly.burakov@intel.com
Subject: [PATCH] doc: update documentation for ICE DCB and PFC features
Date: Mon, 3 Nov 2025 15:02:37 +0000 [thread overview]
Message-ID: <20251103150237.958606-1-vladimir.medvedkin@intel.com> (raw)
Add DCB and PFC documentation. Update feature matrix
and release notes.
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
---
doc/guides/nics/features/ice.ini | 1 +
doc/guides/nics/ice.rst | 74 ++++++++++++++++++++++++++
doc/guides/rel_notes/release_25_11.rst | 4 ++
3 files changed, 79 insertions(+)
diff --git a/doc/guides/nics/features/ice.ini b/doc/guides/nics/features/ice.ini
index 2703493514..e9796c1eab 100644
--- a/doc/guides/nics/features/ice.ini
+++ b/doc/guides/nics/features/ice.ini
@@ -24,6 +24,7 @@ Scattered Rx = Y
TSO = Y
Promiscuous mode = Y
Allmulticast mode = Y
+DCB = Y
Unicast MAC filter = Y
RSS hash = Y
RSS key update = Y
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 7e9ba23102..7fe61daaf3 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -447,6 +447,80 @@ and add the ``--force-max-simd-bitwidth=64`` startup parameter to disable vector
examples/dpdk-ptpclient -l 0-3 -n 3 -a 0000:ec:00.1 --force-max-simd-bitwidth=64 -- -T 1 -p 0x1 -c 1
+Data Center Bridging (DCB) and Priority Flow Control (PFC)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The ice PMD supports Data Center Bridging (DCB) and Priority Flow Control (PFC).
+These features enable Quality of Service (QoS) in data center environments by allowing
+traffic classification and prioritization across multiple traffic classes.
+
+DCB Configuration
+^^^^^^^^^^^^^^^^^
+
+DCB can be enabled by configuring the device with ``RTE_ETH_MQ_RX_DCB_FLAG`` in the Rx mode
+during device configuration.
+
+The ice PMD supports:
+
+* 4 or 8 traffic classes (TCs)
+* VLAN Priority to Traffic Class mapping
+* All TCs configured with Enhanced Transmission Selection (ETS) with even bandwidth allocation
+* Queues are evenly distributed across configured TCs
+
+Requirements:
+
+* The number of queues must be evenly divisible by the number of traffic classes
+* The number of queues per TC must be a power of 2
+* Traffic classes must be configured contiguously starting from TC 0
+
+Example DCB configuration in testpmd:
+
+.. code-block:: console
+
+ dpdk-testpmd -a 0000:18:00.0 -- -i --nb-cores=8 --rxq=8 --txq=8
+ port stop 0
+ port config 0 dcb vt off 4 pfc off
+ port start 0
+
+This configures 4 traffic classes with 2 queues per TC.
+
+PFC Configuration
+^^^^^^^^^^^^^^^^^
+
+Priority Flow Control (PFC) provides a mechanism to pause and resume traffic
+on individual traffic classes, enabling lossless Ethernet for specific priorities.
+
+PFC can be configured per priority using the ``rte_eth_dev_priority_flow_ctrl_set()`` API.
+Each traffic class can be independently configured with:
+
+* RX pause only
+* TX pause only
+* Full duplex pause
+* No pause (disabled)
+
+PFC operates in VLAN-based mode and requires DCB to be configured first.
+
+Features:
+
+* Per-TC pause control (XON/XOFF)
+* Configurable high/low watermarks for buffer management
+* Configurable pause quanta
+* PFC statistics exposed via xstats
+
+Example PFC configuration using DPDK API:
+
+.. code-block:: c
+
+ struct rte_eth_pfc_conf pfc_conf;
+
+ pfc_conf.fc.mode = RTE_ETH_FC_FULL; /* Enable full duplex pause */
+ pfc_conf.fc.high_water = 100000; /* High watermark in bytes */
+ pfc_conf.fc.low_water = 50000; /* Low watermark in bytes */
+ pfc_conf.fc.pause_time = 0xFFFF; /* Pause quanta (in 512 bit-time units) */
+ pfc_conf.priority = 0; /* Configure PFC for priority 0 */
+
+ ret = rte_eth_dev_priority_flow_ctrl_set(port_id, &pfc_conf);
+
Tx Packet Pacing
~~~~~~~~~~~~~~~~
diff --git a/doc/guides/rel_notes/release_25_11.rst b/doc/guides/rel_notes/release_25_11.rst
index c5ba335cfc..6a35f9f15d 100644
--- a/doc/guides/rel_notes/release_25_11.rst
+++ b/doc/guides/rel_notes/release_25_11.rst
@@ -115,6 +115,10 @@ New Features
Added network driver for the Huawei SPx series Network Adapters.
+* **Added DCB and PFC support to Intel ice net driver.**
+
+ Added support for Data Center Bridging (DCB) and Priority Flow Control (PFC) to the Intel ice PMD.
+
* **Added Nebulamatrix nbl ethernet driver.**
Added the PMD for Nebulamatrix NICs.
--
2.43.0
next reply other threads:[~2025-11-03 15:02 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-03 15:02 Vladimir Medvedkin [this message]
2025-11-03 15:10 ` Bruce Richardson
2025-11-03 15:50 ` Medvedkin, Vladimir
2025-11-03 15:53 ` Bruce Richardson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251103150237.958606-1-vladimir.medvedkin@intel.com \
--to=vladimir.medvedkin@intel.com \
--cc=anatoly.burakov@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).