summaryrefslogtreecommitdiffstats
path: root/net/xfrm/xfrm_policy.c
diff options
context:
space:
mode:
authorSteffen Klassert <steffen.klassert@secunet.com>2023-10-06 07:40:02 +0200
committerSteffen Klassert <steffen.klassert@secunet.com>2023-10-06 07:40:02 +0200
commite377240a8eb06fb3ea1e77d3e252d79bbfa5d490 (patch)
tree4054ef7c09c37cc9e85c06a1a297b272b9cb0934 /net/xfrm/xfrm_policy.c
parentxfrm: Annotate struct xfrm_sec_ctx with __counted_by (diff)
parentxfrm: Support GRO for IPv6 ESP in UDP encapsulation (diff)
downloadlinux-e377240a8eb06fb3ea1e77d3e252d79bbfa5d490.tar.xz
linux-e377240a8eb06fb3ea1e77d3e252d79bbfa5d490.zip
Merge branch 'xfrm: Support GRO decapsulation for ESP in UDP encapsulation'
Antony Antony says: ============ I have added how to enable this feature, and more description to the second patch. Here is copy of that. xfrm: Support GRO for IPv4i & IPv6 ESP in UDP encapsulation This patchset enables the GRO codepath for ESP in UDP encapsulated packets. Decapsulation happens at L2 and saves a full round through the stack for each packet. This is also needed to support HW offload for ESP in UDP encapsulation. Enabling this would imporove performance for ESP in UDP datapath, i.e IPsec with NAT in between. Our initial tests show 20% improvement. By default GRP for ESP-in-UDP is disabled for UDP sockets. To enable this feature for an ESP socket, the following two options need to be set: 1. enable ESP-in-UDP: (this is already set by an IKE daemon). int type = UDP_ENCAP_ESPINUDP; setsockopt(fd, SOL_UDP, UDP_ENCAP, &type, sizeof(type)); 2. To enable GRO for ESP in UDP socket: type = true; setsockopt(fd, SOL_UDP, UDP_GRO, &type, sizeof(type)); Enabling ESP-in-UDP has the side effect of preventing the Linux stack from seeing ESP packets at the L3 (when ESP OFFLOAD is disabled), as packets are immediately decapsulated from UDP and decrypted. This change may affect nftable rules that match on ESP packets at L3. Also tcpdump won't see the ESP packet. Developers/admins are advised to review and adapt any nftable rules accordingly before enabling this feature to prevent potential rule breakage. Also tcpdump will not see from ESP packets from a ESP in UDP flow when this is enabled. Initial, a quick test showed performance difference of about 20% impromvent on the receiver, when using iperf, tcp flow, over ESP in UDP. ============ Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Diffstat (limited to 'net/xfrm/xfrm_policy.c')
0 files changed, 0 insertions, 0 deletions