您好Stackoverflow专家
我一直在努力使用DPDK提供的ip分段。并且想知道我在rte-mbuf以太网标头中使用的IP地址和MAC地址的概念是否正确。
rte-mbuf标头中的IP地址是否可以单独用于从本地到远程的传输? 我在DPDK示例应用程序中看到,在接收到数据包之后,哈希表(例如IP片段表)中使用了IP地址,但是实际上仅通过使用以太网mac地址接收数据的事实给我的印象是IP地址仅由DPDK用户(使用DPDK API的开发人员)定义,而不在实际数据传输中使用。
我所了解的东西缺少吗?
答案 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片段。