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 構造体として書式設定されます。
ミニポート ドライバーは、ヘッダー の 型 メンバーをNDIS_OBJECT_TYPE_DEFAULTに設定する必要があります。 NDIS_NIC_SWITCH_CAPABILITIES 構造体のバージョンを指定するには、ドライバーは、ヘッダー の リビジョン メンバーを次のいずれかの値に設定する必要があります。
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
ネットワーク アダプターがサポートするメディア アクセス制御 (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 が VMMQ for PF VPorts をサポートすることを指定します。
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 VPort にのみ適用され、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 スイッチを作成できることを指定します。 このフラグを使用すると、*SRIOV キーワードから NIC スイッチを分離できます。つまり、*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)」を参照してください。
VPort の詳細については、「仮想ポートの管理」を参照してください。
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 以降でサポートされています。 |
ヘッダー | ntddndis.h (Ndis.h を含む) |
関連項目
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES