[dpdk-dev] [PATCH 3/3] net/i40e: fix inadvertent override of vector RX allowance

Mesut Ali Ergin mesut.a.ergin at intel.com
Thu May 16 06:28:05 CEST 2019


When i40e_rx_vec_dev_conf_condition_check_default() determines whether
vector receive functions would be allowed during initialization phase,
it should honor previously recorded disallowance during configuration
phase, and not override simply because it is for the first queue.

Signed-off-by: Mesut Ali Ergin <mesut.a.ergin at intel.com>
---
 drivers/net/i40e/i40e_rxtx_vec_common.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h b/drivers/net/i40e/i40e_rxtx_vec_common.h
index 0e6ffa0..f30cab4 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_common.h
+++ b/drivers/net/i40e/i40e_rxtx_vec_common.h
@@ -212,6 +212,10 @@ i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev)
 	if (rxmode->offloads & DEV_RX_OFFLOAD_VLAN_EXTEND)
 		return -1;
 
+	/* Should not override if vector was already disallowed */
+	if (!ad->rx_vec_allowed)
+	return -1;
+
 	/**
 	 * Vector mode is allowed only when number of Rx queue
 	 * descriptor is power of 2.
-- 
2.7.4



More information about the dev mailing list