操作系统版本:centOS6.4
DPDK版本:2.2.0
硬件设备:某硬件厂商,四颗物理CPU,16个万兆光口。
一:编译l3fwd
官网下载dpdk-2.2.0.tar.gz,解压 tar xvf dpdk-2.2.0.tar.gz
进入DPDK目录,cd dpdk-2.2.0/
首先编译x86_64-native-linuxapp-gcc,进入dpdk-2.2.0/tools,运行setup.sh,选择14 [14] x86_64-native-linuxapp-gcc,这一步是为了生成igb_uio.ko,和后续编译l2fwd/l3fwd准备。
编译完成后,进入dpdk-2.2.0/examples/l3fwd,运行make即可生成可执行文件l3fwd
二:运行l3fwd
编译完成后,并不能立即运行l3fwd,首先需要加载dpdk的驱动igb_uio.ko,配置大页内存的操作。
(1)加载igb_uio.ko,进入dpdk-2.2.0/x86_64-native-linuxapp-gcc/kmod,运行命令
modprobe uio
insmod igb_uio.ko
(2)配置大页内存:运行命令
mkdir -p /mnt/huge
mount -t hugetlfbs nodev /mnt/huge
echo 1024 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages
可以通过cat /proc/meminfo 查看大页内存是否配置成功,另外也可以通过vi /etc/grub.conf来配置大页内存
(3)绑定网口