首页 > 解决方案 > DPDK 实例可以在不同容器中的 2 个 linux 应用程序之间共享吗?

问题描述

恐怕我不是 DPDK 专家,对容器了解更少。如果这是一个愚蠢的问题,请道歉;只是想找出某件事是否可行,然后再花大量时间学习足够的时间来弄清楚它是否可行。

我们有 2 个相互通信的应用程序。在我们迁移到容器之前,他们使用单个 DPDK 实例进行通信 - 一个应用程序是主要 DPDK 进程,它创建了一些具有明确名称的 DPDK 结构,另一个应用程序是辅助 DPDK 进程,它搜索并(希望)找到那些命名的结构。消息通过共享结构从应用程序传递到应用程序。

但是,如果应用程序在不同的容器中运行,我们还能这样做吗?

标签: ipcdpdk

解决方案


在同一个容器中,rte_mp_*API 将在 Primary 和 Secondary 之间工作。但是,如果是 2 个不同的容器 Primary-Secondary viarte_mp_*将不起作用,因为它们是不同命名空间下的独立进程。

您的下一个最佳选择是简单地创建消息并使用 Linux 套接字推送到其他容器。通常rte_mp_*仅在同一容器下的主要和次要之间起作用。


推荐阅读