Partilhar via


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.

Observação TSPEC (especificação de tráfego) e TCLAS (classificação de tráfego) não têm suporte.
 

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)

Consulte também

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisMIndicateReceiveNetBufferLists