On 10/25, Ying Wang wrote: >The original packet type table's hw-ptype index to sw-ptype >mapping is wrong. This patch fixed the issue. > >Fixes: ab9dccf09af9 ("net/ice: support packet type getting") >Cc: sta...@dpdk.org > >Signed-off-by: Ying Wang <ying.a.w...@intel.com> >--- > drivers/net/ice/ice_rxtx.c | 312 ++++++++++++++++++++++++--------------------- > 1 file changed, 169 insertions(+), 143 deletions(-) > >diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c >index 8d4820d3c..82ae67d34 100644 >--- a/drivers/net/ice/ice_rxtx.c >+++ b/drivers/net/ice/ice_rxtx.c >@@ -1773,9 +1773,42 @@ ice_recv_scattered_pkts(void *rx_queue, > const uint32_t * > ice_dev_supported_ptypes_get(struct rte_eth_dev *dev) > { >- static const uint32_t ptypes[] = { >+ struct ice_adapter *ad = >+ ICE_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); >+ const uint32_t *ptypes; >+ >+ static const uint32_t ptypes_os[] = { >+ /* refers to ice_get_default_pkt_type() */ >+ RTE_PTYPE_L2_ETHER, >+ RTE_PTYPE_L2_ETHER_TIMESYNC, >+ RTE_PTYPE_L2_ETHER_LLDP, >+ RTE_PTYPE_L2_ETHER_ARP, >+ RTE_PTYPE_L3_IPV4_EXT_UNKNOWN, >+ RTE_PTYPE_L3_IPV6_EXT_UNKNOWN, >+ RTE_PTYPE_L4_FRAG, >+ RTE_PTYPE_L4_ICMP, >+ RTE_PTYPE_L4_NONFRAG, >+ RTE_PTYPE_L4_SCTP, >+ RTE_PTYPE_L4_TCP, >+ RTE_PTYPE_L4_UDP, >+ RTE_PTYPE_TUNNEL_GRENAT, >+ RTE_PTYPE_TUNNEL_IP, >+ RTE_PTYPE_INNER_L2_ETHER, >+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN, >+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN, >+ RTE_PTYPE_INNER_L4_FRAG, >+ RTE_PTYPE_INNER_L4_ICMP, >+ RTE_PTYPE_INNER_L4_NONFRAG, >+ RTE_PTYPE_INNER_L4_SCTP, >+ RTE_PTYPE_INNER_L4_TCP, >+ RTE_PTYPE_INNER_L4_UDP, >+ RTE_PTYPE_UNKNOWN >+ }; >+ >+ static const uint32_t ptypes_comms[] = { > /* refers to ice_get_default_pkt_type() */ > RTE_PTYPE_L2_ETHER, >+ RTE_PTYPE_L2_ETHER_TIMESYNC, > RTE_PTYPE_L2_ETHER_LLDP, > RTE_PTYPE_L2_ETHER_ARP, > RTE_PTYPE_L3_IPV4_EXT_UNKNOWN, >@@ -1789,7 +1822,6 @@ ice_dev_supported_ptypes_get(struct rte_eth_dev *dev) > RTE_PTYPE_TUNNEL_GRENAT, > RTE_PTYPE_TUNNEL_IP, > RTE_PTYPE_INNER_L2_ETHER, >- RTE_PTYPE_INNER_L2_ETHER_VLAN, > RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN, > RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN, > RTE_PTYPE_INNER_L4_FRAG, >@@ -1800,9 +1832,15 @@ ice_dev_supported_ptypes_get(struct rte_eth_dev *dev) > RTE_PTYPE_INNER_L4_UDP, > RTE_PTYPE_TUNNEL_GTPC, > RTE_PTYPE_TUNNEL_GTPU, >+ RTE_PTYPE_L2_ETHER_PPPOE, > RTE_PTYPE_UNKNOWN > }; > >+ if (ad->active_pkg_type == ICE_PKG_TYPE_COMMS) >+ ptypes = ptypes_comms; >+ else >+ ptypes = ptypes_os; >+ > if (dev->rx_pkt_burst == ice_recv_pkts || > #ifdef RTE_LIBRTE_ICE_RX_ALLOW_BULK_ALLOC > dev->rx_pkt_burst == ice_recv_pkts_bulk_alloc || >@@ -2770,7 +2808,6 @@ ice_set_rx_function(struct rte_eth_dev *dev) > } > > #endif >-
Minor nit, it's an unrelated change, remove it while merging. For the reset, Reviewed-by: Xiaolong Ye <xiaolong...@intel.com> Applied to dpdk-next-net-intel. Thanks.