共用方式為


刪除 NIC 交換器

支援單一根目錄 I/O 虛擬化 (SR-IOV) 的網路介面卡必須能夠刪除 NIC 交換器。 只有 PCI Express (PCIe) 實體函式的迷你埠驅動程式 (SR-IOV 介面卡的 PF) 可以刪除介面卡上的 NIC 交換器。

注意從 Windows Server 2012 中的 NDIS 6.30 開始,SR-IOV 介面只支援網路介面卡上的一個 NIC 交換器。 此參數稱為 預設 NIC 參數,並由NDIS_DEFAULT_SWITCH_ID識別碼參考。

在停止 PF 迷你埠驅動程式之前,NDIS 會發出物件識別碼 (OID) OID_NIC_SWITCH_DELETE_SWITCH集要求來刪除 NIC 參數。 NDIS_OID_REQUEST結構的InformationBuffer成員包含NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS結構的指標,指定要刪除之參數的識別碼。

NDIS 會先強制執行下列原則,再對 PF 迷你埠驅動程式發出 OID 集合 要求OID_NIC_SWITCH_DELETE_SWITCH

  • NDIS 保證所有接收篩選器都已從預設和非預設虛擬埠清除, (NIC 交換器上的 VPorts) 。 接收篩選準則會透過 OID_RECEIVE_FILTER_CLEAR_FILTER的 OID 集合要求來清除。

  • NDIS 保證先前已刪除在交換器上建立的所有非預設虛擬埠 (VPorts) 。 VPorts 會透過 OID_NIC_SWITCH_DELETE_VPORT的 OID 集合要求刪除。

  • NDIS 保證先前已釋放連結至 NIC 交換器之 PCIe 虛擬函式的所有資源 (VFs) 。 VF 會透過 OID 集合要求 釋出OID_NIC_SWITCH_FREE_VF

當它收到 OID_NIC_SWITCH_DELETE_SWITCH的 OID 方法要求時,PF 迷你埠驅動程式必須執行下列動作:

  1. 如果 PF 迷你埠驅動程式支援靜態建立和設定 NIC 交換器,則必須釋放與指定 NIC 交換器相關聯的軟體資源。 不過,驅動程式只能在呼叫 MiniportHaltEx 時釋放 NIC 交換器的硬體資源。

    如需靜態 NIC 交換器建立的詳細資訊,請參閱 靜態建立 NIC 參數

  2. 如果 PF 迷你埠驅動程式支援動態建立和設定 NIC 交換器,則必須釋放與指定 NIC 交換器相關聯的硬體和軟體資源。

    如需動態 NIC 交換器建立的詳細資訊,請參閱 動態建立 NIC 交換器

  3. 如果 PF 迷你埠驅動程式支援動態建立 NIC 交換器,而且已在網路介面卡上刪除所有 NIC 交換器,則驅動程式必須藉由呼叫 NdisMEnableVirtualization來停用介面卡上的虛擬化。 若要停用虛擬化,網路介面卡必須將 EnableVirtualization 參數設定為 FALSE,並將 NumVFs 參數設定為零。

    NdisMEnableVirtualization 會在網路介面卡 PF 的 PCIe 設定空間中,清除 SR-IOV 擴充功能結構中的 NumVFs 成員和 VF Enable 位。

    注意如果 PF 迷你埠驅動程式支援靜態建立和設定 NIC 參數,則只有在呼叫MiniportHaltEx時,它必須呼叫NdisMEnableVirtualization