Quiero saber qué sucede realmente una vez que apago mi Ethernet. ¿Qué hace el sistema operativo en una capa de red? ¿Vacia la tabla de enrutamiento o algo así?
Respuesta1
El kernel de Linux describe cada adaptador Ethernet (dispositivo físico o virtual) mediante struct net_device
(estructura net_device). Cada uno struct net_device
tiene un conjunto struct net_device_ops
que debe implementarse mediante el controlador del dispositivo. El más importante de ellos:
ndo_open()
. Se llama cuando configura el adaptador Ethernet en ON (ip link set up dev <eth_dev>
).ndo_start_xmit()
. Se llama cuando comienza a transmitir datos a través de la interfaz.ndo_stop()
. Se llama cuando configura el adaptador Ethernet en APAGADO (ip link set down dev <eth_dev>
).
Entonces, ¿qué ocurre realmente cuando el dispositivo se CAE?
Hay un conjunto de rutinas que se implementan en la mayoría de los conductores:
- detener todas las colas relacionadas con un dispositivo específico.
- borre las entradas de la tabla ARP relacionadas con un dispositivo específico.
- marcar el estado de la interfaz como
DOWN
(ip link show dev <eth_dev>
). - Características específicas del dispositivo: borrar algunas estructuras, buffers, mover el chip de los controladores Ethernet a modo de suspensión...