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

The include path of rte-related files #2

Open
Steamgjk opened this issue Mar 8, 2021 · 4 comments
Open

The include path of rte-related files #2

Steamgjk opened this issue Mar 8, 2021 · 4 comments
Assignees

Comments

@Steamgjk
Copy link

Steamgjk commented Mar 8, 2021

In order to use this repo to integrate DPDK library into our bazel project, how should we specifiy the INCLUDE path?
According to the BUILD files, it seems it directly include all the rte_*.h files in the local path (i.e. third_party/dpdk/lib) rather than from /usr/local/include.

In that way, how should we reconfigure the INCLUDE path in bazel to build the library successfully?

Could anyone give us some more details to integrate this module into bazel project? Thanks!

@mzhaom
Copy link
Member

mzhaom commented Mar 9, 2021

I could start a demo project in a few days. ping back if you don't hear anything in one week.

@Steamgjk
Copy link
Author

Steamgjk commented Mar 11, 2021

I could start a demo project in a few days. ping back if you don't hear anything in one week.

Hi, Ming. Thanks for your reply. Actually, we are now trying to integrate DPDK into our bazel project. We have tried the 8 branches in this repo, and only bazel-16.04-asan can be compiled successfully (after I change a bit).
But even after we successfully compiled it, we found it went into runtime failure. Here is our steps:

We launched a clean VM in AWS with Ubuntu 16.04, we then git cloned this repo and checkout to bazel-16.04-asan branch (because bazel building other branches just give us many errors). We created the path as decribed int the BUILD files (i.e. we mkdir third_party/dpdk/). We write a demo program, then we bazel build this demo program in this repo and it can be compiled successfully, but then we run it and it fails at rte_eth_dev_configure, errno -22.

To check whether it is the problems of our demo program, we download DPDK-16.04 and install it. We then build the program with makefile and run it successfully.

We are confused why the same code can successfully run after we build it in original make building system, but fails after we build it with bazel. I believe we probably make some wrong linkage/configuration, so we would really appreciate it if you could a give a demo/tutorial.

Besides, since DPDK has developed so fast and DPDK 16.04 can not even run on newer OSes like Ubuntu 18.04. Could you give a demo on how to integrate newer DPDK into bazel. I have a suggestion here:

This guy provides a minimal demo and successfully runs it on AWS VM. This is a simple but common DPDK application (a simple sender and a simple receiver).
https://github.com/NEOAdvancedTechnology/MinimalDPDKExamples

I really like his tutorial below, which is clear and accurate, instructing me how to deploy and run DPDK on AWS VMs. I have successfully reproduced the result on AWS VM (Ubuntu 18.04) following the steps.
https://github.com/NEOAdvancedTechnology/MinimalDPDKExamples/blob/master/DPDK_EC2_Tutorial.md

I am just wondering, while you are starting the demo project, could you just use the demo code in this MinimalDPDKExamples repo and bazel build this application with DPDK 19.01. If this example can be bazel built and successfully run in your demo project, that means everybody can reproduce it at least in AWS VMs. So long as it can be reproducible, it can serve as a template and people (espeically students) can easily integrate their own projects with DPDK by following this example.

Many thanks for your track and looking forward to your demo project.

@Steamgjk
Copy link
Author

@mzhaom Hi, Ming. Seems we are trapped with DPDK integration. Could you provide us with a demo to bazel build this small application with DPDK 19.01?
https://github.com/NEOAdvancedTechnology/MinimalDPDKExamples

@mzhaom
Copy link
Member

mzhaom commented Mar 29, 2021

@Steamgjk updated wiki https://github.com/bazelment/dpdk/wiki to show how this can be used with 16.04 branch. Please let me know if you run into issue after following the instruction.

@mzhaom mzhaom self-assigned this Mar 29, 2021
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

No branches or pull requests

2 participants