動的 VIPA の作成結果

表 1 は、動的 VIPA (あるいは HOME ステートメントの IP アドレスと同じもの) が既に シスプレックス内に存在する場合に、動的 VIPA を作成しようとしたときの結果を要約したものです。
表 1. 動的 VIPA 作成結果の要約
1 番目のアクション 2 番目のアクション 2 番目のアクションが同じスタックに対して行われた場合の結果 2 番目のアクションがシスプレックス内の異なるスタックに対して行われた場合の結果
bind() bind() 2 番目の bind() は成功しますが、新規の VIPA は作成されません。 両方のスタックが V2R10 またはこれ以降で実行されており、最初の BIND DVIPA が、MOVEABLE NONDISRUPTIVE を使用して 次のように作成された場合、以下のようになります。
  • スタック 2 で作成された場合、bind() は成功します。
  • スタック 1 で作成された場合、BIND VIPA は HOME リストに残り (公示されない)、既存の接続はすべて保持されます。
  • この IP アドレスへの新しい接続は、スタック 2 のアプリケーションに行きます。
これ以外の場合、2 番目の bind は失敗します。
bind() ioctl() ioctl() は失敗し、警告条件コードが戻されます。ただし、ioctl に関連付けられているアプリケーションは 動的 VIPA を引き続き使用することができます。 ioctl() は成功し、bind は削除されます (BIND DVIPA が MOVEABLE NONDISRUPTIVE として作成された場合でも)
bind() VIPADEFINE VIPADEFINE は失敗します。 VIPADEFINE は失敗します。
bind() VIPABACKUP VIPABACKUP は失敗します。 VIPABACKUP は失敗します。
bind() HOME 表の最後の注を参照。 表の最後の注を参照。
ioctl() bind() bind() は成功しますが、新規の VIPA は作成されません。 bind() は失敗します。
ioctl() ioctl() 2 番目の ioctl() は失敗し、警告条件コードが戻されます。ただし、ioctl に関連付けられているアプリケーションは 動的 VIPA を引き続き使用することができます。 2 番目の ioctl() は成功します。

両方のスタックが V2R10 またはそれ以降で実行されており、かつスタック 1 の ioctl DVIPA が MOVEABLE NONDISRUPTIVE を使用して作成されている場合、スタック 1 の DVIPA は HOME リストに残り (公示されない)、既存の接続はすべて保持されます。これ以外の場合、スタック 1 の ioctl DVIPA は削除され、既存の接続はすべて切れます。

ioctl() VIPADEFINE VIPADEFINE は失敗します。 VIPADEFINE は失敗します。
ioctl() VIPABACKUP VIPABACKUP は失敗します。 VIPABACKUP は失敗します。
ioctl() HOME 表の最後の注を参照。 表の最後の注を参照。
VIPADEFINE bind() bind() は成功しますが、新規の VIPA は作成されません。 bind() は失敗します。
VIPADEFINE ioctl() ioctl() は失敗します。 ioctl() は失敗します。
VIPADEFINE VIPADEFINE 2 番目の VIPADEFINE ステートメントが 最初のステートメントとまったく同じ場合は、2 番目の VIPADEFINE は無視されます。この場合エラー・メッセージは表示されません。 IPv4 の場合、2 番目の VIPADEFINE は、オプションまたはマスクが指定された最初の VIPADEFINE と異なる場合は失敗します。IPv6 の場合、2 番目の VIPADEFINE は、 インターフェース名が既に異なるアドレスで定義されているか、 アドレスが既に異なるインターフェース名に定義されている場合は失敗します。 IPv4 の場合、2 番目の VIPADEFINE は成功しますが、スタック 2 でアクティブにするのは据え置かれる可能性があります。

両方のスタックが V2R10 またはこれ以降で実行されており、DVIPA がスタック 1 で MOVEABLE IMMEDIATE として作成された場合、以下のようになります。

  • 2 番目の VIPADEFINE はただちにアクティブにされます。
  • スタック 1 の DVIPA への接続はすべて保持されます。(DVIPA は HOME リストに公示されずに残ります)
その他の場合、2 番目の VIPADEFINE をアクティブにするのは、スタック 1 に接続がなくなるまで据え置かれ、接続がなくなった時点でスタック 1 はバックアップ状況に復帰します。

IPv6 の場合、2 番目の VIPADEFINE 上のインターフェース名およびアドレスが 最初の VIPADEFINE に一致する場合、DVIPA はスタック 2 でアクティブにされます。 スタック 1 の DVIPA への接続はすべて保存されます。 インターフェース名かアドレスのどちらか一方が同じでも、 他方が異なると、2 番目の VIPADEFINE は失敗します。

VIPADEFINE VIPABACKUP VIPABACKUP は失敗します。 両方とも成功します。
VIPADEFINE HOME 表の最後の注を参照。 表の最後の注を参照。
VIPABACKUP bind() bind() は失敗します。 IP アドレスが bind() スタック上で既にアクティブにされている場合は、bind() は成功します。そうでない場合は bind() は失敗します。
VIPABACKUP ioctl() ioctl() は失敗します。 ioctl() は失敗します。
VIPABACKUP はバックアップ状況です。 VIPADEFINE VIPADEFINE は成功し、VIPABACKUP を置き換えます。

IPv6 の場合、VIPADEFINE 上のインターフェース名とアドレスの両方が VIPABACKUP と 一致する必要があります。 一方が一致し、他方が一致しなければ、VIPADEFINE は失敗します。

VIPADEFINE は成功します。

IPv6 の場合、VIPADEFINE 上のインターフェース名とアドレスの両方が VIPABACKUP と 一致する必要があります。 一方が一致し、他方が一致しなければ、VIPADEFINE は失敗します。

VIPABACKUP はアクティブ状況 (テークオーバーの後) です。 VIPADEFINE VIPADEFINE はリジェクトされます。

IPv4 の場合、VIPABACKUP DVIPA は、元の VIPADEFINE DVIPA がどのように作成されたかにより、MOVEABLE IMMEDIATE または WHENIDLE です。

両方のスタックが V2R10 またはこれ以降で実行されており、VIPABACKUP DVIPA が MOVEABLE IMMEDIATE である場合、以下のようになります。
  • VIPADEFINE はただちにアクティブにされます。
  • スタック 1 の DVIPA への接続はすべて保持されます (DVIPA は HOME リストに公示されずに残る)。
  • 接続がなくなると、スタック 1 はバックアップ状況に復帰します。

その他の場合、スタック 2 の VIPADEFINE をアクティブにするのは、スタック 1 上にアクティブな接続がなくなるまで据え置かれ、接続がなくなった時点でスタック 1 はバックアップ状況に復帰します。

IPv6 の場合、VIPADEFINE 上のインターフェース名およびアドレスが VIPADEFINE に一致する場合、DVIPA はスタック 2 でアクティブにされます。 スタック 1 への接続はすべて保存されます。 一致するのが 1 つのみの場合、VIPADEFINE は失敗します。

VIPABACKUP VIPABACKUP DVIPA がこのスタック上でバックアップ状況にある場合、2 番目の VIPABACKUP は成功します。DVIPA がこのスタック上でアクティブ状況にある場合 (例えば、テークオーバーの後)、異なるランクの VIPABACKUP はリジェクトされます。

IPv6 の場合、インターフェース名とアドレスの両方が最初の VIPABACKUP と 一致する必要があります。 一方が一致し、他方が異なれば、2 番目の VIPABACKUP は失敗します。

2 番目の VIPABACKUP は成功します。

IPv6 の場合、インターフェース名とアドレスの両方が最初の VIPABACKUP と 一致する必要があります。 一方が一致し、他方が異なれば、2 番目の VIPABACKUP は失敗します。

VIPABACKUP HOME 表の最後の注を参照。 表の最後の注を参照。
HOME bind() bind() は成功しますが、新規の VIPA は作成されません。 bind() は失敗します。
HOME ioctl() ioctl() は失敗します。 ioctl() は失敗します。
HOME VIPADEFINE VIPADEFINE は失敗します。 VIPADEFINE は失敗します。
HOME VIPABACKUP VIPABACKUP は失敗します。 VIPABACKUP は失敗します。
注: HOME リストに既存の動的 VIPA と同じ IP アドレスを定義しても、TCP/IP スタックはリジェクトしませんが、ルーティングに問題が生じる可能性があります。