* [PATCHv2 net-next 0/2] doc/netlink/specs: Add vlan support @ 2024-03-26 2:43 Hangbin Liu 2024-03-26 2:43 ` [PATCHv2 net-next 1/2] ynl: support hex display_hint for integer Hangbin Liu 2024-03-26 2:43 ` [PATCHv2 net-next 2/2] doc/netlink/specs: Add vlan attr in rt_link spec Hangbin Liu 0 siblings, 2 replies; 6+ messages in thread From: Hangbin Liu @ 2024-03-26 2:43 UTC (permalink / raw) To: netdev Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Donald Hunter, Jiri Pirko, Jacob Keller, Stanislav Fomichev, Hangbin Liu Add vlan support in rt_link spec. Hangbin Liu (2): ynl: support hex display_hint for integer doc/netlink/specs: Add vlan attr in rt_link spec Documentation/netlink/specs/rt_link.yaml | 83 +++++++++++++++++++++++- tools/net/ynl/lib/ynl.py | 5 +- 2 files changed, 86 insertions(+), 2 deletions(-) -- 2.43.0 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCHv2 net-next 1/2] ynl: support hex display_hint for integer 2024-03-26 2:43 [PATCHv2 net-next 0/2] doc/netlink/specs: Add vlan support Hangbin Liu @ 2024-03-26 2:43 ` Hangbin Liu 2024-03-26 9:13 ` Donald Hunter 2024-03-26 2:43 ` [PATCHv2 net-next 2/2] doc/netlink/specs: Add vlan attr in rt_link spec Hangbin Liu 1 sibling, 1 reply; 6+ messages in thread From: Hangbin Liu @ 2024-03-26 2:43 UTC (permalink / raw) To: netdev Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Donald Hunter, Jiri Pirko, Jacob Keller, Stanislav Fomichev, Hangbin Liu Some times it would be convenient to read the integer as hex, like mask values. Suggested-by: Donald Hunter <donald.hunter@gmail.com> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> --- tools/net/ynl/lib/ynl.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/net/ynl/lib/ynl.py b/tools/net/ynl/lib/ynl.py index 5fa7957f6e0f..e73b027c5624 100644 --- a/tools/net/ynl/lib/ynl.py +++ b/tools/net/ynl/lib/ynl.py @@ -819,7 +819,10 @@ class YnlFamily(SpecFamily): if display_hint == 'mac': formatted = ':'.join('%02x' % b for b in raw) elif display_hint == 'hex': - formatted = bytes.hex(raw, ' ') + if isinstance(raw, int): + formatted = hex(raw) + else: + formatted = bytes.hex(raw, ' ') elif display_hint in [ 'ipv4', 'ipv6' ]: formatted = format(ipaddress.ip_address(raw)) elif display_hint == 'uuid': -- 2.43.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCHv2 net-next 1/2] ynl: support hex display_hint for integer 2024-03-26 2:43 ` [PATCHv2 net-next 1/2] ynl: support hex display_hint for integer Hangbin Liu @ 2024-03-26 9:13 ` Donald Hunter 0 siblings, 0 replies; 6+ messages in thread From: Donald Hunter @ 2024-03-26 9:13 UTC (permalink / raw) To: Hangbin Liu Cc: netdev, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Jiri Pirko, Jacob Keller, Stanislav Fomichev Hangbin Liu <liuhangbin@gmail.com> writes: > Some times it would be convenient to read the integer as hex, like > mask values. > > Suggested-by: Donald Hunter <donald.hunter@gmail.com> > Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> Reviewed-by: Donald Hunter <donald.hunter@gmail.com> ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCHv2 net-next 2/2] doc/netlink/specs: Add vlan attr in rt_link spec 2024-03-26 2:43 [PATCHv2 net-next 0/2] doc/netlink/specs: Add vlan support Hangbin Liu 2024-03-26 2:43 ` [PATCHv2 net-next 1/2] ynl: support hex display_hint for integer Hangbin Liu @ 2024-03-26 2:43 ` Hangbin Liu 2024-03-26 9:34 ` Donald Hunter 2024-03-27 3:34 ` Jakub Kicinski 1 sibling, 2 replies; 6+ messages in thread From: Hangbin Liu @ 2024-03-26 2:43 UTC (permalink / raw) To: netdev Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Donald Hunter, Jiri Pirko, Jacob Keller, Stanislav Fomichev, Hangbin Liu 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@gmail.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 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCHv2 net-next 2/2] doc/netlink/specs: Add vlan attr in rt_link spec 2024-03-26 2:43 ` [PATCHv2 net-next 2/2] doc/netlink/specs: Add vlan attr in rt_link spec Hangbin Liu @ 2024-03-26 9:34 ` Donald Hunter 2024-03-27 3:34 ` Jakub Kicinski 1 sibling, 0 replies; 6+ messages in thread From: Donald Hunter @ 2024-03-26 9:34 UTC (permalink / raw) To: Hangbin Liu Cc: netdev, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Jiri Pirko, Jacob Keller, Stanislav Fomichev Hangbin Liu <liuhangbin@gmail.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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCHv2 net-next 2/2] doc/netlink/specs: Add vlan attr in rt_link spec 2024-03-26 2:43 ` [PATCHv2 net-next 2/2] doc/netlink/specs: Add vlan attr in rt_link spec Hangbin Liu 2024-03-26 9:34 ` Donald Hunter @ 2024-03-27 3:34 ` Jakub Kicinski 1 sibling, 0 replies; 6+ messages in thread From: Jakub Kicinski @ 2024-03-27 3:34 UTC (permalink / raw) To: Hangbin Liu Cc: netdev, David S. Miller, Eric Dumazet, Paolo Abeni, Donald Hunter, Jiri Pirko, Jacob Keller, Stanislav Fomichev On Tue, 26 Mar 2024 10:43:25 +0800 Hangbin Liu wrote: > Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> > nit: please add a "---" line here so that the changelog is not part of the commit after we apply it with git am. > 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) > --- ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-03-27 3:34 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-03-26 2:43 [PATCHv2 net-next 0/2] doc/netlink/specs: Add vlan support Hangbin Liu 2024-03-26 2:43 ` [PATCHv2 net-next 1/2] ynl: support hex display_hint for integer Hangbin Liu 2024-03-26 9:13 ` Donald Hunter 2024-03-26 2:43 ` [PATCHv2 net-next 2/2] doc/netlink/specs: Add vlan attr in rt_link spec Hangbin Liu 2024-03-26 9:34 ` Donald Hunter 2024-03-27 3:34 ` Jakub Kicinski
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).