我们先用命令yum update vpp -y看一下YUM仓库里面更新版本了没有。 确认一下。 确实,仓库里面最新版本还是20.09,那就还用这个版本吧。 在DPDK官网,关于部署有相关文档,但是没有和VPP对应的20.09这个版本,所以我选择安装20.11这个版本,毕竟正常都应该是向下兼容的。 而且20.11.5这个版本还是一个LTS版本。 首先检查一...
在 vpp 中,调用关系是 dpdk_config->rte_eal_init . 而 dpdk_config 是由宏定义 VLIB_CONFIG_FUNCTION (dpdk_config, "dpdk");将dpdk_config 函数到相关链表中,vpp 启动的时候会进行调用。dpdk_config 函数主要是对启动参数进行解析,然后将解析后的参数传入 rte_eal_init 中,从而实现 dpdk 的 eal 环境初始...
我们先用命令yum update vpp -y看一下YUM仓库里面更新版本了没有。 确认一下。 确实,仓库里面最新版本还是20.09,那就还用这个版本吧。 在DPDK官网,关于部署有相关文档,但是没有和VPP对应的20.09这个版本,所以我选择安装20.11这个版本,毕竟正常都应该是向下兼容的。 而且20.11.5这个版本还是一个LTS版本。 首先检查一...
vpp是一个优秀的包处理转发框架,可以采用非常多的接口类型来进行收发包,应用最多的就是dpdk了,因此本篇博客主要探讨被dpdk接管的网卡是如何注册到vpp中的。vpp代码版本是1904.本文代码贴的比较少,只描述了一些函数调用关系,最好可以参照源码阅读。 关于dpdk就不再赘述,简单的理解dpdk就是一个开发组件,提供了网卡驱动...
DPDK 是数据平面开发工具包(Data Plane Development Kit),DPDK是一款高性能的网络驱动组件,旨在为数据面应用程序提供一个简单方便的,完整的,快速的数据包处理解决方案。DPDK由各种库组成,用于加速在各种 CPU 架构上运行的数据包处理工作负载。主要技术有用户态、轮询取代中断、零拷贝、网卡RSS、访存DirectIO等。
我们先用命令yum update vpp -y看一下YUM仓库里面更新版本了没有。 确认一下。 确实,仓库里面最新版本还是20.09,那就还用这个版本吧。 在DPDK官网,关于部署有相关文档,但是没有和VPP对应的20.09这个版本,所以我选择安装20.11这个版本,毕竟正常都应该是向下兼容的。
安装NUMA库后,环境准备就绪,可以安装DPDK。下载并解压20.11.5版本的安装包,构建库、驱动和测试应用,并预留大页内存。为了让VPP使用DPDK,需要将非DPDK接口DOWN掉,并在VPP配置文件中绑定PCI地址。通过命令lshw或ethtool,我们可以查看主机接口信息,以ens224为例。首先,DOWN掉该接口,然后在VPP的start...
开发一般编译测试版,执行make build编译vpp主程序,make wipe清除,带有release的就是发型版本了。dpdk不用专门下载,在执行make build的时候会自动下载dpdk到vpp/dpdk目录下。只要执行make build后,vpp基本就编译成功。 我们遇到报告如下错误。主要原因是Ubuntu系统默认的python是2.7版本。记着一定要按之前的步骤把python命...
DPDK插件初始化代码位于src/plugins/dpdk/main.c文件中。 clib_error_t * dpdk_early_init (vlib_main_t *vm) { int fd = -1; u64 *pt = 0; clib_error_t *err = 0; // 内存分配器 clib_mem_vm_alloc_t alloc = { 0 }; /* check if pagemap is accessible - if we get zero result...
前段时间同事在测试Mellanox ConnectX-6网卡在vpp和dpdk l2fwd or l3wfd性能对比,发现新版本中vpp性能下降明显。当时正巧我在vpp-dev邮箱列表中看到有关此网卡性能下降的讨论。 在Afaik VPP xconnect(相当于 l2fwd)或 L3路由(l3wfd)早 2017 年的vpp版本中都可以产生 10 Mpps性能(如下图所示),而在22.10版本中只...