如何解决pkt-gen dpdk 不发送任何数据包问题
我正在尝试使用 pktgen-dpdk 从 dpdk 机器向 DUT 发送 udp 数据包。但我看不到统计数据中发送的任何内容,也没有在 DUT 上收到任何内容。 这是我正在使用的配置:
dpdk verion: DPDK 20.11.0
pkt-gen version: 20.11.3
ena driver version: 2.4.0
os :amazon linux 2 aws ec2 instance
pkt-gen pkt文件如下:
stop 0
set 0 dst mac 02:EC:BC:CD:C7:D6 # i try both dst mac address for the gateway and for the DUT
set 0 src ip 192.168.2.187/24
set 0 dst ip 192.168.2.197
set 0 sport 22
set 0 dport 22
set 0 type ipv4
set 0 proto tcp
set 0 size 64
start 0
我还尝试了多种不同的协议,甚至是一个简单的 icmp,方法是为端口启用 icmp 并使用 ping4,但没有发送任何内容。端口状态如下: port o status
此外,当我尝试使用 testpmd 发送流量时 我明白了:
---------------------- Forward statistics for port 0 ----------------------
RX-packets: 11 RX-dropped: 0 RX-total: 11
TX-packets: 231819494 TX-dropped: 2029505748 TX-total: 2261325242
----------------------------------------------------------------------------
+++++++++++++++ Accumulated forward statistics for all ports+++++++++++++++
RX-packets: 11 RX-dropped: 0 RX-total: 11
TX-packets: 231819494 TX-dropped: 2029505748 TX-total: 2261325242
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
似乎所有传输都立即被丢弃
解决方法
问题在于 pkt-gen 无法识别 DPDK NIC ENA
,因为它是在共享库模式下构建的。解决问题
- 使用
ENA
标识find / -name "librte_*.so" | grep ena
PMD 所在的文件夹 - 使用
export LD_LIBRARY_PATH=[path to pmd folder]
的路径设置环境 - 确保使用参数
-d librte_net_ena.so -l 1-3 -- -P -m "2.0,3.1"
运行 pktgen
注意:也通过实时调试解决了该问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。