Commit 782c1084 authored by Hangbin Liu's avatar Hangbin Liu Committed by Jakub Kicinski
Browse files

doc/netlink/specs: Add vlan attr in rt_link spec



With command:
 # ./tools/net/ynl/cli.py \
 --spec Documentation/netlink/specs/rt_link.yaml \
 --do getlink --json '{"ifname": "eno1.2"}' --output-json | \
 jq -C '.linkinfo'

Before:
Exception: No message format for 'vlan' in sub-message spec 'linkinfo-data-msg'

After:
 {
   "kind": "vlan",
   "data": {
     "protocol": "8021q",
     "id": 2,
     "flag": {
       "flags": [
         "reorder-hdr"
       ],
       "mask": "0xffffffff"
     },
     "egress-qos": {
       "mapping": [
         {
           "from": 1,
           "to": 2
         },
         {
           "from": 4,
           "to": 4
         }
       ]
     }
   }
 }

Signed-off-by: default avatarHangbin Liu <liuhangbin@gmail.com>
Reviewed-by: default avatarDonald Hunter <donald.hunter@gmail.com>
Link: https://lore.kernel.org/r/20240327123130.1322921-3-liuhangbin@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent b334f5ed
Loading
Loading
Loading
Loading
+78 −2
Original line number Diff line number Diff line
@@ -50,7 +50,16 @@ definitions:
        name: dormant
      -
        name: echo

  -
    name: vlan-protocols
    type: enum
    entries:
      -
        name: 8021q
        value: 33024
      -
        name: 8021ad
        value: 34984
  -
    name: rtgenmsg
    type: struct
@@ -729,7 +738,38 @@ definitions:
      -
        name: filter-mask
        type: u32

  -
    name: ifla-vlan-flags
    type: struct
    members:
      -
        name: flags
        type: u32
        enum: vlan-flags
        enum-as-flags: true
      -
        name: mask
        type: u32
        display-hint: hex
  -
    name: vlan-flags
    type: flags
    entries:
      - reorder-hdr
      - gvrp
      - loose-binding
      - mvrp
      - bridge-binding
  -
    name: ifla-vlan-qos-mapping
    type: struct
    members:
      -
        name: from
        type: u32
      -
        name: to
        type: u32

attribute-sets:
  -
@@ -1507,6 +1547,39 @@ attribute-sets:
      -
        name: num-disabled-queues
        type: u32
  -
    name: linkinfo-vlan-attrs
    name-prefix: ifla-vlan-
    attributes:
      -
        name: id
        type: u16
      -
        name: flag
        type: binary
        struct: ifla-vlan-flags
      -
        name: egress-qos
        type: nest
        nested-attributes: ifla-vlan-qos
      -
        name: ingress-qos
        type: nest
        nested-attributes: ifla-vlan-qos
      -
        name: protocol
        type: u16
        enum: vlan-protocols
        byte-order: big-endian
  -
    name: ifla-vlan-qos
    name-prefix: ifla-vlan-qos
    attributes:
      -
        name: mapping
        type: binary
        multi-attr: true
        struct: ifla-vlan-qos-mapping
  -
    name: linkinfo-vrf-attrs
    name-prefix: ifla-vrf-
@@ -1666,6 +1739,9 @@ sub-messages:
      -
        value: tun
        attribute-set: linkinfo-tun-attrs
      -
        value: vlan
        attribute-set: linkinfo-vlan-attrs
      -
        value: vrf
        attribute-set: linkinfo-vrf-attrs