共用方式為


NDIS_NIC_SWITCH_CAPABILITIES 結構 (ntddndis.h)

NDIS_NIC_SWITCH_CAPABILITIES 結構會指定網路適配器上 NIC 交換器的功能。

語法

typedef struct _NDIS_NIC_SWITCH_CAPABILITIES {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              NdisReserved1;
  ULONG              NumTotalMacAddresses;
  ULONG              NumMacAddressesPerPort;
  ULONG              NumVlansPerPort;
  ULONG              NdisReserved2;
  ULONG              NdisReserved3;
  ULONG              NicSwitchCapabilities;
  ULONG              MaxNumSwitches;
  ULONG              MaxNumVPorts;
  ULONG              NdisReserved4;
  ULONG              MaxNumVFs;
  ULONG              MaxNumQueuePairs;
  ULONG              NdisReserved5;
  ULONG              NdisReserved6;
  ULONG              NdisReserved7;
  ULONG              MaxNumQueuePairsPerNonDefaultVPort;
  ULONG              NdisReserved8;
  ULONG              NdisReserved9;
  ULONG              NdisReserved10;
  ULONG              NdisReserved11;
  ULONG              NdisReserved12;
  ULONG              MaxNumMacAddresses;
  ULONG              NdisReserved13;
  ULONG              NdisReserved14;
  ULONG              NdisReserved15;
  ULONG              NdisReserved16;
  ULONG              NdisReserved17;
  ULONG              MaxNumRssCapableNonDefaultPFVPorts;
  ULONG              NumberOfIndirectionTableEntriesForDefaultVPort;
  ULONG              NumberOfIndirectionTableEntriesPerNonDefaultPFVPort;
  ULONG              MaxNumQueuePairsForDefaultVPort;
} NDIS_NIC_SWITCH_CAPABILITIES, *PNDIS_NIC_SWITCH_CAPABILITIES;

成員

Header

NDIS_NIC_SWITCH_CAPABILITIES 結構的型別、修訂和大小。 此成員的格式為 NDIS_OBJECT_HEADER 結構。

迷你埠驅動程序必須將 HeaderType 成員設定為 NDIS_OBJECT_TYPE_DEFAULT。 若要指定NDIS_NIC_SWITCH_CAPABILITIES結構的版本,驅動程式必須將HeaderRevision成員設定為下列其中一個值:

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_3

已新增 NDIS 6.60 的 RSS 介面成員。

注意此結構的修訂 3 僅支援 windows Server Windows Server 2016 和更新版本。

 

Size 成員設定為 NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_3。

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2

已針對 NDIS 6.30 新增單一根目錄 I/O 虛擬化 (SR-IOV) 介面成員。

注意此結構的修訂 2 僅支援 windows Server Windows Server 2012 和更新版本。

 

Size 成員設定為 NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_2。

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_1

NDIS 6.20 的原始版本。

Size 成員設定為 NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_1。

Flags

包含旗標位 OR 的 ULONG 值。 此成員會保留給 NDIS。

NdisReserved1

保留給 NDIS。

NumTotalMacAddresses

ULONG 值,其中包含網路適配器支援的媒體訪問控制總數 (MAC) 位址。

注意 驅動程式必須針對此結構的修訂 2 和更新版本,將此成員設定為零。
 

NumMacAddressesPerPort

ULONG 值,其中包含每個埠支援的 MAC 位址數目。

注意 驅動程式必須針對此結構的修訂 2 和更新版本,將此成員設定為零。
 

NumVlansPerPort

ULONG 值,其中包含每個埠支援的 VLAN 數目。

注意 驅動程式必須針對此結構的修訂 2 和更新版本,將此成員設定為零。
 

NdisReserved2

保留給 NDIS。

NdisReserved3

保留給 NDIS。

NicSwitchCapabilities

ULONG 值,其中包含下列旗標的位 OR,指定 NIC 參數的功能:

NDIS_NIC_SWITCH_CAPS_RSS_ON_PF_VPORTS_SUPPORTED

注意Windows Server 2016和更新版本支援此旗標。 它是在 NDIS 6.60 中引進的。

指定 NIC 支援適用於 PF VPorts 的 VMMQ。

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SUPPORTED

注意Windows Server 2016和更新版本支援此旗標。 它是在 NDIS 6.60 中引進的。

如果設定為 1,則指定 NIC 能夠維護每個 PF VPort 間接取值數據表。

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED

注意Windows Server 2016和更新版本支援此旗標。 它是在 NDIS 6.60 中引進的。

如果設定為 1,則指定 NIC 支援為每個 PF VPort 設定不同的哈希函式。 如果設定此旗標, 也必須設定NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_TYPE_SUPPORTED

注意Windows Server 2016和更新版本支援此旗標。 它是在 NDIS 6.60 中引進的。

如果設定為 1,指定 NIC 支援為每個 PF VPort 設定不同的哈希類型。

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED

注意Windows Server 2016和更新版本支援此旗標。 它是在 NDIS 6.60 中引進的。

如果設定為 1,指定 NIC 支援為每個 PF VPort 設定不同的哈希秘密密鑰。 如果 已設定NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED, 就必須設定此旗標。

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SIZE_RESTRICTED

注意Windows Server 2016和更新版本支援此旗標。 它是在 NDIS 6.60 中引進的。

如果設定為 1,則指定 NIC 對於 PF VPorts 的間接數據表大小有限制。 此旗標會強制 RSS OID 的簽發者使用每一 PF VPort 間接取值數據表大小,等於四捨五入為兩個電源的 VPort 佇列數目。 這僅適用於 PF VPorts,不適用於 VF VPorts。 此旗標可以與NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED旗標結合 (不同的 PF VPorts 可以有不同的佇列數目) 。 此旗標可防止 VMMQ 使用者執行精細的佇列控制。

NDIS_NIC_SWITCH_CAPS_NIC_SWITCH_WITHOUT_IOV_SUPPORTED

注意Windows Server 2016和更新版本支援此旗標。

這個旗標是以 NDIS 6.60 引進,指定可以在不使用 SR-IOV 的情況下建立 NIC 參數。 此旗標允許分隔 NIC 參數與 *SRIOV 關鍵詞,這表示即使 *SRIOV = 0,也可以透過 OID_NIC_SWITCH_CREATE_SWITCH 建立 NIC 參數。

如需報告 NDIS 6.60 和更新版本迷你埠驅動程式 NIC 交換器功能的詳細資訊,請參閱 判斷 NIC 交換器功能

NDIS_NIC_SWITCH_CAPS_VLAN_SUPPORTED

此旗標指定 NIC 交換器支援根據虛擬局域網路 (VLAN) 識別子 (標識子) 的硬體封包篩選。

注意 只有在 NIC 交換器支援個別 SR-IOV 虛擬埠上的 VLAN 識別符篩選 (VPorts) 時,才應該設定此旗標。
 

NDIS_NIC_SWITCH_CAPS_PER_VPORT_INTERRUPT_MODERATION_SUPPORTED

此旗標指定 NIC 參數可以支援個別 VPorts 上的中斷仲裁設定。

NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED

此旗標指定 NIC 參數可以為每個非預設 VPort 設定不同的佇列配對數目。 這表示每個非預設 VPort 都可以以非對稱方式設定,以擁有不同的佇列配對數目。

如果未設定此旗標,則所有非預設 VPorts 都必須以對稱方式設定為具有相同的佇列配對數目。

不論是否已設定此旗標,NIC 參數都必須支援在預設 VPort 上設定佇列組數目的能力。 這些可能不同於在非預設 VPorts 上設定的佇列配對數目。

注意 佇列配對是由傳輸佇列和接收佇列所組成。 透過 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 方法要求建立交換器時,會設定與預設 VPort 相關聯的佇列配對。 一或多個佇列組是透過 OID_NIC_SWITCH_CREATE_VPORT 的 OID 方法要求,在非預設 VPort 上設定。
 
如需詳細資訊,請參閱 佇列配對的對稱和非對稱指派

NDIS_NIC_SWITCH_CAPS_VF_RSS_SUPPORTED

此旗標會指定連接至PCI Express (PCIe) Virtual Function (VF) 之非預設 VPorts 的佇列配對可用於接收端調整 (RSS) 。 VF 迷你埠驅動程式會在 Hyper-V 子分割的客體作業系統中執行。

如果已設定此旗標,迷你埠驅動程序支援 VF 上的 RSS,而且可以使用來自非預設 VPort for RSS 的一或多個佇列配對。

注意從 Windows Server 2012 開始,只有一個非預設的 VPort 可以連結至 VF。
 

NDIS_NIC_SWITCH_CAPS_SINGLE_VPORT_POOL

此旗標指定可以從網路適配器上的 VPort 集區,以非保留方式建立非預設 VPorts。 這可讓可用的非預設 VPorts 視需要建立並指派給 PF 和配置的 VFs。 如果網路適配器支援虛擬機佇列 (VMQ) 介面,則指派給 PF 的非預設 VPort 也可用於 VM 接收佇列。

注意 默認 VPort 一律會保留給 PF 指派。
 
如果設定此旗標,則會建立可用的非預設 VPorts,並指派給 PF 和配置的 VFs。 不過,此機制不會保留非預設的 VPorts 來建立和指派 VF。 因此,如果集區已耗盡可用的 VPort,可能會發生 VF 可能未指派 VPort 的情況。
注意 如果 VF 無法指派 VPort,則透過 VF 的封包流量會透過 SR-IOV 綜合數據路徑發生。 如需此資料路徑的詳細資訊,請參閱 SR-IOV 資料路徑
 
如果未設定此旗標,則非預設 VPorts 的建立和指派會保留給 VF 指派。 您可以建立其他非預設 VPorts 並指派給 PF。

如需 VMQ 的詳細資訊,請參閱 虛擬機佇列 (VMQ)

如需 VPorts 的詳細資訊,請參閱 管理虛擬埠

MaxNumSwitches

ULONG 值,指定可在網路適配器的PCI Express (PCIe) 實體函式上建立的交換器數目上限, (PF) 。

注意從 Windows Server 2012 開始,Windows 僅支援網路適配器上的預設 NIC 交換器。 因此,這個成員一律必須設定為一個。
 

MaxNumVPorts

ULONG 值,指定可在網路適配器上建立的 VPort 數目上限。 這包括一律附加至 PF 的預設 VPort。

注意 NIC 參數必須至少支援 (MaxNumVFs + 1) VPorts。
 

NdisReserved4

保留給 NDIS。

MaxNumVFs

ULONG 值,指定可在 NIC 交換器上建立的 VF 數目上限。

注意 根據網路適配器上的可用硬體資源,迷你埠驅動程式可以將 MaxNumVFs 成員設定為其小於 其 *NumVFs 關鍵詞的值。 如需此關鍵詞的詳細資訊,請參閱 SR-IOV 的標準化 INF 關鍵詞
 

MaxNumQueuePairs

ULONG 值,指定可指派給所有 VPort 的佇列配對數目上限。 這包括連結至 PF 的預設 VPort。

注意 此值必須大於或等於 MaxNumVPorts 的值。
 

NdisReserved5

保留給 NDIS。

NdisReserved6

保留給 NDIS。

NdisReserved7

保留給 NDIS。

MaxNumQueuePairsPerNonDefaultVPort

ULONG 值,指定可指派給非預設 VPort 的佇列配對數目上限。

此值是以 2 的乘冪指定,並提供非對稱組態和將佇列配對指派給 VPorts。 如需詳細資訊,請參閱 佇列配對的對稱和非對稱指派

NdisReserved8

保留給 NDIS。

NdisReserved9

保留給 NDIS。

NdisReserved10

保留給 NDIS。

NdisReserved11

保留給 NDIS。

NdisReserved12

保留給 NDIS。

MaxNumMacAddresses

ULONG 值,指定 NIC 交換器上可用的單播 MAC 位址篩選器數目上限。

注意 此值必須大於或等於 MaxNumVPorts 的值。 這可讓每個 VPort (包括預設 VPort) 設定為至少有一個單播 MAC 位址篩選器。
 

NdisReserved13

保留給 NDIS。

NdisReserved14

保留給 NDIS。

NdisReserved15

保留給 NDIS。

NdisReserved16

保留給 NDIS。

NdisReserved17

保留給 NDIS。

MaxNumRssCapableNonDefaultPFVPorts

ULONG 值,指定支援 RSS 的非預設 PFVPorts 數目上限。

NumberOfIndirectionTableEntriesForDefaultVPort

ULONG 值,指定預設 VPort 的間接資料表項目數目。

NumberOfIndirectionTableEntriesPerNonDefaultPFVPort

ULONG 值,指定每個非預設 PFVPort 的間接數據表項目數目。

MaxNumQueuePairsForDefaultVPort

ULONG 值,指定可指派給預設 VPort 的佇列配對數目上限。

此值是以 2 的乘冪指定,並提供非對稱組態和將佇列配對指派給 VPorts。 如需詳細資訊,請參閱 佇列配對的對稱和非對稱指派

備註

NDIS_NIC_SWITCH_CAPABILITIES 結構用於下列結構的成員:

OID_NIC_SWITCH_CURRENT_CAPABILITIES 和的 OID 查詢要求 OID_NIC_SWITCH_HARDWARE_CAPABILITIES 傳回 NDIS_NIC_SWITCH_CAPABILITIES 結構。

規格需求

需求
最低支援的用戶端 NDIS 6.20 和更新版本支援。
標頭 ntddndis.h (包含 Ndis.h)

另請參閱

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

OID_NIC_SWITCH_CREATE_VPORT

OID_NIC_SWITCH_CURRENT_CAPABILITIES

OID_NIC_SWITCH_HARDWARE_CAPABILITIES