[Linux gráfico] [Serie de pila de red]: abstracción y realización del controlador de dispositivo de red

Inserte la descripción de la imagen aquí

Arquitectura del controlador de dispositivo de red

La arquitectura del controlador de red de Linux se puede dividir en cuatro capas, como se muestra en la siguiente figura, de arriba a abajo son la capa de interfaz de protocolo, la capa de interfaz de dispositivo de red y luego la capa de función del controlador de dispositivo que proporciona las funciones reales, así como el dispositivo de red y los medios de red. Piso.
Inserte la descripción de la imagen aquí
LinuxEl código fuente del kernel proporciona una interfaz de dispositivo de red y un código de nivel superior, por lo que el trabajo principal de trasplantar controladores de hardware de red específicos es completar el código correspondiente de la capa de función del controlador de dispositivo y definir struc t net_devicela estructura del tipo de interfaz de dispositivo de red de acuerdo con las características específicas del hardware de la capa subyacente. variable de cuerpo, e implementada en la que una función de operación correspondiente y el controlador de interrupciones Linuxpara todos los dispositivos de red se abstraen como una interfaz uniforme, es decir, la interfaz de dispositivo de red, a través de la struct net_devicevariable de estructura que representa el tipo de operación de los dispositivos de red en el núcleo, donde ambos que comprende un equipo de bucle ( loopback), que incluye la interfaz de dispositivos de hardware con la red central por dev _ baseel dispositivo como un puntero de cabeza de lista para administrar todos los dispositivos de red.

En realidad, dev_baseapunta a deviceun puntero de estructura, y se compone de deviceestructuras del encabezado de la configuración de la tabla de lista, después de completar la inicialización del sistema, el sistema detecta que el dispositivo de red se almacena automáticamente en esta lista vinculada, cada entrada de la lista representa un Un dispositivo de red físico existente. Cuando se va a enviar un paquete de datos, el subsistema de red seleccionará la interfaz de red correspondiente para la transmisión de datos de acuerdo con la tabla de enrutamiento del sistema, y ​​cuando se reciba el paquete de datos, recibirá los datos a través del programa de servicio de interrupción registrado por el controlador.

abstracción net_device

Implementación de controlador de red

Supongo que te gusta

Origin blog.csdn.net/qq_33487044/article/details/108183443
Recomendado
Clasificación