Skip to content

Commit

Permalink
Reinstate installation of igb_uio
Browse files Browse the repository at this point in the history
For good performance on some platforms, we need the igb_uio driver. With
this change, the driver is compiled and insmod done during boot time.
When running the rapid scripts, the devbind.sh script is sent to the
instances (after replacing the string "MACADDRESS"). Make sure you
uncomment the proper line to chose which driver you want to use.

Change-Id: I69549400a97f29e06add6ab44515e96ffa9ce0e8
Signed-off-by: Luc Provoost <[email protected]>
  • Loading branch information
Luc Provoost committed May 10, 2021
1 parent 1492024 commit 894f622
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,12 @@ then
## Only then, they will be able to connect to the PROX instance
## and start the testing
touch "$system_ready"
## On some systems, we still need to use the igb_uio driver.
## Example: good performance on AWS with the ENA interface.
## Make sure that you change devbind.sh to use the preferred
## driver. vfio is the default.
modprobe uio
insmod /opt/rapid/dpdk/build/kmod/igb_uio.ko wc_activate=1
exit 0
;;
isolated_cores=*)
Expand Down
4 changes: 3 additions & 1 deletion VNFs/DPPD-PROX/helper-scripts/rapid/devbind.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ link="$(sudo ip -o link | grep MACADDRESS |cut -d":" -f 2)"
if [ -n "$link" ];
then
echo Need to bind
# Uncomment one of the following lines, depending on which driver
# you want to use: vfio-pci or igb_uio
#sudo /opt/rapid/dpdk/usertools/dpdk-devbind.py --force --bind igb_uio $(sudo /opt/rapid/dpdk/usertools/dpdk-devbind.py --status |grep $link | cut -d" " -f 1)
sudo driverctl set-override $(sudo ethtool -i $link |grep bus-info | cut -d" " -f 2) vfio-pci
else
echo Assuming port is already bound to vfio-pci
echo Assuming port is already bound to DPDK poll mode driver
fi
exit 0
4 changes: 3 additions & 1 deletion rapidvm/dib/elements/rapid/post-install.d/50-compile-dpdk
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ export RTE_KERNELDIR="/lib/modules/${LATEST_KERNEL_INSTALLED}/build"

pushd ${RTE_SDK} > /dev/null 2>&1
make config T=${RTE_TARGET}
#sed -i 's/CONFIG_RTE_EAL_IGB_UIO=n/CONFIG_RTE_EAL_IGB_UIO=y/g' ${RTE_SDK}/build/.config
# Starting from DPDK 20.05, the IGB_UIO driver is not compiled by default.
# Uncomment the sed command to enable the driver compilation
sed -i 's/CONFIG_RTE_EAL_IGB_UIO=n/CONFIG_RTE_EAL_IGB_UIO=y/g' ${RTE_SDK}/build/.config
#sed -i 's/CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n/CONFIG_RTE_LIBRTE_PMD_AESNI_MB=y/g' ${RTE_SDK}/build/.config
sed -i 's/CONFIG_RTE_APP_TEST=y/CONFIG_RTE_APP_TEST=n/g' ${RTE_SDK}/build/.config
sed -i 's/CONFIG_RTE_TEST_PMD=y/CONFIG_RTE_TEST_PMD=n/g' ${RTE_SDK}/build/.config
Expand Down

0 comments on commit 894f622

Please sign in to comment.