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 結構。
迷你埠驅動程序必須將 Header 的 Type 成員設定為 NDIS_OBJECT_TYPE_DEFAULT。 若要指定NDIS_NIC_SWITCH_CAPABILITIES結構的版本,驅動程式必須將Header的Revision成員設定為下列其中一個值:
NDIS_NIC_SWITCH_CAPABILITIES_REVISION_3
已新增 NDIS 6.60 的 RSS 介面成員。
將 Size 成員設定為 NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_3。
NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2
已針對 NDIS 6.30 新增單一根目錄 I/O 虛擬化 (SR-IOV) 介面成員。
將 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) 位址。
NumMacAddressesPerPort
ULONG 值,其中包含每個埠支援的 MAC 位址數目。
NumVlansPerPort
ULONG 值,其中包含每個埠支援的 VLAN 數目。
NdisReserved2
保留給 NDIS。
NdisReserved3
保留給 NDIS。
NicSwitchCapabilities
ULONG 值,其中包含下列旗標的位 OR,指定 NIC 參數的功能:
NDIS_NIC_SWITCH_CAPS_RSS_ON_PF_VPORTS_SUPPORTED
指定 NIC 支援適用於 PF VPorts 的 VMMQ。
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SUPPORTED
如果設定為 1,則指定 NIC 能夠維護每個 PF VPort 間接取值數據表。
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED
如果設定為 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
如果設定為 1,指定 NIC 支援為每個 PF VPort 設定不同的哈希類型。
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED
如果設定為 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
如果設定為 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
這個旗標是以 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) 識別子 (標識子) 的硬體封包篩選。
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 上設定的佇列配對數目。
NDIS_NIC_SWITCH_CAPS_VF_RSS_SUPPORTED
此旗標會指定連接至PCI Express (PCIe) Virtual Function (VF) 之非預設 VPorts 的佇列配對可用於接收端調整 (RSS) 。 VF 迷你埠驅動程式會在 Hyper-V 子分割的客體作業系統中執行。
如果已設定此旗標,迷你埠驅動程序支援 VF 上的 RSS,而且可以使用來自非預設 VPort for RSS 的一或多個佇列配對。
NDIS_NIC_SWITCH_CAPS_SINGLE_VPORT_POOL
此旗標指定可以從網路適配器上的 VPort 集區,以非保留方式建立非預設 VPorts。 這可讓可用的非預設 VPorts 視需要建立並指派給 PF 和配置的 VFs。 如果網路適配器支援虛擬機佇列 (VMQ) 介面,則指派給 PF 的非預設 VPort 也可用於 VM 接收佇列。
如需 VMQ 的詳細資訊,請參閱 虛擬機佇列 (VMQ) 。
如需 VPorts 的詳細資訊,請參閱 管理虛擬埠。
MaxNumSwitches
ULONG 值,指定可在網路適配器的PCI Express (PCIe) 實體函式上建立的交換器數目上限, (PF) 。
MaxNumVPorts
ULONG 值,指定可在網路適配器上建立的 VPort 數目上限。 這包括一律附加至 PF 的預設 VPort。
NdisReserved4
保留給 NDIS。
MaxNumVFs
ULONG 值,指定可在 NIC 交換器上建立的 VF 數目上限。
MaxNumQueuePairs
ULONG 值,指定可指派給所有 VPort 的佇列配對數目上限。 這包括連結至 PF 的預設 VPort。
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 位址篩選器數目上限。
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 結構用於下列結構的成員:
- HardwareNicSwitchCapabilities 和 CurrentNicSwitchCapabilities 成員 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 結構。
- 的 NicSwitchCapabilities 成員 NDIS_FILTER_ATTACH_PARAMETERS 和 NDIS_BIND_PARAMETERS 結構。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.20 和更新版本支援。 |
標頭 | ntddndis.h (包含 Ndis.h) |
另請參閱
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES