On Wed, 14 Feb 2024 22:44:46 +0000 Sameer Vaze <sv...@qti.qualcomm.com> wrote:
> Hey Folks, > > I see the following message when I attempt to attach pdump to the testpmd > sample application: > > Pdump output: > EAL: Failed to hotplug add device > EAL: Error - exiting with code: 1 > Cause: vdev creation failed:create_mp_ring_vdev:695 > > Testpmd output: > Reached maximum number of Ethernet ports > EAL: Driver cannot attach the device (net_pcap_rx_0) > EAL: Failed to hotplug add device on primary > > The primary and secondary applications were run using the following commands: > > Primary: sudo ./dpdk-testpmd --proc-type=primary --file-prefix=test -d > /path/to/pmd > Secondary: sudo ./dpdk-pdump --proc-type=secondary --file-prefix=test -d > /path/to/pmd -- --pdump 'port=0,queue=1,rx-dev=./rx.pcap,tx-dev=./tx.pcap' > > DPDK version: 22.11.1 > > Is this a known issue? Is there any known fix for this? > > Thanks > Sameer Vaze pdump and dumpcap can't work where the actual data transmit/receive is done in secondary process. The problem is in the design using callbacks and the way the pdump/dumpcap is initialized. The pdump/dumpcap works as an additional secondary process. At startup pdump/dumpcap communicates with primary process to enable callbacks on rx/tx but these work only in the primary process. In secondary process, there are no rx/tx callbacks.