After reconfiguring an RX queue the mbuf_initializer value was not being correctly set. Fix this by calling the appropriate function if vector processing is enabled. This mirrors the behaviour by the i40e driver.
Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx") Cc: jingjing...@intel.com Cc: sta...@dpdk.org Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> --- drivers/net/iavf/iavf_rxtx.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c index f7df4665d1..797cdda4b2 100644 --- a/drivers/net/iavf/iavf_rxtx.c +++ b/drivers/net/iavf/iavf_rxtx.c @@ -755,6 +755,13 @@ iavf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx, if (check_rx_vec_allow(rxq) == false) ad->rx_vec_allowed = false; +#if defined RTE_ARCH_X86 || defined RTE_ARCH_ARM + /* check vector conflict */ + if (ad->rx_vec_allowed && iavf_rxq_vec_setup(rxq)) { + PMD_DRV_LOG(ERR, "Failed vector rx setup."); + return -EINVAL; + } +#endif return 0; } -- 2.39.2