DOCA 文档 v2.10.0

RSS 支持

除了默认的 Toeplitz 函数外,该设备还支持使用 XOR 作为 RSS 分布函数。

对于少量流,XOR 函数在驱动程序的接收队列之间提供更好的分布,确保每个 TCP/UDP 流都分配到不同的队列。

要在 Toeplitz 和 XOR RSS 哈希函数之间切换,请使用 sysfs 接口,路径为:/sys/class/net/eth*/settings/hfunc

查询操作和支持的哈希函数

复制
已复制!
            

cat /sys/class/net/eth*/settings/hfunc

示例

复制
已复制!
            

cat /sys/class/net/eth2/settings/hfunc Operational hfunc: toeplitz Supported hfuncs: xor toeplitz

更改操作哈希函数

复制
已复制!
            

echo xor > /sys/class/net/eth*/settings/hfunc

接收端扩展 (RSS) 技术允许在不同的接收描述符队列之间分散传入流量。将每个队列分配给不同的 CPU 核心可以更好地平衡传入流量的负载并提高性能。

此技术已通过 verbs 层扩展到用户空间,可用于 RAW ETH QP。

导引规则对传入数据包进行分类,并将特定的流量类型(例如 TCP/UDP,仅 IP)或特定流传递到 “RX Hash” QP。“RX Hash” QP 负责使用 RX 哈希和间接表在接收工作队列之间分散其处理的流量。接收工作队列可以指向可以与不同 CPU 核心关联的不同 CQ。

以下 verbs 应用于在控制和数据路径中实现此任务。每个 verb 的详细信息应从其手册页中引用。

  • ibv_create_wq, ibv_modify_wq, ibv_destory_wq

  • ibv_create_rwq_ind_table, ibv_destroy_rwq_ind_table

  • ibv_create_qp_ex 与特定的 RX 配置,以创建 “RX hash” QP

© 版权所有 2025 NVIDIA。 上次更新于 2025 年 2 月 12 日。