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

时间:2018-09-16 23:20:06

标签: dpdk

您好Stackoverflow专家

我一直在努力使用DPDK提供的ip分段。并且想知道我在rte-mbuf以太网标头中使用的IP地址和MAC地址的概念是否正确。

rte-mbuf标头中的IP地址是否可以单独用于从本地到远程的传输? 我在DPDK示例应用程序中看到,在接收到数据包之后,哈希表(例如IP片段表)中使用了IP地址,但是实际上仅通过使用以太网mac地址接收数据的事实给我的印象是IP地址仅由DPDK用户(使用DPDK API的开发人员)定义,而不在实际数据传输中使用。

我所了解的东西缺少吗?

1 个答案:

答案 0 :(得分:1)

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

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

现在回答您的问题:

  

rte-mbuf标头中的IP地址是否可以单独用于从本地到远程的传输?

如果您的意思是使用rte_eth_tx_burst()进行传输,那么否,IP标头是不够的。以太网标头也必须正确填充。

  

IP地址仅由DPDK用户(使用DPDK API的开发人员)定义,而不在实际数据传输中使用。

由于重组示例是基于L2转发示例的,因此它充当了重组以太网桥的角色。因此,您有一个正确的印象,此示例不基于IP地址路由数据包。它只是使用IP地址来重组IP片段。