问题标签 [mellanox]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dpdk - Mlx5_net:无法读取设备计数器:没有这样的文件或目录
我正在尝试使用 Mellanox ConnectX-6 运行 dpdk 应用程序并收到标题中所述的错误。
dpdk - 分段数据包的 Rss 哈希
我正在使用 Mellanox Technologies MT27800 系列 [ConnectX-5],使用 dpdk 多 rx 队列和 rss "ETH_RSS_IP | ETH_RSS_UDP | ETH_RSS_TCP"
我分析流量并需要同一会话的所有数据包到达同一进程(会话现在可以是 ip+port)
所以具有相同 ip + 端口的数据包到达同一个队列。
但是如果某些数据包是 ip 分片的,数据包会到达不同的进程。这是一个问题!
我如何计算 c++ 代码中的哈希值,就像在卡中完成的那样,所以我可以重新组装数据包并将它们发送到同一个进程,就像非碎片数据包一样
dpdk - 完全缓存 linux 导致 nic 掉线
我有一个 dpdk 19 应用程序,并从 nic(MT27800 Family [ConnectX-5] 100G) 读取 32 rx multiqueue with RSS 。
所以有 32 个进程使用 dpdk 从 nic 接收流量,每个进程从不同的 Queue 读取,从 mbuf 复制数据到分配的内存,累积到 6MB 并通过无锁队列发送到另一个线程,其他线程只写数据到磁盘。结果 I/O 写入缓存在 linux 内存中。
所有进程都以cpu亲和力运行,grub中有isolcpus
这是从队列中读取的 32 个进程中的每一个中发生的一些伪代码,我不能放真正的代码,它太多了
当服务器内存完全缓存时(我知道它仍然可用),我开始看到 nic 下降。
如果我每分钟从磁盘中删除数据,缓存的内存就会被释放,并且在 nic 上不会丢失。因此,水滴显然与缓存的数据相关联。在第一次下降之前,应用程序可以在没有下降的情况下运行 2 小时。该进程不使用太多内存,每个进程为 500 MB。
我怎样才能避免在 nic 滴水?
我使用 Centos 9.7 linux 3.10.0-1160.49.1.el7.x86_64。
dpdk - 使用 dpdk 19 mellanox connectx5 进行软锁定
我有 centos 7.9 3.10.0-1160.53.1.el7.x86_64 的服务器
运行我的 dpdk 19 多进程应用程序时,我有软锁定
我运行的服务器有 2 个 ixgbe 10G 和一个 100G connectx-5
如果 dpdk 不使用 mellanox 卡,则不会发生软锁定
如果 dpdk 不使用多进程(没有 -l 1-62),则不会发生软锁定
从 10G 丢弃所有数据包(Rx imissed)
来自 dmesg 的日志
dpdk - Connectx-6 LX 计划发送仅发送 25 个数据包
我们正在尝试在 Connectx-6 LX 上使用发送调度。如果我们没有在数据包缓冲区上设置时间戳,并在大约正确的时间手动发送每个数据包,那么一切正常。但是,如果我们在缓冲区中设置时间戳,则发送前 25 个数据包并在预期时间接收数据包,但所有后续调用都rte_eth_tx_burst
返回 0。如果相关,我们将在每个突发中发送一个数据包,时间戳相距 125 us。
我们尝试将时间戳设置为较低的值,并且数据包被正确传输,并且按预期tx_pp_timestamp_past_errors
值增加了。我们还设置了较高的值,这也适用于tx_pp_timestamp_future_errors
递增。
任何想法从哪里开始调试?我看不到任何会给出rte_eth_tx_burst
失败错误代码的 API。
我们在 Ubuntu 20.04 上使用 DPDK 21.08 和 5.4.3.1 Mellanox 驱动程序。
nvidia - 启用 jumbo、scatter 和 multi segs 时 ConnectX-5 DPDK 性能下降
我用的是ConnectX-5
网卡。
我有一个DPDK
我想要支持的应用程序jumbo packets
。
为此,我添加了 rx 卸载功能:DEV_RX_OFFLOAD_JUMBO_FRAME
和DEV_RX_OFFLOAD_SCATTER
tx 卸载功能:DEV_TX_OFFLOAD_MULTI_SEGS
我还将其设置得max_rx_pkt_len
更高,因此它将接受巨型数据包(9k)。
我注意到添加这些卸载功能+增加max_rx_pkt_len
危害性能。
例如,没有这些卸载标志,我可以重定向80Gbps
大小为 512 的数据包而不会丢失任何内容。
使用这些标志减少到~55Gbps
没有损失。
我正在使用DPDK 19.11.6
.
目前在这个测试中我不发送巨型数据包。我只是想了解它如何影响平均数据包大小。
这是预期的吗?使用这些卸载标志会降低性能吗?
谢谢
- 编辑 -
端口配置:
- - 更多信息 -
dpdk - ip over gre 数据包的 RSS 哈希
我正在使用 Mellanox Technologies MT27800 系列 [ConnectX-5],使用 dpdk 多 rx 队列和 rss "ETH_RSS_IP | ETH_RSS_UDP | ETH_RSS_TCP"
我收到带有 ETH:IP:GRE:ETH: IP:UDP的数据包
我希望负载平衡根据内部ip+port而不是 gre ip
我尝试将 ETH_RSS_LEVEL_INNERMOST 添加到 rss_hf 但我收到关于 rss 无效值 0x800000003afbc 应为 0xf00000000003afbc 的错误
我正在使用 dpdk 21.11.0 - 是否可以这样做以及如何做?如果不是我该怎么做。
dpdk 19.11 也支持吗?