Virtio 零丢包测试配置优化

零丢包测试是网络转发性能的重要指标之一,也是DPDK开发团队一直以来关注的领域。 本文将介绍一下DPDK虚拟化环境中零丢包测试的配置环境和配置方法。Vhost/Virtio 零丢包测试中,测试拓扑结构和南北向吞吐量测试相同,但是对测试平台配置有着更高的要求。 操作系统的实时性配置和Virtio的Vring长度对数据包处理的实时性影响是巨大的, 为获取最好的零丢包性能,我们需要对这两个方面进行优化。... 继续阅读

DPDK Release 17.05

DPDK17.05作为目前为止规模最大的一次功能发布,在mbuf重构,事件驱动编程模型,软件eventdev驱动,Cavium OCTEON TX eventdev驱动程序,Cavium LiquidIO驱动程序,NXP DPAA2 驱动Atomic Rules Arkville驱动,Wind River AVP驱动和DOCSIS BPI +加密等方面取得了一系列新的进展,并提供了很多新的功能。如... 继续阅读

探秘DPDK Virtio的不同路径

什么是Vhost/Virtio Vhost/Virtio是一种半虚拟化的设备抽象接口规范, 在Qemu和KVM中的得到了广泛的应用,在客户机操作系统中实现的前端驱动程序一般直接叫Virtio, 在宿主机实现的后端驱动程序称为Vhost。与宿主机纯软件模拟I/O相比,virtio可以获得很好的性能,在数据中心中得到了广泛的应用。Linux kernel中已经提供了相应的设备驱动,分别是virtio-... 继续阅读

Generic Flow API简介

Classification功能 Classification功能是指网卡在收包时,将符合某种规则的包放入指定的队列。网卡一般支持一种或多种classification功能,以intel 700系列网卡为例,其支持MAC/VLAN filter、Ethertype filter、Cloud filter、flow director等等。不同的网卡可能支持不同种类的filter,例如intel 82... 继续阅读

用TestPMD测试DPDK性能和功能

本文介绍了数据平面开发工具包(DPDK)TestPMD应用程序,展示了如何构建和配置TestPMD, 以及如何用它来检查使用DPDK的不同网络设备的性能和功能。 TestPMD是一个使用DPDK软件包分发的参考应用程序。其主要目的是在网络接口的以太网端口之间转发数据包。此外,用户还可以用TestPMD尝试一些不同驱动程序的功能,例如RSS,过滤器和英特尔®以太网流量控制器(Intel® Ether... 继续阅读

DPDK在OpenStack中的实现

随着云计算与大数据的快速发展,其对数据中心网络的性能和管理提出了更高的要求,但传统云计算架构存在多个I/O瓶颈,由于云平台基本上是采用传统的X86服务器加上虚拟化方式组建,随着40G、100G高速网卡的出现,如何在通用的X86平台上实现网络的快速转发就成为关键。DPDK是INTEL推出的基于X86平台提升数据面报文快速处理速率的应用程序开发包[1],关于DPDK的资料已经比较多,本文不再做过多介绍... 继续阅读

FD.IO/VPP和DPDK Cryptodev,会产生什么样的化学反应

什么是FD.IO/VPP DPDK能干什么我们这里就不用多说了。但FD.io是什么?和DPDK又有什么关系呢?FD.io是 Fast data – Input/Output 的简称,是Cisco提供的若干数据处理的Linux Foundation下开源项目和库的集合。FD.io中包含大名鼎鼎的VPP (Vector Packet Processing) ,是一套基于DPDK的网络帧处理完整解决方案... 继续阅读

基于virtio-user的新exception path方案

在DPDK使用环境中,物理网卡收到的包都绕开内核,直接到达DPDK应用中。但是,有些时候,用户希望把某些包(如控制报文)放到内核网络协议栈进行处理,这个路径在DPDK中被称作exception path。 现有方案 现有的exception path方案主要有三个: 1. KNI,作为目前DPDK用户使用的主要方案,其通过内核模块构造了一个虚拟网络接口,并且通过FIFO队列和用户态的DPDK应用交... 继续阅读