【问题标题】:Not able to receive packets using DPDK over vmxnet3无法通过 vmxnet3 使用 DPDK 接收数据包
【发布时间】:2021-05-22 01:36:19
【问题描述】:

我已经实现了一个简单的代码,它使用 DPDK 将数据包从一台机器发送到另一台机器。 当我使用 E1000E 时,我能够接收数据包。但是当我使用 vmxnet3 时,接收端会根据以太网统计信息接收到错误的数据包。 rte_eth_rx_burst() 没有收到任何数据包。 有没有办法解决这个问题?为什么包是错误的?

更新:vmxnet3 可以正确接收非 DPDK 数据包,但是当涉及到我们的自定义生成器发送的 DPDK 数据包时,它仍然被归类为错误。 ESXI 和 Vcenter 的安全性是否发生了变化?我使用 vCenter 6+ 为早期版本的 ESXI 工作。

[EDIT-1] 根据评论分享的详细信息

VMShpere 版本:7

  1. VMShpere vswitch:仅在 2 个支持 10Gbps VMXNET3 NIC 的 VM 之间连接
  2. DPDK 版本:18.11
  3. 访客操作系统:Ubuntu 20.04(也试过 Ubuntu 16.04)
  4. 数据包流:根据目标 VM 设置更改 MAC 地址:VM-1 运行 DPDK 应用程序是自定义数据包生成器和接收器,VM-2 运行 rx_burst 和 tx_burst。

【问题讨论】:

  • 有很多原因,请您分享以下信息,例如 VMsphere 版本、连接到 vmxnet3 的 Vmsphere 交换机详细信息、DPDK 版本、guest os 版本、数据包 MAC 目标地址、vmxnext3 地址、使用的 dpdk 应用程序、并使用选项 --log-level=pmd,8 and --log-level=8 运行
  • VMShpere 版本:7,vswitch 仅在两个由 10gbps NIC 支持的 VM 之间连接。使用的 DPDK 版本是 18.11,来宾操作系统:Ubuntu 20.04(也尝试过 Ubuntu 16.04),数据包 MAC 地址根据目标 VM 更改,我使用以太网统计数据验证了这一点,没有正确的 MAC 地址目标不会显示任何数据包(甚至错误数据包)。 DPDK 应用程序是自定义数据包生成器和接收器。只是在数据包形成后使用 rte_eth_tx_burst 和 rte_eth_rx_burst。
  • 谢谢@avinashkrc 请用上述信息和剩余信息更新问题(没有 DPDK 是否接收到 vmxnet3 数据包?像 l2fwd/skeleton 这样的标准 DPDK 应用程序是否能够发送和接收?结果如何?日志级别的)。
  • 嗨 vipin,l2fwd 在转发给其他人之前需要提供数据包,如果我错了,请纠正我。我还没有检查骨架。我更新的其余细节
  • 您始终可以使用 vdev 端口(如 tap、kni 或任何 pcap PMD)作为第二个端口进行测试。示例examples/l2fwd/build/l2fwd -c 0xf0 --vdev=net_tap0,iface=myetestport -- -p 0x3 -T 1。然后在另一个终端运行ifconfig mytestport up; ping _i mytestport 12.12.12.12.

标签: vmware dpdk


【解决方案1】:

[基于实时调试的答案] 在 DPDK 端,无论是 e1000e 还是 vmxnet3 设备都没有问题。基于当前调试它基于vsphere上的开关

使用内核驱动程序vmnext3进行调试,显示

  1. VM-1 接收和传输数据包
  2. VM-2 接收和传输数据包
  3. 还连接了一个物理接口,用于转发数据包。
  4. 将VM-1的IP地址设置为“12.12.12.1”,将VM-2的IP地址设置为“12.12.12.2”
  5. 在 VM-1 和 VM-2 之间运行 iperf3,it fails
  6. 使用tcpdump 进行调试表明VM-1 没有从VM-2 接收来自交换机的数据包。接收来自 VM-1 的数据包时。

DPDK l2fwd/testpmd/skeleton 甚至示例应用程序的行为也是如此。因此,带有 vmxnet3 的 DPDK 18.11.11 LTS 在发送或接收数据包方面没有问题。

【讨论】:

    猜你喜欢
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    相关资源
    最近更新 更多