For the inline crypto path set the Tx checksum offload flag
only if the device supports it.

Fixes: d24471e5786b ("examples/ipsec-secgw: disable Tx checksum for inline")
Cc: ndabilpu...@marvell.com

Signed-off-by: Radu Nicolau <radu.nico...@intel.com>
---
 examples/ipsec-secgw/sa.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/examples/ipsec-secgw/sa.c b/examples/ipsec-secgw/sa.c
index 0b27f11fc0..9b35dfdbef 100644
--- a/examples/ipsec-secgw/sa.c
+++ b/examples/ipsec-secgw/sa.c
@@ -1841,7 +1841,10 @@ sa_check_offloads(uint16_t port_id, uint64_t 
*rx_offloads,
                                if (rule->mss)
                                        *tx_offloads |=
                                                RTE_ETH_TX_OFFLOAD_TCP_TSO;
-                               *tx_offloads |= RTE_ETH_TX_OFFLOAD_IPV4_CKSUM;
+                               if (dev_info.tx_offload_capa &
+                                               RTE_ETH_TX_OFFLOAD_IPV4_CKSUM)
+                                       *tx_offloads |=
+                                               RTE_ETH_TX_OFFLOAD_IPV4_CKSUM;
                        }
                        break;
                default:
-- 
2.25.1

Reply via email to