首先安装一个CentOS 7的操作系统,然后简单更新一下系统。
yum list && yum update -y
查看更新后的操作系统,可以看到系统版本为7.9.2009。
接下来安装依赖包mbedtls和python36,这两个需要epel-release源,所以把这3个一起安装了。
yum install -y epel-release mbedtls python36
新建fdio-release的Yum仓库的配置文件。
[root@localhost ~]# cat /etc/yum.repos.d/fdio-release.repo
[fdio_release]
name=fdio_release
baseurl=https://packagecloud.io/fdio/release/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/fdio/release/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
清理本地的Yum缓存,并更新新的Yum仓库。
yum clean all
yum -q makecache -y --disablerepo='*' --enablerepo='fdio_release'
查看VPP的版本和组件相关信息。
yum list vpp*
这里面除了vpp-api-java.x86_64这个,其他的都可以装,直接把所有的都装了。
yum install -y vpp vpp-api-lua vpp-api-python vpp-api-python3 vpp-debuginfo vpp-devel vpp-ext-deps vpp-lib vpp-plugins vpp-selinux-policy
到这里我们就装好了20.09版本的VPP了,并且安装了在Yum源中所有的能装的插件。使用以下命令启动服务并随系统启动。
systemctl start vpp
systemctl enable vpp
查看VPP已经安装的插件信息。
vppctl show plugins
查看主机的接口信息。
lshw -class network -businfo
下面的这两个接口就是我们要用的接口,把接口DOWN掉。
ip link set ens224 down
ip link set ens256 down
修改/etc/vpp/startup.conf中DPDK的配置。
vi /etc/vpp/startup.conf
重启VPP。
systemctl restart vpp
然后在VPP内就能看到ETH1和ETH2两个万兆接口了。
OK,我们把DOWN掉接口的命令写到启动脚本中。
chmod +777 /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
然后在VPP中使能接口,并为其配置IP地址。
vppctl set interface state eth1 up
vppctl set interface state eth2 up
vppctl set interface ip address eth1 11.1.1.1/24
vppctl set interface ip address eth2 12.1.1.1/24
然后我们把接口配置写到VPP的初始配置文件中。
vi /etc/vpp/init.dat
最后在VPP的两个接口上分别接一台主机,测试一下转发能力。
最终结果为3.45 Gbps,相比之前测试的VSR的转发性能的6.52 Gbps,大概是一半多一点点,应该也够用了吧?