[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m2o7b11gls.fsf@gmail.com>
Date: Tue, 26 Mar 2024 09:34:39 +0000
From: Donald Hunter <donald.hunter@...il.com>
To: Hangbin Liu <liuhangbin@...il.com>
Cc: netdev@...r.kernel.org, "David S. Miller" <davem@...emloft.net>, Eric
Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo
Abeni <pabeni@...hat.com>, Jiri Pirko <jiri@...nulli.us>, Jacob Keller
<jacob.e.keller@...el.com>, Stanislav Fomichev <sdf@...gle.com>
Subject: Re: [PATCHv2 net-next 2/2] doc/netlink/specs: Add vlan attr in
rt_link spec
Hangbin Liu <liuhangbin@...il.com> writes:
>
> 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
I think this should be called vlan-protocols since the enum only
contains valid vlan protocol values.
> + type: enum
> + entries:
> + -
> + name: 8021Q
The convention with YNL specs is to use lower case for names and let
e.g. ynl-gen-c convert to upper case for the C domain. So these should
be '8021q' and '8021ad'.
> + 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
Nit: when you specify entries by name only, you can use the abbreviated
form:
- 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 +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
I _think_ this needs 'multi-attr: true'
https://elixir.bootlin.com/linux/latest/source/net/8021q/vlan_netlink.c#L120
> + -
> + name: ingress-qos
> + type: nest
> + nested-attributes: ifla-vlan-qos
Same for ingress-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
Powered by blists - more mailing lists