DPDK release 18.02 版本发布

DPDK18.02 重磅发布,快看看新增了哪些功能吧~ 增加了允许退出时释放内部EAL资源的功能。 在rte_eal_init()运行期间,EAL从巨页分配内存使其核心库能够执行任务。rte_eal_cleanup()函数可以释放这些资源,确保没有巨页内存泄漏。所有DPDK应用程序在退出之前都应当运行rte_eal_cleanup(),否则可能会出现巨页泄漏,导致次级进程初始化出现故障。 增加了i... 继续阅读

2017版:KVM网络性能调优终极版

首先,我给大家看一张图,这张图是数据包从虚拟机开始然后最后到物理网卡的过程。 我们分析下这张图,虚拟机有数据包肯定是先走虚拟机自身的那张虚拟网卡,然后发到中间的虚拟化层,再然后是传到宿主机里的内核网桥中,最后传到物理网卡,这个过程很好理解。 那么我们要做网络的优化,让虚拟机的网络运行得更加高效,我们要想的就是让虚拟机访问到物理网卡的层次要少。或者说能不能让宿主机的物理网卡直接丢给虚拟机用,这样达到... 继续阅读

基于virtio-user的新exception path方案

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