Quero saber o que realmente acontece quando desligo minha Ethernet. O que o sistema operacional faz em uma camada de rede? Ele libera a tabela de roteamento ou algo parecido.
Responder1
O kernel Linux descreve cada adaptador Ethernet (dispositivo físico ou virtual) por struct net_device
(estrutura net_device). Cada um struct net_device
possui um conjunto struct net_device_ops
que deve ser implementado pelo driver de dispositivo. O mais importante deles:
ndo_open()
. Chamado quando você configura o adaptador Ethernet como LIGADO (ip link set up dev <eth_dev>
).ndo_start_xmit()
. Chamado quando você começa a transmitir dados pela interface.ndo_stop()
. Chamado quando você define o adaptador Ethernet como OFF(ip link set down dev <eth_dev>
).
Então, o que realmente acontece quando o dispositivo está inativo?
Existem um conjunto de rotinas implementadas na maioria dos drivers:
- interrompa todas as filas relacionadas a um dispositivo específico.
- limpe as entradas da tabela ARP relacionadas ao dispositivo específico.
- marque o status da interface como
DOWN
(ip link show dev <eth_dev>
). - recursos específicos do dispositivo: limpar algumas estruturas, buffers, mover o chip dos controladores Ethernet para dormir ...