netlink: specs: rt_link: decode ip6tnl, vti and vti6 link attrs

Some of our tests load vti and ip6tnl so not being able to decode
the link attrs gets in the way of using Python YNL for testing.

Decode link attributes for ip6tnl, vti and vti6.

ip6tnl uses IFLA_IPTUN_FLAGS as u32, while ipv4 and sit expect
a u16 attribute, so we have a (first?) subset type override...

Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
Acked-by: Stanislav Fomichev <sdf@fomichev.me>
Link: https://patch.msgid.link/20250107022820.2087101-4-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski 2025-01-06 18:28:20 -08:00
parent 7aae650535
commit 6ffdbb93a5

View file

@ -1825,6 +1825,48 @@ attribute-sets:
-
name: erspan-hwid
type: u16
-
name: linkinfo-vti-attrs
name-prefix: ifla-vti-
attributes:
-
name: link
type: u32
-
name: ikey
type: u32
-
name: okey
type: u32
-
name: local
type: binary
display-hint: ipv4
-
name: remote
type: binary
display-hint: ipv4
-
name: fwmark
type: u32
-
name: linkinfo-vti6-attrs
subset-of: linkinfo-vti-attrs
attributes:
-
name: link
-
name: ikey
-
name: okey
-
name: local
display-hint: ipv6
-
name: remote
display-hint: ipv6
-
name: fwmark
-
name: linkinfo-geneve-attrs
name-prefix: ifla-geneve-
@ -1941,6 +1983,42 @@ attribute-sets:
-
name: fwmark
type: u32
-
name: linkinfo-ip6tnl-attrs
subset-of: linkinfo-iptun-attrs
attributes:
-
name: link
-
name: local
display-hint: ipv6
-
name: remote
display-hint: ipv6
-
name: ttl
-
name: encap-limit
-
name: flowinfo
-
name: flags
# ip6tnl unlike ipip and sit has 32b flags
type: u32
-
name: proto
-
name: encap-type
-
name: encap-flags
-
name: encap-sport
-
name: encap-dport
-
name: collect-metadata
-
name: fwmark
-
name: linkinfo-tun-attrs
name-prefix: ifla-tun-
@ -2201,6 +2279,9 @@ sub-messages:
-
value: ipip
attribute-set: linkinfo-iptun-attrs
-
value: ip6tnl
attribute-set: linkinfo-ip6tnl-attrs
-
value: sit
attribute-set: linkinfo-iptun-attrs
@ -2213,6 +2294,12 @@ sub-messages:
-
value: vrf
attribute-set: linkinfo-vrf-attrs
-
value: vti
attribute-set: linkinfo-vti-attrs
-
value: vti6
attribute-set: linkinfo-vti6-attrs
-
value: netkit
attribute-set: linkinfo-netkit-attrs