]> git.droids-corp.org - dpdk.git/commitdiff
net/i40e: fix setting L2TAG
authorJeff Guo <jia.guo@intel.com>
Wed, 20 May 2020 21:25:21 +0000 (17:25 -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: ca74903b75cf ("net/i40e: extract non-x86 specific code from vector driver")
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/i40e/i40e_rxtx_vec_common.h

index 0e6ffa0078fc4773a91fd153717436bc495e2947..31f73f605458f281cfc96c751f8ebff5335b0596 100644 (file)
@@ -33,6 +33,7 @@ reassemble_packets(struct i40e_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;