From: Steve Yang Date: Mon, 14 Mar 2022 09:31:46 +0000 (+0000) Subject: net/iavf: fix HW ring scan method selection X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=070ef4e6c815bf7f4647070acf1ed4025e0512e9;p=dpdk.git net/iavf: fix HW ring scan method selection When setup Rx queue, the rxdid would be changed if it's "IAVF_RXDID_LEGACY_0/1", that caused the scan HW ring used the wrong function 'iavf_rx_scan_hw_ring_flex_rxd()'. Ignore the rxdid changed when equals "IAVF_RXDID_LEGACY_0/1". Fixes: 0ed16e01313e ("net/iavf: fix function pointer in multi-process") Cc: stable@dpdk.org Signed-off-by: Steve Yang Acked-by: Beilei Xing --- diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c index d2cc3ed4bd..764218ace0 100644 --- a/drivers/net/iavf/iavf_rxtx.c +++ b/drivers/net/iavf/iavf_rxtx.c @@ -477,6 +477,8 @@ iavf_rxd_to_pkt_fields_by_comms_aux_v2(struct iavf_rx_queue *rxq, static const iavf_rxd_to_pkt_fields_t rxd_to_pkt_fields_ops[IAVF_RXDID_LAST + 1] = { + [IAVF_RXDID_LEGACY_0] = iavf_rxd_to_pkt_fields_by_comms_ovs, + [IAVF_RXDID_LEGACY_1] = iavf_rxd_to_pkt_fields_by_comms_ovs, [IAVF_RXDID_COMMS_AUX_VLAN] = iavf_rxd_to_pkt_fields_by_comms_aux_v1, [IAVF_RXDID_COMMS_AUX_IPV4] = iavf_rxd_to_pkt_fields_by_comms_aux_v1, [IAVF_RXDID_COMMS_AUX_IPV6] = iavf_rxd_to_pkt_fields_by_comms_aux_v1, @@ -521,6 +523,8 @@ iavf_select_rxd_to_pkt_fields_handler(struct iavf_rx_queue *rxq, uint32_t rxdid) rte_pmd_ifd_dynflag_proto_xtr_ipsec_crypto_said_mask; break; case IAVF_RXDID_COMMS_OVS_1: + case IAVF_RXDID_LEGACY_0: + case IAVF_RXDID_LEGACY_1: break; default: /* update this according to the RXDID for FLEX_DESC_NONE */