]> git.droids-corp.org - dpdk.git/commitdiff
net/iavf: fix segmentation offload condition
authorRadu Nicolau <radu.nicolau@intel.com>
Mon, 22 Nov 2021 15:30:00 +0000 (15:30 +0000)
committerQi Zhang <qi.z.zhang@intel.com>
Mon, 10 Jan 2022 09:47:22 +0000 (10:47 +0100)
Apply segmentation offload when requested for non tunneled
packets e.g. IPsec transport mode.

Fixes: 1e728b01120c ("net/iavf: rework Tx path")
Cc: stable@dpdk.org
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Reviewed-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/iavf/iavf_rxtx.c

index 59623ac8209465bbc3a20ebb87272d5961c86ee0..94819e59b220298d0a5582bd844d53a840db9b7d 100644 (file)
@@ -2428,10 +2428,9 @@ iavf_fill_data_desc(volatile struct iavf_tx_desc *desc,
        desc->buffer_addr = rte_mbuf_data_iova(m);
 
        /* calculate data buffer size less set header lengths */
-       if ((m->ol_flags & RTE_MBUF_F_TX_TUNNEL_MASK) &&
-                       (m->ol_flags & (RTE_MBUF_F_TX_TCP_SEG |
-                                       RTE_MBUF_F_TX_UDP_SEG))) {
-               hdrlen += m->outer_l3_len;
+       if (m->ol_flags & (RTE_MBUF_F_TX_TCP_SEG | RTE_MBUF_F_TX_UDP_SEG)) {
+               if (m->ol_flags & RTE_MBUF_F_TX_TUNNEL_MASK)
+                       hdrlen += m->outer_l3_len;
                if (m->ol_flags & RTE_MBUF_F_TX_L4_MASK)
                        hdrlen += m->l3_len + m->l4_len;
                else