OID_NIC_SWITCH_CREATE_SWITCH

NDIS 发出OID_NIC_SWITCH_CREATE_SWITCH的对象标识符 (OID) 方法请求,以在网络适配器上创建 NIC 交换机。 当它处理此 OID 请求时,微型端口驱动程序将为适配器上的 NIC 开关分配资源。

NDIS 向网络适配器的 PCI Express(PCIe)物理功能(PF)的微型端口驱动程序发出此 OID 方法请求。 支持单根 I/O 虚拟化(SR-IOV)接口的 PF 微型端口驱动程序需要此 OID 方法请求。

注意, 过度应用驱动程序(如协议或筛选器驱动程序)无法向 PF 微型端口驱动程序发出 OID 方法请求OID_NIC_SWITCH_CREATE_SWITCH。

NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向 NDIS_NIC_SWITCH_PARAMETERS 结构的指针。

言论

当它收到 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 方法请求时,PF 微型端口驱动程序必须执行以下作:

  1. 如果 PF 微型端口驱动程序支持静态交换机创建和配置,则在 NDIS 调用 MiniportInitializeEx时,它会创建 NIC 开关。 当驱动程序处理此 OID 请求时,它必须验证 NDIS_NIC_SWITCH_PARAMETERS 结构中的配置参数。 参数必须与驱动程序在调用 MiniportInitializeEx期间创建开关所用的参数相同。 如果这不是 true,驱动程序必须失败 OID 请求。

    有关详细信息,请参阅 NIC 交换机的静态创建

  2. 如果 PF 微型端口驱动程序支持动态交换机创建和配置,驱动程序必须验证 NDIS_NIC_SWITCH_PARAMETERS 结构的配置值,并根据这些值创建 NIC 开关。

    有关详细信息,请参阅 动态创建 NIC 交换机

  3. PF 微型端口驱动程序必须为 NIC 交换机上的默认 VPort 分配必要的硬件和软件资源。

    注释 默认 VPort 始终通过 OID 请求创建OID_NIC_SWITCH_CREATE_SWITCH,并通过 OID_NIC_SWITCH_DELETE_SWITCH的 OID 请求删除。 OID_NIC_SWITCH_CREATE_VPORTOID_NIC_SWITCH_DELETE_VPORT 的 OID 请求用于在 NIC 交换机上创建和删除非默认 VPorts。

  4. 支持动态交换机创建和配置的 PF 微型端口驱动程序必须通过调用 NdisMEnableVirtualization在交换机上启用 SR-IOV 虚拟化。 此调用在适配器的 PCI Express(PCIe)配置空间的 SR-IOV 扩展功能结构中配置 NumVF 成员和 VF 启用 位。

    有关 SR-IOV 配置空间的详细信息,请参阅 PCI-SIG 单根 I/O 虚拟化和共享 1.1 规范。

    注意 如果 PF 微型端口驱动程序支持静态交换机创建,则在调用 miniportInitializeEx时,在创建开关后启用 SR-IOV 虚拟化。

如果 PF 微型端口驱动程序成功完成OID_NIC_SWITCH_CREATE_SWITCH的 OID 方法请求,则允许执行以下作:

有关如何处理此 OID 请求的详细信息,请参阅 处理OID_NIC_SWITCH_CREATE_SWITCH请求

返回状态代码

PF 微型端口驱动程序为 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 方法请求返回以下状态代码之一。

状态代码 描述

NDIS_STATUS_SUCCESS

OID 请求已成功完成。

NDIS_STATUS_NOT_SUPPORTED

PF 微型端口驱动程序要么不支持 SR-IOV 接口,要么未启用该接口。

NDIS_STATUS_INVALID_PARAMETER

NDIS_NIC_SWITCH_PARAMETERS 结构的一个或多个成员具有无效值。

NDIS_STATUS_INVALID_LENGTH

信息缓冲区的长度小于 sizeof(NDIS_NIC_SWITCH_PARAMETERS)。 PF 微型端口驱动程序必须设置 数据。METHOD_INFORMATION。NDIS_OID_REQUEST 结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。

NDIS_STATUS_FAILURE

由于其他原因,请求失败。

要求

版本

NDIS 6.30 及更高版本中受支持。

页眉

Ntddndis.h (包括 Ndis.h)

另请参阅


MiniportInitializeEx

NDIS_OID_REQUEST

NDIS_NIC_SWITCH_PARAMETERS

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_NIC_SWITCH_CREATE_VPORT