我从这里运行DPDK骨架示例:

https://doc.dpdk.org/guides/sample_app_ug/skeleton.html

获取此输出:

sudo ./dpdk-skeleton -l 1 -n 4

EAL: Detected CPU lcores: 4
EAL: Detected NUMA nodes: 1
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: VFIO support initialized
EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:05:00.0 (socket -1)
EAL: Probe PCI driver: net_e1000_igb (8086:1533) device: 0000:0a:00.0 (socket -1)
TELEMETRY: No legacy callbacks, legacy socket not created
Port 0 MAC: 98 b7 85 00 5b 87
Port 1 MAC: 6c b3 11 52 a3 29

Core 1 forwarding packets. [Ctrl+C to quit]

我如何生成输入帧/包,所以上面的示例"做了一些事情"?

我在同一台主机上try 了Netcat,但似乎不起作用:

nc localhost 2399

我不确定是哪个端口(因为DPDK应用程序不记录端口),所以我假设我可以使用任何端口.

如何/可以在同一主机上使用Netcat为DPDK示例提供输入?

如果需要的话,我还有第二台机器(和一根以太网线).

推荐答案

要找到dpdk-skeleton监听的端口,请首先运行以下命令:

ps -ef | grep dpdk-skeleton

假设你得到了PID6666,那么

sudo netstat -anp | grep "LISTEN.*6666/"

Update

您可以try 以下单个命令:

sudo netstat -anp|grep -P "LISTEN\s+$(pgrep -f dpdk-skeleton)"

Linux相关问答推荐

C++ kill()使Linux崩溃到登录屏幕

将参数#0更改为shell脚本不工作

C++17/Linux:信号未解锁单独线程中被阻止的网络套接字调用

如何在带模式的文件频繁更改的管道中使用grep-f带模式的文件?

如何从大页分配标准数组内存

如何在Linux下使用正则表达式更改文件名

linux 提取字符串中可能是第二常见模式的部分

如何使用 shell 脚本将文本文件转换为 JSON 文件

什么是`quote`命令?

为什么在 Linux 中使用 select

关于 putenv() 和 setenv() 的问题

使用正则表达式时,Shell 'tar: not found in archive' 错误

如何搜索文件并将它们压缩到一个 zip 文件中

Linux内核列表中的WRITE_ONCE

根据日期范围过滤日志(log)文件条目

Anaconda:禁用提示更改

是否有git sed或类似功能?

linux perf:如何解释和查找热点

如何将初始输入通过管道传输到随后将是交互式的进程中?

Linux 的文本编辑器(除了 Vi)?