mbox series

[iproute2-next,0/6] devlink: implement dump selector for devlink objects show commands

Message ID 20230831132229.471693-1-jiri@resnulli.us (mailing list archive)
Headers show
Series devlink: implement dump selector for devlink objects show commands | expand

Message

Jiri Pirko Aug. 31, 2023, 1:22 p.m. UTC
From: Jiri Pirko <jiri@nvidia.com>

First 5 patches are preparations for the last one.

Motivation:

For SFs, one devlink instance per SF is created. There might be
thousands of these on a single host. When a user needs to know port
handle for specific SF, he needs to dump all devlink ports on the host
which does not scale good.

Solution:

Allow user to pass devlink handle (and possibly other attributes)
alongside the dump command and dump only objects which are matching
the selection.

Example:
$ devlink port show
auxiliary/mlx5_core.eth.0/65535: type eth netdev eth2 flavour physical port 0 splittable false
auxiliary/mlx5_core.eth.1/131071: type eth netdev eth3 flavour physical port 1 splittable false

$ devlink port show auxiliary/mlx5_core.eth.0
auxiliary/mlx5_core.eth.0/65535: type eth netdev eth2 flavour physical port 0 splittable false

$ devlink port show auxiliary/mlx5_core.eth.1
auxiliary/mlx5_core.eth.1/131071: type eth netdev eth3 flavour physical port 1 splittable false

Jiri Pirko (6):
  devlink: move DL_OPT_SB into required options
  devlink: make parsing of handle non-destructive to argv
  devlink: implement command line args dry parsing
  devlink: return -ENOENT if argument is missing
  mnl_utils: introduce a helper to check if dump policy exists for
    command
  devlink: implement dump selector for devlink objects show commands

 devlink/devlink.c   | 376 ++++++++++++++++++++++++++------------------
 include/mnl_utils.h |   1 +
 lib/mnl_utils.c     | 121 +++++++++++++-
 3 files changed, 342 insertions(+), 156 deletions(-)

Comments

Jiri Pirko Sept. 4, 2023, 9:33 a.m. UTC | #1
Thu, Aug 31, 2023 at 03:22:23PM CEST, jiri@resnulli.us wrote:
>From: Jiri Pirko <jiri@nvidia.com>
>
>First 5 patches are preparations for the last one.
>
>Motivation:
>
>For SFs, one devlink instance per SF is created. There might be
>thousands of these on a single host. When a user needs to know port
>handle for specific SF, he needs to dump all devlink ports on the host
>which does not scale good.
>
>Solution:
>
>Allow user to pass devlink handle (and possibly other attributes)
>alongside the dump command and dump only objects which are matching
>the selection.
>
>Example:
>$ devlink port show
>auxiliary/mlx5_core.eth.0/65535: type eth netdev eth2 flavour physical port 0 splittable false
>auxiliary/mlx5_core.eth.1/131071: type eth netdev eth3 flavour physical port 1 splittable false
>
>$ devlink port show auxiliary/mlx5_core.eth.0
>auxiliary/mlx5_core.eth.0/65535: type eth netdev eth2 flavour physical port 0 splittable false
>
>$ devlink port show auxiliary/mlx5_core.eth.1
>auxiliary/mlx5_core.eth.1/131071: type eth netdev eth3 flavour physical port 1 splittable false
>
>Jiri Pirko (6):
>  devlink: move DL_OPT_SB into required options
>  devlink: make parsing of handle non-destructive to argv
>  devlink: implement command line args dry parsing
>  devlink: return -ENOENT if argument is missing
>  mnl_utils: introduce a helper to check if dump policy exists for
>    command
>  devlink: implement dump selector for devlink objects show commands
>
> devlink/devlink.c   | 376 ++++++++++++++++++++++++++------------------
> include/mnl_utils.h |   1 +
> lib/mnl_utils.c     | 121 +++++++++++++-
> 3 files changed, 342 insertions(+), 156 deletions(-)
>
>-- 
>2.41.0
>

There is an issue with the first patch, fixing and sending v2.

pw-bot: changes-requested