FAILED: patch "[PATCH] net/mlx5e: IPsec: Fix Software parser inner l3 type setting" failed to apply to 5.10-stable tree
[email protected]
maintainerThe patch below does not apply to the 5.10-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From c65d638ab39034cbaa36773b980d28106cfc81fa Mon Sep 17 00:00:00 2001
From: Raed Salem <[email protected]>
Date: Wed, 17 Nov 2021 13:33:57 +0200
Subject: [PATCH] net/mlx5e: IPsec: Fix Software parser inner l3 type setting
in case of encapsulation
Current code wrongly uses the skb->protocol field which reflects the outer l3 protocol to set the inner l3 type in Software Parser (SWP) fields settings in the ethernet segment (eseg) in flows where inner l3 exists like in Vxlan over ESP flow, the above method wrongly use the outer protocol type instead of the inner one. thus breaking cases where inner and outer headers have different protocols.
Fix by setting the inner l3 type in SWP according to the inner l3 ip header version.
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c +1 -1
@@ -191,7 +191,7 @@ static void mlx5e_ipsec_set_swp(struct sk_buff *skb, eseg->swp_inner_l3_offset =skb_inner_network_offset (skb) /2 ; eseg->swp_inner_l4_offset = (skb->csum_start + skb->head - skb->data) /2 ; -if (skb->protocol ==htons (ETH_P_IPV6 )) +if (inner_ip_hdr (skb)->version ==6 ) eseg->swp_flags |=MLX5_ETH_WQE_SWP_INNER_L3_IPV6 ;break ;default :