重置虚拟功能
超载驱动程序发出对象标识符 (OID) 设置OID_SRIOV_RESET_VF 请求,以重置指定的 PCI Express (PCIe) Virtual Function (VF) 。 VF 是支持单根 I/O 虚拟化的网络适配器的硬件组件。 过分驱动程序向 PCI Express (PCIe) 物理功能 (PF) 的微型端口驱动程序发出此 OID 集请求。
例如,虚拟化堆栈在 Hyper-V 父分区的管理操作系统中运行。 在堆栈从 Hyper-V 子分区分离 VF 之前,它会在 VF 上请求函数级别重置 (FLR) 。 由于 FLR 是特权操作,因此只能由也在管理操作系统中运行的 PF 微型端口驱动程序执行。 若要请求指定 VF 的 FLR,虚拟化堆栈会向 PF 微型端口驱动程序发出 OID_SRIOV_RESET_VF请求。
在发出此 OID 集请求之前,overlying 驱动程序必须初始化 NDIS_SRIOV_RESET_VF_PARAMETERS 结构。 驱动程序必须将 VFId 成员设置为要重置的 VF 的标识符。
处理此 OID 请求时,PF 微型端口驱动程序必须遵循以下准则:
PF 微型端口驱动程序必须验证由 NDIS_SRIOV_RESET_VF_PARAMETERS 结构的 VFId 成员指定的 VF 是否具有以前分配的资源。 PF 微型端口驱动程序在OID_NIC_SWITCH_ALLOCATE_VF的 OID 方法请求期间为 VF 分配资源。 如果尚未分配指定 VF 的资源,驱动程序必须使 OID 请求失败。
重置操作只能影响指定的 VF。 该操作不得影响同一网络适配器上的其他 VF 或 PF。