随笔分类 - DPDK
摘要:网卡RSS(receive side scaling)简介RSS是一种网卡驱动技术,能让多核系统中跨多个处理器的网络收包处理能力高效能分配。注意:由于同一个核的处理器超线程共享同一个执行引擎,这个效果跟有多个物理核的处理器不一样。因此,RSS不能使用超线程处理器。为了有效的处理收包,一个minipo
阅读全文
摘要:原创翻译,转载请注明出处。 分层调度器的时机主要体现在TX侧,正好在传递报文之前。它的主要目的是在每个网络节点按照服务级别协议来对不同的流量分类和对不同的用户的报文区分优先级并排序。一、概述分层调度器跟以前使用网络处理器实现的每条流或一组流的报文队列和调度的流量管理器很相似。它看起来像在传输之前的一
阅读全文
摘要:原创翻译,转载请注明出处。 下面是一个支持Qos的复杂报文处理流水线的图;流水线是通过DPDP可重用的软件库构建出来的。在流水线里实现QoS主要是如下模块:policer,dropper,shceduler。下面是这些模块的功能性描述。 下面列出的基础模块始终在整个报文处理流水线中使用 在每个特定应
阅读全文
摘要:原创翻译,转载请注明出处。 vhost库实现了一个用户空间的virtio net server,允许用户直接处理virtio ring队列。换句话说,它让用户可以从VM virtio网络设备读取或写入数据包,为了达到这个目的,vhost库应该可以: 访问客户虚拟机内存,对于QEMU,这个是通过设置
阅读全文
摘要:原创翻译,转载请注明出处。 DPDK的librte_pdump库,提供了在DPDK框架下抓包的功能。这个库通过完全复制Rx和Tx的mbuf到一个新的内存池,因此它降低应用程序的性能,所以只推荐在调试的时候使用。pdump库提供了如下的API来初始化这个抓包框架,使能或者停止抓包,以及清理退出抓包框架
阅读全文
摘要:原创翻译,转载请注明出处。 dpdk提供了一个访问控制库,提供了基于一系列分类规则对接收到的报文进行分类的能力。ACL库用来在一系列规则上执行N元组查找,可以实现多个分类和对每个分类查找最佳匹配(最高优先级),ACL库的api提供如下基本操作: 创建一个新的访问控制(AC)环境实例(context)
阅读全文
摘要:每个公司都会有自己代码风格或者编程规范,都旨在防范编程语言的一些陷阱或者提高代码效率,还有就是保持一致编码风格来提高代码可读性,方便code review; 或者说代码的一种美学,比如python也就有pep8约定,还有一些精致编码来表示你是否Pythonic。 DPDK也有自己的编码风格,看完颇有
阅读全文
摘要:转载:http://blog.csdn.net/quqi99/article/details/47321023 X86体系早期没有在硬件设计上对虚拟化提供支持,因此虚拟化完全通过软件实现。一个典型的做法是通过优先级压缩(Ring Compression)和二进制代码翻译(Binary Transla
阅读全文

浙公网安备 33010602011771号