Commit 737eab77 authored by Donald Hunter's avatar Donald Hunter Committed by Jakub Kicinski
Browse files

netlink: specs: add display-hint to schema definitions



Add a display-hint property to the netlink schema that is for providing
optional hints to generic netlink clients about how to display attribute
values. A display-hint on an attribute definition is intended for
letting a client such as ynl know that, for example, a u32 should be
rendered as an ipv4 address. The display-hint enumeration includes a
small number of networking domain-specific value types.

Signed-off-by: default avatarDonald Hunter <donald.hunter@gmail.com>
Link: https://lore.kernel.org/r/20230623201928.14275-2-donald.hunter@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 2ffecf1a
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -195,6 +195,12 @@ properties:
                    description: Max length for a string or a binary attribute.
                    $ref: '#/$defs/len-or-define'
              sub-type: *attr-type
              display-hint: &display-hint
                description: |
                  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 ]
              # Start genetlink-c
              name-prefix:
                type: string
+10 −1
Original line number Diff line number Diff line
@@ -119,7 +119,8 @@ properties:
              name:
                type: string
              type:
                enum: [ u8, u16, u32, u64, s8, s16, s32, s64, string ]
                description: The netlink attribute type
                enum: [ u8, u16, u32, u64, s8, s16, s32, s64, string, binary ]
              len:
                $ref: '#/$defs/len-or-define'
              byte-order:
@@ -130,6 +131,12 @@ properties:
              enum:
                description: Name of the enum type used for the attribute.
                type: string
              display-hint: &display-hint
                description: |
                  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 ]
        # End genetlink-legacy

  attribute-sets:
@@ -179,6 +186,7 @@ properties:
              name:
                type: string
              type: &attr-type
                description: The netlink attribute type
                enum: [ unused, pad, flag, binary, u8, u16, u32, u64, s32, s64,
                        string, nest, array-nest, nest-type-value ]
              doc:
@@ -226,6 +234,7 @@ properties:
                    description: Max length for a string or a binary attribute.
                    $ref: '#/$defs/len-or-define'
              sub-type: *attr-type
              display-hint: *display-hint
              # Start genetlink-c
              name-prefix:
                type: string
+6 −0
Original line number Diff line number Diff line
@@ -168,6 +168,12 @@ properties:
                    description: Max length for a string or a binary attribute.
                    $ref: '#/$defs/len-or-define'
              sub-type: *attr-type
              display-hint: &display-hint
                description: |
                  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 ]

      # Make sure name-prefix does not appear in subsets (subsets inherit naming)
      dependencies: