VPP DPDK,不是翻墙!!

简介: VPP DPDK,不是翻墙!!

不是翻墙!!不是翻墙!!不是翻墙!!

我们之前安装的VPP版本是20.09,现在看官网版本已经更新到22.06.0了。

我们先用命令yum update vpp -y看一下YUM仓库里面更新版本了没有。

1677235667385.jpg

确认一下。

1677235673400.jpg

确实,仓库里面最新版本还是20.09,那就还用这个版本吧。

DPDK官网,关于部署有相关文档,但是没有和VPP对应的20.09这个版本,所以我选择安装20.11这个版本,毕竟正常都应该是向下兼容的。

1677235687315.jpg

而且20.11.5这个版本还是一个LTS版本。

1677235700607.jpg

首先检查一下对系统的要求,一上来就发现要求内核版本不低于3.16,可以使用命令uname -r检查内核版本。

1677235705314.jpg

很不幸,第一条就不满足。不过我们已经掌握了升级内核的方法,可以直接升级,我这次将内核版本升级到了5.4.197-1.el7.elrepo.x86_64。

1677235716189.jpg

然后就是glibc版本不低于2.7,可以使用命令ldd --version来检查,还好版本是2.17,满足要求。

1677235720792.jpg

对C编译器的要求为gcc版本不低于4.9,或者clang版本不低于3.4。好在内核升级之后gcc版本对应的升级到了9.3.1,满足要求。

1677235751223.jpg

要求Python版本不低于3.5,前面安装的版本是3.6.8,满足要求。

1677235744952.jpg

要求0.47.1版本以上的meson,还要有ninja,可以直接使用命令pip3 install meson ninja从Python的pip仓库中安装最新版本。

1677235735895.jpg

可以看到,直接安装了0.61.4版本的meson和1.10.2.3版本的ninja,满足要求了。


还要再装一个NUMA (Non Uniform Memory Access)的库,可以直接使用命令yum install -y numactl numactl-libs numactl-devel进行安装。

1677235786700.jpg

环境基本准备到位了,现在开始安装DPDK。

首先下载20.11.5的安装包。

wget http://fast.dpdk.org/rel/dpdk-20.11.5.tar.xz

1677235791828.jpg

解压并进到安装目录下。

1677235798058.jpg

构造库、驱动程序和测试应用程序等。



meson build
ninja -C build

1677235810608.jpg

配置为DPDK预留大页内存。



mkdir -p /dev/hugepages
mountpoint -q /dev/hugepages || mount -t hugetlbfs nodev /dev/hugepages
echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages

1677235838079.jpg

默认情况下,VPP不会尝试使用内核正在使用的接口。为了让VPP将接口绑定到 DPDK,我们需要将对应的接口DOWN掉,然后通过在VPP配置文件中绑定接口对应的PCI地址来绑定到DPDK。

1677235861046.jpg

我们可以通过命令lshw -class network -businfo来查看主机的接口信息。

1677235852639.jpg

或者通过命令ethtool -i ens224一个一个地查看。

1677235882323.jpg

比如说我要将ens224这个网卡绑定到DPDK,首先查看VPP接口信息,可以看到只有一个local0接口。

1677235886978.jpg

然后DOWN掉ens224接口。

1677235891512.jpg

修改/etc/vpp/startup.conf中DPDK的配置。

1677235906915.jpg

重启VPP。

1677235912093.jpg

可以看到,在宿主机上已经看不到ens224接口了,对应的,可以在VPP中看到eth1接口。


然后在VPP中使能接口,并为其配置IP地址。



vppctl set interface state eth1 up
vppctl set interface ip address eth1 192.168.1.88/24

1677235931440.jpg

测试一下到网卡地址的连通性。

1677235941089.jpg

OK,齐活!

相关文章
|
6月前
|
存储 前端开发 Linux
DPDK-mempool(1)
DPDK-mempool(1)
138 0
|
6月前
|
存储 缓存 Linux
基于dpdk的用户态协议栈设计实现(二)
基于dpdk的用户态协议栈设计实现(二)
122 0
|
3月前
|
负载均衡 网络协议 安全
DPDK用户态协议栈-KNI
DPDK用户态协议栈-KNI
|
3月前
|
Ubuntu 编译器
|
6月前
|
网络性能优化
[VPP] vpp_com使用
[VPP] vpp_com使用
|
6月前
|
编译器 网络性能优化 C语言
VPP DPDK,不是翻墙!!
VPP DPDK,不是翻墙!!
|
6月前
|
Ubuntu
[DPDK] dpdk测试收包
[DPDK] dpdk测试收包
|
6月前
|
存储 缓存 测试技术
DPDK-mempool(3)
DPDK-mempool(3)
144 0
|
6月前
|
Ubuntu Linux 网络性能优化
VPP安装
VPP安装
313 0
|
6月前
【vpp2206 测试】
【vpp2206 测试】