NDIS_NET_BUFFER_LIST_8021Q_INFO-Struktur (ndis/nbl8021q.h)

Die NDIS_NET_BUFFER_LIST_8021Q_INFO-Struktur gibt 802.1Q-Informationen an, die einer NET_BUFFER_LIST-Struktur zugeordnet sind.

Syntax

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;

Member

TagHeader

Ein Member in der Union, das in NDIS_NET_BUFFER_LIST_8021Q_INFO enthalten ist. 802.3 Ethernet-Miniporttreiber verwenden TagHeader , um auf 802.1Q-Informationen zuzugreifen. TagHeader ist ein Bitfeld mit den folgenden Membern:

TagHeader.UserPriority

Gibt 802.1p-Prioritätsinformationen an, die zum Festlegen der Paketpriorität in Shared Media 802-Netzwerken verwendet werden. Die Bits in diesem Member geben einen Prioritätswert von 802,1p an.

TagHeader.CanonicalFormatId

Dieser Member sollte auf 0 (null) festgelegt werden, was angibt, dass alle mac-Adressinformationen in einem Paket im kanonischen Format vorliegen (also in der einfachsten Form).

TagHeader.VlanId

Identifiziert das VLAN, zu dem ein Paket gehört. Ausgehende Pakete werden mit dem VLAN-Bezeichner gekennzeichnet.

TagHeader.Reserved

Dieser Member ist reserviert und sollte auf 0 (null) festgelegt werden.

WLanTagHeader

Ein Member in der Union, das in NDIS_NET_BUFFER_LIST_8021Q_INFO enthalten ist. Native 802.11-Miniporttreiber verwenden WLanTagHeader , um auf 802.1Q-Informationen zuzugreifen. WLanTagHeader ist ein Bitfeld mit den folgenden Membern:

WLanTagHeader.UserPriority

Gibt 802.1p-Prioritätsinformationen an, die zum Festlegen der Paketpriorität in Shared Media 802-Netzwerken verwendet werden. Die Bits in diesem Member geben einen Prioritätswert von 802,1p an.

WLanTagHeader.CanonicalFormatId

Dieser Member sollte auf 0 (null) festgelegt werden, was angibt, dass alle mac-Adressinformationen in einem Paket im kanonischen Format vorliegen (also in der einfachsten Form).

WLanTagHeader.VlanId

Identifiziert das VLAN, zu dem ein Paket gehört. Ausgehende Pakete werden mit dem VLAN-Bezeichner gekennzeichnet.

WLanTagHeader.WMMInfo

Ein ganzzahliger Wert für wireless Multimedia (WMM), der mit den TID-Feldern (Traffic Identifier) identisch ist, die in bestimmten Frames angezeigt werden, die zum Übermitteln und Steuern der Übermittlung von QoS-Daten (Quality of Service) von 802.1Q verwendet werden. Die Werte 0 bis 7 stellen QoS-Benutzerprioritäten (UPs) für die MAC-Dienstdateneinheiten (MSDUs) dar. Die Werte 8 bis 15 sind reserviert. Daher muss das höchste Bit in WMMInfo null sein.

Hinweis Die Datenverkehrsspezifikation (TSPEC) und die Datenverkehrsklassifizierung (TCLAS) werden nicht unterstützt.
 

WLanTagHeader.Reserved

Dieser Member ist reserviert und sollte auf 0 (null) festgelegt werden.

Value

Ein Member in der Union, das in NDIS_NET_BUFFER_LIST_8021Q_INFO enthalten ist. Value enthält einen Zeigerwert, der typkompatibel mit dem NetBufferListInfo-Element in der NET_BUFFER_LIST-Struktur ist.

Hinweise

Zum Abrufen oder Einfügen von 802.1Q-Informationen, die einer NET_BUFFER_LIST-Struktur zugeordnet sind, ruft ein NDIS-Treiber das makro NET_BUFFER_LIST_INFO auf und gibt den Ieee8021QNetBufferListInfo-Informationstyp an.

Das NET_BUFFER_LIST_INFO Makro gibt den Zeiger zurück, der im Value-Element der NDIS_NET_BUFFER_LIST_8021Q_INFO-Struktur angegeben ist. Der NDIS-Treiber kann den TagHeader - oder WLanTagHeader-Member der Union verwenden, um auf bestimmte Informationstypen zuzugreifen, z. B. 802.1p-Prioritäts- und VLAN-Bezeichnerinformationen. Das WLanTagHeader-Element bietet zusätzlich zu den Informationen, die über das TagHeader-Element verfügbar sind, Zugriff auf die WMM-Informationen (Wireless Multimedia).

Miniport-Treiber, die das Tag 802.1Q in Hardware unterstützen, müssen die NDIS_NET_BUFFER_LIST_8021Q_INFO-Struktur für Übertragungs- und Empfangsvorgänge verwenden:

  • Bei Übertragungsvorgängen muss der Miniporttreiber in der NET_BUFFER_LIST-Struktur nach NDIS_NET_BUFFER_LIST_8021Q_INFO OOB-Daten suchen. Der Miniporttreiber muss sicherstellen, dass die Hardware das 802.1Q-Tag aus den NDIS_NET_BUFFER_LIST_8021Q_INFO Spezifikationen erstellt und in den Ethernet-Frame einfügt.
  • Für Empfangsvorgänge muss der Miniporttreiber das 802.1Q-Tag aus dem Ethernet-Frame entfernen und die 802.1Q-Taginformationen den NDIS_NET_BUFFER_LIST_8021Q_INFO OOB-Daten in der NET_BUFFER_LIST-Struktur zuordnen, bevor die Daten NDIS mit dem NdisMIndicateReceiveNetBufferLists-Funktion .

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und höher.
Kopfzeile ndis/nbl8021q.h (include ndis.h)

Weitere Informationen

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisMIndicateReceiveNetBufferLists