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
此成员应设置为零,指示数据包中存在的所有 MAC 地址信息采用规范格式(即最简单的形式)。
TagHeader.VlanId
标识数据包所属的 VLAN。 传出数据包使用 VLAN 标识符进行标记。
TagHeader.Reserved
此成员是保留的,应设置为零。
WLanTagHeader
包含在NDIS_NET_BUFFER_LIST_8021Q_INFO的联合中的成员。 本机 802.11 微型端口驱动程序使用 WLanTagHeader 来访问 802.1Q 信息。 WLanTagHeader 是包含以下成员的位字段:
WLanTagHeader.UserPriority
指定用于在共享媒体 802 网络中建立数据包优先级的 802.1p 优先级信息。 此成员中的位指定 802.1p 优先级值。
WLanTagHeader.CanonicalFormatId
此成员应设置为零,指示数据包中存在的所有 MAC 地址信息采用规范格式(即最简单的形式)。
WLanTagHeader.VlanId
标识数据包所属的 VLAN。 传出数据包使用 VLAN 标识符进行标记。
WLanTagHeader.WMMInfo
无线多媒体(WMM)整数值,与某些帧中显示的流量标识符(TID)字段相同,这些字段用于传送和控制 802.1Q 服务质量(QoS)数据的传递。 值 0 到 7 表示 MAC 服务数据单元(MSTU)的 QoS 用户优先级(UP)。 保留值 8 到 15。 因此,WMMInfo 中的最高位必须为零。
WLanTagHeader.Reserved
此成员是保留的,应设置为零。
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 结构中检查 NDIS_NET_BUFFER_LIST_8021Q_INFO OOB 数据。 微型端口驱动程序必须确保硬件从NDIS_NET_BUFFER_LIST_8021Q_INFO规范创建 802.1Q 标记并将其插入以太网帧。
- 对于接收作,微型端口驱动程序必须从以太网帧中删除 802.1Q 标记,并将 802.1Q 标记信息映射到NET_BUFFER_LIST结构中的 NDIS_NET_BUFFER_LIST_8021Q_INFO OOB 数据中,然后再使用 NDIS 将数据指示为 NDIS NdisMIndicateReceiveNetBufferLists 函数。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | NDIS 6.0 及更高版本中受支持。 |
标头 | ndis/nbl8021q.h (include ndis.h) |