CentOS下的VPP的编译和运行

代码下载

git clone https://github.com/FDio/vpp.git

[[email protected] vpp]# git branch -a

* master

  remotes/origin/HEAD -> origin/master

  remotes/origin/map-fib

  remotes/origin/master

  remotes/origin/stable/1606

  remotes/origin/stable/1609

  remotes/origin/stable/1701

  remotes/origin/stable/1704

  remotes/origin/stable/1707

  remotes/origin/stable/1710

  remotes/origin/stable/1801

  remotes/origin/stable/1804

  remotes/origin/stable/1807

  remotes/origin/stable/1810

  remotes/origin/stable/1901

  remotes/origin/stable/1904

  remotes/origin/stable/1908

  remotes/origin/stable/test

创建分支并切换到分支:git checkout –b 1908 origin/stable/1908

 

编译

Centos系统执行如下命令:

make install-dep

make install-ext-deps

make build

 

运行

先down掉一块网卡: ifconfig down ens160。

然后加载uio驱动:modprobe uio_pci_generic

执行make run发现:

CentOS下的VPP的编译和运行

 

定义环境变量STARTUP_CONF

vim .bash_profile

export STARTUP_CONF=/root/cfg/startup.conf

注意在startup.conf文件中,对于nodaemon修改为interactive模式。

如果出现下面错误,执行groupadd vpp即可

CentOS下的VPP的编译和运行

 

dpdk支持的驱动:

"igb_uio", "vfio-pci", "uio_pci_generic"

 

对于Vmware虚拟机网卡的默认驱动类型为e1000,需要修改为e1000e

对于e1000执行dpdk绑定会失败:

CentOS下的VPP的编译和运行

 

修改为e1000e后可以绑定dpdk成功

CentOS下的VPP的编译和运行

 

查看网卡是否支持dpdk可以用dpdk-devbind.py脚本验证

最后查看查看网卡已经接管:

 

CentOS下的VPP的编译和运行

 

安装

执行make pkg-rpm编译出rpm包。

CentOS下的VPP的编译和运行

 

安装vpp-19.08.1-192~gcb19100.x86_64.rpm,vpp-lib-19.08.1-192~gcb19100.x86_64.rpm,vpp-selinux-policy-19.08.1-192~gcb19100.x86_64.rpm,vpp-plugins-19.08.1-192~gcb19100.x86_64.rpm这几个即可

安装vpp建议内存在3G以上

Systemctl start vpp

CentOS下的VPP的编译和运行