次の方法で共有


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 インターフェイス メンバーを追加しました。

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

 

Size メンバーを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 でのみサポートされています。

 

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

メモ ドライバーは、この構造体のリビジョン 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 が VMMQ for PF VPorts をサポートすることを指定します。

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

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

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

このフラグは、NIC スイッチが個々の SR-IOV 仮想ポート (VPort) で 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)」を参照してください。

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

MaxNumSwitches

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

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

MaxNumVPorts

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

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

NdisReserved4

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

MaxNumVFs

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

ネットワーク アダプターで使用可能なハードウェア リソースに応じて、ミニポート ドライバーは、MaxNumVFs メンバーを、*NumVFs キーワードより小さい値に設定できます。 このキーワードの詳細については、「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_CAPABILITIESNDIS_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