diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2025-05-07 18:21:28 -0700 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2025-05-07 18:21:28 -0700 |
| commit | 015b5b8ed194efe2d2faaf4c3ee4fcfb346c14d8 (patch) | |
| tree | f5f5f8ec4c5e2cf656fc1069c1f9e7897ea52ac6 /tools/net/ynl/samples/devlink.c | |
| parent | 3e52667a9c328b3d1a1ddbbb6b8fbf63a217bda3 (diff) | |
| parent | d307b9feb833f3f413db36dcec01dcad749a763f (diff) | |
Merge branch 'tools-ynl-gen-split-presence-metadata'
Jakub Kicinski says:
====================
tools: ynl-gen: split presence metadata
The presence metadata indicates whether given attribute was/should be
added to the Netlink message. We have 3 types of such metadata:
- bit presence for simple values like integers,
- len presence for variable size attrs, like binary and strings,
- count for arrays.
Previously this information was spread around with first two types
living in a dedicated sub-struct called _present. The counts resided
directly in the main struct with an n_ prefix.
Reshuffle these an uniformly store them in dedicated sub-structs.
The immediate motivation is that current scheme causes name collisions
for TC.
====================
Link: https://patch.msgid.link/20250505165208.248049-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/net/ynl/samples/devlink.c')
| -rw-r--r-- | tools/net/ynl/samples/devlink.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/net/ynl/samples/devlink.c b/tools/net/ynl/samples/devlink.c index d2611d7ebab4..ac9dfb01f280 100644 --- a/tools/net/ynl/samples/devlink.c +++ b/tools/net/ynl/samples/devlink.c @@ -22,6 +22,7 @@ int main(int argc, char **argv) ynl_dump_foreach(devs, d) { struct devlink_info_get_req *info_req; struct devlink_info_get_rsp *info_rsp; + unsigned i; printf("%s/%s:\n", d->bus_name, d->dev_name); @@ -34,11 +35,11 @@ int main(int argc, char **argv) if (!info_rsp) goto err_free_devs; - if (info_rsp->_present.info_driver_name_len) + if (info_rsp->_len.info_driver_name) printf(" driver: %s\n", info_rsp->info_driver_name); - if (info_rsp->n_info_version_running) + if (info_rsp->_count.info_version_running) printf(" running fw:\n"); - for (unsigned i = 0; i < info_rsp->n_info_version_running; i++) + for (i = 0; i < info_rsp->_count.info_version_running; i++) printf(" %s: %s\n", info_rsp->info_version_running[i].info_version_name, info_rsp->info_version_running[i].info_version_value); |
