NDIS_SWITCH_NIC_PARAMETERS 構造体 (ntddndis.h)
NDIS_SWITCH_NIC_PARAMETERS構造体は、Hyper-V 拡張可能スイッチ ポートに接続されているネットワーク アダプター (NIC) の構成パラメーターを指定します。
構文
typedef struct _NDIS_SWITCH_NIC_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_SWITCH_NIC_NAME NicName;
NDIS_SWITCH_NIC_FRIENDLYNAME NicFriendlyName;
NDIS_SWITCH_PORT_ID PortId;
NDIS_SWITCH_NIC_INDEX NicIndex;
NDIS_SWITCH_NIC_TYPE NicType;
NDIS_SWITCH_NIC_STATE NicState;
NDIS_VM_NAME VmName;
NDIS_VM_FRIENDLYNAME VmFriendlyName;
GUID NetCfgInstanceId;
ULONG MTU;
USHORT NumaNodeId;
UCHAR PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
UCHAR VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
BOOLEAN VFAssigned;
ULONG64 NdisReserved[2];
} NDIS_SWITCH_NIC_PARAMETERS, *PNDIS_SWITCH_NIC_PARAMETERS;
メンバー
Header
NDIS_SWITCH_NIC_PARAMETERS構造体の型、リビジョン、およびサイズ。 このメンバーは、 NDIS_OBJECT_HEADER 構造体として書式設定されます。
Header の Type メンバーは、NDIS_OBJECT_TYPE_DEFAULTに設定する必要があります。 NDIS_SWITCH_NIC_PARAMETERS構造体のバージョンを指定するには、Header の Revision メンバーを次の値に設定する必要があります。
NDIS_SWITCH_NIC_PARAMETERS_REVISION_1
NDIS 6.30 以降の元のバージョン。
[サイズ] メンバーを [NDIS_SIZEOF_NDIS_SWITCH_NIC_PARAMETERS_REVISION_1] に設定します。
Flags
フラグのビットごとの OR を含む ULONG 値。 次のフラグ値が定義されています。
値 | 意味 |
---|---|
|
このフラグは、 OID_SWITCH_NIC_CREATE OID が VM NIC オブジェクトの有効期間中に初めて発行されるときに設定されます。 このフラグが設定されている場合:
|
NicName
拡張可能スイッチ ポートに接続されているネットワーク アダプターの一意の内部名を指定するNDIS_SWITCH_NIC_NAME値。
詳細については、「解説」を参照してください。
NicFriendlyName
ネットワーク アダプターのわかりやすい説明を指定するNDIS_SWITCH_NIC_FRIENDLYNAME値。
PortId
ネットワーク アダプターが接続されている拡張可能スイッチ ポートの一意識別子を含むNDIS_SWITCH_PORT_ID値。
NicIndex
PortId メンバーによって指定された拡張可能スイッチ ポートに接続されているネットワーク アダプターのインデックスを指定するNDIS_SWITCH_NIC_INDEX値。
NDIS_SWITCH_NIC_INDEX値の詳細については、「 ネットワーク アダプターのインデックス値」を参照してください。
NicType
拡張可能スイッチ ポートに接続されているネットワーク アダプターの種類を指定するNDIS_SWITCH_NIC_TYPE値。
NicState
ネットワーク アダプターの現在 の状態を指定するNDIS_SWITCH_NIC_STATE値。
VmName
ネットワーク アダプターを公開するゲスト オペレーティング システムが実行されている Hyper-V 子パーティションの一意の内部名を指定するNDIS_VM_NAME値。
Hyper-V 子パーティションは、仮想マシン (VM) とも呼ばれます。
VmFriendlyName
NetCfgInstanceId
基になるネットワーク アダプターの NetCfgInstanceId レジストリ値を指定する GUID 値。
MTU
ネットワーク アダプターの最大伝送単位 (MTU) サイズをバイト単位で指定する ULONG 値。
NumaNodeId
CPU の優先される非均一メモリ アクセス (NUMA) ノードの識別子を指定する USHORT 値。 NUMA アーキテクチャをサポートするコンピューターでは、推奨される NUMA ノードは、ネットワーク アダプターまでの距離が最も小さい CPU です。
PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
ネットワーク アダプターのホスト パーティションで構成されているメディア アクセス制御 (MAC) アドレスを指定する UCHAR 配列。 これは、ネットワーク アダプターで現在使用されている MAC アドレスとは異なる場合があります。
VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
VM 自体内のネットワーク アダプターで構成されている MAC アドレスを指定する UCHAR 配列。 フィールドは、VM NIC 以外の場合、すべてゼロです。 AllowMacSpoofing (NDIS_SWITCH_PORT_PROPERTY_SECURITY から) が TRUE の場合、このアドレスは CurrentMacAddress にも適用されます。
CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
ネットワーク アダプターのスイッチで現在使用されている MAC アドレスを指定する UCHAR 配列。 AllowMacSpoofing と AllowTeaming の両方が FALSE の場合、この値は PermanentMacAddress と等しくなります。 AllowMacSpoofing が TRUE の場合、この値は VMMacAddress と等しくなります。 AllowTeaming が TRUE で、VM 内でチーミング フェールオーバーが発生した場合、フェールオーバーが発生していない場合、CurrentMacAddress はネットワーク アダプターまたは PermanentMacAddress にフェールオーバーされた MAC アドレスと同じになります。
VFAssigned
TRUE に設定されている場合、ネットワーク アダプターが PCI Express (PCIe) 仮想関数 (VF) に接続されていることを指定するブール値。 VF は、単一ルート I/O 仮想化 (SR-IOV) インターフェイスをサポートする基になる物理ネットワーク アダプターによって公開されます。
詳細については、「解説」を参照してください。
NdisReserved[2]
注釈
OID_SWITCH_NIC_ARRAY の OID クエリ要求は、0 個以上の要素を含むNDIS_SWITCH_NIC_ARRAY構造体を返します。 各要素は、 NDIS_SWITCH_NIC_PARAMETERS 構造体として書式設定されます。
NDIS_SWITCH_NIC_PARAMETERS構造体は、次の OID 要求でも使用されます。
NicType メンバーと NicName メンバーのガイドライン
値 NicType メンバーに基づいて、 NicName メンバーの形式は次のとおりです。-
NicType メンバーが NdisSwitchNicTypeExternal に設定されている場合、NicName メンバーの値は、外部ネットワーク アダプターにバインドされている物理ネットワーク アダプターの一意のインスタンス識別子 (InstanceId) です。 この種類のネットワーク アダプターは、Hyper-V 親パーティションで実行される管理オペレーティング システムで公開されます。
外部ネットワーク アダプターは、ホストで使用できる物理ネットワーク インターフェイスへの接続を提供します。 外部ネットワーク アダプターには、Hyper-V 親パーティションとすべての子パーティションからアクセスできます。
メモInstanceId 値は、管理オペレーティング システムで実行されるプラグ アンド プレイ マネージャーによって生成されます。 -
NicType メンバーが NdisSwitchNicTypeInternal に設定されている場合、NicName メンバーの値は、内部ネットワーク アダプターを識別するデバイスの表示名です。 この種類のネットワーク アダプターは、Hyper-V 親パーティションの管理オペレーティング システムで公開されます。
内部ネットワーク アダプターには、Hyper-V 親パーティションとすべての子パーティションからアクセスできます。 ただし、内部ネットワーク アダプターは、ホストで使用できる物理ネットワーク インターフェイスに接続しません。
メモ デバイスの表示名は、管理オペレーティング システムで実行される Hyper-V WMI 管理レイヤーによって生成されます。 - 他のすべての NicType メンバー値に対して、 NicName メンバーの値は、ポリシー管理インターフェイスによって合成またはエミュレートされたネットワーク アダプターに一意に割り当てられます。 これらの種類のネットワーク アダプターは、Hyper-V 子パーティションを実行するゲスト オペレーティング システムで公開されます。
VFAssigned メンバーのガイドライン
PCIe VF が作成され、SR-IOV インターフェイスをサポートする基になる物理アダプターによって割り当てられます。 PCIe VF が作成されると、仮想化スタックによって HYPER-V 子パーティションが VF にアタッチまたは 割り当てられます。 このパーティションで実行されるゲスト オペレーティング システムは、接続されているか、基になる SR-IOV 物理アダプターに 割り当てられている 仮想マシン (VM) ネットワーク アダプターを公開します。VFAssigned メンバーが TRUE に設定されている場合、パケットは基になる SR-IOV 物理ネットワーク アダプターと仮想アダプターの間で直接ルーティングされます。 ただし、拡張可能スイッチはパケット配信に関係しないため、アクセス制御リスト (ACL) などの拡張可能スイッチ ポート ポリシーは、これらのパケットには適用されません。
拡張機能は、 NDIS_STATUS_SWITCH_PORT_REMOVE_VF 状態表示を発行することで VF 割り当てを削除できます。 この表示により、VM ネットワーク アダプターと SR-IOV 物理アダプターの間に直接ではなく、拡張可能なスイッチ ポートを介してパケットが配信されます。 これにより、拡張可能スイッチ ポート を介して受信または送信されるパケットに拡張可能スイッチ ポート ポリシーを適用できます。 拡張機能は 、NDIS_STATUS_SWITCH_PORT_REMOVE_VF 状態の表示を行うときに、仮想ネットワーク アダプターが接続されている拡張可能スイッチ ポートを指定します。
詳細については、「 NDIS_STATUS_SWITCH_PORT_REMOVE_VF」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.30 以降でサポートされています。 |
Header | ntddndis.h (Ndis.h、Fwpsk.h を含む) |
こちらもご覧ください