了解DPDK pktgen的目标地址
问题描述:
我有两个Emulab服务器,都配置为DPDK。一个(称之为客户端)运行pktgen;另一台(称为服务器)运行l2fwd。了解DPDK pktgen的目标地址
在客户端,我看到pktgen输出以下:
Src/Dest Port : 1234/5678
Pkt Type:VLAN ID : IPv4/TCP:0001
Dst IP Address : 192.168.1.1
Src IP Address : 192.168.0.1/24
Dst MAC Address : 00:00:00:00:00:00
Src MAC Address : a0:36:9f:08:1c:28
根据l2fwd的输出,所述服务器从客户端接收的数据包。
我想我错过了一些关于如何在这里寻址的工作;服务器的启用DPDK的接口不应该有一个IP地址(我从来没有分配过它)。客户端似乎没有为其数据包设置Dst MAC。
服务器如何获取这些数据包?客户是否只是向网络广播?不应该IP地址是FF:FF:FF:FF:FF:然后?
答
回答您的问题:
服务器上启用了DPDK接口不应该有一个IP地址(我从来没有赋予它一个)
不,它不应该。但是l2fwd表示OSI第2层转发,即交换。交换不需要任何IP地址。
客户端似乎没有为其数据包设置Dst MAC。
从输出中,目标MAC全部为零。 您可以使用set mac <portlist> <mac>
CLI命令更改它。
服务器如何获取这些数据包?客户是否只是向网络广播?不应该IP地址是FF:FF:FF:FF:FF:然后?
我想,在你的情况下,它是一个unknown unicast
+服务器上的混杂模式。中间的交换机在其MAC表中没有地址00:00:00:00:00:00
,所以它将未知单播泛洪到所有端口(源和VLAN除外)。
服务器收到这个帧是因为它将端口置于混杂模式,所以NIC接受所有的帧,而不是只发给NIC的MAC。
希望这回答你的问题。