Contrail DPDK vRouter 在 Fortville NIC 中支持 Intel DDP 技术
在 Contrail 网络 2011 版中,支持 Contrail DPDK 的 vRouter 使用英特尔动态设备个性化 (DDP) 技术。英特尔 DDP 技术提供可编程管道,使您能够根据自己的要求满足特定用例。同样,在 Contrail 网络中,英特尔 DDP 技术使您能够使用 MPLSoGRE 封装转发数据包。英特尔 DDP 技术仅受英特尔以太网 700 系列(Fortville 系列)网卡支持。
在以前的版本中,英特尔以太网 500 系列(Niantic 系列)NIC 无法对 MPLSoGRE 数据包执行负载平衡,因为它们缺少端口信息。因此,一对计算节点之间的所有传入数据包开始在 NIC 的同一硬件接收队列 (Rx) 中排队。vRouter 通过将数据包分发到其他 CPU 内核来执行软件负载平衡,这些内核处理 Rx 队列中的数据包。这会降低 vRouter 的容量并影响其性能。
在 2011 版中,Contrail 网络使用英特尔 DDP 技术,该技术使 Fortville NIC 能够对 MPLSoGRE 数据包执行负载平衡。英特尔 DDP 技术允许在运行时动态重新配置网卡中的数据包处理管道,而无需重新启动服务器。Contrail 网络配置了 MPLSoGRE 配置文件,以处理采用 MPLSoGRE 封装的传入数据包。MPLSoGRE 配置文件使 NIC 能够在不同的硬件 Rx 队列中均匀分布数据包,并使 CPU 内核能够按比例执行。这将提高虚拟路由器的性能。
从版本 2011 开始,您可以使用以下命令启用、添加、删除或查看在启用了 DPDK 的虚拟路由器中加载的 DDP 配置文件列表:
默认情况下,英特尔 DDP 配置文件在启用 DPDK 的虚拟路由器中不启用。当系统启动以在为 Fortville NIC 启用 DPDK 的虚拟路由器中启用 DDP 时,可以
--ddp
作为命令行参数传递。或者,在运行时,您可以执行
dpdkconf –ddp add
contrail-tools 容器中的命令,以便在 vRouter 中为 Fortville NIC 启用 DDP。(contrail-tools)[root@cs-scale-02 /]$ dpdkconf --ddp add Programming DDP image mplsogreudp - success
dpdkconf --ddp delete
使用 CLI 上的命令删除已在 Fortville 网卡的虚拟路由器中加载的 DDP 配置文件。(contrail-tools)[root@cs-scale-02 /]$ dpdkconf --ddp delete vr_dpdk_ddp_del: Removed DDP image mplsogreudp - success
dpdkinfo --ddp list
使用 CLI 上的命令显示 Fortville 网卡的虚拟路由器中加载的 DDP 配置文件列表。(contrail-tools)[root@cs-scale-02 /]$ dpdkinfo --ddp list Profile count is: 1 Profile 0: Track id: 0x8000000c Version: 1.0.0.0 Profile name: L2/L3 over MPLSoGRE/MPLSoUDP (contrail-tools)[root@cs-scale-02 /]$