网卡组播模式功能测试

测试目的

验证网卡支持组播,并且支持未知组播(也即事先在系统中没有登记的组播)。

预置条件

  1. 按组网方式1搭建测试环境。
  2. 在服务器上分别创建VM1和VM2,连接到各自SR-IOV端口,配置同网段IP地址,可以ping通。

测试步骤

  1. 登录VM1和VM2,查看已经登记的组播记录表,同时在VM1和VM2登记相同的组播记录,有结果1,参考命令:

    ipmaddr show enp7s0f0

    //例如组播IP为224.0.0.1;组播mac为01:00:5e:00:00:01

    ipmaddr add (or del) MULTIADDR dev STRING

    //具体操作各厂家可参考以上命令描述删除或登记组播记录表

  2. 使用scapy,构造组播IP为224.0.0.1、组播mac为01:00:5e:00:00:01的报文;启动报文发送,向VM1、VM2所在的子网发送组播报文,在VM1、VM2上进行抓包,有结果2,参考命令:

    tcpdump -i enp7s0f0 -enn

  3. 配置节点的物理网卡(承载SR-IOV端口的物理网卡)例如enp7s0f0,支持对未知组播报文正确转发的能力,有结果3,参考命令:

    ip link set dev enp7s0f0 vf 0 trust on//主机侧

    ip link set enp7s0f0 promisc on //虚拟机内

  4. 使用scapy,构造未在VM1和VM2上登记的“组播IP为225.0.0.2、组播mac为01:00:5e:00:00:02”的报文;启动报文发送,向VM1、VM2所在的子网发送组播报文,在VM1、VM2上进行抓包,有结果4,参考命令:

    tcpdump -i enp7s0f0 -nn

预期结果

  1. 在VM1和VM2上登记相同组播记录成功。
  2. 分析VM1和VM2端口上抓取的报文包含“组播为224.0.0.1、组播mac为01:00:5e:00:00:01”的报文信息。
  3. 配置节点的物理网卡enp7s0f0支持对未知组播报文正确转发的能力成功。
  4. 分析VM1和VM2端口上抓取的报文包含“组播为225.0.0.2、组播mac为01:00:5e:00:00:02”的报文信息。

测试结果

-

备注

因各厂家服务器的网卡存在差异,对未知组播报文的配置支持方法不做强制要求。