首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DPDK中的重排序库和IP碎片的目的

DPDK中的重排序库和IP碎片的目的
EN

Stack Overflow用户
提问于 2018-09-15 23:58:25
回答 1查看 502关注 0票数 1

你好,斯塔克溢出专家,

我试图通过将消息分成4个包来发送4096字节的消息。

但是,仅仅以突发方式发送消息并不能保证按顺序接收消息。因此,我很难找到哪个库(重新排序库或IP碎片)将帮助我保证消息将按顺序接收。

lib.html frag.html

例如,如果我3次连续发送3条消息,我就会收到如下所示的消息

发送(3突发) 1111111 33333

(续) 33333 1111111

因此,为了解决这个问题,我在l3fwd示例中遇到了重新排序库和ip碎片问题。为了达到下面这样的结果,我必须使用哪个库?(IP碎片或重新排序库)

发送(3突发) 1111111 33333

(续) 1111111 33333

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-16 05:19:21

你说得对,我们用rte_ipv4_fragment_packet()来分割数据包。

要重新组装碎片数据包,我们应该使用rte_ip_frag_table_create()创建一个片段表,然后使用rte_ipv4_frag_reassemble_packet()函数。

请看一下在程序员指南,这是重新组装示例应用程序

您提到的重新排序库旨在根据序号而不是片段偏移重新排序。换句话说,工作流程如下:

  1. 我们给mbufs分配序列号。
  2. 我们在不同的线程上处理这些mbufs,即顺序现在是混合的。
  3. 我们使用重新排序库重新排序那些mbufs。

因此,它是相似的,但它不是相同的ip包重组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52349829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档