[PATCH] net/i40e: fix supported offloads for Rx vector path

Loftus, Ciara ciara.loftus at intel.com
Tue Sep 2 12:24:37 CEST 2025


> Subject: Re: [PATCH] net/i40e: fix supported offloads for Rx vector path
> 
> Hello,
> 
> On Mon, 1 Sept 2025 at 12:00, Ciara Loftus <ciara.loftus at 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.loftus at 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.

Hi David,

You're right. There is some redundant logic in
i40e_rx_vec_dev_conf_condition_check_default that can be removed.
I'll include its removal in the next revision.

> 
> Should the dev_info->rx_offload_capa field be filled with the common
> set of flags of the scalar handler?

I think this can be done, and maybe it can be done in the other drivers
that use the new common path selection logic too. I'll take a look.

Thanks,
Ciara

> 
> 
> --
> David Marchand



More information about the dev mailing list