Linux中有没有像tcpdump这样的实用工具来捕获通过RDMA通道传输的流量?(Infiniband/RoCE/iWARP)
发布于 2012-11-19 23:22:42
旧线程,但仍然是:
正如Roland所指出的,嗅探RDMA流量是很棘手的,因为一旦端点进行了初始握手,流量就会通过网卡(HCA)直接到达内存。在不使用专用硬件嗅探器的情况下嗅探此流量的唯一方法是在网卡中具有特定于供应商的挂钩,以及使用这些挂钩的SW工具。
如果你有Mellanox HCA,you can use the "ibdump" tool。这个工具也是Mellanox OFED包的一部分。
如果您有其他供应商硬件,您需要与供应商核实一下-您不会发现任何适用于所有支持RDMA的设备的开源数据包嗅探器,对不起。
发布于 2012-09-27 15:09:55
一般来说,不是。RDMA的主要特征之一是所有网络处理都在适配器上完成,根本不涉及CPU。通常,工作请求直接从用户空间排队到适配器,而不需要任何系统调用。因此,嗅探器无处可用来获取流量。
也就是说,对于以太网协议,iWARP或IBoE (又称RoCE),您可以在连接过程中将系统连接起来,并将其设置为在软件(例如Linux桥接模块)中进行转发,然后运行tcpdump或wireshark来捕获通过此系统的RDMA流量。Wireshark甚至有针对iWARP和IBoE的分析器。
对于原生InfiniBand,理论上可以构建类似的东西(设置适配器来捕获和转发流量),但据我所知,甚至没有人完成所需的固件或驱动程序工作来执行基本的数据包嗅探。
发布于 2012-09-27 22:17:56
Chelsio的T4设备支持数据包跟踪功能,允许它将入口/出口卸载数据包复制到设备的NIC队列之一。然后,您可以在该ethX接口上使用tcpdump或其他命令来查看RDMA或TOE数据包。
https://stackoverflow.com/questions/12607686
复制相似问题