forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 137
Howto: DPDK with LKL
Hajime Tazaki edited this page Apr 3, 2016
·
2 revisions
This wiki page describes how to prepare, setup, and use Intel DPDK software with LKL. Since DPDK support in LKL is still not stable, which means you may need a couple of manual instructions to use it, the wiki is for the record of a particular experience during the development of this feature.
- Tested Environment
- Fedora 23 64bits
- Intel DPDK v2.2.0 (from git)
- on VMware Fusion with vmxnet3 driver (
ethernet0.virtualDev = "vmxnet3"
in .vmx)
- only tested dpdk-2.2.0, on vmxnet3 driver.
- e1000/e1000e weren't working (it gives
Error reading from file descriptor Input/output error
) on VMWare Fusion 6.0.x
- to implement RX interrupt mode PMD (but vmxnet3 doesn't support in 2.2.0, while e1000 supports) for efficient CPU usage
- Build DPDK
cd tools/lkl
./scripts/dpdk-sdk-build.sh
- Build LKL
make dpdk=yes
sudo modprobe uio
sudo insmod dpdk-2.2.0/build/kmod/igb_uio.ko
# setup hugepage (follow an instruction in the menu after setup.sh)
sudo ./dpdk-2.2.0/tools/setup.sh
# check your NIC's address
sudo ./dpdk-2.2.0/tools/dpdk_nic_bind.py --status
# disable your NIC
sudo ifconfig eth0 down
# Unbind your NIC driver
sudo ./dpdk-2.2.0/tools/dpdk_nic_bind.py -u 0000:03:00.0
# Bind your NIC driver for DPDK
sudo ./dpdk-2.2.0/tools/dpdk_nic_bind.py -b igb_uio 0000:03:00.0
sudo LKL_HIJACK_NET_IFTYPE=dpdk LKL_HIJACK_NET_IFPARAMS=dpdk0 \
LKL_HIJACK_NET_IP=192.168.209.39 LKL_HIJACK_NET_NETMASK_LEN=24 \
./bin/lkl-hijack.sh ping 192.168.209.1