Meu servidor tem duas placas de rede integradas de 1 Gbit e duas de 10 Gbit.
Preciso desabilitar completamente as placas de rede de 1 Gbit, para que ifconfig -a
não as mostre.
As placas de rede usam módulos de kernel diferentes. O uso de 10 Gbit ixgbe
e o uso de 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
Ambos ixgbe
e igb
são compilados estaticamente no kernel (não como um módulo carregável). Eu preciso desabilitar o módulo usando os parâmetros de inicialização do kernel.
Eu tentei anexar o seguinte ao meu kernel, mas não tem efeito:
igb.blacklist=yes
igb.enable=0
igb.disable=yes
as placas de rede igb ainda estão aparecendo
Como posso desativar o igb completamente?
Você deve ser capaz de colocar na lista negra o
igb
“módulo”, mesmo quando embutido, colocando na lista negra sua função de inicialização: addaos parâmetros de inicialização do seu kernel.
Consulte Como desabilito o suporte ao I2C Designware quando ele não é construído como um módulo? para informações de fundo. A receita geral aqui é procurar o módulo no código-fonte do kernel e procurar funções que tenham o
__init
atributo — deve haver apenas uma prontamente identificável como a principal função de inicialização (normalmente referida em umamodule_init
declaração). Coloque isso na lista negra e o driver não será inicializado.