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

Moongen Docs Update #300

Merged
merged 4 commits into from
Aug 24, 2021
Merged

Conversation

catherinemeadows
Copy link
Contributor

Updated Moongen documentation

Summary:

Documentation update for building and running Moongen with newer version of DPDK

This PR includes
Resolves issues
Breaking API changes
Internal API changes
Usability improvements
Bug fixes
New functionality
New NF/onvm_mgr args
Changes to starting NFs
Dependency updates
Web stats updates
Documentation update 👍🏼

Merging notes:

  • Dependencies: None

TODO before merging :

  • PR is ready for review

Test Plan:

Follow new documentation to ensure it includes all dependencies we need and leads to desired results.

Review:

@NoahChinitzGWU

NoahChinitz
NoahChinitz previously approved these changes Jul 30, 2021
@Lhahn01
Copy link
Contributor

Lhahn01 commented Jul 30, 2021

MoonGen's sudo ./build.sh and sudo ./bind-interfaces.sh scripts does not seem to work as it prints:
./build.sh: line 95: cmake: command not found
make: *** No targets specified and no makefile found. Stop.
Trying to bind interfaces, this will fail if you are not root
Try sudo ./bind-interfaces.sh if this step fails
Could not find any inactive interfaces to bind to DPDK. Note that this script does not bind interfaces that are in use by the OS.
Delete IP addresses from interfaces you would like to use with libmoon and run this script again.
You can also use the script dpdk-devbind.py in deps/dpdk/usertools manually to manage interfaces used by libmoon and the OS.

I was running the commands on a node from CloudLab. And the following were bound to the DPDK:
Screen Shot 2021-07-30 at 1 14 00 PM

@Lhahn01
Copy link
Contributor

Lhahn01 commented Aug 11, 2021

Here's the procedure that I went through to get the MoonGen working for me:

  1. I did not initially have any 10G ports connected to the DPDK.
  2. ./build.sh
  3. sudo ./bind-interfaces.sh
  4. sudo ./setup-hugetlbfs.sh
  5. sudo apt install libtbb2
  6. sudo ./build/MoonGen ./examples/quality-of-service-test.lua 0 1

The sudo ./bind-interfaces.sh [step 3] connects all the available NICs to the DPDK. I believe this step will not be needed if we manually connect them to the DPDK.

The main problem that I had when running step 6 was that I would get the following error: ./build/MoonGen: error while loading shared libraries: libtbbmalloc.so.2: cannot open shared object file: No such file or directory. This error was solved by doing step 5.

@twood02
Copy link
Member

twood02 commented Aug 23, 2021

I think this is ready to merge, right @catherinemeadows ?

@twood02 twood02 added this to the ONVM 21 Summer Release milestone Aug 23, 2021
@catherinemeadows
Copy link
Contributor Author

yes, ready to merge! @twood02

@twood02 twood02 added the ready-for-gatekeeper 🚪 PRs that have been approved and are ready for a final review/merge label Aug 23, 2021
@dennisafa dennisafa merged commit 211ac80 into sdnfv:develop Aug 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation updates 📖 ready-for-gatekeeper 🚪 PRs that have been approved and are ready for a final review/merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants