Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ルーティング ポリシー サブルーチンの評価方法

図 1 は、サブルーチンの評価方法を示しています。サブルーチンは、チェーン内の最初のルーティングポリシーの最初の項に含まれています。各ルートは、次のようにサブルーチンに対して評価されます。

  1. ルートは、最初のルーティング ポリシーの最初の項に対して評価されます。ルートがサブルーチンの前に指定されたすべての照合条件と一致しない場合、サブルーチンはスキップされ、ルーティングポリシーの次の項が評価されます(ステップ 2を参照)。ルートがサブルーチンの前に指定されたすべての照合条件と一致する場合、ルートはサブルーチンに対して評価されます。ルートがサブルーチン条件のいずれかで一致条件と一致する場合、2つのレベルの評価は次の順序で行われます。

    1. サブルーチン項のアクションが評価されます。いずれかのアクションが受け入れられると、サブルーチンの終了と真のブール値の評価が呼び出し元のポリシーに返されます。いずれかのアクションが拒否された場合、サブルーチンの評価は終了し、FALSE は呼び出し元のポリシーに返されます。

      サブルーチンは 、rejectまたは アクションをaccept指定しない場合、デフォルト ポリシーで指定された or reject アクションを使用acceptし、前の段落で説明したように TRUE または FALSE の値が呼び出し元のポリシーnext-policyに返されます。

    2. 呼び出し元ポリシーのサブルーチン一致条件が評価されます。評価のこの部分では、TRUE は一致と等しく、FALSE は一致しません。サブルーチンが呼び出し元のポリシーに TRUE を返すと、呼び出し元のポリシーの評価は続行されます。サブルーチンが呼び出し元のポリシーに FALSE を返す場合、現在の項の評価は終了し、次の項が評価されます。

  2. ルートは、最初のルーティング ポリシーの 2 番目の項に対して評価されます。

ポリシーチェーンをサブルーチンとして指定すると、チェーン全体が単一のサブルーチンとして機能します。他のチェーンと同様に、デフォルト ポリシーで指定されたアクションは、チェーン全体がルートを受け入れるか拒否しない場合にのみ実行されます。

ある項がサブルーチンを含む複数の一致条件を定義し、かつルートがサブルーチンの前に指定された条件と一致しない場合、項の終了とサブルーチンの評価は呼び出されず、評価されます。この状況では、ルートの特性を操作するサブルーチンで指定されたアクションは実装されません。

図 1: ルーティング ポリシー サブルーチン評価ルーティング ポリシー サブルーチン評価