Hello, On Mon, 1 Sept 2025 at 12:00, Ciara Loftus <ciara.lof...@intel.com> wrote: > > The set of supported Rx offloads in the vector path had been defined as > those supported by the scalar path. This was incorrect so define a new > list of supported offloads for the vector path. The list is the same > as the scalar path except it excludes vlan extend and qinq strip. > > Fixes: 052ae311091c ("net/i40e: use the common Rx path selection > infrastructure") > > Signed-off-by: Ciara Loftus <ciara.lof...@intel.com> > --- > drivers/net/intel/i40e/i40e_rxtx.h | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/intel/i40e/i40e_rxtx.h > b/drivers/net/intel/i40e/i40e_rxtx.h > index 5d5d4e08b0..1f210dfdff 100644 > --- a/drivers/net/intel/i40e/i40e_rxtx.h > +++ b/drivers/net/intel/i40e/i40e_rxtx.h > @@ -80,7 +80,16 @@ enum i40e_header_split_mode { > RTE_ETH_RX_OFFLOAD_VLAN_FILTER | \ > RTE_ETH_RX_OFFLOAD_RSS_HASH) > > -#define I40E_RX_VECTOR_OFFLOADS I40E_RX_SCALAR_OFFLOADS > +#define I40E_RX_VECTOR_OFFLOADS ( \ > + RTE_ETH_RX_OFFLOAD_VLAN_STRIP | \ > + RTE_ETH_RX_OFFLOAD_IPV4_CKSUM | \ > + RTE_ETH_RX_OFFLOAD_UDP_CKSUM | \ > + RTE_ETH_RX_OFFLOAD_TCP_CKSUM | \ > + RTE_ETH_RX_OFFLOAD_OUTER_IPV4_CKSUM | \ > + RTE_ETH_RX_OFFLOAD_KEEP_CRC | \ > + RTE_ETH_RX_OFFLOAD_SCATTER | \ > + RTE_ETH_RX_OFFLOAD_VLAN_FILTER | \ > + RTE_ETH_RX_OFFLOAD_RSS_HASH)
I was curious about this fix so I have been trying to understand the list of supported offloads, and I have a few interrogations. How does this new code articulate with function i40e_rx_vec_dev_conf_condition_check_default() (that seems to have a build check on RTE_LIBRTE_IEEE1588). This seems like redundant logic to me. Should the dev_info->rx_offload_capa field be filled with the common set of flags of the scalar handler? -- David Marchand