0

我正在使用 DPDK 1.7,并按照“快速入门指南”和“运行示例应用程序”文档中提到的所有步骤来编译和执行名为“load_balancer”的示例应用程序。

Load_balancer 应用程序包含某些处理数据包 i/o 的 I/O 核心和处理数据包处理的工作核心。我的数据包处理核心没有收到所有数据包,但是 i/o 核心确实收到了所有数据包。

它是一个复杂的应用程序并使用了很多 RTE API。关于我应该研究什么来解决数据包处理问题的任何想法?

我已经在内核版本 3.2 和 3.13 上尝试过,结果相同。

帮助将不胜感激。

4

1 回答 1

0

看起来像流量亲和性问题。负载平衡器应用程序中的负载平衡位置(默认字节偏移量:29)似乎只处理 IPv4/IPv6 数据包。我对 UDP 数据包有同样的问题。

考虑使用哈希库在您的 I/O RX 内核中生成数据包哈希,然后使用哈希选择正确的工作 lcore 来转发您的数据包。

第 18 章: http ://dpdk.org/doc/intel/dpdk-prog-guide-1.7.0.pdf

于 2014-11-13T18:12:14.587 回答