【问题标题】:How to test basicfwd application in DPDK如何在 DPDK 中测试 basicfwd 应用程序
【发布时间】:2021-02-04 10:52:29
【问题描述】:

我正在使用带有内核 4.4 和 DPDK 版本 17.11 的 Ubuntu 16.04 虚拟机。我设法使用设置实用程序配置了 igb_uio 驱动程序。

然后我编译了 basicfwd 应用程序 DPDK。我还使用 igb_uio 驱动程序配置了两个端口,并验证它与 DPDK 相关联,并且未显示在 Linux Kernel 中。

basicfwd 应用程序正在侦听显示 MAC 地址的两个端口。

我不确定如何发送 MAC 地址数据包。任何人都可以建议如何使用命令或实用程序为给定的 MAC 地址创建数据包。 Windows 是我笔记本电脑中的主机操作系统。

我还看到 PMD 应用程序和 packetgen 应用程序用于测试目的。我不确定它们是否可以用来测试 basicfwd 应用程序。

我也想知道如何为 DPDK 端口分配 ip 地址,以便他们可以在实时环境中接收数据包。我需要在这些方面更多地研究 DPDK。

不胜感激。

【问题讨论】:

  • 请接受并投票,因为它解决了您的问题

标签: dpdk


【解决方案1】:

DPDK 是内核堆栈处理的替代方案,因此任何通过uio_pci_generic/vfio-pci/igb_uio 绑定到 DPDK 的端口将不支持作为内核 netdev 的 IPv4/IPv6 地址。因此如何为DPDK端口分配IP地址的期望是不正确的。

关于向虚拟机发送数据包,有几种组合

  1. 有完整的 NIC 传递到 VM (PF/VF) - 在这种情况下,需要通过它的物理接口发送一个数据包。
  2. 有端口表示,如 TAP/VETH-Pair 作为 virtio 接口传递 - 在主机上的这种情况下,将有表示端口。因此,您可以使用ping/arping/packeth/pktgen/scapy/ostinato 等工具为您生成数据包。

注意:如果您正在使用testpmd dpdk 应用程序,您可以使其在混杂模式下运行。例如l2fwd/skeleton 等端口默认设置为混杂模式。

【讨论】:

  • 让我学习并尝试TAP选项。您能否澄清一下是否无法将 IP 地址分配给 DPDK 端口 DPDK 端口将如何接收来自其他系统/应用程序的数据包。假设我将它用于防火墙或 Web 服务器,我不确定它是如何工作的。它应该在数据包中携带IP地址。是不是和TAP有关的东西我的理解好像有差距。你能澄清一下吗?
  • 我很高兴能在 Skype 上花一些时间在这方面。你有空吗?
  • 感谢您的帮助。我正在为初学者级别的学习目的而做。如果您在这方面提供一些参考资料,那就太好了。
  • 好的,看来您还没有准备好使用 Skype。很好,请始终使用doc.dpdk.org/guides/linux_gsgdoc.dpdk.org/guides/nics/index.html
  • 请接受并投票关闭此票。
猜你喜欢
  • 2018-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-11
  • 2020-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多