加载内核模块时是否可以不循环网络链接?

加载内核模块时是否可以不循环网络链接?

在瘦客户端设置中使用一些廉价硬件,我们使用无盘 PXE 来引导小型 Linux 内核。目前,完全启动需要相当长的时间,我们正在研究一些优化。现在最大的痛苦是内核的网络链接初始化。

在 PXE 选项 ROM 初始化期间,它会获取 PXELinux 用于执行 TFTP 操作以加载内核和一个小型 initrd 的链接、IP 地址和选项。在加载内核(或更具体地说是以太网内核模块)时,它会回收链接并与交换机重新协商。我们在我们现有的硬件上将此时间安排为至少四秒。在企业环境中,交换机可能需要花费相当多的额外时间才能与网络的其余部分(例如没有 portfast 的 Cisco)通信。从按下电源按钮开始,所有这一切都必须经历两次。第二次避免它在这里会有很大的价值。

总结:是否可以让 Linux 网络(以太网)驱动程序不触及 PXE 启动子系统获取的链接状态?另外,如果这仅对特定硬件有效,我会很有兴趣了解它。

编辑:

该模块jme仅涉及这三个模块参数:

parm:  force_pseudohp:Enable pseudo hot-plug feature manually by driver
       instead of BIOS. (int)
parm:  no_pseudohp:Disable pseudo hot-plug feature. (int)
parm:  no_extplug:Do not use external plug signal for pseudo hot-plug. (int)

查看源代码,初始化硬件时没有运行重置链接函数的条件。 (具体来说,.ndo_open-> jme_open-> 无条件jme_reset_link(jme);

相关内容