2017-08-03 161 views
0

我有两个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:然后?

回答

1

回答您的问题:

服务器上启用了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。

希望这回答你的问题。