[dpdk-dev] [PATCH] net: fix Tx VLAN flag for offload emulation

Chas Williams 3chas3 at gmail.com
Mon Mar 25 16:05:41 CET 2019


From: Bill Hong <bhong at brocade.com>

A PMD might use rte_vlan_insert to implement Tx VLAN offload.  Typically
the PMD will insert the VLAN header in the transmit path and then attempt
to send the packets. If this fails, the packets are returned to
the application which may attempt to send these packets again. If the
PKT_TX_VLAN flag is not cleared, the transmit path may attempt to insert
the VLAN header again.

Fixes: 47aa48b969f8 ("net: fix stripped VLAN flag for offload emulation");
Cc: stable at dpdk.org

Signed-off-by: Bill Hong <bhong at brocade.com>
Signed-off-by: Chas Williams <chas3 at att.com>
---
 lib/librte_net/rte_ether.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h
index c2c5e249f..e0d831113 100644
--- a/lib/librte_net/rte_ether.h
+++ b/lib/librte_net/rte_ether.h
@@ -408,7 +408,7 @@ static inline int rte_vlan_insert(struct rte_mbuf **m)
 	vh = (struct vlan_hdr *) (nh + 1);
 	vh->vlan_tci = rte_cpu_to_be_16((*m)->vlan_tci);
 
-	(*m)->ol_flags &= ~PKT_RX_VLAN_STRIPPED;
+	(*m)->ol_flags &= ~(PKT_RX_VLAN_STRIPPED | PKT_TX_VLAN);
 
 	return 0;
 }
-- 
2.17.2



More information about the dev mailing list