RDMA如何抓包,从网上看了很多都需要打开sniffer on,但是我查了以下根本没有这个选项,安装的也是迈洛斯官网驱动。
root@root:/home/user# cat /etc/issue
Ubuntu 22.04.2 LTS \n \l
root@root:/home/user# ibdump -v
ibdump, 3.0.0-7, built on Dec 18 2019, 17:02:44. GIT Version: NA
root@root:/home/user# ofed_info -s
MLNX_OFED_LINUX-5.9-0.5.6.0:
root@root:/home/user# ibdev2netdev
mlx5_0 port 1 ==> ens6f0np0 (Up)
mlx5_1 port 1 ==> ens6f1np1 (Down)
root@root:/home/user# ibdump -d mlx5_0
Initiating resources ...
searching for IB devices in host
Port active_mtu=1024
MR was registered with addr=0x56097c7e0430, lkey=0x1827d6, rkey=0x1827d6, flags=0x1
------------------------------------------------
Device : "mlx5_0"
Physical port : 1
Link layer : Ethernet
Dump file : sniffer.pcap
Sniffer WQEs (max burst size) : 4096
------------------------------------------------
Failed to set port sniffer1: command interface bad param
root@root:/home/user# ethtool --set-priv-flags ens6f0np0
root@root:/home/user# ethtool --show-priv-flags ens6f0np0
Private flags for ens6f0np0:
rx_cqe_moder : on
tx_cqe_moder : off
rx_cqe_compress : off
tx_cqe_compress : off
rx_striding_rq : on
rx_no_csum_complete: off
xdp_tx_mpwqe : on
skb_tx_mpwqe : on
tx_port_ts : off
dropless_rq : off
per_channel_stats : on
tx_xdp_hw_checksum : off
skb_xmit_more : off
root@root:/home/user# ethtool --set-priv-flags ens6f0np0 sniffer on
netlink error: bit name not found (offset 52)
netlink error: Operation not supported
root@root:/home/user#
root@root:/home/user# cat /etc/modprobe.d/mlnx.conf
# Module parameters for MLNX_OFED kernel modules
#
# Please don't edit this file. Create a new file under
# /etc/modprobe.d/ for your configurations.
options mlx5_core log_num_mgm_entry_size=-1
不知道你这个问题是否已经解决, 如果还没有解决的话:RDMA(远程直接内存访问)是一种高性能的数据传输协议,它实现了数据在远程计算机之间的高速传输。为了调试RDMA,可能需要抓取RDMA的数据包,以下是一些步骤来解释如何在RDMA中抓包:
安装Wireshark Wireshark是一款开放源代码的网络协议分析工具,它可以用来抓取RDMA包。安装 Wireshark,并确保其版本支持 RDMA。
配置网卡为混杂模式 为了抓取 RDMA 包,需要使网卡进入混杂模式。可以使用如下命令将网卡 eno1 进入混杂模式:
sudo ip link set eno1 promisc on
打开Wireshark 在Wireshark的界面上选择 eno1 网卡。
开始抓包 点击 捕获选项卡上的 开始 按钮,Wireshark 开始抓包。
停止抓包 在需要停止抓包时,点击 捕获选项卡上的 停止 按钮。
分析包 可以通过Wireshark的界面对抓取的数据包进行分析。
另外,你也可以使用ibdump来捕获RDMA包,以下是一些使用ibdump的提示:
安装IBDump IBDump 是开放源代码的 InfiniBand 抓包工具,它可以抓取 RDMA 包。可在InfiniBand官网下载。
运行ibdump 打开终端,运行以下命令启动ibdump:
sudo ibdump -i 1 -v -x -p
关闭ibdump 在需要停止ibdump时,可以使用Ctrl-C停止。
分析ibdump的输出 ibdump 输出的大量数据可能需要进行进一步的分析。可以使用grep等工具来过滤ibdump输出的数据。
以上是使用 Wireshark 和 ibdump 抓取 RDMA 包的一些步骤,希望能对你有帮助。
RDMA是一种基于硬件的网络传输技术,使用专用的网卡和协议栈。要抓取RDMA的网络数据包,你需要使用专门的工具,例如ibdump。
ibdump是一个用于抓取RDMA数据包的工具,它可以在RDMA设备和主机之间进行数据包捕获,并提供详细的分析和诊断功能。以下是ibdump的使用方法:
安装和配置
在使用ibdump之前,需要安装RDMA核心驱动和RDMA用户空间工具包。你可以在Linux系统中使用以下命令安装:
sudo apt-get update
sudo apt-get install rdma-core
```sql
安装完毕后,需要启用RDMA和ibdump:
```sql
sudo systemctl start rdma
sudo systemctl start ibdump
抓包
使用ibdump抓取数据包需要指定RDMA设备和抓包选项。例如,以下命令将抓取名为"mlx4_0"的设备的所有发送和接收数据包,并将结果保存到文件中:
sudo ibdump -i mlx4_0 -f dump.pcap -s 0 -vvvvvvvvvv
在这个命令中,-i参数指定要抓取的设备,-f参数指定输出文件名,-s参数指定抓包时的抓取大小(0表示抓取整个包),-vvvvvvvvvv参数指定详细的抓包信息输出。
分析数据包
使用Wireshark等抓包分析工具可以分析ibdump抓取的数据包。你可以打开dump.pcap文件并分析其中的RDMA数据包。
注意,抓取RDMA数据包需要对系统进行一些调整和配置,同时抓包可能会对系统性能产生影响,因此需要谨慎操作。