共用方式為


虛擬函式卸除序列

支援單一根 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(VPCI)虛擬服務提供者(VSP)。 此 VSP 會在 Hyper-V 母分割區的管理作業系統中執行。 此訊息用來告知 VPCI VSP,VF 將被卸除並從子分割區中分離。 VPCI VSP 會透過虛擬機器匯流排(VMBus),將訊息傳送至執行於子分割區客體作業系統中的 VPCI 虛擬服務用戶端(VSC)。 這些訊息會要求 VPCI VSC 妥善移除當 VF 連接至子分割區時所公開的 VF 網路介面卡。 這會導致 NetVSC 與 VF 迷你埠驅動程式解除系結,並停止驅動程式。 此時,子分割區中的封包資料流量會從 VF 資料路徑移轉至軟體型合成資料路徑。 如需這些資料路徑的詳細資訊,請參閱 SR-IOV 資料路徑

完成合成資料路徑的容錯移轉之後,VF 會拆除,並釋放其資源。 下圖顯示 VF 拆解所涉及的步驟。

範例 VF 卸載順序,顯示從虛擬化堆疊向 NDIS 發出的呼叫,接著向 PF 小埠驅動程式的呼叫。

NDIS、虛擬化堆疊和 PF 迷你埠驅動程式會在 VF 卸除序列期間遵循下列步驟:

  1. 虛擬化堆疊會將虛擬機器 (VM) 網路介面卡的媒體存取控制 (MAC) 和虛擬 LAN (VLAN) 篩選移至連結至 PF 的預設虛擬埠 (VPort)。 VM 網路介面卡會在子分割區的客體作業系統中公開。

    將篩選器移至預設 VPort 之後,合成資料路徑便可完全運作,適用於處理在客體作業系統中執行的網路元件的進出流量。 PF 迷你埠驅動程式會在預設的 PF VPort 上指示收到的封包,這些封包會經由合成資料路徑提交給客體作業系統。 同樣地,所有來自客體作業系統的傳輸封包都會透過合成資料路徑路由,並透過預設的 PF VPort 傳輸。

  2. 虛擬化堆疊會透過向 PF 迷你端口驅動程式發出 OID_NIC_SWITCH_DELETE_VPORT 的物件識別碼 (OID) 設定要求,來刪除附加至 VF 的 VPort。 迷你埠驅動程式會釋放與 VPort 相關聯的任何硬體或軟體資源,並完成 OID 要求。

    如需詳細資訊,請參閱 刪除虛擬埠

  3. 虛擬化堆疊會在解除配置 VF 的資源之前,要求 VF 的 PCIe 功能層級重設 (FLR)。 堆疊會藉由向 PF 迷你埠驅動程式發出 OID_SRIOV_RESET_VF的 OID 集要求來執行此動作。 FLR 會讓 SR-IOV 網路介面卡上的 VF 進入靜止狀態,並清除 VF 的任何擱置中斷事件。

  4. 重設 VF 之後,虛擬化堆疊會藉由向 PF 迷你埠驅動程式發出 OID_NIC_SWITCH_FREE_VF 的 OID 設定要求來請求解除配置 VF 資源。 這會導致迷你埠驅動程式釋放與 VF 相關聯的硬體資源。