From: Donald Hunter <donald.hunter@gmail.com>
To: netdev@vger.kernel.org, Jakub Kicinski <kuba@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>, Jiri Pirko <jiri@resnulli.us>,
Jacob Keller <jacob.e.keller@intel.com>,
Hangbin Liu <liuhangbin@gmail.com>
Cc: donald.hunter@redhat.com, Donald Hunter <donald.hunter@gmail.com>
Subject: [PATCH net-next v1] netlink/specs: Add VF attributes to rt_link spec
Date: Tue, 7 May 2024 11:36:03 +0100 [thread overview]
Message-ID: <20240507103603.23017-1-donald.hunter@gmail.com> (raw)
Add support for retrieving VFs as part of link info. For example:
./tools/net/ynl/cli.py --spec Documentation/netlink/specs/rt_link.yaml \
--do getlink --json '{"ifi-index": 38, "ext-mask": ["vf", "skip-stats"]}'
{'address': 'b6:75:91:f2:64:65',
[snip]
'vfinfo-list': {'info': [{'broadcast': b'\xff\xff\xff\xff\xff\xff\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00',
'link-state': {'link-state': 'auto', 'vf': 0},
'mac': {'mac': b'\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00',
'vf': 0},
'rate': {'max-tx-rate': 0,
'min-tx-rate': 0,
'vf': 0},
'rss-query-en': {'setting': 0, 'vf': 0},
'spoofchk': {'setting': 0, 'vf': 0},
'trust': {'setting': 0, 'vf': 0},
'tx-rate': {'rate': 0, 'vf': 0},
'vlan': {'qos': 0, 'vf': 0, 'vlan': 0},
'vlan-list': {'info': [{'qos': 0,
'vf': 0,
'vlan': 0,
'vlan-proto': 0}]}},
{'broadcast': b'\xff\xff\xff\xff\xff\xff\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00',
'link-state': {'link-state': 'auto', 'vf': 1},
'mac': {'mac': b'\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00'
b'\x00\x00\x00\x00\x00\x00\x00\x00',
'vf': 1},
'rate': {'max-tx-rate': 0,
'min-tx-rate': 0,
'vf': 1},
'rss-query-en': {'setting': 0, 'vf': 1},
'spoofchk': {'setting': 0, 'vf': 1},
'trust': {'setting': 0, 'vf': 1},
'tx-rate': {'rate': 0, 'vf': 1},
'vlan': {'qos': 0, 'vf': 1, 'vlan': 0},
'vlan-list': {'info': [{'qos': 0,
'vf': 1,
'vlan': 0,
'vlan-proto': 0}]}}]},
'xdp': {'attached': 0}}
Signed-off-by: Donald Hunter <donald.hunter@gmail.com>
---
Documentation/netlink/specs/rt_link.yaml | 237 ++++++++++++++++++++++-
1 file changed, 235 insertions(+), 2 deletions(-)
diff --git a/Documentation/netlink/specs/rt_link.yaml b/Documentation/netlink/specs/rt_link.yaml
index 113ecd17c880..0f02b9579b5a 100644
--- a/Documentation/netlink/specs/rt_link.yaml
+++ b/Documentation/netlink/specs/rt_link.yaml
@@ -770,6 +770,139 @@ definitions:
-
name: to
type: u32
+ -
+ name: ifla-vf-mac
+ type: struct
+ members:
+ -
+ name: vf
+ type: u32
+ -
+ name: mac
+ type: binary
+ len: 32
+ -
+ name: ifla-vf-vlan
+ type: struct
+ members:
+ -
+ name: vf
+ type: u32
+ -
+ name: vlan
+ type: u32
+ -
+ name: qos
+ type: u32
+ -
+ name: ifla-vf-tx-rate
+ type: struct
+ members:
+ -
+ name: vf
+ type: u32
+ -
+ name: rate
+ type: u32
+ -
+ name: ifla-vf-spoofchk
+ type: struct
+ members:
+ -
+ name: vf
+ type: u32
+ -
+ name: setting
+ type: u32
+ -
+ name: ifla-vf-link-state
+ type: struct
+ members:
+ -
+ name: vf
+ type: u32
+ -
+ name: link-state
+ type: u32
+ enum: ifla-vf-link-state-enum
+ -
+ name: ifla-vf-link-state-enum
+ type: enum
+ entries:
+ - auto
+ - enable
+ - disable
+ -
+ name: ifla-vf-rate
+ type: struct
+ members:
+ -
+ name: vf
+ type: u32
+ -
+ name: min-tx-rate
+ type: u32
+ -
+ name: max-tx-rate
+ type: u32
+ -
+ name: ifla-vf-rss-query-en
+ type: struct
+ members:
+ -
+ name: vf
+ type: u32
+ -
+ name: setting
+ type: u32
+ -
+ name: ifla-vf-trust
+ type: struct
+ members:
+ -
+ name: vf
+ type: u32
+ -
+ name: setting
+ type: u32
+ -
+ name: ifla-vf-guid
+ type: struct
+ members:
+ -
+ name: vf
+ type: u32
+ -
+ name: guid
+ type: u64
+ -
+ name: ifla-vf-vlan-info
+ type: struct
+ members:
+ -
+ name: vf
+ type: u32
+ -
+ name: vlan
+ type: u32
+ -
+ name: qos
+ type: u32
+ -
+ name: vlan-proto
+ type: u32
+ -
+ name: rtext-filter
+ type: flags
+ entries:
+ - vf
+ - brvlan
+ - brvlan-compressed
+ - skip-stats
+ - mrp
+ - cfm-config
+ - cfm-status
+ - mst
attribute-sets:
-
@@ -847,7 +980,7 @@ attribute-sets:
-
name: vfinfo-list
type: nest
- nested-attributes: vfinfo-attrs
+ nested-attributes: vfinfo-list-attrs
-
name: stats64
type: binary
@@ -873,6 +1006,8 @@ attribute-sets:
-
name: ext-mask
type: u32
+ enum: rtext-filter
+ enum-as-flags: true
-
name: promiscuity
type: u32
@@ -1004,9 +1139,107 @@ attribute-sets:
type: nest
value: 45
nested-attributes: mctp-attrs
+ -
+ name: vfinfo-list-attrs
+ attributes:
+ -
+ name: info
+ type: nest
+ nested-attributes: vfinfo-attrs
+ multi-attr: true
-
name: vfinfo-attrs
- attributes: []
+ attributes:
+ -
+ name: mac
+ type: binary
+ struct: ifla-vf-mac
+ -
+ name: vlan
+ type: binary
+ struct: ifla-vf-vlan
+ -
+ name: tx-rate
+ type: binary
+ struct: ifla-vf-tx-rate
+ -
+ name: spoofchk
+ type: binary
+ struct: ifla-vf-spoofchk
+ -
+ name: link-state
+ type: binary
+ struct: ifla-vf-link-state
+ -
+ name: rate
+ type: binary
+ struct: ifla-vf-rate
+ -
+ name: rss-query-en
+ type: binary
+ struct: ifla-vf-rss-query-en
+ -
+ name: stats
+ type: nest
+ nested-attributes: vf-stats-attrs
+ -
+ name: trust
+ type: binary
+ struct: ifla-vf-trust
+ -
+ name: ib-node-guid
+ type: binary
+ struct: ifla-vf-guid
+ -
+ name: ib-port-guid
+ type: binary
+ struct: ifla-vf-guid
+ -
+ name: vlan-list
+ type: nest
+ nested-attributes: vf-vlan-attrs
+ -
+ name: broadcast
+ type: binary
+ -
+ name: vf-stats-attrs
+ attributes:
+ -
+ name: rx-packets
+ type: u64
+ value: 0
+ -
+ name: tx-packets
+ type: u64
+ -
+ name: rx-bytes
+ type: u64
+ -
+ name: tx-bytes
+ type: u64
+ -
+ name: broadcast
+ type: u64
+ -
+ name: multicast
+ type: u64
+ -
+ name: pad
+ type: pad
+ -
+ name: rx-dropped
+ type: u64
+ -
+ name: tx-dropped
+ type: u64
+ -
+ name: vf-vlan-attrs
+ attributes:
+ -
+ name: info
+ type: binary
+ struct: ifla-vf-vlan-info
+ multi-attr: true
-
name: vf-ports-attrs
attributes: []
--
2.44.0
next reply other threads:[~2024-05-07 10:36 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-07 10:36 Donald Hunter [this message]
2024-05-09 1:50 ` [PATCH net-next v1] netlink/specs: Add VF attributes to rt_link spec patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240507103603.23017-1-donald.hunter@gmail.com \
--to=donald.hunter@gmail.com \
--cc=davem@davemloft.net \
--cc=donald.hunter@redhat.com \
--cc=edumazet@google.com \
--cc=jacob.e.keller@intel.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=liuhangbin@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).