[dpdk-dev,v2] net/i40e: fix to ensure vector mode is not used

Message ID 1492010914-20274-1-git-send-email-bernard.iremonger@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Iremonger, Bernard April 12, 2017, 3:28 p.m. UTC
  In rx vector mode, the QinQ VLAN tag is not stripped.
When hw_vlan_extend is set for QinQ ensure that
rx vector mode is not selected.

Fixes: 5b2d37858d32 ("net/i40e: fix single VLAN tag to be outer VLAN tag")
Cc: stable@dpdk.org

Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
 Changes in v2:
 Rebased to latest dpdk-next-net
 Updated Fixes line.
 Added  Cc: line

 drivers/net/i40e/i40e_rxtx_vec_common.h | 4 ++++
 1 file changed, 4 insertions(+)
  

Patch

diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h b/drivers/net/i40e/i40e_rxtx_vec_common.h
index 952fd4b63..692096684 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_common.h
+++ b/drivers/net/i40e/i40e_rxtx_vec_common.h
@@ -234,6 +234,10 @@  i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev)
 	if (rxmode->header_split == 1)
 		return -1;
 
+	/* no QinQ support */
+	if (rxmode->hw_vlan_extend == 1)
+		return -1;
+
 	return 0;
 #else
 	RTE_SET_USED(dev);