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 構造体として書式設定されます。
ミニポート ドライバーは、ヘッダーの Type メンバーをNDIS_OBJECT_TYPE_DEFAULTに設定する必要があります。 NDIS_NIC_SWITCH_CAPABILITIES構造体のバージョンを指定するには、ドライバーで Header の Revision メンバーを次のいずれかの値に設定する必要があります。
NDIS_NIC_SWITCH_CAPABILITIES_REVISION_3
NDIS 6.60 の RSS インターフェイス メンバーを追加しました。
[サイズ] メンバーを [NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_3] に設定します。
NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2
NDIS 6.30 の単一ルート I/O 仮想化 (SR-IOV) インターフェイス メンバーを追加しました。
[サイズ] メンバーを [NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_2] に設定します。
NDIS_NIC_SWITCH_CAPABILITIES_REVISION_1
NDIS 6.20 の元のバージョン。
[サイズ] メンバーを [NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_1] に設定します。
Flags
フラグのビットごとの OR を含む ULONG 値。 このメンバーは NDIS 用に予約されています。
NdisReserved1
NDIS 用に予約されています。
NumTotalMacAddresses
ネットワーク アダプターがサポートするメディア アクセス制御 (MAC) アドレスの合計数を含む ULONG 値。
NumMacAddressesPerPort
各ポートでサポートされている MAC アドレスの数を含む ULONG 値。
NumVlansPerPort
各ポートでサポートされている VLAN の数を含む ULONG 値。
NdisReserved2
NDIS 用に予約されています。
NdisReserved3
NDIS 用に予約されています。
NicSwitchCapabilities
NIC スイッチの機能を指定する次のフラグのビットごとの OR を含む ULONG 値。
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 の発行者に対して、2 の次の累乗に切り上げられた VPort キューの数と等しい PF ごとの VPort 間接参照テーブル サイズを強制的に使用します。 これは PF VPorts にのみ適用され、VF VPorts には適用されません。 このフラグは 、NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED フラグと組み合わせることができます (異なる PF VPort に異なる数のキューを含めることができます)。 このフラグにより、VMMQ ユーザーはきめ細かいキュー ステアリングを実行できなくなります。
NDIS_NIC_SWITCH_CAPS_NIC_SWITCH_WITHOUT_IOV_SUPPORTED
NDIS 6.60 で導入されたこのフラグは、SR-IOV を使用せずに NIC スイッチを作成できることを指定します。 このフラグを使用すると、NIC スイッチを *SRIOV キーワード (keyword)から分離できます。つまり、*SRIOV = 0 の場合でも、NIC スイッチをOID_NIC_SWITCH_CREATE_SWITCH経由で作成できます。
NDIS 6.60 以降のミニポート ドライバーの NIC スイッチ機能のレポートの詳細については、「 NIC スイッチ機能の決定」を参照してください。
NDIS_NIC_SWITCH_CAPS_VLAN_SUPPORTED
このフラグは、NIC スイッチが仮想ローカル エリア ネットワーク (VLAN) 識別子 (ID) に基づくハードウェア パケット フィルタリングをサポートすることを指定します。
NDIS_NIC_SWITCH_CAPS_PER_VPORT_INTERRUPT_MODERATION_SUPPORTED
このフラグは、NIC スイッチが個々の VPort で割り込みモデレーション構成をサポートできることを指定します。
NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED
このフラグは、NIC スイッチが既定以外の VPort ごとに異なる数のキュー ペアを構成できることを指定します。 つまり、既定以外の各 VPort は、異なる数のキュー ペアを持つ非対称的に構成できます。
このフラグが設定されていない場合は、既定以外のすべての VPort を対称的に構成して、同じ数のキュー ペアを持つ必要があります。
このフラグが設定されているかどうかに関係なく、NIC スイッチは、既定の VPort でキュー ペアの数を設定する機能をサポートする必要があります。 これらは、既定以外の VPort に設定されているキュー ペアの数とは異なる場合があります。
NDIS_NIC_SWITCH_CAPS_VF_RSS_SUPPORTED
このフラグは、PCI Express (PCIe) 仮想関数 (VF) に接続されている既定以外の VPort からのキュー ペアを、受信側スケーリング (RSS) に使用できることを指定します。 VF ミニポート ドライバーは、Hyper-V 子パーティションのゲスト オペレーティング システムで実行されます。
このフラグが設定されている場合、ミニポート ドライバーは VF で RSS をサポートし、RSS の既定以外の VPort から 1 つ以上のキュー ペアを使用できます。
NDIS_NIC_SWITCH_CAPS_SINGLE_VPORT_POOL
このフラグは、既定以外の VPort を、ネットワーク アダプター上の VPort プールから予約されていない方法で作成できることを指定します。 これにより、使用可能な既定以外の VPort を作成し、必要に応じて PF と割り当てられた VFs に割り当てることができます。 ネットワーク アダプターが仮想マシン キュー (VMQ) インターフェイスをサポートしている場合は、PF に割り当てられている既定以外の VPort を VM 受信キューにも使用できます。
VMQ の詳細については、「 仮想マシン キュー (VMQ)」を参照してください。
VPorts の詳細については、「 仮想ポートの管理」を参照してください。
MaxNumSwitches
ネットワーク アダプターの PCI Express (PCIe) 物理機能 (PF) で作成できるスイッチの最大数を指定する ULONG 値。
MaxNumVPorts
ネットワーク アダプターに作成できる VPort の最大数を指定する ULONG 値。 これには、常に PF にアタッチされる既定の VPort が含まれます。
NdisReserved4
NDIS 用に予約されています。
MaxNumVFs
NIC スイッチに作成できる VM の最大数を指定する ULONG 値。
MaxNumQueuePairs
すべての VPort に割り当てることができるキュー ペアの最大数を指定する ULONG 値。 これには、PF にアタッチされている既定の VPort が含まれます。
NdisReserved5
NDIS 用に予約されています。
NdisReserved6
NDIS 用に予約されています。
NdisReserved7
NDIS 用に予約されています。
MaxNumQueuePairsPerNonDefaultVPort
既定以外の VPort に割り当てることができるキュー ペアの最大数を指定する ULONG 値。
この値は 2 の累乗で指定され、VPorts へのキュー ペアの非対称構成と割り当てを提供します。 詳細については、「 キュー ペアの対称割り当てと非対称割り当て」を参照してください。
NdisReserved8
NDIS 用に予約されています。
NdisReserved9
NDIS 用に予約されています。
NdisReserved10
NDIS 用に予約されています。
NdisReserved11
NDIS 用に予約されています。
NdisReserved12
NDIS 用に予約されています。
MaxNumMacAddresses
NIC スイッチで使用可能なユニキャスト MAC アドレス フィルターの最大数を指定する ULONG 値。
NdisReserved13
NDIS 用に予約されています。
NdisReserved14
NDIS 用に予約されています。
NdisReserved15
NDIS 用に予約されています。
NdisReserved16
NDIS 用に予約されています。
NdisReserved17
NDIS 用に予約されています。
MaxNumRssCapableNonDefaultPFVPorts
RSS 対応の既定以外の PFVPort の最大数を指定する ULONG 値。
NumberOfIndirectionTableEntriesForDefaultVPort
既定の VPort の間接参照テーブル エントリの数を指定する ULONG 値。
NumberOfIndirectionTableEntriesPerNonDefaultPFVPort
既定以外の各 PFVPort の間接テーブル エントリの数を指定する ULONG 値。
MaxNumQueuePairsForDefaultVPort
既定の VPort に割り当てることができるキュー ペアの最大数を指定する ULONG 値。
この値は 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 以降でサポートされています。 |
Header | ntddndis.h (Ndis.h を含む) |
こちらもご覧ください
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES