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 结构。

标头类型 成员必须设置为NDIS_OBJECT_TYPE_DEFAULT。 若要指定 NDIS_SWITCH_PORT_PROPERTY_VLAN 结构的版本,必须将 标头Revision 成员设置为以下值:

NDIS_SWITCH_PORT_PROPERTY_VLAN_REVISION_1

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

大小 成员设置为NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_VLAN_REVISION_1。

Flags

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

OperationMode

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

VlanProperties

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

VlanProperties.AccessVlanId

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

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

VlanProperties.NativeVlanId

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

VlanProperties.PruneVlanIdArray[64]

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

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

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

VlanProperties.TrunkVlanIdArray[64]

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

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

PvlanProperties

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

PvlanProperties.PvlanMode

指定 PVLAN 的作模式的 NDIS_SWITCH_PORT_PVLAN_MODE 枚举值。

PvlanProperties.PrimaryVlanId

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

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

PvlanProperties.SecondaryVlanId

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

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

PvlanProperties.SecondaryVlanIdArray[64]

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

该数组有 64 个 UINT64 元素,表示连续 4096 位。 每个具有一个值的位指定可扩展交换机端口的辅助 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 (include 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