From: Jeff Guo Date: Wed, 20 May 2020 21:46:14 +0000 (-0400) Subject: net/ice: fix setting L2TAG X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=c9047db4afa8b95bb9ade3ef58c348afcca29cb5;p=dpdk.git net/ice: fix setting L2TAG Base on HW, if a packet is split into multiple segments, the L2TAG should only be valid on the last Rx descriptor. So fix it by setting L2TAG into mbuf when processing the last split packet. Fixes: c68a52b8b38c ("net/ice: support vector SSE in Rx") Cc: stable@dpdk.org Signed-off-by: Jeff Guo Acked-by: Qi Zhang --- diff --git a/drivers/net/ice/ice_rxtx_vec_common.h b/drivers/net/ice/ice_rxtx_vec_common.h index 6b57ff2ae0..46e3be98a6 100644 --- a/drivers/net/ice/ice_rxtx_vec_common.h +++ b/drivers/net/ice/ice_rxtx_vec_common.h @@ -29,6 +29,7 @@ ice_rx_reassemble_packets(struct ice_rx_queue *rxq, struct rte_mbuf **rx_bufs, if (!split_flags[buf_idx]) { /* it's the last packet of the set */ start->hash = end->hash; + start->vlan_tci = end->vlan_tci; start->ol_flags = end->ol_flags; /* we need to strip crc for the whole packet */ start->pkt_len -= rxq->crc_len;