靜態建立 NIC 參數
支援單一根目錄 I/O 虛擬化 (SR-IOV) 的網路介面卡必須能夠建立 NIC 交換器。 對於某些配接器,可以在 呼叫 MiniportInitializeEx的內容中以靜態方式建立 NIC 參數。
只有 PCI Express (PCIe 的迷你埠驅動程式) 實體函式 (SR-IOV 介面卡的 PF) ,才能在介面卡上建立 NIC 交換器。
注意從 Windows Server 2012 開始,SR-IOV 介面僅支援網路介面卡上的一個 NIC 交換器。 此參數稱為 預設 NIC 參數,並由NDIS_DEFAULT_SWITCH_ID識別碼參考。
預設 NIC 參數的參數是透過登錄中的標準化關鍵字設定來定義。 如需這些關鍵字的詳細資訊,請參閱 SR-IOV 的標準化 INF 關鍵字。
當 NDIS 呼叫驅動程式的 MiniportInitializeEx 函式時,PF 迷你埠驅動程式會以靜態方式建立 NIC 參數。 一般而言,驅動程式會在網路介面卡上啟用 SR-IOV 之前,先建立並設定 NIC 交換器做為其初始化順序的一部分。
當 PF 迷你埠驅動程式以靜態方式建立 NIC 交換器,並在 呼叫 MiniportInitializeEx的內容中啟用網路介面卡上的 SR-IOV 時,會遵循下列步驟:
PF 迷你埠驅動程式必須讀取 SR-IOV 標準化關鍵字,以判斷是否已啟用 SR-IOV 並取得 NIC 交換器組態參數。
注意 如果 PF 迷你埠驅動程式向 MiniportSetOptions 函式註冊進入點,則當 NDIS 呼叫 MiniportSetOptions時,驅動程式可能先前已從登錄取得這些參數。
如果已啟用 SR-IOV,PF 迷你埠驅動程式會使用登錄中的 NIC 交換器參數來設定網路介面卡。 驅動程式必須確認參數在設定網路介面卡之前有效。 例如,迷你埠驅動程式必須確認指派給 NIC 交換器 () 指派給 NIC 交換器的 PCIe 虛擬函式數目上限,不會超過網路介面卡支援的 VF 數目。
迷你埠驅動程式會呼叫 NdisMEnableVirtualization 來啟用 SR-IOV,並設定網路介面卡上的 VF 數目。 此函式會在介面卡的 PCI 設定空間中設定 SR-IOV 擴充功能。 如果此函式傳回NDIS_STATUS_SUCCESS,則會啟用 SR-IOV,並透過 PCIe 介面公開 VF。
注意 如果 PF 迷你埠驅動程式以靜態方式建立 NIC 參數,則在 NDIS 發出物件識別碼 (OID) 方法要求 OID_NIC_SWITCH_CREATE_SWITCH之前,才能使用 參數。 如果 PF 迷你埠驅動程式以靜態方式建立 NIC 交換器,則必須確認已在 OID 要求中指定交換器參數。 與 OID 要求相關聯的 NDIS_NIC_SWITCH_PARAMETERS 結構中包含的這些參數必須與用來建立參數的驅動程式參數相同。
如需如何處理 OID_NIC_SWITCH_CREATE_SWITCH 要求的詳細資訊,請參閱 處理OID_NIC_SWITCH_CREATE_SWITCH要求。
如需 PF 迷你埠驅動程式初始化順序和需求的詳細資訊,請參閱 初始化 PF Miniport 驅動程式。