SR-IOV VF 資料路徑
如果實體網路介面卡支援單一根 I/O 虛擬化 (SR-IOV) 介面,它可以啟用一或多個 PCI Express (PCIe) Virtual Functions (VFs) 。 每個 VF 都可以附加至 Hyper-V 子分割區。 發生這種情況時,虛擬化堆疊會執行下列步驟:
配置 VF 的資源之後,虛擬化堆疊會在客體作業系統中公開 VF 的網路介面卡。 這會導致客體作業系統中執行的 PCI 驅動程式啟動 VF 迷你埠驅動程式。 此驅動程式是由獨立硬體廠商提供, (SR-IOV 網路介面卡的 IHV) 。
注意 VF 的資源必須由 PCIe 實體函式的迷你埠驅動程式配置, (PF) ,才能將 VF 附加至 Hyper-V 子分割區。 VF 資源包括將 NIC 交換器上的虛擬埠指派給 VF (VPort) 。 如需詳細資訊,請參閱 SR-IOV 虛擬函式。
載入並初始化 VF 迷你埠驅動程式之後,NDIS 會將客體作業系統中網路虛擬網路用戶端的通訊協定邊緣 (NetVSC) 系結至驅動程式。
注意 NetVSC 只會系結至 VF 迷你埠驅動程式。 客體作業系統中沒有其他通訊協定堆疊可以系結至 VF 迷你埠驅動程式。
NetVSC 成功系結至驅動程式之後,客體作業系統中的網路流量會透過 VF 資料路徑進行。 封包是透過網路介面卡的基礎 VF 傳送或接收,而不是以軟體為基礎的綜合資料路徑。 如需綜合資料路徑的詳細資訊,請參閱 SR-IOV 綜合資料路徑。
下圖顯示透過 SR-IOV 網路介面卡的 VF 資料路徑元件。
使用 VF 資料路徑提供下列優點:
所有資料封包都會直接在客體作業系統和 VF 中的網路元件之間流動。 這可消除資料封包在 Hyper-V 子資料分割與父分割之間流動之綜合資料路徑的額外負荷。
如需綜合資料路徑的詳細資訊,請參閱 SR-IOV 綜合資料路徑。
VF 資料路徑會略過來自 Hyper-V 子分割之封包流量的管理作業系統介入。 VF 會為附加的子分割區提供獨立的記憶體空間、中斷和 DMA 資料流程。 這可達到與非虛擬環境幾乎相容的網路效能。
透過 VF 資料路徑的封包路由是由 SR-IOV 網路介面卡上的 NIC 交換器執行。 封包會透過介面卡的實體埠透過外部網路傳送或接收。 封包也會轉送到或轉送至 VF 附加至其他子分割區。
注意 NIC 參數會將沒有 VF 連結至 Hyper-V 可延伸交換器模組的子分割區或從子分割區的封包轉送。 此模組會在 Hyper-V 父資料分割中執行,並使用綜合資料路徑將這些封包傳遞給子資料分割。