DPDK中使用的IP地址和MAC地址

IP address and MAC address used in DPDK

您好 Whosebug 专家,

一直纠结于如何使用DPDK提供的ip分片。并且想知道我有正确的 IP 地址概念和 rte-mbuf 以太网头中使用的 MAC 地址。

rte-mbuf header中单独的IP地址是否可以用来从本地传输到远程? 我在 DPDK 示例应用程序中看到,在接收到数据包后,IP 地址用于散列 table 中,例如 IP 片段 table,但实际上仅通过使用以太网接收数据 [= =21=] 地址,给我的印象是 IP 地址仅由 DPDK 用户(使用 DPDK API 的开发人员)定义,而不用于实际数据传输。

是不是我理解的有问题?

你是对的。大多数 DPDK 示例在 OSI 模型的第二层工作,即它们只关心 MAC 地址,而不关心 IP。

IP 重组示例基于 L2 转发示例,即它充当以太网桥。但是,它需要分析 IP 地址,即源 IP 和目标 IP 必须匹配同一流的所有片段。

现在回答您的问题:

Is Ip address alone in the header of rte-mbuf can be used to transfer from local to remote?

如果您的意思是使用 rte_eth_tx_burst() 传输,那么不,IP header 是不够的。以太网 header 也必须正确填写。

IP address is only defined by the DPDK user (developers using DPDK API) and not used in actual data transfer.

由于重组示例基于L2转发示例,因此它充当重组以太网桥。所以你有一个正确的印象,这个例子没有根据 IP 地址路由数据包。它只是使用 IP 地址重组 IP 片段。