]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rtnetlink: add needed_{head,tail}room attributes
authorAlasdair McWilliam <alasdair@mcwilliam.dev>
Wed, 17 Sep 2025 09:55:42 +0000 (10:55 +0100)
committerJakub Kicinski <kuba@kernel.org>
Sat, 20 Sep 2025 00:21:55 +0000 (17:21 -0700)
commitb73b8146d7ff68e245525adb944a4c998d423d59
tree2987a14d7b379dd64cc8dc059a6a5d5db490f643
parent0c2a4d304cea450d9f99e2092a731150a67ecc6b
rtnetlink: add needed_{head,tail}room attributes

Various network interface types make use of needed_{head,tail}room values
to efficiently reserve buffer space for additional encapsulation headers,
such as VXLAN, Geneve, IPSec, etc. However, it is not currently possible
to query these values in a generic way.

Introduce ability to query the needed_{head,tail}room values of a network
device via rtnetlink, such that applications that may wish to use these
values can do so.

For example, Cilium agent iterates over present devices based on user config
(direct routing, vxlan, geneve, wireguard etc.) and in future will configure
netkit in order to expose the needed_{head,tail}room into K8s pods. See
b9ed315d3c4c ("netkit: Allow for configuring needed_{head,tail}room").

Suggested-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Alasdair McWilliam <alasdair@mcwilliam.dev>
Reviewed-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://patch.msgid.link/20250917095543.14039-1-alasdair@mcwilliam.dev
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Documentation/netlink/specs/rt-link.yaml
include/uapi/linux/if_link.h
net/core/rtnetlink.c