判斷 SR-IOV 功能
本主題描述 NDIS 和過度載入驅動程式如何判斷網路介面卡的單一根 I/O 虛擬化 (SR-IOV) 功能。 本主題包含下列資訊:
在 MiniportInitializeEx期間報告 SR-IOV 功能
在 MiniportInitializeEx期間報告 SR-IOV 功能
當 NDIS 呼叫迷你埠驅動程式的 MiniportInitializeEx 函式時,驅動程式會提供下列 SR-IOV 功能:
網路介面卡可支援的完整 SR-IOV 硬體功能集。
目前在網路介面卡上啟用的 SR-IOV 功能。
迷你埠驅動程式是否正在管理網路介面卡上的 PCI Express (PCIe) 實體函式 (PF) 或虛擬函式 (VF) 。
迷你埠驅動程式會透過下列方式初始化 的NDIS_SRIOV_CAPABILITIES 結構,報告基礎網路介面卡的 SR-IOV 硬體功能:
迷你埠驅動程式會初始化 Header 成員。 驅動程式會將Header的Type成員設定為 NDIS_OBJECT_TYPE_DEFAULT。
從 NDIS 6.30 開始,迷你埠驅動程式會將Header的Revision成員設定為 NDIS_SRIOV_CAPABILITIES _REVISION_1,並將Size成員設定為 NDIS_SIZEOF_SRIOV_CAPABILITIES_REVISION_1。
迷你埠驅動程式會將 SriovCapabilities 成員中的適當旗標設定為報告 SR-IOV 功能。
如果網路介面卡支援 SR-IOV,PCI Express (PCIe 的迷你埠驅動程式) 介面卡的實體函式必須設定下列旗標:
NDIS_SRIOV_CAPS_SRIOV_SUPPORTED
NDIS_SRIOV_CAPS_PF_MINIPORT
注意
網路介面卡 (VF) PCIe 虛擬函式的迷你埠驅動程式必須同時設定 NDIS_SRIOV_CAPS_VF_MINIPORT 旗標和 NDIS_SRIOV_CAPS_SRIOV_SUPPORTED 旗標。
當 NDIS 呼叫迷你埠驅動程式的 MiniportInitializeEx 函式時,驅動程式會遵循下列步驟來註冊網路介面卡的 SR-IOV 功能:
迷你埠驅動程式會初始化 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 結構。
迷你埠驅動程式會將 HardwareSriovCapabilities 成員設定為先前初始化 NDIS_SRIOV_CAPABILITIES 結構的指標。
如果 *SRIOV INF 關鍵字的登錄設定有一個值,則網路介面卡上目前會啟用 SR-IOV 功能。 迷你埠驅動程式會將 CurrentSriovCapabilities 成員設定為相同 NDIS_SRIOV_CAPABILITIES 結構的指標。
如果 *SRIOV INF 關鍵字的登錄設定值為零,網路介面卡上目前會停用 SR-IOV 功能。 迷你埠驅動程式必須將 CurrentSriovCapabilities 成員設定為 Null。
如需 *SRIOV INF 關鍵字的詳細資訊,請參閱 SR-IOV 的標準化 INF 關鍵字。
驅動程式會呼叫 NdisMSetMiniportAttributes ,並將 MiniportAttributes 參數設定為 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 結構的指標。
如需配接器初始化程式的詳細資訊,請參閱 初始化 Miniport 配接器。
透過過度處理驅動程式來查詢 SR-IOV 功能
NDIS 會以下列方式將網路介面卡目前啟用的 SR-IOV 功能傳遞至系結至網路介面卡的過度驅動程式:
當 NDIS 呼叫過度篩選驅動程式的 FilterAttach 函式時,NDIS 會透過 AttachParameters 參數傳遞網路介面卡的 SR-IOV 功能。 此參數包含 NDIS_FILTER_ATTACH_PARAMETERS 結構的指標。 這個 結構的 SriovCapabilities 成員包含 NDIS_SRIOV_CAPABILITIES 結構的指標。
當 NDIS 呼叫過度配置通訊協定驅動程式的 ProtocolBindAdapterEx 函式時,NDIS 會透過 BindParameters 參數傳遞網路介面卡的 SR-IOV 功能。 此參數包含 NDIS_FILTER_ATTACH_PARAMETERS 結構的指標。 這個 結構的 SriovCapabilities 成員包含 NDIS_SRIOV_CAPABILITIES 結構的指標。
當 NDIS 處理物件識別碼 (OID) 過度通訊協定或篩選驅動程式所發出的OID_SRIOV_HARDWARE_CAPABILITIES和OID_SRIOV_CURRENT_CAPABILITIES查詢要求時,NDIS 也會傳回NDIS_SRIOV_CAPABILITIES結構。