NDIS_NET_BUFFER_LIST_8021Q_INFO構造体 (ndis/nbl8021q.h)

NDIS_NET_BUFFER_LIST_8021Q_INFO構造体は、 NET_BUFFER_LIST 構造体に関連付けられている 802.1Q 情報を指定します。

構文

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;

メンバー

TagHeader

NDIS_NET_BUFFER_LIST_8021Q_INFOに含まれる共用体内のメンバー。 802.3 イーサネット ミニポート ドライバーは 、TagHeader を使用して 802.1Q 情報にアクセスします。 TagHeader は、次のメンバーを持つビット フィールドです。

TagHeader.UserPriority

共有メディア 802 ネットワークでパケット優先度を確立するために使用される 802.1p 優先度情報を指定します。 このメンバーのビットは、802.1p 優先度値を指定します。

TagHeader.CanonicalFormatId

このメンバーは 0 に設定する必要があります。これは、パケットに存在するすべての MAC アドレス情報が正規形式 (つまり最も単純な形式) であることを示します。

TagHeader.VlanId

パケットが属する VLAN を識別します。 送信パケットは VLAN 識別子でマークされます。

TagHeader.Reserved

このメンバーは予約済みであり、0 に設定する必要があります。

WLanTagHeader

NDIS_NET_BUFFER_LIST_8021Q_INFOに含まれる共用体内のメンバー。 ネイティブ 802.11 ミニポート ドライバーは 、WLanTagHeader を使用して 802.1Q 情報にアクセスします。 WLanTagHeader は、次のメンバーを持つビット フィールドです。

WLanTagHeader.UserPriority

共有メディア 802 ネットワークでパケット優先度を確立するために使用される 802.1p 優先度情報を指定します。 このメンバーのビットは、802.1p 優先度値を指定します。

WLanTagHeader.CanonicalFormatId

このメンバーは 0 に設定する必要があります。これは、パケットに存在するすべての MAC アドレス情報が正規形式 (つまり最も単純な形式) であることを示します。

WLanTagHeader.VlanId

パケットが属する VLAN を識別します。 送信パケットは VLAN 識別子でマークされます。

WLanTagHeader.WMMInfo

802.1Q サービス品質 (QoS) データの配信を制御するために使用される特定のフレームに表示されるトラフィック識別子 (TID) フィールドと同じワイヤレス マルチメディア (WMM) 整数値。 値 0 から 7 は、MAC サービス データ ユニット (MSDU) の QoS ユーザー優先度 (IP) を表します。 値 8 から 15 は予約されています。 したがって、 WMMInfo の最上位ビットは 0 である必要があります。

メモ トラフィック仕様 (TSPEC) とトラフィック分類 (TCLAS) はサポートされていません。
 

WLanTagHeader.Reserved

このメンバーは予約済みであり、0 に設定する必要があります。

Value

NDIS_NET_BUFFER_LIST_8021Q_INFOに含まれる共用体内のメンバー。 Value には、NET_BUFFER_LIST構造体の NetBufferListInfo メンバーと型互換のポインター値が含まれます。

注釈

NET_BUFFER_LIST構造体に関連付けられている 802.1Q 情報を取得または挿入するために、NDIS ドライバーは NET_BUFFER_LIST_INFO マクロを呼び出し、Ieee8021QNetBufferListInfo 情報型を指定します。

NET_BUFFER_LIST_INFO マクロは、NDIS_NET_BUFFER_LIST_8021Q_INFO構造体の Value メンバーで指定されたポインターを返します。 NDIS ドライバーは、共用体の TagHeader または WLanTagHeader メンバーを使用して、802.1p 優先度や VLAN 識別子情報などの特定の種類の情報にアクセスできます。 WLanTagHeader メンバーは、TagHeader メンバーから入手できる情報に加えて、ワイヤレス マルチメディア (WMM) 情報へのアクセスを提供します。

ハードウェアで 802.1Q タグをサポートするミニポート ドライバーは、送受信操作にNDIS_NET_BUFFER_LIST_8021Q_INFO構造を使用する必要があります。

  • 送信操作の場合、ミニポート ドライバーは、NET_BUFFER_LIST構造の OOB データNDIS_NET_BUFFER_LIST_8021Q_INFOチェックする必要があります。 ミニポート ドライバーは、ハードウェアがNDIS_NET_BUFFER_LIST_8021Q_INFO仕様から 802.1Q タグを作成し、イーサネット フレームに挿入することを確認する必要があります。
  • 受信操作の場合、ミニポート ドライバーはイーサネット フレームから 802.1Q タグを削除し、802.1Q タグ情報を、データを NDIS に示す前に、NET_BUFFER_LIST構造のNDIS_NET_BUFFER_LIST_8021Q_INFO OOB データにマップする必要があります。 NdisMIndicateReceiveNetBufferLists 関数。

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
Header ndis/nbl8021q.h (ndis.h を含む)

こちらもご覧ください

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisMIndicateReceiveNetBufferLists