處理 SR-IOV、VMQ 和 RSS 標準化 INF 關鍵字
支援單一根目錄 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 可延伸交換器。
當網路介面卡與 TCP/IP 堆疊和 Hyper-V 可延伸交換器驅動程式堆疊取消系結時,迷你埠驅動程式會停止,然後重新初始化。 因此,這類網路介面卡無法自動在 RSS、VMQ 和 SR-IOV 之間切換。
當 NDIS 呼叫 MiniportInitializeEx 函式時,迷你埠驅動程式會遵循下列步驟,再向 NDIS 報告其目前啟用的 SR-IOV、VMQ 或 RSS 功能:
迷你埠驅動程式會先讀取 *SriovPreferred 關鍵字,再將其目前啟用的功能回報給 NDIS。
如果 *SriovPreferred 關鍵字的值是其中一個,則迷你埠驅動程式會設定為 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) 識別碼來篩選網路封包。 迷你埠驅動程式會藉由在NDIS_RECEIVE_FILTER_CAPABILITIES結構的SupportedMacHeaderFields成員中設定 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 介面時,會使用 SR-IOV 非預設虛擬埠 (VPorts) ,這些埠會連結至 PCI Express (PCIe) 實體函式 (PF) ,而不是 VMQ 介面的 VM 佇列。 如需詳細資訊,請參閱 非預設虛擬埠和 VMQ。
迷你埠驅動程式必須公告目前已啟用介面的功能。 例如,如果已啟用 SR-IOV,迷你埠驅動程式必須公告 SR-IOV 功能,但不能公告 VMQ 或 RSS 的功能。 不過,迷你埠驅動程式一律必須報告完整的 RSS、VMQ 和 SR-IOV 硬體功能,不論網路介面卡上啟用哪一個介面。
注意 VMQ 和 SR-IOV 介面會使用透過 VM 佇列或 SR-IOV 虛擬埠的接收篩選, (VPorts) 。 因此,啟用這些介面時,某些接收篩選功能需要相同或不同的設定。 如需如何報告 SR-IOV 介面接收篩選功能的詳細資訊,請參閱 判斷接收篩選功能。 如需如何報告 VMQ 介面接收篩選功能的詳細資訊,請參閱 判斷網路介面卡的 VMQ 功能。