Snipped > Dikshant Chitkara <dchitk...@airspan.com> wrote: > > > Hi Team, > > > > We are facing an issue w.r.t to using DPDK PDUMP utility and want to check > > if > you can help us in this regard. > > > > This issue is specific to DPDK 19.05 version or may be newer versions and > was not found on DPDK 18.08 version. > > > > The issue is that when we built DPDK in shared library mode and try to run > PDUMP we get following error on PDUMP console: > > > > EAL: Failed to hotplug add device > > EAL: Error - exiting with code: 1 > > Cause: vdev creation failed > > > > On Debugging above error message, I found that inside rte_dev_probe() > function in the file lib/librte_eal/common/eal_common_dev.c , req.result = - > 14 which is non-zero value and points to enum EFAULT (Bad address) value, > thus leading to above error. > > > > However, when I ran PDUMP in DPDK 18.08, I did not observe any such issue > and it worked fine. > > > > DPDK was built with following flags set in config/common_base file: > > > > CONFIG_RTE_LIBRTE_PMD_PCAP=y > > CONFIG_RTE_LIBRTE_PDUMP=y > > > > I ran PDUMP with testpmd as primary application and was trying to send > some traffic on the Ethernet dpdk port using testpmd and capture it using > pdump. > > > > Attached are the logs for both testpmd and pdump in both DPDK19_05 and > DPDK_18_08 version for your reference. > > > > Let us know if you can help in this regard. > > > > Thanks, > > Dikshant > > > > Pdump runs as secondary process, what is your primary process. > Is the secondary process using the same exact versions of DPDK and libraries > as > the primary process? > The secondary process needs access to the same devices and drivers as the > primary process to work.
Based on the log files shared, I have made assumptions as 1. Primary: testpmd 2. DPDK version: 19.05 3. SHARED LIB in .config: yes 4. export LD_LIBRARY_PATH: yes Using arguments passed in primary, I faced error ``` EAL: Error - exiting with code: 1 Cause: Creation of mbuf pool for socket 0 failed: Invalid argument Cause: Mempool creation failed: Invalid argument ``` Hence had to modify with ` -d librte_mempool_ring.so`. Using arguments passed in secondary, I faced similar error too. With these corrections, I am able to get similar error shared as ``` EAL: failed to parse device "vdev:net_pcap_tx_0" EAL: Failed to hotplug add device on primary EAL: Error - exiting with code: 1 Cause: vdev creation failed ``` Checking the testpmd Makefile, it is narrowed down to missing PCAP_PMD build factor. I rebuild testpmd with ` LD_FLAGS="-lrte_pmd_pcap" make` and re-ran the same. With this I can get it working properly. Ideally there should had been an entry in Makefile as ``` ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y) LDLIBS += -lrte_pmd_pcap endif ``` reference: This is similar to the error and solution provided in ` https://stackoverflow.com/questions/62795017/dpdk-pdump-failed-to-hotplug-add-device/62869287#62869287`