NDIS_SWITCH_PORT_PROPERTY_VLAN 结构 (ntddndis.h)

NDIS_SWITCH_PORT_PROPERTY_VLAN结构指定 Hyper-V 可扩展交换机端口 (VLAN) 策略属性的虚拟局域网。

语法

typedef struct _NDIS_SWITCH_PORT_PROPERTY_VLAN {
  NDIS_OBJECT_HEADER         Header;
  ULONG                      Flags;
  NDIS_SWITCH_PORT_VLAN_MODE OperationMode;
  union {
    struct {
      UINT16 AccessVlanId;
      UINT16 NativeVlanId;
      UINT64 PruneVlanIdArray[64];
      UINT64 TrunkVlanIdArray[64];
    } VlanProperties;
    struct {
      NDIS_SWITCH_PORT_PVLAN_MODE PvlanMode;
      UINT16                      PrimaryVlanId;
      union {
        UINT16 SecondaryVlanId;
        UINT64 SecondaryVlanIdArray[64];
      };
    } PvlanProperties;
  };
} NDIS_SWITCH_PORT_PROPERTY_VLAN, *PNDIS_SWITCH_PORT_PROPERTY_VLAN;

成员

Header

NDIS_SWITCH_PORT_PROPERTY_VLAN 结构的类型、修订和大小。 此成员的格式设置为 NDIS_OBJECT_HEADER 结构。

HeaderType 成员必须设置为 NDIS_OBJECT_TYPE_DEFAULT。 若要指定 NDIS_SWITCH_PORT_PROPERTY_VLAN 结构的版本,必须将 HeaderRevision 成员设置为以下值:

NDIS_SWITCH_PORT_PROPERTY_VLAN_REVISION_1

NDIS 6.30 及更高版本的原始版本。

Size 成员设置为NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_VLAN_REVISION_1。

Flags

包含标志的按位 OR 的 ULONG 值。 此成员是为 NDIS 保留的。

OperationMode

一个NDIS_SWITCH_PORT_VLAN_MODE枚举值,该值指定 VLAN 的操作模式。

VlanProperties

一个 结构,它指定操作模式为 NdisSwitchPortVlanModeAccessNdisSwitchPortVlanModeTrunk 的 VLAN 的属性。 此结构包含以下成员:

VlanProperties.AccessVlanId

一个 UINT16 值,该值指定在 VLAN 访问模式下运行的可扩展交换机端口的 VLAN 标识符。

注意 仅当 OperationMode 成员设置为 NdisSwitchPortVlanModeAccess 时,此成员才有效。
 

VlanProperties.NativeVlanId

一个 UINT16 值,该值指定在 VLAN 中继模式下运行的可扩展交换机端口的 VLAN 标识符。

VlanProperties.PruneVlanIdArray[64]

UINT64 元素的数组,指定数据包在可扩展交换机端口上被阻止的 VLAN 标识符。

数组具有 64 个 UINT64 元素,表示 4096 个连续位。 值为 1 的每个位指定一个 VLAN 标识符,阻止其数据包在可扩展交换机端口上发送或接收。 例如,如果位 3 设置为 1,则会在端口上阻止来自 VLAN 标识符 3 的数据包流量。 同样,如果位 64 设置为零,则来自 VLAN 标识符 64 的数据包流量不会在端口上被阻止。

注意 始终阻止标识符映射到位值为 1 的 VLAN。 这会替代 TrunkVlanIdArray 成员中 VLAN 标识符的等效位设置。
 

VlanProperties.TrunkVlanIdArray[64]

UINT64 元素的数组,指定允许在可扩展交换机端口上使用其数据包的 VLAN 标识符。

数组具有 64 个 UINT64 元素,表示 4096 个连续位。 值为 1 的每个位指定一个 VLAN 标识符,允许在可扩展交换机端口上发送或接收其数据包。 例如,如果第 2 位设置为 1,则端口上允许来自 VLAN 标识符 2 的数据包流量。 同样,如果位 1954 设置为零,则端口上不允许来自 VLAN 标识符 1954 的数据包流量。

PvlanProperties

一个 结构,它指定操作模式为 NdisSwitchPortVlanModePrivate 的 VLAN 的属性。 此结构包含以下成员:

PvlanProperties.PvlanMode

一个NDIS_SWITCH_PORT_PVLAN_MODE枚举值,该值指定 PVLAN 的操作模式。

PvlanProperties.PrimaryVlanId

一个 UINT16 值,该值指定可扩展交换机端口的主 VLAN 标识符。

注意 仅当 PvlanMode 成员设置为 NdisSwitchPortPvlanModeCommunity 时,此成员才有效。
 

PvlanProperties.SecondaryVlanId

一个 UINT16 值,该值指定可扩展交换机端口的辅助 VLAN 标识符。

注意 仅当 PvlanMode 成员设置为 NdisSwitchPortPvlanModeIsolatedNdisSwitchPortPvlanModeCommunity 时,此成员才有效。
 

PvlanProperties.SecondaryVlanIdArray[64]

UINT64 元素数组,这些元素指定可扩展交换机端口的辅助 VLAN 标识符。

数组具有 64 个 UINT64 元素,表示 4096 个连续位。 值为 1 的每个位指定可扩展交换机端口的辅助 VLAN 标识符。 例如,如果位 5 设置为 1,则辅助 VLAN 标识符为 5。 同样,如果位 128 设置为零,则 128 不能用作辅助 VLAN 标识符。

注意 仅当 PvlanMode 成员设置为 NdisSwitchPortPvlanModePromiscuous 时,此成员才有效。
 

注解

NDIS_SWITCH_PORT_PROPERTY_VLAN 结构用于以下 OID 集请求:

NDIS_SWITCH_PORT_PROPERTY_VLAN结构遵循与这些 OID 集请求关联的缓冲区中的 NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 结构。 NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向此缓冲区的指针。

端口属性(如 NDIS_SWITCH_PORT_PROPERTY_VLAN)由作为转发扩展安装的可扩展交换机扩展强制实施。 这种类型的扩展通过可扩展的交换机驱动程序堆栈强制实施自己的规则来转发数据包、OID 和状态指示。 每个可扩展交换机实例只能有一个转发扩展。

有关转发扩展的详细信息,请参阅 转发扩展

注意 如果未安装转发扩展,可扩展交换机接口将强制实施端口属性本身。
 

要求

要求
最低受支持的客户端 在 NDIS 6.30 及更高版本中受支持。
标头 ntddndis.h (包括 Ndis.h)

另请参阅

NDIS_OBJECT_HEADER

NDIS_OID_REQUEST

NDIS_SWITCH_PORT_PROPERTY_PARAMETERS

NDIS_SWITCH_PORT_VLAN_MODE

OID_SWITCH_PORT_PROPERTY_ADD

OID_SWITCH_PORT_PROPERTY_UPDATE