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 do sindicato que está contido em NDIS_NET_BUFFER_LIST_8021Q_INFO. Os drivers de miniporto Ethernet 802.3 usam TagHeader para acessar informações do 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 a prioridade do pacote em redes 802 de mídia compartilhada. 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 do sindicato que está contido em NDIS_NET_BUFFER_LIST_8021Q_INFO. Os drivers de miniporto 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 a prioridade do pacote em redes 802 de mídia compartilhada. 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) do QoS para as MSDUs (unidades de dados do 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 do sindicato que está 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.
Observações
Para recuperar ou inserir informações de 802.1Q associadas a uma estrutura de 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 Value membro da estrutura NDIS_NET_BUFFER_LIST_8021Q_INFO. O driver NDIS pode usar o tagHeader ou WLanTagHeader membro do sindicato para acessar tipos específicos de informações, como informações de prioridade 802.1p e identificador de VLAN. O membro do 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 miniport que dão suporte à marca 802.1Q no 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 verificar NDIS_NET_BUFFER_LIST_8021Q_INFO dados OOB na estrutura de NET_BUFFER_LIST. O driver de miniporto 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 os dados OOB NDIS_NET_BUFFER_LIST_8021Q_INFO na estrutura NET_BUFFER_LIST antes de indicar os dados para o NDIS com o função NdisMIndicateReceiveNetBufferLists.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.0 e posterior. |
cabeçalho | ndis/nbl8021q.h (inclua ndis.h) |