共用方式為


處理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 Extensible Switch

當網路適配器從 TCP/IP 堆疊和 Hyper-V 可延伸交換器驅動程式堆疊解除系結時,迷你埠驅動程式會停止,然後重新初始化。 因此,這類網路適配器無法自動切換 RSS、VMQ 和 SR-IOV。

當 NDIS 呼叫 MiniportInitializeEx 函式時,迷你埠驅動程式會先遵循下列步驟,再向 NDIS 報告其目前啟用的 SR-IOV、VMQ 或 RSS 功能:

  1. 迷你埠驅動程式會在向 NDIS 報告其目前啟用的功能之前,先讀取 *SriovPreferred 關鍵詞。

    如果 *SriovPreferred 關鍵詞的值是1,則小埠驅動程式設定為 SR-IOV 的偏好設定。

  2. 迷你埠驅動程式會先讀取 *RssOrVmqPreference 關鍵詞,再將其目前啟用的功能回報給 NDIS。

    如果 *RssOrVmqPreference 關鍵詞的值是其中一個,則會針對 VMQ 喜好設定迷你埠驅動程式。

    如果 *RssOrVmqPreference 關鍵詞的值為零或關鍵詞不存在,則迷你埠驅動程序會設定為 RSS 喜好設定。

  3. 如果迷你埠驅動程式已設定為 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 關鍵詞。

  4. 如果迷你埠驅動程式已針對 VMQ 喜好設定,則必須讀取 *VMQ 關鍵詞,以判斷是否在網路適配器上啟用 VMQ。 如果 關鍵詞設定為其中一個,驅動程式會報告目前啟用的 VMQ 設定。 如需迷你連接埠驅動程式如何報告 VMQ 設定的詳細資訊,請參閱 判斷網路適配器的 VMQ 功能

    如需 VMQ 關鍵詞的詳細資訊,請參閱 VMQ的標準化 INF 關鍵詞。

    注意 如果迷你埠驅動程式已針對 VMQ 喜好設定,則不得讀取任何 RSS 或 SR-IOV 標準化關鍵詞。

  5. 如果迷你埠驅動程式已針對 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 功能