|SUCCESS| [v5,1/1] net/hinic3: Fix VXLAN TSO issue

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Thu May 28 14:44:27 CEST 2026


Test-Label: ai-code-review
Test-Status: SUCCESS
https://dpdk.org/patch/164528

_AI Code Review_

=== Patch Review: series.patch (via Claude) ===
Review date: 2026-05-28

DPDK Patch Review

Commit: (SHA from patch file metadata)
Author: Feifei Wang <wangfeifei40 at huawei.com>
Subject: net/hinic3: Fix VXLAN TSO issue

This patch addresses a missing flag bit for VXLAN TSO support in the
hinic3 driver, which previously caused incorrect hardware capability
detection.

> From: Feifei Wang <wangfeifei40 at huawei.com>
> 
> VXLAN TSO lacks a flag bit, causing the processing function
> to determine that the hardware does not support it, leading
> to improper handling.
> 
> Fixes: 7608f0367d ("net/hinic3: add dev ops")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Feifei Wang <wangfeifei40 at huawei.com>
> ---
>  drivers/net/hinic3/hinic3_ethdev.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/hinic3/hinic3_ethdev.c b/drivers/net/hinic3/hinic3_ethdev.c
> index f4eb788..66c5c3a 100644
> --- a/drivers/net/hinic3/hinic3_ethdev.c
> +++ b/drivers/net/hinic3/hinic3_ethdev.c
> @@ -652,8 +652,12 @@ hinic3_dev_configure(struct rte_eth_dev *dev)
>  static void
>  hinic3_dev_tnl_tso_support(struct rte_eth_dev_info *info, struct hinic3_nic_dev *nic_dev)
>  {
> +	if (HINIC3_SUPPORT_VXLAN_OFFLOAD(nic_dev))
> +		info->tx_offload_capa |= RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO;
> +

Does the patch unconditionally advertise VXLAN TSO capability when
HINIC3_SUPPORT_VXLAN_OFFLOAD is true, regardless of whether the hardware
truly supports TSO for VXLAN? This pattern differs from GENEVE and IPXIP
handling below.

>  	if (HINIC3_SUPPORT_GENEVE_OFFLOAD(nic_dev))
>  		info->tx_offload_capa |= RTE_ETH_TX_OFFLOAD_GENEVE_TNL_TSO;
> +
>  	if (HINIC3_SUPPORT_IPXIP_OFFLOAD(nic_dev))
>  		info->tx_offload_capa |= RTE_ETH_TX_OFFLOAD_IPIP_TNL_TSO;
>  }

[ ... ]

> @@ -698,8 +702,8 @@ hinic3_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
>  		RTE_ETH_TX_OFFLOAD_SCTP_CKSUM |
>  		RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM |
>  		RTE_ETH_TX_OFFLOAD_TCP_TSO | RTE_ETH_TX_OFFLOAD_MULTI_SEGS;
> -	if (nic_dev->feature_cap & NIC_F_HTN_CMDQ)
> -		hinic3_dev_tnl_tso_support(info, nic_dev);
> +
> +	hinic3_dev_tnl_tso_support(info, nic_dev);

Does removing the NIC_F_HTN_CMDQ feature check allow
hinic3_dev_tnl_tso_support() to advertise tunnel TSO capabilities on
hardware that doesn't support them? The original code gated this entire
function behind NIC_F_HTN_CMDQ. Are the individual
HINIC3_SUPPORT_*_OFFLOAD macros within hinic3_dev_tnl_tso_support()
sufficient to prevent advertising unsupported capabilities?

> 
>  	info->hash_key_size = HINIC3_RSS_KEY_SIZE;
>  	info->reta_size = HINIC3_RSS_INDIR_SIZE;


More information about the test-report mailing list