Executar um comando após a eth0 estar disponível, mas antes do cliente DHCP

Executar um comando após a eth0 estar disponível, mas antes do cliente DHCP

Estou executando o Debian Weezy em uma placa ARM. No momento, estou resolvendo um problema com meu driver de rede executando um comando ethtool que limita a interface Ethernet a 100 megabits. No entanto, o problema com o driver se manifesta já na negociação do DHCP, então preciso executar o ethtool antes da execução do dhclient.

Tenho tentado encontrar um lugar onde o ethtool (ou mii-tool, de qualquer forma) possa ser executado antes do dhclient. Até agora, todos os lugares que tentei ( /etc/network/if-pre-up.de /etc/dhcp/dhclient-enter-hooks.d) não funcionarão porque "eth0" ainda não está presente.

Existe um gancho limpo na rede Debian ou na configuração do sistema onde eu possa fazer alterações no estado da Ethernet antes da execução do dhclient? Ou estou tentando fazer algo impossível aqui?

Responder1

Deveria ser possível trazer o eth como "manual" e depois aplicar quaisquer scripts arbitrários que você deseja executar, incluindo sleeps para desacelerar as coisas, e então chamar o dhclient no final. No Ubuntu ficaria assim em /etc/network/interfaces

auto eth0
iface eth0 inet manual
pre-up /etc/network/pre-up-scripts/eth0.sh  ( one way to do it)
pre-up some-script-or-command  (another way)
up dhclient  eth0

A página de manual para interfaces é bastante útil.

informação relacionada