Checking HW checksum offload flag for outer IP is missing. If flag is set
for only outer IP, this can't be set properly.

Fixes: f5fde5205101 ("net/mlx5: add hardware checksum offload for tunnel 
packets")
Cc: sta...@dpdk.org

Signed-off-by: Yongseok Koh <ys...@mellanox.com>
Acked-by: Shahaf Shuler <shah...@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxtx.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
index e70d52361..90f129168 100644
--- a/drivers/net/mlx5/mlx5_rxtx.h
+++ b/drivers/net/mlx5/mlx5_rxtx.h
@@ -636,7 +636,8 @@ txq_ol_cksum_to_cs(struct mlx5_txq_data *txq_data, struct 
rte_mbuf *buf)
 
        /* Should we enable HW CKSUM offload */
        if (buf->ol_flags &
-           (PKT_TX_IP_CKSUM | PKT_TX_TCP_CKSUM | PKT_TX_UDP_CKSUM)) {
+           (PKT_TX_IP_CKSUM | PKT_TX_TCP_CKSUM | PKT_TX_UDP_CKSUM |
+            PKT_TX_OUTER_IP_CKSUM)) {
                if (txq_data->tunnel_en &&
                    (buf->ol_flags &
                     (PKT_TX_TUNNEL_GRE | PKT_TX_TUNNEL_VXLAN))) {
-- 
2.11.0

Reply via email to