Hello!

 

My name is Kyle Gagnon and I work at General Dynamics Mission Systems. We are evaluating DPDK and its use. I am currently trying to get DPDK to work on a Xilinx ZCU102 evaluation board. The problem is that the NIC is an onboard ethernet interface so it does not go through any PCI. I won’t be able to use an external NIC card so I have to work with what I have. I understand that I can use the PCAP library PMD. Here is my question if you don’t mind helping me out!

 

I am compiling DPDK through meson and then in a custom application I am writing myself I have to use Makefiles. I need to statically link all of the libraries. So I did that and wrote an extremely basic program that doesn’t do much at all. Here it is (I am copying from another computer. This is a C++ application and I am building it for ARM on an x86_64 Ubuntu WSL machine)

 

DpdkEntry.cpp

 

#include <iostream>

#include <string>

 

#include <rte_eal.h>

#include <rte_ethdev.h>

#include <rte_cycles.h>

#include <rte_lcore.h>

#include <rte_mbuf.h>

 

Int main(int argc, char **argv) {

 

               int returnVal;

 

               std::cout << “Setting up EAL environment\n”;

 

               returnVal = rte_eal_init(argc, argv);

               if (returnVal < 0) {

                              rte_exit(EXIT_FAILURE, “Error with initializing EAL\n”);

               }

 

               rte_eal_cleanup();

 

               return 0;

}

 

When I run this application through a QEMU emulation of the ZCU102 board I use the following command

 

dpdk-test -l 0-3 -n 4 –vdev ‘net_pcap0,iface=eth0’

 

I have built librte_net_pcap and linked it in so it is in the application. When I run the above command (using the above source code) I get the following:

 

EAL: Detected CPU lcores: 4

EALL Detected NUMA nodes: 1

EAL: Detected static linkage of DPDK

EAL: failed to parse device “net_pcap0”

EAL: Unable to parse device ‘net_pcap0,iface=eth0’

EAL: Error – exiting with code: 1

  Cause: Error with initializing EAL

 

When I run a testpmd with the same parameters on the same emulated board I am able to use the ethernet port so what am I doing wrong with my custom code? I am going to forward this to my personal email in case I need to follow up with more information (the source code and building is on my personal computer rather than my work computer).

 

Thank you!

Kyle Gagnon

General Dynamics Mission Systems

150 Rustcraft Rd | Dedham, MA 02026

(781) 410 - 3820 | Kyle.Gagnon@gd-ms.com