]> git.droids-corp.org - dpdk.git/commitdiff
net/ice: fix setting L2TAG
authorJeff Guo <jia.guo@intel.com>
Wed, 20 May 2020 21:46:14 +0000 (17:46 -0400)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 22 May 2020 15:10:15 +0000 (17:10 +0200)
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 <jia.guo@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/ice/ice_rxtx_vec_common.h

index 6b57ff2ae0a18fce5e454d82518ad49bd499e978..46e3be98a6566a054bda1f127f6a2f0cd07be071 100644 (file)
@@ -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;