]> git.droids-corp.org - dpdk.git/commitdiff
examples/ipsec-secgw: fix offload flag used for TSO IPv6
authorRadu Nicolau <radu.nicolau@intel.com>
Thu, 25 Nov 2021 13:03:54 +0000 (13:03 +0000)
committerAkhil Goyal <gakhil@marvell.com>
Sat, 12 Feb 2022 09:26:38 +0000 (10:26 +0100)
RTE_MBUF_F_TX_OUTER_IP_CKSUM should not be set for IPv6 packets.

Fixes: a7f32947a316 ("examples/ipsec-secgw: support TCP TSO")
Cc: stable@dpdk.org
Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
examples/ipsec-secgw/ipsec_process.c

index 3fc4b3a84ff8809d2c9820807ba24b8ec341aa3c..285e9c7f4cbe96f061225af3272071fb278ced7f 100644 (file)
@@ -232,8 +232,10 @@ prep_process_group(void *sa, struct rte_mbuf *mb[], uint32_t cnt)
                                        mb[j]->outer_l3_len = mb[j]->l3_len;
                                        mb[j]->outer_l2_len = mb[j]->l2_len;
                                        mb[j]->ol_flags |=
-                                       (RTE_MBUF_F_TX_OUTER_IP_CKSUM |
-                                               RTE_MBUF_F_TX_TUNNEL_ESP);
+                                               RTE_MBUF_F_TX_TUNNEL_ESP;
+                                       if (RTE_ETH_IS_IPV4_HDR(ptype))
+                                               mb[j]->ol_flags |=
+                                               RTE_MBUF_F_TX_OUTER_IP_CKSUM;
                                }
                                mb[j]->l4_len = sizeof(struct rte_tcp_hdr);
                                mb[j]->ol_flags |= (RTE_MBUF_F_TX_TCP_SEG |