Compartir a través de


Compatibilidad con tarjeta de interfaz de red

En este tema se describen los tipos de tarjetas de interfaz de red (NIC) que un controlador de miniporte NDIS puede administrar, así como el modo en que los diferentes tipos de NIC afectan a la forma en que un controlador transfiere los datos de red.

Notificación del tipo medio de una NIC a NDIS

Para notificar un tipo medio para una NIC, un controlador de minipuerto pasa un puntero a una estructura NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES en el parámetro MiniportAttributes de la función NdisMSetMiniportAttributes . Un controlador de minipuerto llama a NdisMSetMiniportAttributes desde su función MiniportInitializeEx durante la inicialización. Los controladores de minipuerto deben establecer los atributos MiniportAttributes después de establecer los atributos de registro en la estructura de NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES y antes de establecer cualquier otro atributo. Establecer los atributos MiniportAttributes es obligatorio. El controlador establece el miembro MediaType de la estructura NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES en el tipo de medio adecuado al establecer los atributos MiniportAttributes .

Cuando un controlador de protocolo NDIS sobreajuste llama a NdisOpenAdapterEx para enlazar a un adaptador de minipuerto especificado, proporciona una lista de tipos medianos en los que puede funcionar. NDIS usa la información del controlador de minipuerto y del controlador de protocolo para configurar un enlace. Este enlace proporciona la ruta de acceso para transferir datos de red hacia arriba y hacia abajo en la pila de controladores.

NIC físicas

Los pasos que un controlador de miniporte completa para inicializar un adaptador de minipuerto y para enviar y recibir datos de red pueden depender de las características de un dispositivo físico, como se indica a continuación.

  • NIC NDIS-WDM

    Con NIC NDIS-WDM, como NIC basadas en USB, la forma en que el controlador de minipuerto administra la memoria con DMA no importa a NDIS y no es visible para él.

  • NIC DMA de patrón de bus

    Estas NIC pueden acceder directamente a la memoria del host a través de un controlador DMA incorporado que administra la transferencia de datos entre la red y la memoria del host sin usar la CPU del host.

    Para enviar, el controlador de minipuerto configura la NIC para asignar los búferes salientes. A continuación, el controlador de minipuerto hace que el dispositivo inicie su transferencia desde esta memoria. El controlador DMA de NIC transfiere los datos de la memoria del sistema compartido a la red e interrumpe la CPU cuando se completa el envío. Para recibirlo, el controlador DMA transfiere los datos entrantes a la memoria del host antes de notificar al host con una interrupción.

    Normalmente, una NIC DMA de maestro de bus tiene un búfer de anillo incorporado que el controlador de miniporte asigna a un conjunto de búferes en la memoria del sistema. Normalmente, la NIC se puede programar para controlar de forma eficaz varios paquetes. Un controlador de minipuerto que administra este tipo de NIC normalmente admite envíos multipaquete y recibe porque la NIC puede controlar de forma eficaz varios paquetes y, por tanto, mejorar su rendimiento de E/S.

  • NIC DMA nobusmaster

    Actualmente, las NIC DMA no maestras incluyen lo siguiente:

    • NIC de DMA del sistema

      Un controlador de minipuerto que administra este tipo de NIC usa el controlador DMA del sistema para administrar la transferencia de datos de paquetes hacia y desde la red. La transferencia de los datos requiere la cooperación de la CPU del host.

NIC virtuales y minipuertos

En una máquina virtual, los controladores de minipuerto de NDIS pueden administrar recursos solo de software como minipuerto virtual o pueden administrar una NIC virtual que represente los recursos de hardware. En la tabla siguiente se explican las diferencias entre un miniporte virtual y una NIC virtual.

Atributo Minipuerto virtual NIC virtual
Definición Un controlador de miniporte NDIS que se asigna a un dispositivo PnP enumerado por software. Una NIC administrada por el hipervisor del sistema operativo host. El hipervisor hace que la máquina virtual piense que tiene algún hardware, pero este hardware no existe realmente en el mundo físico.
Tiene interrupciones No
Puede usar DMA No
Se crea o destruye por... El sistema operativo invitado Sistema operativo host
Puede acceder fuera de una máquina virtual invitada. No