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