我的服务器有两个 1 Gbit 和两个 10 Gbit 板载网卡。
我需要完全禁用 1 Gbit 网卡,这样就ifconfig -a
不会显示它们。
网卡使用不同的内核模块。 10 Gbit 使用ixgbe
,1 Gbit 使用igb
。
01:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
Subsystem: Dell Ethernet 10G 4P X520/I350 rNDC
Kernel driver in use: ixgbe
05:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
Subsystem: Dell I350 Gigabit Network Connection
Kernel driver in use: igb
和ixgbe
都是igb
在内核中静态编译的(不是作为可加载模块)。我需要使用内核启动参数禁用该模块。
我尝试将以下内容附加到我的内核中,但没有效果:
igb.blacklist=yes
igb.enable=0
igb.disable=yes
igb 网卡仍然显示
如何才能完全禁用igb?
答案1
您应该能够igb
通过将其初始化函数列入黑名单来将“模块”列入黑名单,即使是内置的:
initcall_blacklist=igb_init_module
到你的内核的启动参数。
看当 I2C Designware 未构建为模块时,如何禁用 I2C Designware 支持?了解背景信息。这里的一般方法是在内核源代码中查找模块,并查找具有该__init
属性的函数 - 应该只有一个易于识别的主初始化函数(通常在声明中引用module_init
)。将其列入黑名单,驱动程序将不会被初始化。