Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
NDIS 6.0 y versiones posteriores de NDIS proporcionan palabras clave de enumeración estandarizadas para los controladores de miniporte de los dispositivos de red. Las palabras clave de enumeración están asociadas a valores que aparecen como una lista en un menú.
En el ejemplo siguiente se muestra una definición de archivo INF para una palabra clave de enumeración.
HKR, Ndi\params\<SubkeyName>, ParamDesc, 0, "%<SubkeyName>%"
HKR, Ndi\params\<SubkeyName>, Type, 0, "enum"
HKR, Ndi\params\<SubkeyName>, Default, 0, "3"
HKR, Ndi\params\<SubkeyName>, Optional, 0, "0"
HKR, Ndi\params\<SubkeyName>\enum, "0", 0, "%Disabled%"
HKR, Ndi\params\<SubkeyName>\enum, "1", 0, "%Tx Enabled%"
HKR, Ndi\params\<SubkeyName>\enum, "2", 0, "%Rx Enabled%"
HKR, Ndi\params\<SubkeyName>\enum, "3", 0, "%Rx & Tx Enabled%"
Las palabras clave de enumeración generales son:
*SpeedDuplex
Configuraciones de velocidad y dúplex que admite un dispositivo. El archivo INF del dispositivo debe enumerar solo la configuración que admite el dispositivo asociado. Es decir, para un dispositivo Ethernet 10/100 que solo puede admitir el modo dúplex completo, la configuración de Gigabit o velocidades superiores o dúplex medio no debe aparecer en el archivo INF asociado.
Los valores de velocidad que no están definidos específicamente ya con valores enumerados de 0 a 10 se pueden establecer como un número que es el valor directamente en Mbps. Los valores directos deben ser de al menos 1000 Mbps (1 Gbps) y superiores. Estos son algunos ejemplos para especificar la velocidad directamente:
| SpeedDuplex value | Resulting speed |
|---|---|
| 1,000 | 1 Gbps |
| 10,000 | 10 Gbps |
| 25,000 | 25 Gbps |
| 50,000 | 50 Gbps |
| 100,000 | 100 Gbps |
*FlowControl
La capacidad del dispositivo para habilitar o deshabilitar el control de flujo en la ruta de acceso de envío o recepción.
Nota Los dispositivos Ethernet admiten actualmente el control de flujo y los controladores de Windows 8 en caja para LAN tienen habilitado el control de flujo de forma predeterminada. Cuando un depurador de kernel se asocia a uno de estos adaptadores LAN, la NIC comenzará a insertar los fotogramas de pausa del control de flujo en la red. La mayoría de los conmutadores de red reaccionarán al quitar temporalmente la red para todos los demás equipos conectados al mismo centro. Se trata de un escenario de desarrollo común y la experiencia del usuario final es no deseada y difícil de diagnosticar.
Nota Los valores predeterminados de cliente y servidor no son los mismos; consulte la tabla de valores predeterminados a continuación.
Por este motivo, en Windows 8 y versiones posteriores, NDIS deshabilitará automáticamente el control de flujo cuando se habilite la depuración en el equipo (por ejemplo, escribiendo bcdedit /set debug on en la línea de comandos). Cuando la depuración del kernel está habilitada y el miniport llama a NdisReadConfiguration y proporciona "*FlowControl" para el parámetro Keyword, NDIS sobrescribirá el valor configurado y devolverá cero.
Si necesita habilitar el control de flujo durante la depuración, NDIS proporciona el valor del Registro AllowFlowControlUnderDebugger para permitirle hacerlo. El valor del Registro AllowFlowControlUnderDebugger impide que NDIS deshabilite el control de flujo y permita que las NIC mantengan su comportamiento configurado. Se puede encontrar en la siguiente clave del Registro:
\ HKEY_LOCAL_MACHINESistema\CurrentControlSet\Servicios\NDIS\Parámetros
Establezca este valor del Registro en 0x00000001.
Si no existe, puede crear un valor con el nombre AllowFlowControlUnderDebugger y el tipo REG_DWORD y establecerlo en 0x00000001.
*PriorityVLANTag
Valor que indica si el dispositivo ha habilitado o deshabilitado la capacidad de insertar las etiquetas 802.1Q para la prioridad de paquetes y las REDES virtuales (VLAN). Esta palabra clave no indica si el dispositivo tiene habilitada o deshabilitada la prioridad de paquetes o las etiquetas VLAN. En su lugar, describe lo siguiente:
- Si el dispositivo inserta etiquetas 802.1Q durante una operación de envío
- Si las etiquetas de 802.1Q están disponibles en la información de NET_BUFFER_LIST fuera de banda (OOB)
- Si el dispositivo copia las etiquetas 802.1Q en OOB durante las operaciones de recepción
El controlador de miniport debe quitar el encabezado 802.1Q de todos los paquetes de recepción, independientemente de la configuración *PriorityVLANTag . Si el encabezado 802.1Q se deja en un paquete, es posible que otros controladores no puedan analizar el paquete correctamente.
Si la marca Rx está habilitada en la ruta de recepción, el controlador miniport debe copiar el encabezado 802.1Q quitado en OOB.
De lo contrario, si la marca Rx está deshabilitada, el controlador de miniport no debe copiar el encabezado 802.1Q quitado en OOB.
Si la marca Tx está habilitada en la ruta de transmisión, el controlador de miniporte debe hacer lo siguiente:
- Inserte el encabezado 802.1Q en cada paquete saliente y complételo con los datos de OOB (si hay datos distintos de cero en OOB).
- Anuncie las MacOptions adecuadas en NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES (NDIS_MAC_OPTION_8021P_PRIORITY y NDIS_MAC_OPTION_8021Q_VLAN).
De lo contrario, si la marca Tx está deshabilitada, haga lo siguiente:
- El filtro de miniporte no debe respetar la información de 802.1Q en OOB (y, por lo tanto, no insertar ninguna etiqueta).
- El filtro miniporte no debe anunciar las MacOptions adecuadas en NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES.
Nota Si el controlador de miniporte admite la calidad de servicio NDIS (QoS), también debe leer el valor de palabra clave *QOS . En función del valor de palabra clave *QOS , los valores de palabra clave *PriorityVLANTag se interpretan de forma diferente. Para obtener más información, vea Palabras clave INF estandarizadas para QoS de NDIS.
*InterruptModeration
Valor que describe si el dispositivo está habilitado o deshabilitado para la moderación de interrupciones. Los algoritmos de moderación de interrupciones dependen del dispositivo. El fabricante del dispositivo puede usar palabras clave no estandarizadas para admitir la configuración algorítmica. Para obtener más información sobre la moderación de interrupciones, consulte Moderación de interrupciones.
*RSS
Valor que describe si el dispositivo está habilitado o deshabilitado para el escalado lateral de recepción (RSS). Para obtener más información sobre RSS, consulte de escalado lateral de recepción.
*HeaderDataSplit
Valor que describe si el dispositivo ha habilitado o deshabilitado la separación de datos de encabezado. Para obtener más información sobre la división de datos de encabezado, consulte Header-Data Split.
Las siguientes palabras clave están asociadas a los servicios de transferencia de carga de conexión:
*TCPConnectionOffloadIPv4
*TCPConnectionOffloadIPv6
Para obtener más información sobre las palabras clave de descarga de conexión, vea Usar valores del Registro para habilitar y deshabilitar la descarga de conexión.
Las siguientes palabras clave están asociadas a los servicios de descarga de tareas:
*IPChecksumOffloadIPv4
*TCPChecksumOffloadIPv4
*TCPChecksumOffloadIPv6
*UDPChecksumOffloadIPv4
*UDPChecksumOffloadIPv6
*LsoV1IPv4
*LsoV2IPv4
Nota Para dispositivos que admiten tanto envío masivo descargado versión 1 (LSOv1) como LSOv2 sobre IPv4, solo se debe usar la palabra clave *LsoV2IPv4 en los valores del registro y en el archivo INF. Si, por ejemplo, la palabra clave *LsoV2IPv4 aparece en el archivo INF y la palabra clave *LsoV1IPv4 aparece en el Registro (o viceversa), la palabra clave *LsoV2IPv4 siempre tiene prioridad.
*LsoV2IPv6
*IPsecOffloadV1IPv4
*IPsecOffloadV2
*IPsecOffloadV2IPv4
*TCPUDPChecksumOffloadIPv4
*TCPUDPChecksumOffloadIPv6
Para obtener más información sobre las palabras clave de descarga tcp/IP, vea Uso de valores del Registro para habilitar y deshabilitar la descarga de tareas.
Las columnas de la tabla al final de este tema describen los siguientes atributos para las palabras clave de enumeración:
SubkeyName
Nombre de la palabra clave que debe especificar en el archivo INF y que aparece en el Registro.
ParamDesc
Texto para mostrar asociado a SubkeyName.
Value
Valor entero de enumeración asociado a cada opción de la lista. Este valor se almacena en NDI\params\SubkeyName\Value.
EnumDesc
Texto para mostrar asociado a cada valor que aparece en el menú.
Default
Valor predeterminado del menú.
En la tabla siguiente se enumeran todas las palabras clave y se describen los valores que un controlador debe usar para los atributos anteriores. Para obtener más información sobre una palabra clave, busque la palabra clave en la documentación de WDK.
| SubkeyName | ParamDesc | Value | EnumDesc |
|---|---|---|---|
| *SpeedDuplex | Velocidad y dúplex | 0 (Default) | Auto Negotiation |
| 1 | 10 Mbps dúplex medio | ||
| 2 | Dúplex completo de 10 Mbps | ||
| 3 | Dúplex medio de 100 Mbps | ||
| 4 | Dúplex completo de 100 Mbps | ||
| 5 | Dúplex medio de 1,0 Gbps | ||
| 6 | Dúplex completo de 1,0 Gbps | ||
| 7 | Dúplex completo de 10 Gbps | ||
| 8 | Dúplex completo de 20 Gbps | ||
| 9 | Dúplex completo de 40 Gbps | ||
| 10 | Dúplex completo de 100 Gbps | ||
| *FlowControl | Flow Control | 0 (valor predeterminado del servidor) | Tx & Rx Disabled |
| 1 | Tx Enabled | ||
| 2 | Rx Enabled | ||
| 3 (valor predeterminado del cliente) | Rx y Tx habilitados | ||
| 4 | Auto Negotiation | ||
| *PriorityVLANTag | Prioridad de paquetes y VLAN | 0 | Prioridad de paquete y VLAN deshabilitado |
| 1 | Prioridad de paquete habilitada | ||
| 2 | VLAN Enabled | ||
| 3 (Default) | Prioridad de paquete y VLAN habilitado | ||
| *InterruptModeration | Interrupt Moderation | 0 | Disabled |
| 1 (Default) | Enabled | ||
| *RSS | Escalado del lado de recepción | 0 | Disabled |
| 1 (Default) | Enabled | ||
| *HeaderDataSplit | División de datos de encabezado | 0 (Default) | Disabled |
| 1 | Enabled | ||
| *TCPConnectionOffloadIPv4 | Descarga de conexión TCP/IP (IPv4) | 0 | Disabled |
| 1 (Default) | Enabled | ||
| *TCPConnectionOffloadIPv6 | Descarga de conexión TCP (IPv6) | 0 | Disabled |
| 1 (Default) | Enabled | ||
| *IPChecksumOffloadIPv4 | Descarga de suma de comprobación IPv4 | 0 | Disabled |
| 1 | Tx Enabled | ||
| 2 | Rx Enabled | ||
| 3 (Default) | Rx y Tx habilitados | ||
| *TCPChecksumOffloadIPv4 | Descarga de suma de comprobación TCP (IPv4) | 0 | Disabled |
| 1 | Tx Enabled | ||
| 2 | Rx Enabled | ||
| 3 (Default) | Rx y Tx habilitados | ||
| *TCPChecksumOffloadIPv6 | Descarga de suma de comprobación TCP (IPv6) | 0 | Disabled |
| 1 | Tx Enabled | ||
| 2 | Rx Enabled | ||
| 3 (Default) | Rx y Tx habilitados | ||
| *UDPChecksumOffloadIPv4 | Descarga de suma de comprobación UDP (IPv4) | 0 | Disabled |
| 1 | Tx Enabled | ||
| 2 | Rx Enabled | ||
| 3 (Default) | Rx y Tx habilitados | ||
| *UDPChecksumOffloadIPv6 | Descarga de suma de comprobación UDP (IPv6) | 0 | Disabled |
| 1 | Tx Enabled | ||
| 2 | Rx Enabled | ||
| 3 (Default) | Rx y Tx habilitados | ||
| *LsoV1IPv4 | Descarga de envío grande versión 1 (IPv4) | 0 | Disabled |
| 1 (Default) | Enabled | ||
| *LsoV2IPv4 | Descarga de envío grande versión 2 (IPv4) | 0 | Disabled |
| 1 (Default) | Enabled | ||
| *LsoV2IPv6 | Descarga de Envío Grande de Datos versión 2 (IPv6) | 0 | Disabled |
| 1 (Default) | Enabled | ||
| *IPsecOffloadV1IPv4 | Descarga de IPsec versión 1 (IPv4) | 0 | Disabled |
| 1 | Encabezado de autenticación habilitado | ||
| 2 | ESP Enabled | ||
| 3 (Default) | Encabezado de autenticación y ESP habilitado | ||
| *IPsecOffloadV2 | IPsec Offload | 0 | Disabled |
| 1 | Encabezado de autenticación habilitado | ||
| 2 | ESP Enabled | ||
| 3 (Default) | Encabezado de autenticación y ESP habilitado | ||
| *IPsecOffloadV2IPv4 | Descarga de IPsec (solo IPv4) | 0 | Disabled |
| 1 | Encabezado de autenticación habilitado | ||
| 2 | ESP Enabled | ||
| 3 (Default) | Encabezado de autenticación y ESP habilitado | ||
| *TCPUDPChecksumOffloadIPv4 | Despliegue de suma de comprobación TCP/UDP (IPv4) | 0 | Disabled |
| 1 | Tx Enabled | ||
| 2 | Rx Enabled | ||
| 3 (Default) | Tx y Rx habilitados | ||
| *TCPUDPChecksumOffloadIPv6 | Descarga de suma de comprobación TCP/UDP (IPv6) | 0 | Disabled |
| 1 | Tx Enabled | ||
| 2 | Rx Enabled | ||
| 3 (Default) | Tx y Rx habilitados |