虛擬函式卸除序列
支援單一根 I/O 虛擬化 (SR-IOV) 的網路適配器必須能夠支援下列硬體元件:
一個PCI Express (PCIe) 物理功能 (PF)。 PF 一律存在於網路適配器上,並連結至 Hyper-V 父分割區。
如需此硬體元件的詳細資訊,請參閱 SR-IOV 實體函式 (PF)。
一或多個 PCIe 虛擬函式 (VF)。 每個 VF 都必須初始化並附加至 Hyper-V 子分割區,客體作業系統的網路元件才能透過 VF 傳送或接收封包。
如需此硬體元件的詳細資訊,請參閱 SR-IOV 虛擬函式 (VFs)。
在 VF 被拆毀並釋放其資源之前,虛擬化堆疊會通知虛擬 PCI (IMFI) 虛擬服務提供者 (VSP)。 此 VSP 會在 Hyper-V 父資料分割的管理作業系統中執行。 通知會通知 VLANI VSP VF 將會從子分割區中斷和中斷連結。 在子磁碟分區的客體操作系統中執行的VPI虛擬服務用戶端(VSC)中,透過虛擬機總線 (VMBus) 將訊息傳送至 VMI 虛擬服務用戶端 (VSC)。 這些訊息會要求 DHCPI VSC 正常移除 VF 網路適配器,而 VF 附加至子磁碟分區時所公開的 VF 網路適配器。 這會導致 NetVSC 解除系結 VF 迷你埠驅動程式和驅動程式停止。 此時,子數據分割中的封包流量會從 VF 數據路徑移轉至軟體型綜合數據路徑。 如需這些數據路徑的詳細資訊,請參閱 SR-IOV 數據路徑。
故障轉移至綜合數據路徑完成之後,VF 會中斷,並釋放其資源。 下圖顯示與 VF 卸除相關的步驟。
NDIS、虛擬化堆棧和 PF 迷你埠驅動程式會在 VF 卸除順序期間遵循下列步驟:
虛擬化堆疊會將虛擬機 (VM) 網路適配器的媒體存取控制 (MAC) 和虛擬 LAN (VLAN) 篩選器移至連結至 PF 的預設虛擬埠 (VPort)。 VM 網路適配器會在子磁碟分區的客體作業系統中公開。
將篩選移至預設 VPort 之後,綜合數據路徑會完全運作,供網路流量往返於客體作業系統中執行的網路元件。 PF 迷你埠驅動程式會指出預設 PF VPort 上的已接收封包,該封包會使用綜合數據路徑向客體操作系統指出封包。 同樣地,所有從客體操作系統傳輸的封包都會透過綜合數據路徑路由傳送,並透過預設 PF VPort 傳輸。
虛擬化堆疊會藉由向 PF 迷你埠驅動程式發出OID_NIC_SWITCH_DELETE_VPORT的物件識別碼 (OID) 集合要求,來刪除附加至 VF 的 VPort。 迷你埠驅動程式會釋放與 VPort 相關聯的任何硬體或軟體資源,並完成 OID 要求。
如需詳細資訊,請參閱 刪除虛擬埠。
虛擬化堆疊會在解除分配 VF 資源之前,要求 VF 的 PCIe 函式層級重設 (FLR)。 堆疊會藉由向 PF 迷你埠驅動程式發出OID_SRIOV_RESET_VF的 OID 集合要求來執行此作業。 FLR 會將 SR-IOV 網路適配器上的 VF 帶入靜止狀態,並清除 VF 的任何擱置中斷事件。
重設 VF 之後,虛擬化堆疊會向 PF 迷你埠驅動程序發出 OID 集合要求 OID_NIC_SWITCH_FREE_VF, 以要求解除分配 VF 資源。 這會導致迷你埠驅動程序釋放與 VF 相關聯的硬體資源。