支援單根 I/O 虛擬化(SR-IOV)、虛擬機隊列(VMQ)和接收方縮放(RSS)的網路適配器可以透過下列方式使用這些介面:
SR-IOV 和 VMQ 可以個別或同時啟用。
啟用 SR-IOV 或 VMQ 時,無法在網路適配器上啟用 RSS。
作系統可讓您以下列方式使用 SR-IOV、VMQ 或 RSS 介面:
當網路適配器系結至 TCP/IP 堆疊時,操作系統會啟用 RSS 功能。
當網路適配器系結至 Hyper-V 可延伸交換器驅動程式堆疊時,作系統會啟用 SR-IOV 或 VMQ 功能。
如需 Hyper-V 可延伸交換器的詳細資訊,請參閱 Hyper-V Extensible Switch。
當網路適配器從 TCP/IP 堆疊和 Hyper-V 可延伸交換器驅動程式堆疊解除系結時,迷你埠驅動程式會停止,然後重新初始化。 因此,這類網路適配器無法自動切換 RSS、VMQ 和 SR-IOV。
當 NDIS 呼叫 MiniportInitializeEx 函式時,迷你埠驅動程式會先遵循下列步驟,再向 NDIS 報告其目前啟用的 SR-IOV、VMQ 或 RSS 功能:
迷你埠驅動程式會在向 NDIS 報告其目前啟用的功能之前,先讀取 *SriovPreferred 關鍵詞。
如果 *SriovPreferred 關鍵詞的值是1,則小埠驅動程式設定為 SR-IOV 的偏好設定。
迷你埠驅動程式會先讀取 *RssOrVmqPreference 關鍵詞,再將其目前啟用的功能回報給 NDIS。
如果 *RssOrVmqPreference 關鍵詞的值是其中一個,則會針對 VMQ 喜好設定迷你埠驅動程式。
如果 *RssOrVmqPreference 關鍵詞的值為零或關鍵詞不存在,則迷你埠驅動程序會設定為 RSS 喜好設定。
如果迷你埠驅動程式已設定為 SR-IOV 喜好設定,則必須讀取 *SRIOV 關鍵詞,以判斷網路適配器上是否啟用 SR-IOV。 如果 關鍵詞設定為其中一個,驅動程式會報告目前啟用的 SR-IOV 設定。
如需迷你連接埠驅動程式如何報告 SR-IOV 設定的詳細資訊,請參閱 判斷 SR-IOV 功能。
如需 SR-IOV 關鍵詞的詳細資訊,請參閱 SR-IOV的標準化 INF 關鍵詞。
注意 如果迷你埠驅動程式已設定為 SR-IOV 喜好設定,則不得讀取任何 RSS 標準化關鍵詞。 不過,驅動程式必須讀取 VMQ *VMQVlanFiltering 標準化關鍵詞。 此關鍵詞會指定是否啟用迷你埠驅動程式,以在媒體訪問控制 (MAC) 標頭中使用虛擬 VLAN(VLAN) 識別碼來篩選網路封包。 迷你埠驅動程式會藉由在 SupportedMacHeaderFieldsNDIS_RECEIVE_FILTER_CAPABILITIES 結構的成員中設定NDIS_RECEIVE_FILTER_MAC_HEADER_VLAN_ID_SUPPORTED旗標來報告這項功能。 如需 *VMQVlanFiltering 標準化關鍵詞的詳細資訊,請參閱 VMQ的標準化 INF 關鍵詞。
如果迷你埠驅動程式已針對 VMQ 喜好設定,則必須讀取 *VMQ 關鍵詞,以判斷是否在網路適配器上啟用 VMQ。 如果 關鍵詞設定為其中一個,驅動程式會報告目前啟用的 VMQ 設定。 如需迷你連接埠驅動程式如何報告 VMQ 設定的詳細資訊,請參閱 判斷網路適配器的 VMQ 功能。
如需 VMQ 關鍵詞的詳細資訊,請參閱 VMQ的標準化 INF 關鍵詞。
注意 如果迷你埠驅動程式已針對 VMQ 喜好設定,則不得讀取任何 RSS 或 SR-IOV 標準化關鍵詞。
如果迷你埠驅動程式已針對 RSS 喜好設定,則必須讀取 *RSS 關鍵詞,以判斷是否在網路適配器上啟用 RSS。 如果 關鍵詞設定為其中一個,驅動程式會報告目前啟用的 RSS 設定。 如需迷你連接埠驅動程式如何報告 RSS 設定的詳細資訊,請參閱 RSS 組態。
如需 RSS 關鍵詞的詳細資訊,請參閱 RSS 標準化 INF 關鍵詞。
注意 如果迷你埠驅動程式已針對 RSS 喜好設定,則不得讀取任何 VMQ 或 SR-IOV 標準化關鍵詞。
下表說明迷你埠驅動程式如何判斷 SR-IOV、VMQ 或 RSS 喜好設定,以在網路適配器中啟用正確的介面。
SriovPreferred | RssOrVmqPreference | SRIOV | VMQ | *RSS | 已啟用的介面 |
---|---|---|---|---|---|
1 |
1 |
1 |
1 |
N/A |
SR-IOV 和 VMQ |
1 |
1 |
0 |
1 |
N/A |
VMQ |
1 |
登錄中有 1、0 或不存在 |
0 |
0 |
N/A |
沒有 |
0,或不存在於登錄中 |
1 |
N/A |
1 |
N/A |
VMQ |
0,或不存在於登錄中 |
1 |
N/A |
0 |
N/A |
沒有 |
0,或不存在於登錄中 |
0,或不存在於登錄中 |
N/A |
N/A |
1 |
RSS |
0,或不存在於登錄中 |
0,或不存在於登錄中 |
N/A |
N/A |
0 |
沒有 |
注意 當同時啟用 SR-IOV 和 VMQ 介面時,連接至 PCI Express (PCIe) 實體功能 (PF) 的 SR-IOV 非預設虛擬埠 (VPorts) 將會被使用,而不是使用 VMQ 介面的 VM 佇列。 如需詳細資訊,請參閱 非預設虛擬埠和 VMQ。
迷你埠驅動程序必須公告目前啟用介面的功能。 例如,如果已啟用 SR-IOV,迷你埠驅動程序必須公告 SR-IOV 功能,但不能公告 VMQ 或 RSS 的功能。 不過,迷你埠驅動程序必須一律報告完整的 RSS、VMQ 和 SR-IOV 硬體功能,不論網路適配器上已啟用哪一個介面。
附注 VMQ 和 SR-IOV 介面會使用透過 VM 佇列或 SR-IOV 虛擬埠 (VPorts) 的接收篩選。 因此,當其中一個介面啟用時,某些接收篩選功能需要相同或不同的設定。 如需如何報告 SR-IOV 介面接收篩選功能的詳細資訊,請參閱 判斷接收篩選功能。 如需如何報告 VMQ 介面接收篩選功能的詳細資訊,請參閱 判斷網路適配器的 VMQ 功能。