[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240326024325.2008639-3-liuhangbin@gmail.com>
Date: Tue, 26 Mar 2024 10:43:25 +0800
From: Hangbin Liu <liuhangbin@...il.com>
To: netdev@...r.kernel.org
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Donald Hunter <donald.hunter@...il.com>,
Jiri Pirko <jiri@...nulli.us>,
Jacob Keller <jacob.e.keller@...el.com>,
Stanislav Fomichev <sdf@...gle.com>,
Hangbin Liu <liuhangbin@...il.com>
Subject: [PATCHv2 net-next 2/2] 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"
}
}
}
Signed-off-by: Hangbin Liu <liuhangbin@...il.com>
v2:
- Add eth-protocols definitions, but only include vlan protocols (Donald Hunter)
- Set protocol to big-endian (Donald Hunter)
- Add display-hint for vlan flag mask (Donald Hunter)
---
Documentation/netlink/specs/rt_link.yaml | 83 +++++++++++++++++++++++-
1 file changed, 82 insertions(+), 1 deletion(-)
diff --git a/Documentation/netlink/specs/rt_link.yaml b/Documentation/netlink/specs/rt_link.yaml
index 8e4d19adee8c..41b49f15236f 100644
--- a/Documentation/netlink/specs/rt_link.yaml
+++ b/Documentation/netlink/specs/rt_link.yaml
@@ -50,7 +50,16 @@ definitions:
name: dormant
-
name: echo
-
+ -
+ name: eth-protocols
+ type: enum
+ entries:
+ -
+ name: 8021Q
+ value: 33024
+ -
+ name: 8021AD
+ value: 34984
-
name: rtgenmsg
type: struct
@@ -729,6 +738,43 @@ 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:
+ -
+ name: reorder-hdr
+ -
+ name: gvrp
+ -
+ name: loose-binding
+ -
+ name: mvrp
+ -
+ name: bridge-binding
+ -
+ name: ifla-vlan-qos-mapping
+ type: struct
+ members:
+ -
+ name: from
+ type: u32
+ -
+ name: to
+ type: u32
attribute-sets:
@@ -1507,6 +1553,38 @@ 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: eth-protocols
+ byte-order: big-endian
+ -
+ name: ifla-vlan-qos
+ name-prefix: ifla-vlan-qos
+ attributes:
+ -
+ name: mapping
+ type: binary
+ struct: ifla-vlan-qos-mapping
-
name: linkinfo-vrf-attrs
name-prefix: ifla-vrf-
@@ -1666,6 +1744,9 @@ sub-messages:
-
value: tun
attribute-set: linkinfo-tun-attrs
+ -
+ value: vlan
+ attribute-set: linkinfo-vlan-attrs
-
value: vrf
attribute-set: linkinfo-vrf-attrs
--
2.43.0
Powered by blists - more mailing lists