The SEND_ON_TIMESTAMP TX offload capability was unconditionally
advertised for all ice devices in non-safe mode. However, only E830
hardware supports TxPP (Tx Packet Pacing) via the TXTIME queue
mechanism. E810 and other ice devices correctly reject the offload
at queue setup time (ice_tx_queue_setup checks hw->phy_model), but
advertising the capability misleads applications into thinking the
feature is available.

Gate the SEND_ON_TIMESTAMP capability advertisement on
hw->phy_model == ICE_PHY_E830 so that only devices which actually
support TxPP report the capability.

Signed-off-by: Soumyadeep Hore <[email protected]>
---
 drivers/net/intel/ice/ice_ethdev.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/intel/ice/ice_ethdev.c 
b/drivers/net/intel/ice/ice_ethdev.c
index 0f2e7aee14..030d53aded 100644
--- a/drivers/net/intel/ice/ice_ethdev.c
+++ b/drivers/net/intel/ice/ice_ethdev.c
@@ -4568,8 +4568,10 @@ ice_dev_info_get(struct rte_eth_dev *dev, struct 
rte_eth_dev_info *dev_info)
                        RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO |
                        RTE_ETH_TX_OFFLOAD_GRE_TNL_TSO |
                        RTE_ETH_TX_OFFLOAD_IPIP_TNL_TSO |
-                       RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO |
-                       RTE_ETH_TX_OFFLOAD_SEND_ON_TIMESTAMP;
+                       RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO;
+               if (hw->phy_model == ICE_PHY_E830)
+                       dev_info->tx_offload_capa |=
+                               RTE_ETH_TX_OFFLOAD_SEND_ON_TIMESTAMP;
                dev_info->flow_type_rss_offloads |= ICE_RSS_OFFLOAD_ALL;
        }
 
-- 
2.34.1

Reply via email to