From 9ea1b3ccfcfd556ec5144fa91041cf8f86814c5f Mon Sep 17 00:00:00 2001 From: Bill Hong Date: Mon, 25 Mar 2019 11:05:41 -0400 Subject: [PATCH] net: fix Tx VLAN flag for offload emulation 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@dpdk.org Signed-off-by: Bill Hong Signed-off-by: Chas Williams Reviewed-by: Ferruh Yigit --- 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 54822df751..3a87ff1849 100644 --- a/lib/librte_net/rte_ether.h +++ b/lib/librte_net/rte_ether.h @@ -410,7 +410,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.20.1