【问题标题】:How to enable RSS on ETH_RSS_VXLAN or ETH_RSS_GENEVE for a DPDK application?如何在 ETH_RSS_VXLAN 或 ETH_RSS_GENEVE 上为 DPDK 应用程序启用 RSS?
【发布时间】:2021-04-30 07:00:20
【问题描述】:

我试图找出在使用隧道 RSS 哈希卸载时用于计算 RSS 哈希的参数是什么,例如 ETH_RSS_VXLANETH_RSS_GENEVE。目标是根据 VNI 而不是 DPDK 中的外部 IP 或 UDP 端口号分配传入的 VXLAN 流量。

  • DPDK 版本:20.11.1
  • 网卡:Mellanox ConnectX-5,固件版本 16.30.1004

我一直在测试不同的 RSS 哈希,使用内部 IP 字段来计算哈希。设置完成的设置:RSS Setting inside the L3FWD application

[EDIT-1 基于评论对话]

  1. 我使用的 NIC 卡不支持 ETH_RSS_VXLAN 或其他隧道 RSS 卸载,我无法对其进行测试。
  2. 我没有使用 RTE_FLOW,因为我使用的是示例 l3fwd 示例应用程序。

【问题讨论】:

  • 请用网卡、固件、RSS 代码 sn-p 更新您的票证,是否使用 RTE_FLOW?
  • 添加了要求的信息。
  • 根据您的新更新As the NIC card I am using does not support the ETH_RSS_VXLAN or other tunnel RSS offloads,。因此,您面临的问题是什么?
  • 因为根据 PMD 支持 MLX5_EXPANSION_OUTER_IPV4_UDP、MLX5_EXPANSION_OUTER_IPV6_UDP、MLX5_EXPANSION_VXLAN 和 MLX5_EXPANSION_VXLAN_GPE 在 RTE_FLOW 下支持封装和解封装 VxLAN。 RSS 仅对 ETH_RSS_NONFRAG_IPV6_UDP 或 ETH_RSS_NONFRAG_IPV6_UDP 用于外部标头启用。 doc.dpdk.org/guides/nics/mlx5.html 讨论 RSS 和 VxLan 使用交换机卸载,因此如果您使用交换机 decap VXLAN,您将在 rx 队列上获取带有 RSS 的数据包。但是如果打算在 VNI 上接收启用 RSS 的 VXLAN 数据包,我认为 DPDK 20.11 中目前没有选项
  • 我试图找出如果 ETH_RSS_VXLAN 用于 NIC 上,它的行为是什么?它会使用VNI吗?它会使用内部 IP 头字段还是外部 IP 头字段(如果与 ETH_RSS_IP 耦合)。

标签: hash dpdk


【解决方案1】:

根据 DPDK 20.11.1 和 MLX5 PMD,不存在通过 DPDK rte_dev_configure 启用基于 VXLAN 的 RSS。因为当前 PMD 支持 MLX5_EXPANSION_OUTER_IPV4_UDP、MLX5_EXPANSION_OUTER_IPV6_UDP、MLX5_EXPANSION_VXLAN 和 MLX5_EXPANSION_VXLAN_GPE 用于 RTE_FLOW 用于交换机的封装和解封装 VxLAN。而 DPDK rte_eth_dev_configure 是所有 NIC 的通用 API。

因此,如果真正的意图是基于 INNER IP 分发数据包,我强烈建议使用 RTE_FLOW,流匹配为 OUTER-IP 和 UDP 端口号,动作为内部 IP 和端口上的 RSS数字。但是 L3FWD 应用程序必须进行修改。

其他支持 DPDK 的网卡也支持 VNI(不同程度);

  1. 恩智浦奇德
  2. 惊奇雷克斯
  3. 英特尔 FVL 和 CVL

可以在英特尔 FVL 和 CVL 上进行查找,然后将 RSS 分发到特定队列。通用设置可以通过

  1. 对于 FVL,请从英特尔站点为您的 NIC 识别支持 ​​VXLAN 的 NIC 固件。
  2. 使用带有固件的 nvmupdate 工具 flash FVL 并重新启动机器。
  3. 使用 DPDK 应用程序(例如:testpmd)创建 5 个 rxqueues
  4. 将流规则设置为IF traffic is tunneled with VXLAN, then use action 1) RSS for inner IP on Q1 to Q4 action 2) Decap the Tunnel header

更多详情请参考sample test

注意:我强烈建议打开 DPDK 供应商特定问题,详细介绍示例程序、遵循的步骤和面临的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多