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>
Acked-by: Bruce Richardson <bruce.richard...@intel.com>
---

Notes:
    v5:
    - Add this patch

 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

Reply via email to