OID_NIC_SWITCH_CREATE_VPORT
過度裝載的驅動程式 (會在網路介面卡的 NIC 交換器上建立非預設虛擬埠 (VPort) ,發出 OID) OID) 方法 OID_NIC_SWITCH_CREATE_VPORT要求。 這個 OID 方法要求也會將建立的 VPort 連結至網路介面卡的 PCI Express (PCIe) 實體函式 (PF) 或先前配置的 PCIe 虛擬函式 (VF) 。
過度配置驅動程式會向網路介面卡的 PF 的迷你埠驅動程式發出這個 OID 方法要求。 支援單一根目錄 I/O 虛擬化 (SR-IOV) 介面的 PF 迷你埠驅動程式需要這個 OID 方法要求。
NDIS_OID_REQUEST結構的InformationBuffer成員包含NDIS_NIC_SWITCH_VPORT_PARAMETERS結構的指標。
備註
過度配置驅動程式會使用要建立之非預設 VPort 的組態資訊,初始化 NDIS_NIC_SWITCH_VPORT_PARAMETERS 結構。 組態資訊包括附加非預設 VPort 的 PCIe 函式,以及非預設 VPort 的佇列配對數目。
當 PF 迷你埠驅動程式發出 OID 要求時,驅動程式會配置與指定之非預設 VPort 相關聯的硬體和軟體資源。 成功配置所有資源之後,PF 迷你埠驅動程式會從 MiniportOidRequest傳回NDIS_STATUS_SUCCESS,以順利完成 OID。
如果OID_NIC_SWITCH_CREATE_VPORT要求順利完成,PF 迷你埠驅動程式和超載驅動程式必須保留非預設 VPort 的 VPortId 值,以進行後續作業。 VPortId值會在下列作業期間使用:
NDIS 和超載驅動程式會使用 VPortId 值,在與這個 VPort 相關的後續 OID 要求中識別非預設 VPort,例如 OID_NIC_SWITCH_VPORT_PARAMETERS 和 OID_NIC_SWITCH_DELETE_VPORT。
在傳送作業期間,NDIS 會指定 VPortId 值,以識別傳送封包的來源 VPort。 此值是在NET_BUFFER_LIST結構的頻外 (OOB) NDIS_NET_BUFFER_LIST_FILTERING_INFO資料內指定。
在接收作業期間,PF 迷你埠驅動程式會指定要轉送封包的 VPortId 值。 這個值也會在NET_BUFFER_LIST結構的 OOB NDIS_NET_BUFFER_LIST_FILTERING_INFO資料中指定。
如需詳細資訊,請參閱 建立虛擬埠。
注意 預設 VPort 一律存在,而且不會透過 OID_NIC_SWITCH_CREATE_VPORT 的 OID 要求來建立。 預設 VPort 的識別碼為 NDIS_DEFAULT_VPORT_ID。 當 PF 迷你埠驅動程式建立 NIC 交換器時,驅動程式會自動將預設 VPort 連結至網路介面卡的 PF。
傳回狀態碼
NDIS 或 PF 迷你埠驅動程式會針對 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 方法要求傳回下列其中一個狀態碼。
狀態碼 | 描述 |
---|---|
NDIS_STATUS_SUCCESS |
OID 要求已成功完成。 |
NDIS_STATUS_NOT_SUPPORTED |
PF 迷你埠驅動程式不支援 SR-IOV 介面,或未啟用該介面。 |
NDIS_STATUS_INVALID_PARAMETER |
NDIS_NIC_SWITCH_VPORT_PARAMETERS結構的一或多個成員具有不正確值。 |
NDIS_STATUS_INVALID_LENGTH |
資訊緩衝區的長度小於 sizeof (NDIS_NIC_SWITCH_VPORT_PARAMETERS) 。 PF 迷你埠驅動程式必須設定DATA。METHOD_INFORMATION。NDIS_OID_REQUEST 結構中的 BytesNeeded成員,以達到所需的最小緩衝區大小。 |
NDIS_STATUS_FAILURE |
要求因其他原因而失敗。 |
規格需求
版本 |
NDIS 6.30 和更新版本支援。 |
標頭 |
Ntddndis.h (包括 Ndis.h) |