struttura NDIS_NET_BUFFER_LIST_8021Q_INFO (ndis/nbl8021q.h)

La struttura NDIS_NET_BUFFER_LIST_8021Q_INFO specifica le informazioni 802.1Q associate a una struttura NET_BUFFER_LIST .

Sintassi

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;

Members

TagHeader

Membro dell'unione contenuta in NDIS_NET_BUFFER_LIST_8021Q_INFO. I driver miniport Ethernet 802.3 usano TagHeader per accedere alle informazioni 802.1Q. TagHeader è un campo di bit con i membri seguenti:

TagHeader.UserPriority

Specifica le informazioni sulla priorità 802.1p usate per stabilire la priorità dei pacchetti nelle reti shared-media 802. I bit in questo membro specificano un valore di priorità 802.1p.

TagHeader.CanonicalFormatId

Questo membro deve essere impostato su zero, che indica che tutte le informazioni sull'indirizzo MAC presenti in un pacchetto sono in formato canonico, ovvero il formato più semplice.

TagHeader.VlanId

Identifica la VLAN a cui appartiene un pacchetto. I pacchetti in uscita sono contrassegnati con l'identificatore VLAN.

TagHeader.Reserved

Questo membro è riservato e deve essere impostato su zero.

WLanTagHeader

Membro dell'unione contenuta in NDIS_NET_BUFFER_LIST_8021Q_INFO. I driver miniport nativi 802.11 usano WLanTagHeader per accedere alle informazioni 802.1Q. WLanTagHeader è un campo di bit con i membri seguenti:

WLanTagHeader.UserPriority

Specifica le informazioni sulla priorità 802.1p usate per stabilire la priorità dei pacchetti nelle reti shared-media 802. I bit in questo membro specificano un valore di priorità 802.1p.

WLanTagHeader.CanonicalFormatId

Questo membro deve essere impostato su zero, che indica che tutte le informazioni sull'indirizzo MAC presenti in un pacchetto sono in formato canonico, ovvero il formato più semplice.

WLanTagHeader.VlanId

Identifica la VLAN a cui appartiene un pacchetto. I pacchetti in uscita sono contrassegnati con l'identificatore VLAN.

WLanTagHeader.WMMInfo

Valore intero WMM (Wireless Multimedia) che corrisponde ai campi dell'identificatore di traffico (TID) visualizzati in determinati fotogrammi utilizzati per recapitare e controllare il recapito dei dati QoS (802.1Q Quality of Service). I valori da 0 a 7 rappresentano le priorità utente QoS per le unità dati del servizio MAC (MSDU). I valori da 8 a 15 sono riservati. Pertanto, il bit più alto in WMMInfo deve essere zero.

Nota Le specifiche del traffico (TSPEC) e la classificazione del traffico (TCLAS) non sono supportate.
 

WLanTagHeader.Reserved

Questo membro è riservato e deve essere impostato su zero.

Value

Membro dell'unione contenuta in NDIS_NET_BUFFER_LIST_8021Q_INFO. Il valore contiene un valore puntatore compatibile con il tipo con il membro NetBufferListInfo nella struttura NET_BUFFER_LIST .

Commenti

Per recuperare o inserire informazioni 802.1Q associate a una struttura di NET_BUFFER_LIST , un driver NDIS chiama la macro NET_BUFFER_LIST_INFO e specifica il tipo di informazioni Ieee8021QNetBufferListInfo .

La macro NET_BUFFER_LIST_INFO restituisce il puntatore specificato nel membro Value della struttura NDIS_NET_BUFFER_LIST_8021Q_INFO. Il driver NDIS può usare il membro TagHeader o WLanTagHeader dell'unione per accedere a tipi specifici di informazioni, ad esempio le informazioni sulla priorità 802.1p e sull'identificatore VLAN. Il membro WLanTagHeader fornisce l'accesso alle informazioni WMM (Wireless Multimedia) oltre alle informazioni disponibili tramite il membro TagHeader .

I driver Miniport che supportano il tag 802.1Q nell'hardware devono usare la struttura NDIS_NET_BUFFER_LIST_8021Q_INFO per le operazioni di trasmissione e ricezione:

  • Per le operazioni di trasmissione, il driver miniport deve verificare la presenza di dati OOB NDIS_NET_BUFFER_LIST_8021Q_INFO nella struttura NET_BUFFER_LIST . Il driver miniport deve garantire che l'hardware crei il tag 802.1Q dalle specifiche NDIS_NET_BUFFER_LIST_8021Q_INFO e lo inserisca nel frame Ethernet.
  • Per le operazioni di ricezione, il driver miniport deve rimuovere il tag 802.1Q dal frame Ethernet ed eseguire il mapping delle informazioni sul tag 802.1Q nei dati OOB NDIS_NET_BUFFER_LIST_8021Q_INFO nella struttura NET_BUFFER_LIST prima di indicare i dati a NDIS con il Funzione NdisMIndicateReceiveNetBufferLists .

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Intestazione ndis/nbl8021q.h (include ndis.h)

Vedi anche

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisMIndicateReceiveNetBufferLists