NDIS_NET_BUFFER_LIST_8021Q_INFO estructura (ndis/nbl8021q.h)

La estructura NDIS_NET_BUFFER_LIST_8021Q_INFO especifica la información 802.1Q asociada a una estructura de NET_BUFFER_LIST .

Sintaxis

typedef struct _NDIS_NET_BUFFER_LIST_8021Q_INFO {
  union {
    struct {
      UINT32 UserPriority : 3;
      UINT32 CanonicalFormatId : 1;
      UINT32 VlanId : 12;
      UINT32 Reserved : 16;
    } TagHeader;
    struct {
      UINT32 UserPriority : 3;
      UINT32 CanonicalFormatId : 1;
      UINT32 VlanId : 12;
      UINT32 WMMInfo : 4;
      UINT32 Reserved : 12;
    } WLanTagHeader;
    PVOID Value;
  };
} NDIS_NET_BUFFER_LIST_8021Q_INFO, *PNDIS_NET_BUFFER_LIST_8021Q_INFO;

Miembros

TagHeader

Miembro de la unión contenida en NDIS_NET_BUFFER_LIST_8021Q_INFO. Los controladores miniport ethernet 802.3 usan TagHeader para acceder a la información 802.1Q. TagHeader es un campo de bits con los miembros siguientes:

TagHeader.UserPriority

Especifica la información de prioridad de 802.1p que se usa para establecer la prioridad de paquetes en redes compartidas 802 de medios compartidos. Los bits de este miembro especifican un valor de prioridad 802.1p.

TagHeader.CanonicalFormatId

Este miembro debe establecerse en cero, lo que indica que toda la información de dirección MAC presente en un paquete está en formato canónico (es decir, forma más sencilla).

TagHeader.VlanId

Identifica la VLAN a la que pertenece un paquete. Los paquetes salientes se marcan con el identificador de VLAN.

TagHeader.Reserved

Este miembro está reservado y debe establecerse en cero.

WLanTagHeader

Miembro de la unión contenida en NDIS_NET_BUFFER_LIST_8021Q_INFO. Los controladores de minipuerto nativos 802.11 usan WLanTagHeader para acceder a la información de 802.1Q. WLanTagHeader es un campo de bits con los siguientes miembros:

WLanTagHeader.UserPriority

Especifica la información de prioridad de 802.1p que se usa para establecer la prioridad de paquetes en redes compartidas 802 de medios compartidos. Los bits de este miembro especifican un valor de prioridad 802.1p.

WLanTagHeader.CanonicalFormatId

Este miembro debe establecerse en cero, lo que indica que toda la información de dirección MAC presente en un paquete está en formato canónico (es decir, forma más sencilla).

WLanTagHeader.VlanId

Identifica la VLAN a la que pertenece un paquete. Los paquetes salientes se marcan con el identificador de VLAN.

WLanTagHeader.WMMInfo

Valor entero multimedia inalámbrico (WMM) que es el mismo que los campos de identificador de tráfico (TID) que aparecen en determinados fotogramas que se usan para entregar y controlar la entrega de datos de calidad de servicio (QoS) 802.1Q. Los valores del 0 al 7 representan prioridades de usuario (UP) de QoS para las unidades de datos del servicio MAC (MSDU). Los valores de 8 a 15 están reservados. Por lo tanto, el bit más alto de WMMInfo debe ser cero.

Nota No se admiten la especificación del tráfico (TSPEC) ni la clasificación del tráfico (TCLAS).
 

WLanTagHeader.Reserved

Este miembro está reservado y debe establecerse en cero.

Value

Miembro de la unión contenida en NDIS_NET_BUFFER_LIST_8021Q_INFO. El valor contiene un valor de puntero que es compatible con el tipo con el miembro NetBufferListInfo en la estructura NET_BUFFER_LIST .

Comentarios

Para recuperar o insertar información 802.1Q asociada a una estructura de NET_BUFFER_LIST , un controlador NDIS llama a la macro NET_BUFFER_LIST_INFO y especifica el tipo de información Ieee8021QNetBufferListInfo .

La macro NET_BUFFER_LIST_INFO devuelve el puntero especificado en el miembro Value de la estructura NDIS_NET_BUFFER_LIST_8021Q_INFO. El controlador NDIS puede usar el miembro TagHeader o WLanTagHeader de la unión para tener acceso a tipos específicos de información, como la prioridad de 802.1p y la información del identificador de VLAN. El miembro WLanTagHeader proporciona acceso a la información multimedia inalámbrica (WMM) además de la información disponible a través del miembro TagHeader .

Los controladores de minipuerto que admiten la etiqueta 802.1Q en el hardware deben usar la estructura NDIS_NET_BUFFER_LIST_8021Q_INFO para las operaciones de transmisión y recepción:

  • Para las operaciones de transmisión, el controlador de minipuerto debe comprobar si hay datos de OOB NDIS_NET_BUFFER_LIST_8021Q_INFO en la estructura NET_BUFFER_LIST . El controlador de minipuerto debe asegurarse de que el hardware crea la etiqueta 802.1Q a partir de las especificaciones de NDIS_NET_BUFFER_LIST_8021Q_INFO e insertarla en el marco Ethernet.
  • Para las operaciones de recepción, el controlador de minipuerto debe quitar la etiqueta 802.1Q del marco Ethernet y asignar la información de etiqueta 802.1Q a la NDIS_NET_BUFFER_LIST_8021Q_INFO datos OOB de la estructura NET_BUFFER_LIST antes de indicar los datos a NDIS con el Función NdisMIndicateReceiveNetBufferLists .

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en NDIS 6.0 y versiones posteriores.
Encabezado ndis/nbl8021q.h (include ndis.h)

Consulte también

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisMIndicateReceiveNetBufferLists