跳转至

执行回环测试

语法

  lotest [--mtu <mtu>] [--broadcast] <sending interface> <receiving interface>

示例

执行从 "net0" 到 "net1" 的回环测试

  lotest net0 net1

描述

通过从一个网络接口发送数据包并验证它们能在第二个网络接口上被正确接收,来执行回环测试。两个网络接口应当用网线直接相连。

你可以使用 --mtu 选项指定数据包大小(不含链路层头部)。如果没有指定数据包大小,则使用默认的以太网大小 1500 字节。

你可以使用 --broadcast 选项指定广播目的链路层地址。如果没有指定广播目的地址,则使用接收接口的链路层地址。

测试会一直进行,直到被中断(例如按下 Ctrl-C),或直到某个数据包接收不正确。测试期间会以累计总数的形式显示成功接收的数据包数量。

另请参阅

构建选项

此命令仅在启用构建选项 LOTEST_CMD 时可用。

备注

此命令主要用于 iPXE 开发期间的正确性测试。它可以用来验证网络驱动能否正确收发数据包,即使在没有合适网络交换机的情况下也能使用。

两个网络接口应当用网线直接相连。如果它们插在网络交换机上,回环测试可能会因为接收接口看到额外的数据包而失败。

有些驱动一般能正常工作,但无法通过回环测试,因为它们不会剥除接收到的数据包的以太网 CRC。这些驱动应当修复。

有些能通过回环测试的驱动,其 MTU 可能太小,无法支持 VLAN。可以通过在两端各创建一个 VLAN 接口,然后在 VLAN 接口上执行回环测试来识别这种情况。例如:

  vcreate --tag 123 net0
  vcreate --tag 123 net1
  lotest net0-123 net1-123

有些 USB 驱动可能无法正确收发长度(包含 14 字节以太网链路层头部和任何设备特定头部)恰好是 USB bulk 端点 MTU(通常是 512 字节)整数倍的数据包。这些驱动应当修复。