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.
Also, remove a redundant check for the VLAN Extend offload in the driver code. This check is now performed in the common rx path selection code. 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 ++++++++++- drivers/net/intel/i40e/i40e_rxtx_vec_common.h | 6 ------ 2 files changed, 10 insertions(+), 7 deletions(-) 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) /** Offload features */ union i40e_tx_offload { diff --git a/drivers/net/intel/i40e/i40e_rxtx_vec_common.h b/drivers/net/intel/i40e/i40e_rxtx_vec_common.h index e118df9ce0..39c9d2ee10 100644 --- a/drivers/net/intel/i40e/i40e_rxtx_vec_common.h +++ b/drivers/net/intel/i40e/i40e_rxtx_vec_common.h @@ -54,12 +54,6 @@ static inline int i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev) { #ifndef RTE_LIBRTE_IEEE1588 - struct rte_eth_rxmode *rxmode = &dev->data->dev_conf.rxmode; - - /* no QinQ support */ - if (rxmode->offloads & RTE_ETH_RX_OFFLOAD_VLAN_EXTEND) - return -1; - /** * Vector mode is allowed only when number of Rx queue * descriptor is power of 2. -- 2.34.1