From: Harish Patil <harish.pa...@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.pa...@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

Reply via email to