[PATCH net-next v2 1/3] netlink: specs: rt-link: update ipv6 devconf doc

From: Asbjørn Sloth Tønnesen

Date: Mon Aug 31 2026 - 05:37:34 EST


devconf is even odder than described in commit 720447bd0b24
("netlink: specs: rt-link: remove implicit structs from devconf"),
where both IPv4 and IPv6 are described in an identical way:
"u32 indexed by ipv?-devconf - 1 on output, on input it's a nest".

There are two issues with that line for IPv6:

1) The subtraction is an IPv4 specific quirk, to avoid having an unused
u32 at index 0, thus saving 4 bytes per net device being dumped:

- In include/uapi/linux/ip.h the IPV4_DEVCONF_* enum begins with
IPV4_DEVCONF_FORWARDING = 1, so the enum starts at 1, which is
the reason for the subtraction in the IPv4 variant.

- In include/uapi/linux/ipv6.h the DEVCONF_* enum begins with
DEVCONF_FORWARDING = 0, so subtraction would underflow.

- ipv6_store_devconf() in net/ipv6/addrconf.c also doesn't do the
subtraction in the output path.

2) Setting IPv6 devconf through Netlink is not yet supported, as
IFLA_INET6_CONF is not handled in inet6_set_link_af().

Reviewed-by: Fernando Fernandez Mancera <fmancera@xxxxxxx>
Signed-off-by: Asbjørn Sloth Tønnesen <ast@xxxxxxxxxxx>
---
Documentation/netlink/specs/rt-link.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/netlink/specs/rt-link.yaml b/Documentation/netlink/specs/rt-link.yaml
index b80c2ac3ac31..00c915031efd 100644
--- a/Documentation/netlink/specs/rt-link.yaml
+++ b/Documentation/netlink/specs/rt-link.yaml
@@ -2218,7 +2218,7 @@ attribute-sets:
name: conf
type: binary
sub-type: u32
- doc: u32 indexed by ipv6-devconf - 1 on output, on input it's a nest
+ doc: u32 indexed by ipv6-devconf on output, input is not yet implemented
-
name: stats
type: binary
--
2.55.0