tools: ynl: add --list-ops and --list-msgs to CLI
authorJakub Kicinski <kuba@kernel.org>
Thu, 2 May 2024 16:40:43 +0000 (09:40 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 3 May 2024 22:13:21 +0000 (15:13 -0700)
commit3e51f2cbbc5dc854f89ca37d95d295bfcabb5b43
tree86be6a79ad67645986caf9956427e2670c86d1c5
parentf3ad4914332fc85ceb1689208da229efff896551
tools: ynl: add --list-ops and --list-msgs to CLI

I often forget the exact naming of ops and have to look at
the spec to find it. Add support for listing the operations:

  $ ./cli.py --spec .../netdev.yaml --list-ops
  dev-get  [ do, dump ]
  page-pool-get  [ do, dump ]
  page-pool-stats-get  [ do, dump ]
  queue-get  [ do, dump ]
  napi-get  [ do, dump ]
  qstats-get  [ dump ]

For completeness also support listing all ops (including
notifications:

  # ./cli.py --spec .../netdev.yaml --list-msgs
  dev-get  [ dump, do ]
  dev-add-ntf  [ notify ]
  dev-del-ntf  [ notify ]
  dev-change-ntf  [ notify ]
  page-pool-get  [ dump, do ]
  page-pool-add-ntf  [ notify ]
  page-pool-del-ntf  [ notify ]
  page-pool-change-ntf  [ notify ]
  page-pool-stats-get  [ dump, do ]
  queue-get  [ dump, do ]
  napi-get  [ dump, do ]
  qstats-get  [ dump ]

Use double space after the name for slightly easier to read
output.

Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
Link: https://lore.kernel.org/r/20240502164043.2130184-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/net/ynl/cli.py
tools/net/ynl/lib/nlspec.py