问题标签 [dpdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
676 浏览

networking - 了解 DPDK pktgen 的目标寻址

我有两个 Emulab 服务器,都为 DPDK 配置。一个(称为客户端)运行pktgen;另一个(称为服务器)运行l2fwd

在客户端,我在pktgen输出中看到以下内容:

根据l2fwd的输出,服务器正在接收来自客户端的数据包。

我想我在这里遗漏了一些关于寻址如何工作的东西。服务器的启用 DPDK 的接口不应该有 IP 地址(我从未分配过它)。客户端似乎没有其数据包的 Dst MAC。

服务器如何获取这些数据包?客户端只是向网络广播吗?那么IP地址不应该是FF:FF:FF:FF:FF:FF吗?

0 投票
1 回答
2421 浏览

c++ - DPDK 应用程序可以用 c++ 编写吗?如果可以,它是如何完成的?

你好互联网的人们,

而不是在 CI 中编写 DPDK 应用程序,而是想使用 C++。有没有办法这样做?

我可能应该提到,配置、编译和设置 DPDK 本身以及与之相关的所有内容(绑定 NIC,...)都可以正常工作。以及编译和运行示例应用程序和我自己用 C 编写的应用程序。但是,我想在一个新的 DPDK 应用程序中使用我自己的一些来自另一个项目的 C++ 类,因此使用 C++ 而不是 C 会非常好.

谢谢你。

0 投票
1 回答
382 浏览

openvswitch - OVS DPDK 的数据路径的内部工作原理以及与普通 OVS 的区别

我想了解 OVS DPDK 中的转发平面(又名数据路径)是如何工作的。这个托管 dpdkhostuser 的 OVS DPDK 网桥是否像普通的 OVS 网桥一样使用转发信息库 (FIB)(每个 dpdkvhost 用户端口都有一个 mac 表),或者数据包是否根据 OpenFlow 表的内容流动?

0 投票
1 回答
991 浏览

dma - 为什么 TX 描述符环大小应该是 RX 描述符环大小的 4 倍?

我正在阅读基于 DPDK 的应用程序的性能优化指南,建议 TX 环大小应该是 RX 环大小的 4 倍。我认为英特尔的家伙凭经验得到了这个数字。是否有任何理由以 1:4 的比例分配环大小。

在此处输入图像描述

以下是性能指南的链接:

0 投票
1 回答
894 浏览

networking - 如何测试丢包?

我正在研究ovs-dpdk,我想测试一个端口是否有丢包。对于硬件交换机,您可以使用 IXIA 或一些来发送连续数据包,但这是虚拟交换机,我没有 IXIA。

所以我用 ping 来测试一下,但是 ping 的包率太低,我可以用 pktgen 来测试吗?如果我使用pktgen,如何验证是否有丢包?

还是有其他方法?谢谢~

0 投票
1 回答
209 浏览

dpdk - 从大页内存获取的内存物理地址可以用于 DMA 吗?

当我阅读 dpdk 的代码时,我很困惑。

以下是我对 DMA 的结论:

在调用 pci_set_dma_mask() 和 pci_set_consistent_dma_mask() 以保证 PCI_NIC 可以寻址指定的位长度后,可以直接将大页内存的 phy_address 用于 DMA。

那正确吗?我在某个地方犯了一些错误吗?DMA 只能在 LDD3 中描述的低级存储器上使用。我怎么能保证我所有的hugepage内存都是低级内存?</p>

你能给我一些建议吗?谢谢。

0 投票
2 回答
5258 浏览

c - 如何在基于 dpdk 的应用程序中启用调试模式?

运行基于 dpdk 的应用程序时遇到一些错误。我发现调用rte_eth_dev_configure()dpdk 库提供的函数时发生错误。错误代码是-22。但是,我希望应用程序显示更多调试信息,以便我可以快速专注于错误部分。

我做了 RTFM 并修改了$RTE_SDK/build/.config. 我变成RTE_LIBRTE_ETHDEV_DEBUGy。但它没有用。rte_vlog()函数将日志消息放在哪里?

你愿意帮助我吗?任何建议表示赞赏!

0 投票
1 回答
814 浏览

linux - 从DPDK解绑后如何领取网卡?

我们在工作中使用英特尔 DPDK,但是,有时“系统中”需要绑定的网卡。
在我将它们中的一些(比如说,2/4)解绑后,./dpdk-devbind -u (deviceID here)它们没有绑定到 DPDK,但我无法在 Ubuntu 中为它们分配 IP 地址。执行ifdown eth0 && ifup eth0退货No such device found: eth0(我 100% 确定那eth0是需要的网卡,顺便说一句)

因此,当我键入时lshw -class network,它会返回类似的内容: *-network:0 UNCLAIMED description: Ethernet controller product: Ethernet Controller XL710 for 40GbE QSFP+ vendor: Intel Corporation physical id: 0 bus info: pci@0000:02:00.0 version: 02 width: 64 bits clock: 33MHz capabilities: pm msi msix pciexpress vpd cap_list configuration: latency=0 resources: memory:b9800000-b9ffffff memory:ba818000-ba81ffff memory:bba80000-bbafffff memory:ba600000-ba7fffff memory:ba9a0000-baa1ffff

如何在不重新启动机器的情况下领取这些未绑定的网卡?不要重新启动该服务器非常重要,因为它同时被许多人使用。

我试图执行modprobe i40e加载网络模块,它没有帮助。显然重新启动网络服务(通过 systemd)也不起作用,因为这些网卡无人认领并且以某种方式从系统中“隐藏”。

0 投票
1 回答
49 浏览

networking - 在 dpdk 中从 kni 接口发送和接收数据时保留元数据

有没有办法在 dpdk 中的 kni 接口之间发送和接收 mbuf 时保留元数据或任何等效数据?提前致谢。

0 投票
1 回答
1589 浏览

c - gcc 编译 dpdk 错误:没有这样的指令 vextracti128

在 Centos 6.2 中,我使用 gcc 4.8.0 编译 DPDK 代码(dpdk-stable-17.05.2),遇到编译错误。编译命令: make install T=x86_64-native-linuxapp-gcc

输出:

还尝试了 gcc 4.9.0 和 dpdk-17.11,得到了相同的编译错误。有没有人遇到同样的错误,或者有解决方案?

添加了带有详细输出的编译命令:
make T=x86_64-native-linuxapp-gcc V=1

输出: