estrutura NDIS_NET_BUFFER_LIST_8021Q_INFO (ndis/nbl8021q.h)
A estrutura NDIS_NET_BUFFER_LIST_8021Q_INFO especifica informações de 802.1Q associadas a uma estrutura NET_BUFFER_LIST .
Sintaxe
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;
Membros
TagHeader
Um membro da união contido em NDIS_NET_BUFFER_LIST_8021Q_INFO. 802.3 Drivers de miniporta Ethernet usam TagHeader para acessar informações de 802.1Q. TagHeader é um campo de bits com os seguintes membros:
TagHeader.UserPriority
Especifica informações de prioridade 802.1p que são usadas para estabelecer prioridade de pacote em redes de mídia compartilhada 802. Os bits neste membro especificam um valor de prioridade de 802,1p.
TagHeader.CanonicalFormatId
Esse membro deve ser definido como zero, o que indica que todas as informações de endereço MAC presentes em um pacote estão em formato canônico (ou seja, forma mais simples).
TagHeader.VlanId
Identifica a VLAN à qual um pacote pertence. Os pacotes de saída são marcados com o identificador de VLAN.
TagHeader.Reserved
Esse membro é reservado e deve ser definido como zero.
WLanTagHeader
Um membro da união contido em NDIS_NET_BUFFER_LIST_8021Q_INFO. Drivers de miniporta nativos 802.11 usam WLanTagHeader para acessar informações do 802.1Q. WLanTagHeader é um campo de bits com os seguintes membros:
WLanTagHeader.UserPriority
Especifica informações de prioridade 802.1p que são usadas para estabelecer prioridade de pacote em redes de mídia compartilhada 802. Os bits neste membro especificam um valor de prioridade de 802,1p.
WLanTagHeader.CanonicalFormatId
Esse membro deve ser definido como zero, o que indica que todas as informações de endereço MAC presentes em um pacote estão em formato canônico (ou seja, forma mais simples).
WLanTagHeader.VlanId
Identifica a VLAN à qual um pacote pertence. Os pacotes de saída são marcados com o identificador de VLAN.
WLanTagHeader.WMMInfo
Um valor inteiro de multimídia sem fio (WMM) que é o mesmo que os campos de identificador de tráfego (TID) que aparecem em determinados quadros que são usados para entregar e controlar a entrega de dados de QoS (Qualidade de Serviço) 802.1Q. Os valores de 0 a 7 representam UPs (prioridades de usuário) de QoS para as MSDUs (unidades de dados de serviço) MAC. Os valores de 8 a 15 são reservados. Portanto, o bit mais alto em WMMInfo deve ser zero.
WLanTagHeader.Reserved
Esse membro é reservado e deve ser definido como zero.
Value
Um membro da união contido em NDIS_NET_BUFFER_LIST_8021Q_INFO. Value contém um valor de ponteiro compatível com o tipo com o membro NetBufferListInfo na estrutura NET_BUFFER_LIST .
Comentários
Para recuperar ou inserir informações de 802.1Q associadas a uma estrutura NET_BUFFER_LIST , um driver NDIS chama a macro NET_BUFFER_LIST_INFO e especifica o tipo de informação Ieee8021QNetBufferListInfo .
A macro NET_BUFFER_LIST_INFO retorna o ponteiro especificado no membro Value da estrutura NDIS_NET_BUFFER_LIST_8021Q_INFO. O driver NDIS pode usar o membro TagHeader ou WLanTagHeader da união para acessar tipos específicos de informações, como prioridade 802.1p e informações de identificador de VLAN. O membro WLanTagHeader fornece acesso às informações de multimídia sem fio (WMM), além das informações disponíveis por meio do membro TagHeader .
Os drivers de miniporta que dão suporte à marca 802.1Q em hardware devem usar a estrutura NDIS_NET_BUFFER_LIST_8021Q_INFO para operações de transmissão e recebimento:
- Para operações de transmissão, o driver de miniporto deve marcar para NDIS_NET_BUFFER_LIST_8021Q_INFO dados OOB na estrutura NET_BUFFER_LIST. O driver de miniporta deve garantir que o hardware crie a marca 802.1Q com base nas especificações do NDIS_NET_BUFFER_LIST_8021Q_INFO e insira-a no quadro Ethernet.
- Para operações de recebimento, o driver de miniporto deve remover a marca 802.1Q do quadro Ethernet e mapear as informações da marca 802.1Q para a NDIS_NET_BUFFER_LIST_8021Q_INFO dados OOB na estrutura NET_BUFFER_LIST antes de indicar os dados para o NDIS com o Função NdisMIndicateReceiveNetBufferLists .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.0 e posterior. |
Cabeçalho | ndis/nbl8021q.h (include ndis.h) |