1cc778567SHemant Agrawal.. SPDX-License-Identifier: BSD-3-Clause 28afe8267SChristian Ehrhardt Copyright(c) 2016 Canonical Limited. All rights reserved. 38afe8267SChristian Ehrhardt 48afe8267SChristian Ehrhardt 58afe8267SChristian Ehrhardtdpdk-pmdinfo Application 68afe8267SChristian Ehrhardt======================== 78afe8267SChristian Ehrhardt 80ce3cf4aSRobin JarryThe ``dpdk-pmdinfo.py`` tool is a Data Plane Development Kit (DPDK) utility that 90ce3cf4aSRobin Jarrycan dump a PMDs hardware support info in the JSON format. 108afe8267SChristian Ehrhardt 110ce3cf4aSRobin JarrySynopsis 120ce3cf4aSRobin Jarry-------- 138afe8267SChristian Ehrhardt 140ce3cf4aSRobin Jarry:: 158afe8267SChristian Ehrhardt 160ce3cf4aSRobin Jarry dpdk-pmdinfo.py [-h] [-p] [-v] ELF_FILE [ELF_FILE ...] 170ce3cf4aSRobin Jarry 180ce3cf4aSRobin JarryArguments 190ce3cf4aSRobin Jarry--------- 200ce3cf4aSRobin Jarry 210ce3cf4aSRobin Jarry.. program:: dpdk-pmdinfo.py 220ce3cf4aSRobin Jarry 230ce3cf4aSRobin Jarry.. option:: -h, --help 240ce3cf4aSRobin Jarry 250ce3cf4aSRobin Jarry Show the inline help. 260ce3cf4aSRobin Jarry 270ce3cf4aSRobin Jarry.. option:: -p, --search-plugins 280ce3cf4aSRobin Jarry 290ce3cf4aSRobin Jarry In addition of ``ELF_FILE``\s and their linked dynamic libraries, 300ce3cf4aSRobin Jarry also scan the DPDK plugins path. 310ce3cf4aSRobin Jarry 320ce3cf4aSRobin Jarry.. option:: -v, --verbose 330ce3cf4aSRobin Jarry 340ce3cf4aSRobin Jarry Display warnings due to linked libraries not found 350ce3cf4aSRobin Jarry or ELF/JSON parsing errors in these libraries. 360ce3cf4aSRobin Jarry Use twice to show debug messages. 370ce3cf4aSRobin Jarry 380ce3cf4aSRobin Jarry.. option:: ELF_FILE 390ce3cf4aSRobin Jarry 400ce3cf4aSRobin Jarry DPDK application binary or dynamic library. 410ce3cf4aSRobin Jarry Any linked ``librte_*.so`` library (as reported by ``ldd``) will also be analyzed. 420ce3cf4aSRobin Jarry Can be specified multiple times. 430ce3cf4aSRobin Jarry 440ce3cf4aSRobin JarryEnvironment Variables 450ce3cf4aSRobin Jarry--------------------- 460ce3cf4aSRobin Jarry 470ce3cf4aSRobin Jarry.. envvar:: LD_LIBRARY_PATH 480ce3cf4aSRobin Jarry 490ce3cf4aSRobin Jarry If specified, the linked ``librte_*.so`` libraries will be looked up here first. 500ce3cf4aSRobin Jarry 510ce3cf4aSRobin JarryExamples 520ce3cf4aSRobin Jarry-------- 530ce3cf4aSRobin Jarry 540ce3cf4aSRobin JarryGet the complete info for a given driver: 558afe8267SChristian Ehrhardt 568afe8267SChristian Ehrhardt.. code-block:: console 578afe8267SChristian Ehrhardt 580ce3cf4aSRobin Jarry $ dpdk-pmdinfo.py /usr/bin/dpdk-testpmd | \ 590ce3cf4aSRobin Jarry jq '.[] | select(.name == "net_ice_dcf")' 600ce3cf4aSRobin Jarry { 610ce3cf4aSRobin Jarry "name": "net_ice_dcf", 620ce3cf4aSRobin Jarry "params": "cap=dcf", 630ce3cf4aSRobin Jarry "kmod": "* igb_uio | vfio-pci", 640ce3cf4aSRobin Jarry "pci_ids": [ 650ce3cf4aSRobin Jarry { 660ce3cf4aSRobin Jarry "vendor": "8086", 670ce3cf4aSRobin Jarry "device": "1889" 680ce3cf4aSRobin Jarry } 690ce3cf4aSRobin Jarry ] 700ce3cf4aSRobin Jarry } 718afe8267SChristian Ehrhardt 720ce3cf4aSRobin JarryGet only the required kernel modules for a given driver: 738afe8267SChristian Ehrhardt 740ce3cf4aSRobin Jarry.. code-block:: console 758afe8267SChristian Ehrhardt 760ce3cf4aSRobin Jarry $ dpdk-pmdinfo.py /usr/bin/dpdk-testpmd | \ 770ce3cf4aSRobin Jarry jq '.[] | select(.name == "net_cn10k").kmod' 780ce3cf4aSRobin Jarry "vfio-pci" 790ce3cf4aSRobin Jarry 800ce3cf4aSRobin JarryGet only the required kernel modules for a given device: 810ce3cf4aSRobin Jarry 820ce3cf4aSRobin Jarry.. code-block:: console 830ce3cf4aSRobin Jarry 840ce3cf4aSRobin Jarry $ dpdk-pmdinfo.py /usr/bin/dpdk-testpmd | \ 85*e0a87c5fSRobin Jarry jq '.[] | select(.pci_ids[]? | .vendor == "15b3" and .device == "1013").kmod' 860ce3cf4aSRobin Jarry "* ib_uverbs & mlx5_core & mlx5_ib" 87