The docs and script usages are not consistent. There is no .devices, .vendor_id nor .device_id fields. Fix usage to the correct field names.
Some drivers do not expose any pci_ids, show how to use the []? jq operator to avoid spurious errors. Fixes: 0ce3cf4afd04 ("usertools/pmdinfo: rewrite simpler script") Cc: sta...@dpdk.org Signed-off-by: Robin Jarry <rja...@redhat.com> --- doc/guides/tools/pmdinfo.rst | 2 +- usertools/dpdk-pmdinfo.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guides/tools/pmdinfo.rst b/doc/guides/tools/pmdinfo.rst index a9217de4eef2..fdb90301715e 100644 --- a/doc/guides/tools/pmdinfo.rst +++ b/doc/guides/tools/pmdinfo.rst @@ -82,5 +82,5 @@ Get only the required kernel modules for a given device: .. code-block:: console $ dpdk-pmdinfo.py /usr/bin/dpdk-testpmd | \ - jq '.[] | select(.pci_ids[] | .vendor == "15b3" and .device == "1013").kmod' + jq '.[] | select(.pci_ids[]? | .vendor == "15b3" and .device == "1013").kmod' "* ib_uverbs & mlx5_core & mlx5_ib" diff --git a/usertools/dpdk-pmdinfo.py b/usertools/dpdk-pmdinfo.py index 67d023a04711..2c728de7b8be 100755 --- a/usertools/dpdk-pmdinfo.py +++ b/usertools/dpdk-pmdinfo.py @@ -23,7 +23,7 @@ Get only the required kernel modules for a given device: %(prog)s dpdk-testpmd | \ - jq '.[] | select(.devices[] | .vendor_id == "15b3" and .device_id == "1013").kmod' + jq '.[] | select(.pci_ids[]? | .vendor == "15b3" and .device == "1013").kmod' """ import argparse -- 2.41.0