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.
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) |