Commit 1064d521 authored by Hangbin Liu's avatar Hangbin Liu Committed by Jakub Kicinski
Browse files

netlink: specs: support ipv4-or-v6 for dual-stack fields



Since commit 1b255e1b ("tools: ynl: add ipv4-or-v6 display hint"), we
can display either IPv4 or IPv6 addresses for a single field based on the
address family. However, most dual-stack fields still use the ipv4 display
hint. This update changes them to use the new ipv4-or-v6 display hint and
converts IPv4-only fields to use the u32 type.

Field changes:
  - v4-or-v6
    - IFA_ADDRESS, IFA_LOCAL
    - IFLA_GRE_LOCAL, IFLA_GRE_REMOTE
    - IFLA_VTI_LOCAL, IFLA_VTI_REMOTE
    - IFLA_IPTUN_LOCAL, IFLA_IPTUN_REMOTE
    - NDA_DST
    - RTA_DST, RTA_SRC, RTA_GATEWAY, RTA_PREFSRC
    - FRA_SRC, FRA_DST
  - ipv4
    - IFA_BROADCAST
    - IFLA_GENEVE_REMOTE
    - IFLA_IPTUN_6RD_RELAY_PREFIX

Reviewed-by: default avatarAsbjørn Sloth Tønnesen <ast@fiberby.net>
Reviewed-by: default avatarDonald Hunter <donald.hunter@gmail.com>
Signed-off-by: default avatarHangbin Liu <liuhangbin@gmail.com>
Link: https://patch.msgid.link/20251117024457.3034-3-liuhangbin@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 4abe51db
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -227,7 +227,7 @@ properties:
                  Optional format indicator that is intended only for choosing
                  the right formatting mechanism when displaying values of this
                  type.
                enum: [ hex, mac, fddi, ipv4, ipv6, uuid ]
                enum: [ hex, mac, fddi, ipv4, ipv6, ipv4-or-v6, uuid ]
              # Start genetlink-c
              name-prefix:
                type: string
+1 −1
Original line number Diff line number Diff line
@@ -185,7 +185,7 @@ properties:
                  Optional format indicator that is intended only for choosing
                  the right formatting mechanism when displaying values of this
                  type.
                enum: [ hex, mac, fddi, ipv4, ipv6, uuid ]
                enum: [ hex, mac, fddi, ipv4, ipv6, ipv4-or-v6, uuid ]

      # Make sure name-prefix does not appear in subsets (subsets inherit naming)
      dependencies:
+1 −1
Original line number Diff line number Diff line
@@ -157,7 +157,7 @@ properties:
                  Optional format indicator that is intended only for choosing
                  the right formatting mechanism when displaying values of this
                  type.
                enum: [ hex, mac, fddi, ipv4, ipv6, uuid ]
                enum: [ hex, mac, fddi, ipv4, ipv6, ipv4-or-v6, uuid ]
              struct:
                description: Name of the nested struct type.
                type: string
+3 −3
Original line number Diff line number Diff line
@@ -86,17 +86,17 @@ attribute-sets:
      -
        name: address
        type: binary
        display-hint: ipv4
        display-hint: ipv4-or-v6
      -
        name: local
        type: binary
        display-hint: ipv4
        display-hint: ipv4-or-v6
      -
        name: label
        type: string
      -
        name: broadcast
        type: binary
        type: u32
        display-hint: ipv4
      -
        name: anycast
+8 −8
Original line number Diff line number Diff line
@@ -1707,11 +1707,11 @@ attribute-sets:
      -
        name: local
        type: binary
        display-hint: ipv4
        display-hint: ipv4-or-v6
      -
        name: remote
        type: binary
        display-hint: ipv4
        display-hint: ipv4-or-v6
      -
        name: ttl
        type: u8
@@ -1833,11 +1833,11 @@ attribute-sets:
      -
        name: local
        type: binary
        display-hint: ipv4
        display-hint: ipv4-or-v6
      -
        name: remote
        type: binary
        display-hint: ipv4
        display-hint: ipv4-or-v6
      -
        name: fwmark
        type: u32
@@ -1868,7 +1868,7 @@ attribute-sets:
        type: u32
      -
        name: remote
        type: binary
        type: u32
        display-hint: ipv4
      -
        name: ttl
@@ -1952,11 +1952,11 @@ attribute-sets:
      -
        name: local
        type: binary
        display-hint: ipv4
        display-hint: ipv4-or-v6
      -
        name: remote
        type: binary
        display-hint: ipv4
        display-hint: ipv4-or-v6
      -
        name: ttl
        type: u8
@@ -1986,7 +1986,7 @@ attribute-sets:
        display-hint: ipv6
      -
        name: 6rd-relay-prefix
        type: binary
        type: u32
        display-hint: ipv4
      -
        name: 6rd-prefixlen
Loading