sdnfv / openNetVM

A high performance container-based NFV platform from GW and UCR.
http://sdnfv.github.io/onvm/
Other
261 stars 134 forks source link

Feature/dpdk-update #337

Open marascoben opened 1 week ago

marascoben commented 1 week ago

Update DPDK to version 24.0, and convert onvm to the Meson build system.

Summary:

This updates ONVM to use the latest version of DPDK, which no longer uses the same Makefile structure that ONVM was based upon. The build system was converted to Meson (dpdk's new build system) for onvm_mgr, onvm_lib, onvm_nflib, and almost all example NFs.

(Flow table, ndpi stats, and NFD all required extra work to move to Meson, and will be done separately under a separate task)

A number of breaking changes were introduced to DPDK APIs that have been resolved:

Major Changes

Minor Changes

This change also adds the DPDK igb_uio driver as a new dependency, as DPDK no longer ships with kernel drivers included.

The main README.md file has also been updated to reflect the new build system, and links to documentation within the readme have been updated.

This change also fixes #333 and resolves #336

Usage:

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 X
Web stats updates

Merging notes:

TODO before merging :

Test Plan:

Testing was performed by running onvm_mgr and the bridge nf to validate packets could pass through the TX and RX fields. More testing of ONVM will be required in the wild to fully validate that all changes made by DPDK do not break edge cases within onvm.

No errors were observed during testing.

Review:

@twood02