Build DPDK 20.11
Version
- For O-DU Emerald version, can use DPDK 19.11
- For O-DU F Version, use DPDK 20.11
DPDK 20.11
1. Install python3 & pip3
- Python3 is used to install DPDK 20.11
2. Install meson & ninja
- DPDK 20.11 used Ninja build file
- The Meson program is used to configure the source directory and generates either a Ninja build file or Visual Studio® build files
3. Download DPDK
4. Set up the environment variable
- Add dpdk path to bashrc so that linux can recognize installed DPDK
5. Modify the meson_options.txt
In meson_options.txt
Before:
After:
6. Patch some files
- Some files are patched as guided by intel to run O-DU more efficiently
1. Edit i40e_ethdev.c
- Change i40e_vsi_queues_bind_intr(main_vsi, I40E_ITR_INDEX_DEFAULT); into i40e_vsi_queues_bind_intr(main_vsi, I40E_ITR_INDEX_NONE); (in about line 2207)

- Add some lines in about line 2220

2. Edit i40e_ethdev_vf.c
- Change map_info->vecmap[0].rxitr_idx = I40E_ITR_INDEX_DEFAULT; into map_info->vecmap[0].rxitr_idx = I40E_ITR_INDEX_NONE; (in about line 640)

3. Edit ixgbe_ethdev.c
- Change hw->mac.type != ixgbe_mac_82598EB) into hw->mac.type != ixgbe_mac_82598EB && hw->mac.type != ixgbe_mac_82599EB) (in about line 3705)

7. Build DPDK
- Build DPDK using meson and ninja
Install IGB_UIO driver
- If you need to bind some devices to IGB_UIO
- Install driver from other sources