Hyper-V 拡張可能スイッチ ポートおよびネットワーク アダプターの状態

Hyper-V 拡張可能スイッチ インターフェイスは、次のコンポーネントの有効期間を管理します。

Hyper-V 拡張可能スイッチ ポート
Hyper-V 拡張可能スイッチへの各ネットワーク アダプター接続は、ポートによって表されます。 ポートは、Hyper-V 子パーティションが拡張可能スイッチのインスタンスに接続するように構成されている場合に作成されます。 スイッチの種類に応じて、外部および内部ネットワーク アダプター接続用のポートも作成されます。 スイッチの種類の詳細については、「Hyper-V拡張可能スイッチの概要」を参照してください。

各ポートは、ネットワーク インターフェイス接続の構成を保持するために使用されます。 ネットワーク インターフェイス接続の構成が削除された場合、または子パーティションが停止している場合、ポートは切断され、削除されます。

このコンポーネントの詳細については、「Hyper-V 拡張可能スイッチポート」を参照してください。

Hyper-V 拡張可能スイッチ ネットワーク アダプター
これらは、拡張可能スイッチ ポートに接続する仮想ネットワーク アダプターです。 これらの仮想ネットワーク アダプターは、Hyper-V の子パーティションと親パーティション内で公開されます。 これには、子パーティションで公開されている仮想マシン (VM) ネットワーク アダプターと、基になる物理ネットワーク アダプターとチーム化された外部ネットワーク アダプターが含まれます。

各ネットワーク アダプター接続には、対応する拡張可能スイッチ ポートが必要です。 ネットワーク アダプター接続が起動する前に、ポートが作成されている必要があります。 同様に、ポートを切断して削除するには、ネットワーク アダプター接続を削除する必要があります。

注: 場合によっては、ネットワーク アダプターに接続しなくても、拡張可能スイッチ ポートを作成および削除できます。

たとえば、Hyper-V 子パーティションが起動されると、拡張可能スイッチ インターフェイスは、VM ネットワーク アダプターがゲスト オペレーティング システム内で公開される前にポートを作成します。 VM ネットワーク アダプターが公開および列挙されると、拡張可能スイッチ インターフェイスによって、VM ネットワーク アダプターと拡張可能スイッチ ポートの間にネットワーク接続が作成されます。 子パーティションが停止している場合、拡張可能スイッチ インターフェイスは最初にネットワーク接続を削除してから、拡張可能スイッチ ポートを削除します。

このコンポーネントの詳細については、「Hyper-V 拡張可能スイッチ ネットワーク アダプター」を参照してください。

拡張可能スイッチ インターフェイスは、これらのコンポーネントの構成を作成、削除、または変更すると、拡張可能スイッチ ドライバー スタックの下にオブジェクト識別子 (OID) セット要求を発行します。 この操作は、基になる拡張可能スイッチ拡張機能に、コンポーネントとその構成の状態を通知できるように実行されます。 各 OID セット要求は、これらのコンポーネントの状態遷移になります。

拡張が拡張可能スイッチ インスタンスでバインドされ、有効になっている場合は、OID を発行して、スイッチの既存のポートとネットワーク アダプターの接続構成を検出できます。

次の図は、拡張可能スイッチ ポートとネットワーク アダプター接続コンポーネントのさまざまな状態を示しています。 図には、コンポーネントの状態遷移の原因となる OID セット要求も示されています。

Flowchart illustrating the OID set requests causing state transitions for Hyper-V extensible switch port and network adapter components.

次のリストは、拡張可能スイッチ ポートとネットワーク アダプター接続コンポーネントのさまざまな状態を示しています。

ポートが作成されていません
この状態では、拡張可能スイッチポートは拡張可能スイッチに存在しません。 以前に作成されたポートを対象とする OID 要求は、ポートがこの状態になった後は発行できません。

ポート作成済み
拡張可能スイッチ インターフェイスが OID_SWITCH_PORT_CREATEの OID セット要求を発行すると、拡張可能スイッチにポートが作成されます。 この状態では、拡張可能スイッチ インターフェイスと拡張機能は、ポートを対象とする OID 要求を発行できます。

拡張可能スイッチ ドライバー スタックを介した OID トラフィックの詳細については、「Hyper-V 拡張可能スイッチ制御パス」を参照してください。

基になる拡張機能は、OID セット要求を失敗し、ポートの作成を拒否できます。 拡張機能は、STATUS_DATA_NOT_ACCEPTED を使用して OID 要求を完了することによってこれを行います。 この操作を行うと、拡張可能スイッチにポートは作成されません。 この手順の詳細については、「Hyper-V 拡張可能スイッチ ポート」を参照してください。

ネットワーク アダプター接続が作成されました
拡張可能スイッチ インターフェイスが OID_SWITCH_NIC_CREATEの OID セット要求を発行すると、ポートへのネットワーク アダプター接続が拡張可能スイッチに作成されます。 この状態では、拡張可能スイッチ インターフェイスで次の操作を実行できます。

  • ネットワーク アダプター接続を対象とする OID 要求を発行します。

  • ネットワーク アダプター接続との間でパケット トラフィックを転送します。

また、新しいアダプターがポートの破棄を経由せずに既存のポートに接続し、シーケンスを作成することもできます。

この状態では、拡張機能は、拡張可能スイッチ拡張スタックを介してこれらのパケットと OID 要求を転送する必要があります。 ただし、拡張機能は、拡張可能スイッチの他のネットワーク アダプター接続にパケットまたは OID 要求を発信またはリダイレクトできません。

注: この状態では、拡張機能は OID 要求を発行したり、ネットワーク アダプター接続へのパケット トラフィックを送信したりしてはなりません。

拡張可能スイッチ ドライバー スタックを介した OID トラフィックの詳細については、「Hyper-V 拡張可能スイッチ制御パス」を参照してください。

拡張可能スイッチ ドライバー スタックを介した パケット トラフィックの詳細については、「Hyper-V 拡張可能スイッチデータパス」を参照してください。

: 基になる拡張機能は、OID セット要求に失敗し、ネットワーク アダプター接続の作成を拒否できます。 その場合、拡張可能スイッチ ポートに接続は作成されません。 この手順の詳細については、「Hyper-V 拡張可能スイッチ ネットワーク アダプター」を参照してください。

ネットワーク アダプターが接続済み
拡張可能スイッチ インターフェイスが OID_SWITCH_NIC_CONNECTのOID セット要求を発行すると、ネットワーク アダプターは拡張可能スイッチ ポートに完全に接続されます。 この状態では、拡張機能で次の操作を実行できるようになりました。

  • ネットワーク アダプター接続を対象とする OID 要求を発行します。

  • ネットワーク アダプター接続へのパケット トラフィックを発信します。

  • パケット トラフィックをネットワーク アダプター接続にリダイレクトします。 たとえば、拡張機能は、あるネットワーク アダプター接続から拡張可能スイッチの別の接続にパケットをリダイレクトできます。

    注: この操作は、転送拡張機能でのみ実行できます。 詳細については、 拡張機能の転送に関するページを参照してください。

ネットワーク アダプターが切断されました
拡張可能スイッチ インターフェイスが OID_SWITCH_NIC_DISCONNECTのOID セット要求を発行すると、ネットワーク アダプターは拡張可能スイッチ ポートから切断されます。 たとえば、この OID 要求は、VM ネットワーク アダプターを公開した子パーティションが停止するか、外部ネットワーク アダプターが無効になっている場合に発行されます。

この状態では、拡張可能スイッチ拡張機能は、接続を対象とするパケットまたは OID 要求を発信できなくなりました。 また、転送拡張機能は、パケットを接続にリダイレクトできなくなりました。

注: 接続が切断される前に拡張可能スイッチ インターフェイスによって発行された保留中のパケットと OID 要求は、引き続き拡張機能に配信される可能性があります。 ただし、拡張機能は、変更を加えずにパケットと OID 要求を転送する必要があります。

ネットワーク アダプター接続が削除されました
ネットワーク アダプター接続を対象とするすべてのパケット トラフィックと OID 要求が完了すると、拡張可能スイッチ インターフェイスは、拡張可能スイッチから接続を削除する OID_SWITCH_NIC_DELETE の OID セット要求を発行します。

この状態では、拡張可能スイッチ インターフェイスは、接続を対象とするパケットまたは OID 要求を発行しなくなります。

ポートの破棄
拡張可能スイッチ インターフェイスが OID_SWITCH_PORT_TEARDOWNの OID セット要求を発行すると、拡張可能スイッチ ポートが削除される準備として切断されます。

この状態では、拡張可能スイッチ拡張機能は、ポートを対象とする OID 要求を発信できなくなりました。

注: ポートが破棄プロセスを開始する前に拡張可能スイッチ インターフェイスによって発行された保留中の OID 要求は、引き続き拡張機能に配信される可能性があります。 ただし、拡張機能は、変更を加えずに OID 要求を転送する必要があります。

ポートを対象とする保留中のすべての OID 要求が完了すると、拡張可能スイッチ インターフェイスは、 OID_SWITCH_PORT_DELETEの OID セット要求を発行します。 これにより、 ポートが作成されていない 状態に移行します。

拡張機能は、拡張可能スイッチ ハンドラー関数を呼び出して、ポートまたはネットワーク アダプター接続コンポーネントの参照カウンターをインクリメントまたはデクリメントできます。 コンポーネントの参照カウンターが 0 以外の場合、拡張可能スイッチ インターフェイスはコンポーネントを削除できません。

拡張機能では、 ReferenceSwitchPort または DereferenceSwitchPort を呼び出して、拡張可能スイッチ ポートの参照カウンターをインクリメントまたはデクリメントできます。 これらの呼び出しは、 ポートが作成された ポートの状態に達した後に行うことができます。 これらの呼び出しは、ポートが ポートが破棄された または ポートが作成されていない 状態に達した後に行う必要があります。

拡張機能では、 ReferenceSwitchNic または DereferenceSwitchNic を呼び出して、拡張可能スイッチ ネットワーク アダプター接続の参照カウンターをインクリメントまたはデクリメントできます。 これらの呼び出しは、接続が ネットワーク アダプター接続済み 状態に達した後に行うことができます。 これらの呼び出しは、接続が切断された ネットワーク アダプターが切断された または ネットワーク アダプターが削除された 状態に達した後に行う必要があります。

次の表では、拡張可能スイッチ ポートまたはネットワーク アダプター接続コンポーネントの状態に基づいて許可される操作について説明します。

コンポーネントの状態 ReferenceSwitchPort または DereferenceSwitchPort の呼び出しが許可されていますか? ReferenceSwitchNic または DereferenceSwitchNic の呼び出しは許可されますか?

ポートが作成されていません

いいえ

いいえ

ポート作成済み

はい

いいえ

ネットワーク アダプター接続が作成されました

はい

いいえ

ネットワーク アダプターが接続済み

はい

はい

ネットワーク アダプターが切断されました

はい

いいえ

ネットワーク アダプター接続が削除されました

はい

いいえ

ポートの破棄

いいえ

いいえ

コンポーネントの状態 拡張可能スイッチからの OID 要求は、ポートに対して許可されますか? ポートで許可されている拡張機能からの OID 要求 ネットワーク アダプター接続で許可されている拡張可能スイッチからの OID 要求 ネットワーク アダプター接続で許可される拡張機能からの OID 要求 ネットワーク アダプター接続経由で許可される拡張可能スイッチからのパケット トラフィック ネットワーク アダプター接続経由で許可される拡張可能機能からのパケット トラフィック

ポートが作成されていません

いいえ

番号

番号

番号

番号

いいえ

ポート作成済み

はい

はい

いいえ

番号

番号

いいえ

ネットワーク アダプター接続が作成されました

はい

イエス

はい

いいえ

有効

いいえ

ネットワーク アダプターが接続済み

はい

イエス

イエス

イエス

イエス

はい

ネットワーク アダプターが切断されました

はい

イエス

はい

いいえ

有効

いいえ

ネットワーク アダプター接続が削除されました

はい

はい

いいえ

番号

番号

いいえ

ポートの破棄

はい

いいえ

番号

番号

番号