There are no differences between scalar and vector paths when it comes to packet type support, and the only data path currently not covered by the check is the VF representor path, because it's not meant to be used directly anyway. Simplify the check to reflect that fact.
Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com> --- Notes: v5: - Add this commit drivers/net/intel/ixgbe/ixgbe_ethdev.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/drivers/net/intel/ixgbe/ixgbe_ethdev.c b/drivers/net/intel/ixgbe/ixgbe_ethdev.c index f1fd271a0a..928ac57a93 100644 --- a/drivers/net/intel/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/intel/ixgbe/ixgbe_ethdev.c @@ -4067,21 +4067,14 @@ ixgbe_dev_supported_ptypes_get(struct rte_eth_dev *dev, size_t *no_of_elements) RTE_PTYPE_INNER_L4_UDP, }; - if (dev->rx_pkt_burst == ixgbe_recv_pkts || - dev->rx_pkt_burst == ixgbe_recv_pkts_lro_single_alloc || - dev->rx_pkt_burst == ixgbe_recv_pkts_lro_bulk_alloc || - dev->rx_pkt_burst == ixgbe_recv_pkts_bulk_alloc) { + /* + * Currently, all Rx functions support all packet types, except for VF representor Rx + * function which has no data path and is not meant to be used directly. + */ + if (dev->rx_pkt_burst != NULL && dev->rx_pkt_burst != ixgbe_vf_representor_rx_burst) { *no_of_elements = RTE_DIM(ptypes); return ptypes; } - -#if defined(RTE_ARCH_X86) || defined(__ARM_NEON) - if (dev->rx_pkt_burst == ixgbe_recv_pkts_vec || - dev->rx_pkt_burst == ixgbe_recv_scattered_pkts_vec) { - *no_of_elements = RTE_DIM(ptypes); - return ptypes; - } -#endif return NULL; } -- 2.47.1