estructura NDIS_NET_BUFFER_LIST_8021Q_INFO (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 de miniport ethernet 802.3 usan TagHeader para acceder a la información de 802.1Q. TagHeader es un campo bit con los siguientes miembros:
TagHeader.UserPriority
Especifica la información de prioridad 802.1p que se usa para establecer la prioridad de paquetes en redes de medios compartidos 802. 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 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 miniport 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 802.1p que se usa para establecer la prioridad de paquetes en redes de medios compartidos 802. 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 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 las prioridades de usuario (UP) de QoS para las unidades de datos del servicio MAC (MSDUs). Los valores de 8 a 15 están reservados. Por lo tanto, el bit más alto de WMMInfo debe ser cero.
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. Value contiene un valor de puntero compatible con el tipo con el miembro netBufferListInfo de en la estructura de NET_BUFFER_LIST.
Observaciones
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 TagHeader o miembro WLanTagHeader de la unión para acceder a tipos específicos de información, como la información de prioridad de 802.1p y el 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 miniporte que admiten la etiqueta 802.1Q en 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 miniporte debe comprobar si hay datos de OOB NDIS_NET_BUFFER_LIST_8021Q_INFO en la estructura de NET_BUFFER_LIST. El controlador miniport 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 los datos de NDIS_NET_BUFFER_LIST_8021Q_INFO OOB en la estructura de NET_BUFFER_LIST antes de indicar los datos a NDIS con el función NdisMIndicateReceiveNetBufferLists.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Se admite en NDIS 6.0 y versiones posteriores. |
encabezado de | ndis/nbl8021q.h (include ndis.h) |