On Wed, 30 Nov 2022 13:35:26 +0000
"[email protected]" <[email protected]> wrote:
> 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!
That will be really slow and limiting. Why use DPDK if there is no native
driver support?
>
> 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).
Try adding printfs inside the pcap poll mode driver.
It may not be getting loaded.