Commit 6ffdbb93 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

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: default avatarDonald Hunter <donald.hunter@gmail.com>
Acked-by: default avatarStanislav Fomichev <sdf@fomichev.me>
Link: https://patch.msgid.link/20250107022820.2087101-4-kuba@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 7aae6505
Loading
Loading
Loading
Loading
+87 −0
Original line number Diff line number Diff line
@@ -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