stoneman_41
stoneman_41

Reputation: 400

Can't transmit packets in DPDK sample application

I have set up DPDK 17.08.01 on an Ubuntu 16.04.2 system. I've followed the guides involving HugePages setup. I have set up 2048 HugePages (1024 pages per NUMA core), with each page being 2048 kB. This can be shown with the command cat /proc/meminfo:

HugePages_Total:    2048
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB

I believe the HugePages_Free is 0 because I already started running an application on DPDK. They have no issue try to allocate HugePages as far as I know.

I have also attached the corresponding drivers necessary to two of my interfaces Here is the output of usertools/dpdk-devbind.py --status:

Network devices using DPDK-compatible driver
============================================
0000:01:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' drv=igb_uio unused=uio_pci_generic
0000:01:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' drv=igb_uio unused=uio_pci_generic

Network devices using kernel driver
===================================
0000:84:00.0 '82580 Gigabit Network Connection 150e' if=ens2f0 drv=igb unused=igb_uio,uio_pci_generic *Active*
0000:84:00.1 '82580 Gigabit Network Connection 150e' if=ens2f1 drv=igb unused=igb_uio,uio_pci_generic 
0000:84:00.2 '82580 Gigabit Network Connection 150e' if=ens2f2 drv=igb unused=igb_uio,uio_pci_generic 
0000:84:00.3 '82580 Gigabit Network Connection 150e' if=ens2f3 drv=igb unused=igb_uio,uio_pci_generic

I am trying the simple basicfwd sample application, which simply forwards from one port to the other. When I put in debug statements, however, I see only two loops for each port, and afterwards the application hangs. I am assuming the forwarding and whatnot is supposed to go on until the user stops it. Two packets are received in each port, but nothing is transmitted unfortunately.

I understand the issue is a bit vague, and related to DPDK setup, but any other help with commands to use for debugging, things I should check, would be appreciated, as I am a beginner with DPDK. I haven't been able to find any good diagnosing tips online.

Upvotes: 0

Views: 1422

Answers (1)

Andriy Berestovskyy
Andriy Berestovskyy

Reputation: 8544

The basicfwd example does not provide any statistics, so it could look like it hangs, but it fact it might work well.

There are few options:

  1. It is possible to run the application with gdb --args ./basicfwd and confirm it receives frames, send frames or hangs.

  2. Try another example applications, for example l2fwd, which provide some statistics.

Please also include logs, debug info etc information.

Upvotes: 1

Related Questions