(dpdk f-stack) -网卡多队列

Posted ygmdream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(dpdk f-stack) -网卡多队列相关的知识,希望对你有一定的参考价值。

网卡是如何将网络中的报文分发到不同的队列呢?

    常用的方法有微软提出的RSS与英特尔提出的Flow Director技术,前者是根据哈希值希望均匀地将包分发到多个队列中。后者是基于查找的精确匹配,将包分发到指定的队列中。

    1、RSS(Receive-Side Scaling,接收方扩展)

        RSS就是根据如下“关键字”通过哈希函数计算出哈希值,再由哈希值对网卡队列数求余确定数据包放到哪个队列。

        关键字是如何确定的呢?

        哈希函数一般选取微软托普利兹算法(Microsoft Toeplitz Based Hash)或者对称哈希。

        

    2、Flow Director技术是Intel公司提出的根据包的字段精确匹配,将其分配到某个特定队列的技术:网卡上存储了一个Flow Director的表,表的大小受硬件资源限制,它记录了需要匹配字段的关键字及匹配后的动作;

        驱动负责操作这张表,包括初始化、增加表项、删除表项;网卡从线上收到数据包后根据关键字查Flow Director的这张表,匹配后按照表

以上是关于(dpdk f-stack) -网卡多队列的主要内容,如果未能解决你的问题,请参考以下文章

(dpdk f-stack)-实现L4代理功能

(dpdk f-stack)-dperf做压测

(dpdk f-stack)-dperf做压测

(dpdk f-stack)-提升性能(耗cpu函数定位)

(dpdk f-stack)-提升性能(耗cpu函数定位)

(dpdk f-stack)-dperf做压测