手边一张 Mellanox MCX512A ,装了 DPDK 和 Pktgen 向外打流做测试,然后发现 Pktgen 开始打流的时候计数一直是 0 始终不动,pktgen 、dpdk-testpmd 、dmesg 都看不到有异常信息。
下边这个输出,是 start all 之后的,持续为 0 ,即便是设置了新的协议、IP 、MAC 等仍旧发不出去包,非常诡异。
# pktgen -l 6,7 -m 2048 -a 0000:01:00.0 -a 0000:01:00.1 -- -P -T -m "0.0,1.1"
| Ports 0-1 of 2 <Main Page> Copyright(c) <2010-2023>, Intel Corporation
Port:Flags : 0:P------ Single 1:P------ Single
Link State : <UP-10000-FD> <UP-10000-FD> ---Total Rate---
Pkts/s Rx : 0 0 0
Tx : 0 0 0
MBits/s Rx/Tx : 0/0 0/0 0/0
Pkts/s Rx Max : 0 0 0
Tx Max : 0 0 0
Broadcast : 0 0
Multicast : 0 0
Sizes 64 : 0 0
65-127 : 0 0
128-255 : 0 0
256-511 : 0 0
512-1023 : 0 0
1024-1518 : 0 0
Runts/Jumbos : 0/0 0/0
ARP/ICMP Pkts : 0/0 0/0
Errors Rx/Tx : 0/0 0/0
Total Rx Pkts : 0 0
Tx Pkts : 0 0
Rx/Tx MBs : 0/0 0/0
已做的尝试:
有需要补充的,我继续补充,多谢各路大佬。
1
YanPJ 195 天前
有两点 一个是 dpdk 编译的时有几个 mlx 宏要开启, 然后就是确认下 mlx 的驱动装没装好
|
2
faicker 195 天前 1
pktgen -l 6,7 -m 2048 -a 0000:01:00.0 -a 0000:01:00.1 -- -P -T -m "0.0,1.1"
这里,-m "6.0,7.1" |
5
HarrisIce OP @faicker 多谢大佬,感谢!之前折腾了一天,多亏大佬一句话,找到问题了,就是 -m "0.0,1.1" 这个参数的问题。
我这台机器有 8 个逻辑核,一开始我把参数改成了 -m "6.0,7.1" ,启动就会得到下边的错误。 `` pktgen -l 6,7 -m 2048 -a 0000:01:00.0 -a 0000:01:00.1 -- -P -T -m "6.0,7.1" *** Copyright(c) <2010-2023>, Intel Corporation. All rights reserved. *** Pktgen created by: Keith Wiles -- >>> Powered by DPDK <<< EAL: Detected CPU lcores: 8 EAL: Detected NUMA nodes: 1 EAL: Detected shared linkage of DPDK EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'VA' EAL: VFIO support initialized EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:01:00.0 (socket -1) EAL: Probe PCI driver: mlx5_pci (15b3:1017) device: 0000:01:00.1 (socket -1) TELEMETRY: No legacy callbacks, legacy socket not created *** Error can not use initial lcore for a port The initial lcore is 6 ``` 问了 GPT4 ,告诉我说要留一个核心 reserved for management ,然后我把命令改成了`pktgen -l 5-7 -m 2048 -a 0000:01:00.0 -a 0000:01:00.1 -- -P -T -m "6.0,7.1"`,再启动就能正常打流了。 |