【发布时间】:2020-11-06 20:19:53
【问题描述】:
我无法从documentation 看出是否可以使用 vdev rx_pcap 来模拟带有 pcap 文件的 RSS,使用多个内核。
读完后,这似乎是一个有趣的提议:
为了便于使用,DPDK EAL 也进行了扩展,以允许 使用这些驱动程序中的一个或多个的伪以太网设备 在 EAL 初始化期间在应用程序启动时创建。
为此,必须将 –vdev= 参数传递给 EAL。这需要 选择允许分配基于环和 pcap 的以太网 应用程序透明地使用。这可以用于,例如, 用于在没有以太网端口的虚拟机上进行测试。
可以使用虚拟设备 –vdev 创建基于 Pcap 的设备 选项。
这就是我如何读取一个 PCAP 文件并写入另一个文件,使用他们的示例和 dpdk-testpmd 应用程序:
sudo build/app/dpdk-testpmd -l 0-3 --vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_pcap=file_tx.pcap' -- --port-topology=chained --no-flush-rx
这很好,我得到了 file_tx.pcap 生成。但是如果我尝试将 RX 队列的数量设置为 4,它会告诉我不能:
$ sudo build/app/dpdk-testpmd -l 0-3 --vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_pcap=file_tx.pcap' -- --port-topology=chained --no-flush-rx --rxq=4
EAL: Detected 4 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'PA'
EAL: No available hugepages reported in hugepages-1048576kB
EAL: Probing VFIO support...
EAL: VFIO support initialized
EAL: Invalid NUMA socket, default to 0
EAL: Invalid NUMA socket, default to 0
Fail: input rxq (4) can't be greater than max_rx_queues (1) of port 0
EAL: Error - exiting with code: 1
Cause: rxq 4 invalid - must be >= 0 && <= 1
是否可以为 vdev rx_pcap 更改 max_rx_queues,还是有更好的选择?
【问题讨论】:
标签: dpdk