[dpdk-users] pdump help

Pattan, Reshma reshma.pattan at intel.com
Mon Jul 25 10:57:53 CEST 2016


Hi Nishant,

1)Since you are using  --file-prefix l3f in l3fwd command, you need to use same file prefix in dpdk_pdump command also. This solves below reported issue.

2)And also make sure l3fwd application initializes packet capture framework by calling rte_pdump_init () api from its main().
 Also should  call uninitialize  api rte_pdump_uninit() before exiting l3fwd application. Please refer app/test-pmd/testpmd.c file to see how these apis are used.

Ex:
int
main(int argc, char** argv)
{
»·······int  diag;
»·······uint8_t port_id;

»·······signal(SIGINT, signal_handler);
»·······signal(SIGTERM, signal_handler);

»·······diag = rte_eal_init(argc, argv);
»·······if (diag < 0)
»·······»·······rte_panic("Cannot init EAL\n");
#ifdef RTE_LIBRTE_PDUMP
»·······/* initialize packet capture framework */
»·······rte_pdump_init(NULL);

static void
signal_handler(int signum)
{
»·······if (signum == SIGINT || signum == SIGTERM) {
»·······»·······printf("\nSignal %d received, preparing to exit...\n",
»·······»·······»·······»·······signum);
#ifdef RTE_LIBRTE_PDUMP
»·······»·······/* uninitialize packet capture framework */
»·······»·······rte_pdump_uninit();
#endif

3)As of now initializing and un initializing of the packet capture framework is done only in testpmd, for other applications this is not done. We left users to do this for now.


Please feel free to ping me if you see some more issues.

Thanks,
Reshma
From: Nishant Verma [mailto:vnish11 at gmail.com]
Sent: Friday, July 22, 2016 10:42 PM
To: Pattan, Reshma <reshma.pattan at intel.com>
Cc: users at dpdk.org
Subject: Re: pdump help

Hi,
Something is still creating the problem. just can't figure out.
Here is the scenario....
Just inserted IGB UIO module, attached one 10G NIC to DPDK &
4096 hugepage.

---
trying to run l3fwd as primary and pducp as secondary  to capture packet dump.
Earlier dpdk_pdump is crashing on either create_mp_ring_vdev:649 or create_mp_ring_vdev:669.
Now i changed some parameters of pdump and l3fwd, change hugepages to 8192 and tried to run like this..
./l3fwd -c 606 -n 4 --proc-type=primary  --socket-mem=1024 --file-prefix l3f -- -p 0x1 --config="(0,0,1),(0,1,2)"
Here is the log of app
"
EAL: Detected 16 lcore(s)
EAL: Probing VFIO support...
EAL: VFIO support initialized
PMD: bnxt_rte_pmd_init() called for (null)
EAL: PCI device 0000:03:00.0 on NUMA socket 0
EAL:   probe driver: 8086:15ad rte_ixgbe_pmd
EAL: PCI device 0000:03:00.1 on NUMA socket 0
EAL:   probe driver: 8086:15ad rte_ixgbe_pmd
EAL: PCI device 0000:05:00.0 on NUMA socket 0
EAL:   probe driver: 8086:1521 rte_igb_pmd
EAL: PCI device 0000:05:00.1 on NUMA socket 0
EAL:   probe driver: 8086:1521 rte_igb_pmd
L3FWD: LPM or EM none selected, default LPM on
Initializing port 0 ... Creating queues: nb_rxq=2 nb_txq=4...  Address:0C:C4:7A:73:EF:14, Destination:02:00:00:00:00:00, Allocated mbuf pool on socket 0
LPM: Adding route 0x01010100 / 24 (0)
LPM: Adding route IPV6 / 48 (0)
txq=1,0,0 txq=2,1,0 txq=9,2,0 txq=10,3,0

Skipping disabled port 1

Initializing rx queues on lcore 1 ... rxq=0,0,0
Initializing rx queues on lcore 2 ... rxq=0,1,0
Initializing rx queues on lcore 9 ...
Initializing rx queues on lcore 10 ...

"
It seems everything is good in this. So I tried to run pdump like

 ./dpdk_pdump -- --pdump 'port=0,queue=*,rx-dev=/tmp/rx-file.pcap,tx-dev=/tmp/tx-file.pcap,ring-size=1024,mbuf-size=20,total-num-mbufs=1025'
Here is log for pdump

"
EAL: Detected 16 lcore(s)
EAL: Probing VFIO support...
EAL:   cannot connect to primary process!
EAL: VFIO support could not be initialized
EAL: WARNING: Address Space Layout Randomization (ASLR) is enabled in the kernel.
EAL:    This may cause issues with mapping memory into secondary processes
EAL: Could not open /dev/hugepages/rtemap_510
PANIC in rte_eal_init():
Cannot init memory
6: [./dpdk_pdump(_start+0x29) [0x4289b9]]
5: [/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7fa22219aa40]]
4: [./dpdk_pdump(main+0x155) [0x42c417]]
3: [./dpdk_pdump(rte_eal_init+0xf14) [0x4603b4]]
2: [./dpdk_pdump(__rte_panic+0xc9) [0x424b59]]
1: [./dpdk_pdump(rte_dump_stack+0x2b) [0x4677fb]]
Aborted (core dumped)

"

It seems from log that their is some issue in memory between primary and secondary, but when i tried to run one l2fwd as primary and one l3fwd as secondary it works fine.

On Fri, Jul 22, 2016 at 7:21 AM, Pattan, Reshma <reshma.pattan at intel.com<mailto:reshma.pattan at intel.com>> wrote:
Hi,

I see some cleanup related bug in the dpdk_pdump tool, so until I publish fix for that,
You need to restart  both primary and secondary process( work around) after you see any RING/VDEV failure issues.

Thanks,
Reshma


From: Pattan, Reshma
Sent: Friday, July 22, 2016 10:31 AM
To: 'Nishant Verma' <vnish11 at gmail.com<mailto:vnish11 at gmail.com>>
Cc: users at dpdk.org<mailto:users at dpdk.org>
Subject: RE: pdump help

Hi,

As I see “RING: Cannot reserve memory”. Please allocate enough huge page memory and see what happens.

Also once you encounter such error please restart  both primary and secondary process.

Please paste me the full  error log, if you still face the issue.

Thanks,
Reshma


From: Nishant Verma [mailto:vnish11 at gmail.com]
Sent: Thursday, July 21, 2016 9:10 PM
To: Pattan, Reshma <reshma.pattan at intel.com<mailto:reshma.pattan at intel.com>>
Cc: users at dpdk.org<mailto:users at dpdk.org>
Subject: Re: pdump help

Hi Reshma,

Tried things pointed by you(libpcap Installed & config parameter is set).
But still things are not working.

"
root at ubuntu:/home/oneweb/dpdk/app/pdump# ./dpdk_pdump --proc-type=secondary -- --pdump 'device_id=03:00.0,queue=*,rx-dev=/tmp/rx-file.pcap,tx-dev=/tmp/tx-file.pcap'
EAL: Detected 16 lcore(s)
EAL: Probing VFIO support...
EAL: WARNING: Address Space Layout Randomization (ASLR) is enabled in the kernel.
EAL:    This may cause issues with mapping memory into secondary processes
PMD: bnxt_rte_pmd_init() called for (null)
EAL: PCI device 0000:03:00.0 on NUMA socket 0
EAL:   probe driver: 8086:15ad rte_ixgbe_pmd
EAL: PCI device 0000:03:00.1 on NUMA socket 0
EAL:   probe driver: 8086:15ad rte_ixgbe_pmd
PMD: eth_ixgbe_dev_init(): No TX queues configured yet. Using default TX function.
EAL: PCI device 0000:05:00.0 on NUMA socket 0
EAL:   probe driver: 8086:1521 rte_igb_pmd
EAL: PCI device 0000:05:00.1 on NUMA socket 0
EAL:   probe driver: 8086:1521 rte_igb_pmd
RING: Cannot reserve memory
EAL: Error - exiting with code: 1
  Cause: File exists:create_mp_ring_vdev:649
"


Rgds,
Nishant


On Thu, Jul 21, 2016 at 5:16 AM, Pattan, Reshma <reshma.pattan at intel.com<mailto:reshma.pattan at intel.com>> wrote:
Hi,

Pdump tool is designed based on PCAP PMD. So you need to install libpcap package and set CONFIG_RTE_LIBRTE_PMD_PCAP flag to “y”
in config/common_base file and recompile the DPDK and run pdump tool. Please let me know if that fix the issue.

This dependency is mentioned in the  document “doc/guides/sample_app_ug/pdump.rst.”

Thanks,
Reshma

From: Nishant Verma [mailto:vnish11 at gmail.com<mailto:vnish11 at gmail.com>]
Sent: Wednesday, July 20, 2016 8:08 PM
To: Pattan, Reshma <reshma.pattan at intel.com<mailto:reshma.pattan at intel.com>>
Subject: pdump help

Hi Reshma,

i am facing some issue in executing pdump. I have seen in logs that you recently updated the code. Please let me know if i am doing anything wrong.


app/pdump# ./dpdk_pdump -- --pdump 'device_id=03:00.0,queue=*,rx-dev=/tmp/rx-1-file.pcap,tx-dev=tx-1-file.pcap'

This is the error i am getting.
Cause: File exists:create_mp_ring_vdev:649

​Thanks a lot.​

--
Rgds,
Nishant






--
Rgds,
Nishant






--
Rgds,
Nishant





More information about the users mailing list