宿主机要求
vpp对虚拟机或者物理机的cpu、内存均有要求,CPU最好用intel系列,内存给到4G左右,系统推荐用ubuntu16.04以上。
本文是基于ubuntu16.04,Intel(R) Xeon(R) CPU,内存4g的环境基础
安装方法:
一,通过fd.io官网源码下载编译
下载源码:git clone https://gerrit.fd.io/r/vpp
安装依赖:apt-get install -y python-cffi python-pycparser iproute iproute2 libc-ares2 libudev-dev numactl wget
注:各个版本的编译方法都不一样,列举两个版本的编译方法如下
#18.04的vpp编译:
cd vpp
git checkout v18.04
make install-dep #下载vpp编译所需的依赖
sed -i '/RTE_EAL_IGB_UIO/ {s/n/y/g;}' dpdk/Makefile #打开IGB_UIO驱动选项(有些虚拟机使用默认驱动会看不到网卡)
cd build-root
make V=0 PLATFORM=vpp TAG=vpp_debug install-deb #编译出来的是debug版本,适合开发过程但会影响性能,正常版本去掉TAG=vpp_debug
#18.10的vpp编译:
cd vpp
git checkout v18.10
make install-dep
sed -i '/RTE_EAL_IGB_UIO/ {s/n/y/g;}' build/external/packages/dpdk.mk
cd build-root
make V=0 PLATFORM=vpp TAG=vpp_debug install-deb
编译大概20分钟左右,完成后会生成一堆deb包解压即可。
二,通过源apt或yum下载
参考官网:https://wiki.fd.io/view/VPP/Installing_VPP_binaries_from_packages
运行过程
1, 设置巨页
mkdir /mnt/huge
echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
mount -t hugetlbfs nodev /mnt/huge
2 ,加载驱动
modprobe uio
insmod /vpp/build-root/build-vpp_debug-native/dpdk/dpdk-stable-18.02.1/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
3 ,修改vpp配置文件
首先查看网卡pci,指定哪几个网卡被dpdk接管
注:官网对startup.conf的介绍:https://wiki.fd.io/view/VPP/Command-line_Arguments
接着打开/etc/vpp/startup.conf