[dpdk-dev] [PATCH 05/11] net/qede: use new stripped VLAN mbuf flags

Rasesh Mody rasesh.mody at cavium.com
Tue Apr 25 09:28:40 CEST 2017


From: Harish Patil <harish.patil at qlogic.com>

Use new mbuf flags PKT_RX_VLAN_STRIPPED and PKT_RX_QINQ_STRIPPED
introduced by the patch:
commit b37b528d957c ("mbuf: add new Rx flags for stripped VLAN")

Signed-off-by: Harish Patil <harish.patil at qlogic.com>
---
 drivers/net/qede/qede_ethdev.c |    1 +
 drivers/net/qede/qede_ethdev.h |    1 +
 drivers/net/qede/qede_rxtx.c   |   10 ++++++++--
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index b31a7df..fdb6bb1 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -604,6 +604,7 @@ static int qede_vlan_stripping(struct rte_eth_dev *eth_dev, bool set_stripping)
 		DP_ERR(edev, "Update V-PORT failed %d\n", rc);
 		return rc;
 	}
+	qdev->vlan_strip_flg = set_stripping;
 
 	return 0;
 }
diff --git a/drivers/net/qede/qede_ethdev.h b/drivers/net/qede/qede_ethdev.h
index f5549c2..6d5e616 100644
--- a/drivers/net/qede/qede_ethdev.h
+++ b/drivers/net/qede/qede_ethdev.h
@@ -211,6 +211,7 @@ struct qede_dev {
 	uint16_t num_tunn_filters;
 	uint16_t vxlan_filter_type;
 	struct qede_fdir_info fdir_info;
+	bool vlan_strip_flg;
 	char drv_ver[QEDE_PMD_DRV_VER_STR_SIZE];
 };
 
diff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c
index b180c0b..191d8af 100644
--- a/drivers/net/qede/qede_rxtx.c
+++ b/drivers/net/qede/qede_rxtx.c
@@ -1132,11 +1132,17 @@ static inline uint32_t qede_rx_cqe_to_tunn_pkt_type(uint16_t flags)
 
 		if (CQE_HAS_VLAN(parse_flag)) {
 			ol_flags |= PKT_RX_VLAN_PKT;
-			rx_mb->vlan_tci = vlan_tci;
+			if (qdev->vlan_strip_flg) {
+				ol_flags |= PKT_RX_VLAN_STRIPPED;
+				rx_mb->vlan_tci = vlan_tci;
+			}
 		}
 		if (CQE_HAS_OUTER_VLAN(parse_flag)) {
 			ol_flags |= PKT_RX_QINQ_PKT;
-			rx_mb->vlan_tci = vlan_tci;
+			if (qdev->vlan_strip_flg) {
+				rx_mb->vlan_tci = vlan_tci;
+				ol_flags |= PKT_RX_QINQ_STRIPPED;
+			}
 			rx_mb->vlan_tci_outer = 0;
 		}
 		/* RSS Hash */
-- 
1.7.10.3



More information about the dev mailing list