DPDK 是否提供原生 TCP/IP 网络堆栈实现?

Does DPDK provide a native TCP/IP network stack implemetation?

我正在尝试找出 DPDK 或任何流行的开源项目中是否提供了任何本机 TCP/IP 堆栈实现来实现它。任何帮助将不胜感激。

更新: 我的平台是 Ubuntu 16.04 x64,带有 DPDK 20.08 的 Intel 82599es NIC。我想要完成的是从我在 NIC 端口上收到的数据包重建 TCP 连接以供以后使用。我认为像 ANS、mTCP 和 fstack 这样的工具可能会完成轨道,但它们是第三方的,其中一些不是完全开源的,所以我正在寻找一个本地的或一个受开发人员欢迎的工具。不知道这种需求应该叫什么,不好意思因为这个问题造成的困扰,等我了解相关概念再改。

到目前为止 DPDK 版本 20.11 LTS 在 DPDK 版本中没有本机 TCP-IP 堆栈实现。更进一步,我认为 DPDK 不会实现本机 TCP-IP 堆栈。因此当前的选项是

既然要求是rebuild TCP connection state information,我的建议是

  1. 创建 RTE_FLOW_ACTION_MIRROR 以使用 IP-TCP 地址端口的组合在 HW NIC 级别为所有感兴趣的 TCP 连接创建数据包副本。
  2. 如果没有 HW 选项,使用 ref_cnt_updatecopying the user packet payload 创建数据包的副本。
  3. 在 RTE_RINGS 或 RTE_FB_ARRAY 的帮助下,基于对称 RSS(如果可用)或基于自定义 HASH 将来自客户端和服务器的数据包组织到适当的容器中。
  4. 对于您的数据包处理建议是使用 FSTACK or mTCP or BSD TCP-ip from scratch

Internet 上有多个参考资料也提供了入门提示。请参考