aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
authorPaolo Abeni <[email protected]>2025-04-07 15:45:42 +0000
committerJakub Kicinski <[email protected]>2025-04-09 01:19:45 +0000
commit5d7f5b2f6b935517ee5fd8058dc32342a5cba3e1 (patch)
tree42374557872d888984158a19d5abbb2f408129d3 /net/core/dev.c
parentudp_tunnel: create a fastpath GRO lookup. (diff)
downloadkernel-5d7f5b2f6b935517ee5fd8058dc32342a5cba3e1.tar.gz
kernel-5d7f5b2f6b935517ee5fd8058dc32342a5cba3e1.zip
udp_tunnel: use static call for GRO hooks when possible
It's quite common to have a single UDP tunnel type active in the whole system. In such a case we can replace the indirect call for the UDP tunnel GRO callback with a static call. Add the related accounting in the control path and switch to static call when possible. To keep the code simple use a static array for the registered tunnel types, and size such array based on the kernel config. Note that there are valid kernel configurations leading to UDP_MAX_TUNNEL_TYPES == 0 even with IS_ENABLED(CONFIG_NET_UDP_TUNNEL), Explicitly skip the accounting in such a case, to avoid compile warning when accessing "udp_tunnel_gro_types". Signed-off-by: Paolo Abeni <[email protected]> Reviewed-by: Willem de Bruijn <[email protected]> Link: https://patch.msgid.link/53d156cdfddcc9678449e873cc83e68fa1582653.1744040675.git.pabeni@redhat.com Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'net/core/dev.c')
0 files changed, 0 insertions, 0 deletions