erpc-io / eRPC

Efficient RPCs for datacenter networks
Other
858 stars 140 forks source link

"Ethdev configuration error: Invalid argument" error #9

Closed vsbenas closed 6 years ago

vsbenas commented 6 years ago

Hi,

I'm getting an error: Most tests in scripts/run-tests-dpkg.sh:

C++ exception with description "Ethdev configuration error: Invalid argument" thrown in the test fixture's constructor.

I get the same error in hello_world app as well.

Maybe I messed something up with the network configuration, but I can't find any info online about this error.

anujkaliaiitd commented 6 years ago

It seems like eRPC fails to initialize the NIC queues.

Which NIC are you using? eRPC's DPDK mode has been mostly tested with Intel 82599 and X710 NICs.

vsbenas commented 6 years ago

I'm trying to setup eRPC on a KVM qemu, using e1000 as the network card, which emulates as Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03)

I'm using Ubuntu 18 by the way.

anujkaliaiitd commented 6 years ago

Emulated devices like e1000 likely don't support NIC features needed by eRPC (e.g., flow-director and multi-queue). Currently, eRPC supports only Intel 82599 and X710 NICs in DPDK mode.

I have added this to the README.

vsbenas commented 6 years ago

Thank you for the info. Is there any way to setup eRPC on a KVM? Using "raw" perhaps?

Here are the limitations of e1000: https://doc.dpdk.org/guides/nics/e1000em.html#known-limitations-of-emulated-devices

anujkaliaiitd commented 6 years ago

Sorry, we currently do not support virtual NICs. It might be easy to make some of the newer NICs (e.g., ConnectX-5) work through a VM, but it's not on my todo list for now.

To allow trying eRPC out with only desktop hardware, I plan to eventually add a transport based on kernel UDP.