On Tue, Nov 25, 2025 at 10:30:37AM +0000, Hore, Soumyadeep wrote:
> Commit d21c2fe6e5a1 ("net/iavf: fix check for PF Rx timestamp support") added 
> a check against whether the PF has actually enabled Rx timestamping in 
> iavf_dev_info_get(). Unfortunately, this function may be called prior to the 
> PTP capabilities being exchanged, which results in Rx timestamping not being 
> supported.
> 
> Fix this by checking the PF PTP capabilities near the end of iavf_dev_init(). 
> This ensures the VF knows the capabilities at the point where the 
> iavf_dev_info_get() function can be called. Doing the check at init is better 
> than inside the info callback, as the info callback is called many times.
> 
> The capability exchange in iavf_dev_start() is kept to ensure that 
> capabilities are updated after resets.
> 
> Fixes: d21c2fe6e5a1 ("net/iavf: fix check for PF Rx timestamp support")
> Signed-off-by: Jacob Keller <[email protected]>
> ---
> My recent fix to prevent enabling Rx timestamping on PFs which do support PTP 
> capability but do not report Rx timestamping accidentally broke PFs which 
> *do* support Rx timestamping. This is because the driver did not exchange 
> capability before reporting its device info. Fix this by checking PF 
> capabilities during iavf_dev_init().
> ---
>  drivers/net/intel/iavf/iavf_ethdev.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/drivers/net/intel/iavf/iavf_ethdev.c 
> b/drivers/net/intel/iavf/iavf_ethdev.c
> index 3ef766de4704..9b07b11a6b51 100644
> --- a/drivers/net/intel/iavf/iavf_ethdev.c
> +++ b/drivers/net/intel/iavf/iavf_ethdev.c
> @@ -2887,6 +2887,14 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
>               }
>       }
>  
> +     /* Get PTP caps early to verify device capabilities */
> +     if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_CAP_PTP) {
> +             if (iavf_get_ptp_cap(adapter)) {
> +                     PMD_INIT_LOG(ERR, "Failed to get ptp capability");
> +                     goto security_init_err;
> +             }
> +     }
> +
>       iavf_default_rss_disable(adapter);
>  
>       iavf_dev_stats_reset(eth_dev);
> 
> ---
> base-commit: ef98b88455bf4a7c8b7aa3106a761c9e9270d6a3
> change-id: 20251121-jk-dpdk-iavf-rx-timestamping-fix-abdcb42f0197
> 
> Best regards,
> --
> Jacob Keller <[email protected]>
> 
> Hi Jacob,
> 
> Currently PTP features are not enabled in DPDK. We only have the Rx timestamp 
> API in place. Typically the change that you want needs to be implemented in 
> ethdev_ops.timesync_enable(), which is not implemented.
> 
At this stage we are post final RC for 25.11, so taking this patch would be
risky anyway. Let's target 26.03 for this, and then look to  backport to
25.11.1

Thanks,
/Bruce

Reply via email to