diff options
| author | Arnaldo Carvalho de Melo <[email protected]> | 2022-03-14 22:15:16 +0000 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <[email protected]> | 2022-03-14 22:15:16 +0000 |
| commit | 65eab2bc7dab326ee892ec5a4c749470b368b51a (patch) | |
| tree | 341189a55a3d021db7f1c8a8e5b4772b6c782c25 /net/ipv4/esp4_offload.c | |
| parent | perf tools: Set build-id using build-id header on new mmap records (diff) | |
| parent | Linux 5.17-rc8 (diff) | |
| download | kernel-65eab2bc7dab326ee892ec5a4c749470b368b51a.tar.gz kernel-65eab2bc7dab326ee892ec5a4c749470b368b51a.zip | |
Merge remote-tracking branch 'torvalds/master' into perf/core
To pick up fixes that went thru perf/urgent.
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Diffstat (limited to 'net/ipv4/esp4_offload.c')
| -rw-r--r-- | net/ipv4/esp4_offload.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/esp4_offload.c b/net/ipv4/esp4_offload.c index d87f02a6e934..935026f4c807 100644 --- a/net/ipv4/esp4_offload.c +++ b/net/ipv4/esp4_offload.c @@ -110,8 +110,7 @@ static struct sk_buff *xfrm4_tunnel_gso_segment(struct xfrm_state *x, struct sk_buff *skb, netdev_features_t features) { - __skb_push(skb, skb->mac_len); - return skb_mac_gso_segment(skb, features); + return skb_eth_gso_segment(skb, features, htons(ETH_P_IP)); } static struct sk_buff *xfrm4_transport_gso_segment(struct xfrm_state *x, @@ -160,6 +159,9 @@ static struct sk_buff *xfrm4_beet_gso_segment(struct xfrm_state *x, skb_shinfo(skb)->gso_type |= SKB_GSO_TCPV4; } + if (proto == IPPROTO_IPV6) + skb_shinfo(skb)->gso_type |= SKB_GSO_IPXIP4; + __skb_pull(skb, skb_transport_offset(skb)); ops = rcu_dereference(inet_offloads[proto]); if (likely(ops && ops->callbacks.gso_segment)) |
