跳转至

等待链路就绪

语法

  iflinkwait [--timeout <timeout>] [<interface>] [<interface>...]

示例

无限期等待 "net0" 链路就绪

  iflinkwait net0

找到第一个链路可用的接口

  iflinkwait --timeout 5000

描述

等待网络接口链路就绪。iPXE 会打开第一个指定的网络接口并等待检测到链路。如果检测到可用的链路,命令结束,网络接口保持打开状态。如果没有检测到链路,该网络接口会被关闭,iPXE 会继续尝试列表中的下一个网络接口。

如果没有显式指定网络接口,iPXE 会尝试所有可用的网络接口。

可以使用 --timeout 选项指定配置超时时间(毫秒)。如果没有指定超时时间,iPXE 会无限期等待,直到检测到链路。

命令状态

成功 检测到了链路
失败 未检测到链路

另请参阅

备注

通常情况下你不需要使用这个命令。iPXE 在使用 ifconfdhcpautoboot 命令配置接口时会自动等待链路就绪。

如果没有指定超时时间,iPXE 会无限期等待链路就绪,或直到使用 Ctrl-C 取消命令。

如果命令成功,你可以使用 ifname 设置获取成功接口的名称。例如:

  iflinkwait -t 5000 && echo Detected link on ${ifname} || goto no_link

iflinkwait 只能检测到物理链路就绪。链路有可能尚未开始转发数据包。例如:如果链路连接到配置为要求 LACP 的交换机端口,那么在 LACP 协商完成之前交换机不会转发数据包。在你尝试发送数据包之前(例如使用 ifconf 命令),iPXE 无法检测到这种情况。