Bug Report
Current Behavior
install.sh doesn't reinstall igb_uio module generated by dpdk if it finds the system has already installed one. Since dpdk provides the driver of igb_uio which might be often updated, the old igb_uio module should be removed and replaced by the dpdk's. This can cause a run-time error for running dpdk_iface_main to create a dpdk-iface device.
Expected behavior/code
igb_uio module should be removed and re-installed at each time of compiling dpdk
Steps to reproduce
- Apply for a new machine or reboot a machine from cloudlab, the system has already installed a default igb_uio, use
grep -m 1 "igb_uio" /proc/modules to display:
igb_uio 2446317 0 - Live 0x0000000000000000 (OX)
- Then run
install.sh to compile dpdk, and use grep -m 1 "igb_uio" /proc/modules to display again:
igb_uio 2446317 0 - Live 0x0000000000000000 (OX)
The old igb_uio module was not replaced by the new one.
- Run
setup_mtcp_onvm_env.sh to create a dpdk-iface device, an error happened:
xiaosuGW@node2:~/mtcp$ ./setup_mtcp_onvm_env.sh
Checking ldflags.txt...
RTE_SDK env variable is set to /users/xiaosuGW/openNetVM-dev/dpdk
RTE_TARGET env variable is set to x86_64-native-linuxapp-gcc
Are you using an Intel NIC (y/n)? y
Creating dpdk interface entries
make -C /lib/modules/3.13.0-117-generic/build/ M=/users/xiaosuGW/mtcp/dpdk-iface-kmod modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-117-generic'
Building modules, stage 2.
MODPOST 1 modules
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-117-generic'
make -C /lib/modules/3.13.0-117-generic/build/ M=/users/xiaosuGW/mtcp/dpdk-iface-kmod modules
make[1]: Entering directory `/usr/src/linux-headers-3.13.0-117-generic'
Building modules, stage 2.
MODPOST 1 modules
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-117-generic'
sudo ./dpdk_iface_main
Removing existing device node entry... not present.
Creating device node entry... done.
Setting permissions on the device node entry... done.
Scanning the system for dpdk-compatible devices... done.
Clearing previous entries
ioctl call failed!
make: *** [run] Error 1
Environment
- OS: cloudlab machines
- onvm version: develop branch with commit
e305489b76c868e722470c7799625de90d5f37bb
- dpdk version: 18.11.0
- mtcp: branch
onvm_build_readme_fix
Possible Solution
Removing the old igb_uio and re-installing the new one under $RTE_SDK/$RTE_TARGET/kmod can resolve this problem.
Bug Report
Current Behavior
install.shdoesn't reinstall igb_uio module generated by dpdk if it finds the system has already installed one. Since dpdk provides the driver of igb_uio which might be often updated, the old igb_uio module should be removed and replaced by the dpdk's. This can cause a run-time error for runningdpdk_iface_mainto create a dpdk-iface device.Expected behavior/code
igb_uio module should be removed and re-installed at each time of compiling dpdk
Steps to reproduce
grep -m 1 "igb_uio" /proc/modulesto display:igb_uio 2446317 0 - Live 0x0000000000000000 (OX)install.shto compile dpdk, and usegrep -m 1 "igb_uio" /proc/modulesto display again:igb_uio 2446317 0 - Live 0x0000000000000000 (OX)The old igb_uio module was not replaced by the new one.
setup_mtcp_onvm_env.shto create a dpdk-iface device, an error happened:Environment
e305489b76c868e722470c7799625de90d5f37bbonvm_build_readme_fixPossible Solution
Removing the old igb_uio and re-installing the new one under
$RTE_SDK/$RTE_TARGET/kmodcan resolve this problem.