[dpdk-stable] patch 'net/bnxt: fix Rx VLAN offload flags' has been queued to LTS release 17.11.7

Yongseok Koh yskoh at mellanox.com
Tue Jul 23 03:00:24 CEST 2019


Hi,

FYI, your patch has been queued to LTS release 17.11.7

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objection by 07/27/19. So please
shout if anyone has objection.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Yongseok

---
>From 6b489a635e8d9dba5936d30f414312615c50c671 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <sthemmin at microsoft.com>
Date: Mon, 25 Mar 2019 14:27:54 -0700
Subject: [PATCH] net/bnxt: fix Rx VLAN offload flags

[ upstream commit 4339de851e55364d0f1f995babaa0006968870c0 ]

The bnxt driver is not correctly setting the receive VLAN offload
flags.  When VLAN is offloaded the driver must set the
PKT_RX_VLAN_STRIPPED flag.

Actually, several drivers have the same bug, only most of the
Intel drivers look right. Any driver that sets vlan_tci is probably
stripping the tag, and should be setting RX_VLAN_STRIPPED.

To quote rte_mbuf.h:

/**
 * The RX packet is a 802.1q VLAN packet, and the tci has been
 * saved in in mbuf->vlan_tci.
 * If the flag PKT_RX_VLAN_STRIPPED is also present, the VLAN
 * header has been stripped from mbuf data, else it is still
 * present.
 */

Fixes: 2eb53b134aae ("net/bnxt: add initial Rx code")

Signed-off-by: Stephen Hemminger <sthemmin at microsoft.com>
Acked-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
---
 drivers/net/bnxt/bnxt_rxr.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
index c5c54847a0..4aaad3563e 100644
--- a/drivers/net/bnxt/bnxt_rxr.c
+++ b/drivers/net/bnxt/bnxt_rxr.c
@@ -199,7 +199,7 @@ static void bnxt_tpa_start(struct bnxt_rx_queue *rxq,
 	if (tpa_start1->flags2 &
 	    rte_cpu_to_le_32(RX_TPA_START_CMPL_FLAGS2_META_FORMAT_VLAN)) {
 		mbuf->vlan_tci = rte_le_to_cpu_32(tpa_start1->metadata);
-		mbuf->ol_flags |= PKT_RX_VLAN;
+		mbuf->ol_flags |= PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED;
 	}
 	if (likely(tpa_start1->flags2 &
 		   rte_cpu_to_le_32(RX_TPA_START_CMPL_FLAGS2_L4_CS_CALC)))
@@ -464,7 +464,7 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
 			(RX_PKT_CMPL_METADATA_VID_MASK |
 			RX_PKT_CMPL_METADATA_DE |
 			RX_PKT_CMPL_METADATA_PRI_MASK);
-		mbuf->ol_flags |= PKT_RX_VLAN;
+		mbuf->ol_flags |= PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED;
 	}
 
 	if (likely(RX_CMP_IP_CS_OK(rxcmp1)))
-- 
2.21.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-07-22 17:55:09.569517778 -0700
+++ 0057-net-bnxt-fix-Rx-VLAN-offload-flags.patch	2019-07-22 17:55:06.165472000 -0700
@@ -1,8 +1,10 @@
-From 4339de851e55364d0f1f995babaa0006968870c0 Mon Sep 17 00:00:00 2001
+From 6b489a635e8d9dba5936d30f414312615c50c671 Mon Sep 17 00:00:00 2001
 From: Stephen Hemminger <sthemmin at microsoft.com>
 Date: Mon, 25 Mar 2019 14:27:54 -0700
 Subject: [PATCH] net/bnxt: fix Rx VLAN offload flags
 
+[ upstream commit 4339de851e55364d0f1f995babaa0006968870c0 ]
+
 The bnxt driver is not correctly setting the receive VLAN offload
 flags.  When VLAN is offloaded the driver must set the
 PKT_RX_VLAN_STRIPPED flag.
@@ -22,7 +24,6 @@
  */
 
 Fixes: 2eb53b134aae ("net/bnxt: add initial Rx code")
-Cc: stable at dpdk.org
 
 Signed-off-by: Stephen Hemminger <sthemmin at microsoft.com>
 Acked-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
@@ -31,10 +32,10 @@
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
-index 1bfc63d930..dc695e1777 100644
+index c5c54847a0..4aaad3563e 100644
 --- a/drivers/net/bnxt/bnxt_rxr.c
 +++ b/drivers/net/bnxt/bnxt_rxr.c
-@@ -154,7 +154,7 @@ static void bnxt_tpa_start(struct bnxt_rx_queue *rxq,
+@@ -199,7 +199,7 @@ static void bnxt_tpa_start(struct bnxt_rx_queue *rxq,
  	if (tpa_start1->flags2 &
  	    rte_cpu_to_le_32(RX_TPA_START_CMPL_FLAGS2_META_FORMAT_VLAN)) {
  		mbuf->vlan_tci = rte_le_to_cpu_32(tpa_start1->metadata);
@@ -43,7 +44,7 @@
  	}
  	if (likely(tpa_start1->flags2 &
  		   rte_cpu_to_le_32(RX_TPA_START_CMPL_FLAGS2_L4_CS_CALC)))
-@@ -437,7 +437,7 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
+@@ -464,7 +464,7 @@ static int bnxt_rx_pkt(struct rte_mbuf **rx_pkt,
  			(RX_PKT_CMPL_METADATA_VID_MASK |
  			RX_PKT_CMPL_METADATA_DE |
  			RX_PKT_CMPL_METADATA_PRI_MASK);


More information about the stable mailing list