Share via


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構造体のバージョンを指定するには、ドライバーで HeaderRevision メンバーを次のいずれかの値に設定する必要があります。

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_3

NDIS 6.60 の RSS インターフェイス メンバーを追加しました。

メモこの構造のリビジョン 3 は、Windows Server 2016以降のバージョンの Windows Server でのみサポートされています。

 

[サイズ] メンバーを [NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_3] に設定します。

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2

NDIS 6.30 の単一ルート I/O 仮想化 (SR-IOV) インターフェイス メンバーを追加しました。

メモこの構造のリビジョン 2 は、Windows Server 2012以降のバージョンの Windows Server でのみサポートされています。

 

[サイズ] メンバーを [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 値。

メモ ドライバーは、この構造体のリビジョン 2 以降のリビジョンでは、このメンバーを 0 に設定する必要があります。
 

NumMacAddressesPerPort

各ポートでサポートされている MAC アドレスの数を含む ULONG 値。

メモ ドライバーは、この構造体のリビジョン 2 以降のリビジョンでは、このメンバーを 0 に設定する必要があります。
 

NumVlansPerPort

各ポートでサポートされている VLAN の数を含む ULONG 値。

メモ ドライバーは、この構造体のリビジョン 2 以降のリビジョンでは、このメンバーを 0 に設定する必要があります。
 

NdisReserved2

NDIS 用に予約されています。

NdisReserved3

NDIS 用に予約されています。

NicSwitchCapabilities

NIC スイッチの機能を指定する次のフラグのビットごとの OR を含む ULONG 値。

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 の発行者に対して、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

メモこのフラグは、Windows Server 2016 以降でサポートされています。

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) に基づくハードウェア パケット フィルタリングをサポートすることを指定します。

メモ このフラグは、NIC スイッチが個々の SR-IOV 仮想ポート (VPorts) で 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 に設定されているキュー ペアの数とは異なる場合があります。

メモ キュー ペアは、送信キューと受信キューで構成されます。 既定の VPort に関連付けられているキュー ペアは、スイッチの作成時に、 OID_NIC_SWITCH_CREATE_SWITCHの OID メソッド要求によって構成されます。 1 つ以上のキュー ペアは、OID_NIC_SWITCH_CREATE_VPORTの OID メソッド要求を介して既定 以外の VPort に構成されます。
 
詳細については、「 キュー ペアの対称割り当てと非対称割り当て」を参照してください。

NDIS_NIC_SWITCH_CAPS_VF_RSS_SUPPORTED

このフラグは、PCI Express (PCIe) 仮想関数 (VF) に接続されている既定以外の VPort からのキュー ペアを、受信側スケーリング (RSS) に使用できることを指定します。 VF ミニポート ドライバーは、Hyper-V 子パーティションのゲスト オペレーティング システムで実行されます。

このフラグが設定されている場合、ミニポート ドライバーは VF で RSS をサポートし、RSS の既定以外の VPort から 1 つ以上のキュー ペアを使用できます。

メモWindows Server 2012以降、VF にアタッチできる既定以外の VPort は 1 つだけです。
 

NDIS_NIC_SWITCH_CAPS_SINGLE_VPORT_POOL

このフラグは、既定以外の VPort を、ネットワーク アダプター上の VPort プールから予約されていない方法で作成できることを指定します。 これにより、使用可能な既定以外の VPort を作成し、必要に応じて PF と割り当てられた VFs に割り当てることができます。 ネットワーク アダプターが仮想マシン キュー (VMQ) インターフェイスをサポートしている場合は、PF に割り当てられている既定以外の VPort を VM 受信キューにも使用できます。

メモ 既定の VPort は、常に PF への割り当て用に予約されています。
 
このフラグを設定すると、使用可能な既定以外の VPort が作成され、PF と割り当てられた VFs に割り当てられます。 ただし、このメカニズムでは、VF の作成と割り当てのために既定以外の VPort は予約されません。 その結果、使用可能な VPort が不足しているプールの場合、VF に VPort が割り当てられていない状況が発生する可能性があります。
メモ VF に VPort を割り当てることができない場合、VF 経由のパケット トラフィックは SR-IOV 合成データ パス経由で発生します。 このデータ パスの詳細については、「 SR-IOV データ パス」を参照してください。
 
このフラグが設定されていない場合、既定以外の VPort の作成と割り当ては VF 割り当て用に予約されます。 既定以外の VPort を追加で作成し、PF に割り当てることができます。

VMQ の詳細については、「 仮想マシン キュー (VMQ)」を参照してください。

VPorts の詳細については、「 仮想ポートの管理」を参照してください。

MaxNumSwitches

ネットワーク アダプターの PCI Express (PCIe) 物理機能 (PF) で作成できるスイッチの最大数を指定する ULONG 値。

メモWindows Server 2012以降、Windows では、ネットワーク アダプターの既定の NIC スイッチのみがサポートされます。 したがって、このメンバーは常に 1 に設定する必要があります。
 

MaxNumVPorts

ネットワーク アダプターに作成できる VPort の最大数を指定する ULONG 値。 これには、常に PF にアタッチされる既定の VPort が含まれます。

メモ NIC スイッチは、少なくとも (MaxNumVFs + 1) VPorts をサポートする必要があります。
 

NdisReserved4

NDIS 用に予約されています。

MaxNumVFs

NIC スイッチに作成できる VM の最大数を指定する ULONG 値。

メモネットワーク アダプターで使用可能なハードウェア リソースに応じて、ミニポート ドライバーは、*NumVFs キーワード (keyword)より小さい値に MaxNumVFs メンバーを設定できます。 このキーワード (keyword)の詳細については、「SR-IOV の標準化された INF キーワード」を参照してください。
 

MaxNumQueuePairs

すべての VPort に割り当てることができるキュー ペアの最大数を指定する ULONG 値。 これには、PF にアタッチされている既定の VPort が含まれます。

メモ この値は 、MaxNumVPorts の値以上である必要があります。
 

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 値。

メモ この値は 、MaxNumVPorts の値以上である必要があります。 これにより、各 VPort (既定の VPort を含む) に、少なくとも 1 つのユニキャスト MAC アドレス フィルターを設定できます。
 

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構造体は、次の構造体のメンバーで使用されます。

OID_NIC_SWITCH_CURRENT_CAPABILITIES および の OID クエリ要求 OID_NIC_SWITCH_HARDWARE_CAPABILITIES NDIS_NIC_SWITCH_CAPABILITIES構造体を返します。

要件

要件
サポートされている最小のクライアント NDIS 6.20 以降でサポートされています。
Header 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