Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Netronome NFP PMD support in MoonGen #195

Open
NetronomeMoongen opened this issue Oct 16, 2017 · 10 comments · May be fixed by #250
Open

Netronome NFP PMD support in MoonGen #195

NetronomeMoongen opened this issue Oct 16, 2017 · 10 comments · May be fixed by #250

Comments

@NetronomeMoongen
Copy link
Contributor

The Netronome NFP PMD is part of the dpdk with MoonGen.

However, enabling the NFP PMD via the dpdk common_base config file does not link it into MoonGen / libmoon

Enabling the NFP PMD does compile librte_pmd_nfp.

Steps to verify:

clone latest MoonGen from github
git submodule update --init --recursive
Edit libmoon/deps/dpdk/config/common_base to enable NFP PMD
run build.sh

If I then try to run MoonGen on a Netronome device, I get "Found 0 usable devices"

(The huge tables were set up with setup_hugetlbfs.sh, the dpdk-conf.lua file was set up to include the proper PCI addresses in the white list, and the interfaces were bound to igb_uio

If I then manually link in librte_pmd_nfp by editing CMakeists.txt to add rte_pmd_nfp to target_link_librries (not the right way to do it, bt proves the point) and run build.sh again, the NFP intefaces work

So basically, enabling the NFP PMD sgould also link the driver into MoonGen

Expect: Enabling NFP PMD to also automatically link librte_pmd_nfp into libmoon / MoonGen
See: driver compiled but not linked

@NetronomeMoongen
Copy link
Contributor Author

Also, can the driver be enabled / linked by default, or alternatively be enabled by a build.sh flag like was done for the Mellanox cards with --mlx4 and --mlx5 ?

@emmericp
Copy link
Owner

I've added it to be linked in by default, but I couldn't test it.

I did find some server with some netronome NIC (pci device id 0x4000) and wanted to test it to add some config flags to make sure statistics etc are reported correctly. But I couldn't get it to work because I don't have access to the necessary libraries/firmware.

@hashkash
Copy link

Hey,
I'm facing a similar issue. When I use MoonGen with the Netronome 4000 it does not detect the device. I'm using today's master build. Any help from your side is appreciated.

@NetronomeMoongen
Copy link
Contributor Author

NetronomeMoongen commented Jul 24, 2018 via email

@emmericp
Copy link
Owner

emmericp commented Jul 24, 2018 via email

@NetronomeMoongen
Copy link
Contributor Author

NetronomeMoongen commented Jul 24, 2018 via email

@hashkash
Copy link

Hey,

Thanks for pointing out the difference in using the PF and VF. I was using the PF all this while and it was not working. I tried using the VF and it detects the ports.

I tried to compile MoonGen with dpdk-17.11.1 but got some build error. I have not looked into it yet.

@emmericp
Copy link
Owner

I'll upgrade to some DPDK LTS release soonish as we are also currently facing a few issues with newer NICs

@emmericp
Copy link
Owner

Regarding pci.ids: we just use the version from http://pci-ids.ucw.cz/

Try to get your devices added there, we don't want to maintain our own list of PCI devices (we did it in the past and it was too annoying).

See http://pci-ids.ucw.cz/mods/?action=help?help=newitem

This will also fix it in other standard tools such as lspci

@hashkash
Copy link

Thanks Paul! Looking forward to the update.

pchaigno added a commit to pchaigno/MoonGen that referenced this issue Jul 8, 2019
Fixes emmericp#195.

Signed-off-by: Paul Chaignon <[email protected]>
@pchaigno pchaigno linked a pull request Jul 8, 2019 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants