patch 'net/iavf: fix check for PF Rx timestamp support' has been queued to stable release 22.11.11

luca.boccassi at gmail.com luca.boccassi at gmail.com
Thu Nov 20 13:44:37 CET 2025


Hi,

FYI, your patch has been queued to stable release 22.11.11

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/22/25. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/67011def404022c502846ff358ee35a4e2c85f08

Thanks.

Luca Boccassi

---
>From 67011def404022c502846ff358ee35a4e2c85f08 Mon Sep 17 00:00:00 2001
From: Jacob Keller <jacob.e.keller at intel.com>
Date: Thu, 13 Nov 2025 13:33:44 -0800
Subject: [PATCH] net/iavf: fix check for PF Rx timestamp support

[ upstream commit d21c2fe6e5a1ef1e7cc9490f54f359db1cfd5283 ]

The iavf driver has support for hardware Rx timestamps since commit
b5cd735132f6 ("net/iavf: enable Rx timestamp on flex descriptor").

To enable this, the VF must first negotiate PTP capabilities with the PF
by sending the VIRTCHNL_OP_1588_PTP_GET_CAPS command, with the requested
capabilities. The PF will respond with the actually supported subset of
capabilities.

The PF may not actually enable Rx timestamping, even if it reports the
overall PTP capability support. If this happens, the iavf driver logic
will incorrectly report that Rx timestamps can be enabled despite being
rejected by the PF.

This is unlikely in practice, as most PFs which support the
VIRTCHNL_VF_CAP_PTP will support Rx timestamping. However, there are
some cases where this may not be true.

Check that the PF actually reports the Rx timestamping capability
instead of assuming it is enabled. Doing so prevents the DPDK
application from attempting to enable Rx timestamps when they won't
actually be enabled.

Fixes: b5cd735132f6 ("net/iavf: enable Rx timestamp on flex descriptor")

Signed-off-by: Jacob Keller <jacob.e.keller at intel.com>
---
 drivers/net/iavf/iavf_ethdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 7371d2a805..6056ab961b 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -1146,7 +1146,8 @@ iavf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 	if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_CRC)
 		dev_info->rx_offload_capa |= RTE_ETH_RX_OFFLOAD_KEEP_CRC;
 
-	if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_CAP_PTP)
+	if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_CAP_PTP &&
+	    vf->ptp_caps & VIRTCHNL_1588_PTP_CAP_RX_TSTAMP)
 		dev_info->rx_offload_capa |= RTE_ETH_RX_OFFLOAD_TIMESTAMP;
 
 	if (iavf_ipsec_crypto_supported(adapter)) {
-- 
2.47.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-11-20 12:44:12.978779670 +0000
+++ 0005-net-iavf-fix-check-for-PF-Rx-timestamp-support.patch	2025-11-20 12:44:12.774087887 +0000
@@ -1 +1 @@
-From d21c2fe6e5a1ef1e7cc9490f54f359db1cfd5283 Mon Sep 17 00:00:00 2001
+From 67011def404022c502846ff358ee35a4e2c85f08 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d21c2fe6e5a1ef1e7cc9490f54f359db1cfd5283 ]
+
@@ -29 +30,0 @@
-Cc: stable at dpdk.org
@@ -33 +34 @@
- drivers/net/intel/iavf/iavf_ethdev.c | 3 ++-
+ drivers/net/iavf/iavf_ethdev.c | 3 ++-
@@ -36,5 +37,5 @@
-diff --git a/drivers/net/intel/iavf/iavf_ethdev.c b/drivers/net/intel/iavf/iavf_ethdev.c
-index 15e49fe248..3ef766de47 100644
---- a/drivers/net/intel/iavf/iavf_ethdev.c
-+++ b/drivers/net/intel/iavf/iavf_ethdev.c
-@@ -1177,7 +1177,8 @@ iavf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
+diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
+index 7371d2a805..6056ab961b 100644
+--- a/drivers/net/iavf/iavf_ethdev.c
++++ b/drivers/net/iavf/iavf_ethdev.c
+@@ -1146,7 +1146,8 @@ iavf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
@@ -49 +50 @@
- 	if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_VLAN_V2 &&
+ 	if (iavf_ipsec_crypto_supported(adapter)) {


More information about the stable mailing list