この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
このモジュールでは、ルーティング ポリシーを作成、変更、モニタ、および保守するために使用される Cisco IOS XR ソフトウェアのルーティング ポリシー言語(RPL)のコマンドについて説明します。
RPL の概念、設定タスクおよび例に関する詳細については、 『』『』『』『』『Routing Configuration Guide for Cisco NCS 5000 Series Routers』『』の「Implementing Routing Policy on Cisco NCS 5000 Series Routers module」を参照してください。
![]() (注) |
現在は、デフォルトの VRF のみがサポートされています。VPNv4、VPNv6 および VPN ルーティング/転送(VRF)のアドレス ファミリは、今後のリリースでサポートされる予定です。 |
ルート ポリシーを廃棄するか定義を設定して、 XR コンフィギュレーション モード に戻るには、適切なコンフィギュレーション モードで abort コマンドを使用します。
abort
このコマンドにはキーワードまたは引数はありません。
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
プレフィックス セット コンフィギュレーション
ルート識別子セット コンフィギュレーション
AS パス セット コンフィギュレーション
コミュニティ セット コンフィギュレーション
拡張コミュニティ セット コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、開始されたルート ポリシー定義を廃棄して、 XR コンフィギュレーション モード に戻る方法を示します。
RP/0/RP0/CPU0:router(config)# route-policy policy_1 RP/0/RP0/CPU0:router(config-rpl)# if as-path is-local then RP/0/RP0/CPU0:router(config-rpl-if)# abort RP/0/RP0/CPU0:router(config)#
次の例では、開始されたプレフィックス セット定義を廃棄して、 XR コンフィギュレーション モード に戻る方法を示します。
RP/0/RP0/CPU0:router(config)# prefix-set legal-ipv4-prefix-examples RP/0/RP0/CPU0:router(config-pfx)# 10.0.1.1, RP/0/RP0/CPU0:router(config-pfx)# 10.0.2.0/24, RP/0/RP0/CPU0:router(config-pfx)# abort RP/0/RP0/CPU0:router(config)#
Routing Information Protocol(RIP)または Enhanced Interior Gateway Protocol(EIGRP)の既存のメトリックに値を追加するには、ルート ポリシー コンフィギュレーション モードで add コマンドを使用します。
add { eigrp-metric bandwidth delay reliability loading max-transmission | rip-metric { number | parameter } }
eigrp-metric |
EIGRP メトリック属性を指定します。 |
bandwidth |
キロビット/秒単位の帯域幅。範囲は 0 ~ 4294967295 です。 |
delay |
10 マイクロ秒単位の遅延。範囲は 0 ~ 4294967295 です。 |
reliability |
信頼性メトリック。255 は 100 % の信頼性です。範囲は 0 ~ 255 です。 |
loading |
有効な帯域幅(ロード)。255 は 100 % ロード済みです。範囲は 0 ~ 255 です。 |
max-transmission |
パスの最大伝送。範囲は 0 ~ 65535 です。 |
rip-metric |
RIP メトリック属性を指定します。 |
number |
4 ビットの符号なし整数に割り当てられた値。範囲は 0 ~ 16 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
add の値が許可されている最大値を超えると、メトリックが追加されます。結果のメトリックがルーティング プロトコルの最大を超えると、(クライアントのルーティング プロトコルによって)ルートがドロップされます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、RIP メトリック値のオフセット方法を示します。
RP/0/RP0/CPU0:router(config)# route-policy policy_1 RP/0/RP0/CPU0:router(config-rpl)# add rip-metric 4 RP/0/RP0/CPU0:router(config-rpl)# end-policy
次の例では、EIGRP メトリック値の設定方法を示します。
RP/0/RP0/CPU0:router(config)# route-policy policy_1 RP/0/RP0/CPU0:router(config-rpl)# add eigrp-metric 50000 24000 230 14000 RP/0/RP0/CPU0:router(config-rpl)# end-policy
パラメータ化または未パラメータ化ポリシーを別のポリシー内から実行するには、ルート ポリシー コンフィギュレーション モードで apply コマンドを使用します。
apply policy_name [ argument1, argument2, ..., argumentN ]
policy_name |
ルート ポリシーの名前。 |
argument |
(任意)パラメータ名。argument は、値(たとえば「100」)でもパラメータ(たとえば「$parameter」)でもかまいません。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ポリシー(パラメータ化か未パラメータ化かにかかわらず)を別のポリシー内から実行するには、apply コマンドを使用します。これにより、ポリシーの共通ブロックの再利用が可能になります。
ワイルドカードを apply policy names で使用できます。これは、ネストされたワイルドカード適用シナリオをサポートします。ワイルドカードを指定するには、アスタリスク(*)を apply policy name の一部分の代わりに挿入します。ワイルドカードは、apply policy name のその部分に任意の値が一致することを示します。ネストされたワイルドカード適用ポリシーでは、適用のネスティングに基づくワイルドカード(*)が可能です。ワイルドカード操作では、ルータ上に定義される、特定の定義済み英数字セットを含むポリシーすべてを呼び出す一般的な apply ステートメントを宣言することが許されています。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、ポリシー CustomerIn をルート ポリシー SetLocalPref に適用して、ルートでローカル優先順位を条件付きで設定します。パラメータ 20、30、40、および 50 は、パラメータ化ポリシー SetLocalPref に渡されます。この場合、ローカル優先順位は次のように設定されます。
RP/0/RP0/CPU0:router(config)# route-policy SetLocalPref ($lp0, $lp1, $lp2, $lp3, $lp4) RP/0/RP0/CPU0:router(config-rpl)# if community matches-any ($lp0:$lp1)then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference $lp1 RP/0/RP0/CPU0:router(config-rpl-elseif)# elseif community matches-any ($lp0:$lp2) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference $lp2 RP/0/RP0/CPU0:router(config-rpl-elseif)# elseif community matches-any ($lp0:$lp3) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference $lp3 RP/0/RP0/CPU0:router(config-rpl-elseif)# elseif community matches-any ($lp0:$lp4) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference $lp4 RP/0/RP0/CPU0:router(config-rpl-elseif)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy RP/0/RP0/CPU0:router(config)# route-policy CustomerIn($cust) RP/0/RP0/CPU0:router(config-rpl)# apply SetLocalPref ($cust, 20, 30, 40, 50) RP/0/RP0/CPU0:router(config-rpl)# end-policy RP/0/RP0/CPU0:router(config)# route-policy Cust_217 RP/0/RP0/CPU0:router(config-rpl)# apply CustomerIn(217) RP/0/RP0/CPU0:router(config-rpl)# end-policy
ルートの AS パスを AS パス セットに一致させるには、ルート ポリシー コンフィギュレーション モードで as-path in コマンドを使用します。
as-path in { as-path-set-name | inline-as-path-set | parameter }
as-path-set-name |
AS パス セットの名前。 |
inline-as-path-set |
インライン AS パス セット。インライン AS パス セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
as-path in コマンドを、ルートの AS パスを AS パス セットに一致させるために if ステートメント内の条件式として使用します。AS パスは、ルートが通過する自律システム番号のシーケンスです。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
as-path in コマンドの評価結果が true となるのは、関連付けられた AS パス セットで定義されている正規表現のうち少なくとも 1 つがルートの AS パス属性と一致する場合です。
AS パス セットが定義されていても、その中に要素が含まれていない場合は、as-path in 条件式コマンドは false を戻します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
たとえば、次のように定義された、my-as-set という名前の AS パス セットがあると仮定します。
RP/0/RP0/CPU0:router(config)# as-path-set my-as-set RP/0/RP0/CPU0:router(config-as)# ios-regex '_12$', RP/0/RP0/CPU0:router(config-as)# ios-regex '_13$' RP/0/RP0/CPU0:router(config-as)# end-set
また、次のような as-path-set-name 引数を使用するポリシー(抜粋)があるとします。
RP/0/RP0/CPU0:router(config-rpl)# if as-path in my-as-set then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
set my-as-set 内の 1 つ以上の正規表現の一致が、ルートに関連付けられた AS パスと一致する場合は、条件内の AS パスは true であると評価されます。定義済みでも空の AS パス セットの場合は、この演算子は false を戻します。
上記のポリシー抜粋と等価のバージョンを次に示します。このバージョンでは、inline-as-path set 変数が使用されています。
RP/0/RP0/CPU0:router(config-rpl)# if as-path in (ios-regex ‘_12$,ios-regex ‘_13$’) then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
ボーダー ゲートウェイ プロトコル(BGP)ルートを発信したのが、このルータなのか、またはこの自律システムまたは連合内の別のルータなのかを判別するには、ルート ポリシー コンフィギュレーション モードで as-path is-local コマンドを使用します。
as-path is-local
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このルータ(またはこの自律システムまたは連合内の別のルータ)がルートを発信したかどうかを判別するには、if ステートメント内で as-path is-local コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
自律システムまたは連合内でローカルに発信されたルートは、空の AS パスを伝送します。ボーダー ゲートウェイ プロトコル(BGP)指定では、ルートが自律システム境界または連合境界をまたがってアドバタイズされると、ローカル自律システム番号または連合 ID が自律システム パスに追加されます。また、ローカルに発信された集約の AS パスは、ポリシーによって変更された場合を除き空です。
is-local 演算子は、自律システム パスが空の場合は true であると評価されます。空の AS パスは、自律システムに対してローカルである AS パスを BGP で表す方法です。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、AS パスがローカルの場合は、ローカル優先順位は 100 に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# if as-path is-local then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
ボーダー ゲートウェイ プロトコル(BGP)ルートの AS パスにある ASN の数を比較するには、ルート ポリシー コンフィギュレーション モードで as-path length コマンドを使用します。
as-path length { eq | is | ge | le } { number | parameter }
eq | is | ge | le |
等しい、以上、以下。 |
number |
11 ビットの符号なし整数に割り当てられた値。範囲は 0 ~ 2047 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
AS パスの長さに基づいて条件チェックを実行するには、if ステートメント内で as-path length コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
このコマンドは、ge 演算子と le 演算子とともに指定された特定の整数値または整数値の範囲のいずれかを使用します。これらの整数のいくつかまたはすべてをパラメータ化できます。演算子は、パス内の自律システムごとに 1 をカウントします。ルートが集約され、1 つ以上の AS セットを含んでいる可能性がある場合は、length 演算子は、存在するセットごとに 1 を追加します。AS セットの存在は通常、このルートが集約されたルートであること、および集約されたルートは、セット内の自律システムの 1 つを含むコンポーネント ルートを持っていたことを示しています。同様に、連合の場合も、パス内の連合、またはパス内の連合セットごとにカウント 1 が追加されます。ヌルの AS パスの長さはゼロです。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、AS パスの長さが 10 に等しい場合は、ローカル優先順位は 100 に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# if as-path length eq 10 then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
AS パスの先頭にある自律システム番号を、1 つ以上の値またはパラメータのシーケンスと照合してテストするには、ルート ポリシー コンフィギュレーション モードで as-path neighbor-is コマンドを使用します。
as-path neighbor-is as-number-list [ exact ]
as-number-list |
自律システム番号のシーケンスを表す、単一引用符で囲まれた数値またはパラメータ。 |
exact |
(任意)exact キーワードを使用して、as-number-list 値は、ルートの AS パスと完全に一致しなければならないことを指定します。exact キーワードを使用しない場合は、as-number-list 引数内のいずれかの要素が、ルートの AS パス内にあるその要素の 1 つ以上の繰り返しと一致します。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
AS パスの先頭にある自律システム番号を、1 つ以上の整数値またはパラメータのシーケンスと照合してテストするには、if ステートメント内で as-path neighbor-is コマンドを条件式として使用します。言い換えれば、自律システム番号のシーケンスが、このルートを受信した隣接する自律システムで始まるパスと一致するかどうかを調べるためにテストします。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
このコマンドには、同等の正規表現(ios-regex)があります。たとえば、AS path neighbor-is「1」は「^1_」になります。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例は、不完全な設定を示しています。
RP/0/RP0/CPU0:router(config-rpl)# if as-path neighbor-is '10' then RP/0/RP0/CPU0:router(config-rpl-if)# if as-path neighbor-is '$asnum' then RP/0/RP0/CPU0:router(config-rpl-if)# if as-path neighbor-is '10 20' then
これらのステートメントは、AS パス上の最初の自律システム番号が、neighbor-is ステートメント内で指定されたパラメータまたは整数値と同じ順序で一致する場合に、true であると評価されます。隣接する自律システムの場所が偶然 AS セットである場合は、neighbor-is 演算子に対応する引数が AS セットの要素であれば、演算子は true であると評価されます。
exact キーワードを指定しない場合は、AS パスで繰り返される自律システム番号は無視されます。次に例を示します。
RP/0/RP0/CPU0:router(config-rpl)# if as-path neighbor-is '10 20' then
これは、次の番号で始まる AS パスと一致します。
10 10 10 20 ...
また、次の番号で始まる AS パスとも一致します。
10 20 ....
exact キーワードを指定した場合は、繰り返しは無視されません。そのため、
RP/0/RP0/CPU0:router(config-rpl)# if as-path neighbor-is '10 20' exact then
は、これらの AS パスの最初ではなく 2 番目と一致します。
AS パスを、ルートを発信した AS 番号で始まる AS シーケンスと比較するには、ルート ポリシー コンフィギュレーション モードで as-path originates-from コマンドを使用します。
as-path originates-from as-number-list [ exact ]
as-number-list |
自律システム番号のシーケンスを表す、単一引用符で囲まれた数値またはパラメータ。 |
exact |
(任意)exact キーワードを使用して、as-number-list 値は、ルートの AS パスと完全に一致しなければならないことを指定します。exact キーワードを使用しない場合は、as-number-list 引数内のいずれかの要素が、ルートの AS パス内にあるその要素の 1 つ以上の繰り返しと一致します。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
AS パスを自律システム シーケンスと比較するには、if ステートメント内で as-path originates-from コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
originates-from 演算子は、AS パスの反対側にある自律システム番号を参照する点を除き、neighbor-is 演算子と似ています。言い換えれば、この演算子は、ルートを発信した自律システムとパスを比較します。これは、自律システム番号のシーケンスを表す、単一引用符で囲まれた数値またはパラメータを使用できます。複数の番号がリストで指定されている場合は、リストされる自律システム番号のシーケンスは、ルートを発信した自律システムに対応する最後の番号とともに、AS パス内のサブシーケンスとして表示される必要があります。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例は、不完全な設定を示しています。
RP/0/RP0/CPU0:router(config-rpl)# if as-path originates-from '10 11' then RP/0/RP0/CPU0:router(config-rpl-if)# if as-path originates-from '$asnum 11' then
上記の例の最初の行は、自律システム 11 がルートを発信してから、自律システム 10 にアドバタイズし、そこから最終的にルートが伝播された場合は、true であると評価されます。ルートが集約されていて、発信元の自律システムの場所に AS セットが含まれている場合は、originates-from 演算子に対する引数が AS セットに含まれていれば、originates-from 演算子は true であると評価されます。
exact キーワードを指定しない場合は、AS パスで繰り返される自律システム番号は無視されます。次に例を示します。
RP/0/RP0/CPU0:router(config-rpl)# if as-path originates-from '10 11' then
次の番号で終わる自律システム パスと一致します。
...10 10 10 11
また、次の番号で終わる自律システム パスと一致します。
...10 11
exact キーワードを指定した場合は、繰り返しは無視されません。そのため、
RP/0/RP0/CPU0:router(config-rpl)# if as-path originates-from '10 11' exact then
は、これらの自律システム パスの最初ではなく 2 番目と一致します。
指定した整数またはパラメータが AS パス内の任意の場所に現れるかどうか、または指定した整数およびパラメータのシーケンスが AS パス内の任意の場所に同じ順序で現れるかどうかを検査するには、ルート ポリシー コンフィギュレーション モードで as-path passes-through コマンドを使用します。
as-path passes-through as-number-list [ exact ]
as-number-list |
自律システム番号のシーケンスを表す、単一引用符で囲まれた数値またはパラメータ。 |
exact |
(任意)exact キーワードを使用して、as-number-list 値は、ルートの AS パスと完全に一致しなければならないことを指定します。exact キーワードを使用しない場合は、as-number-list 引数内のいずれかの要素が、ルートの AS パス内にあるその要素の 1 つ以上の繰り返しと一致します。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
指定した整数またはパラメータが AS パス内の任意の場所に現れるかどうか、または整数およびパラメータのシーケンスが現れるかどうかを検査するには、if ステートメント内で as-path passes-through コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
passes-through 演算子は、単一引用符で囲まれた整数またはパラメータのシーケンスを引数として使用します。また、単一の整数またはパラメータを引数として使用することもできます。指定した整数またはパラメータが AS パス内の任意の場所に現れる場合、または指定した整数およびパラメータのシーケンスが AS パス内の任意の場所に同じ順序で現れる場合は、これは true であると評価されます。これには、AS パス内の originates-from または neighbor-is の場所も含まれます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例は、不完全な設定を示しています。
RP/0/RP0/CPU0:router(config-rpl)# if as-path passes-through '10' then RP/0/RP0/CPU0:router(config-rpl-if)# if as-path passes-through '$asnum' then RP/0/RP0/CPU0:router(config-rpl-if)# if as-path passes-through '10 11' then RP/0/RP0/CPU0:router(config-rpl-if)# if as-path passes-through '10 $asnum 12' then
exact キーワードを指定しない場合は、AS パスで繰り返される自律システム番号は無視されます。次に例を示します。
RP/0/RP0/CPU0:router(config-rpl)# if as-path passes-through '9 10 11' then
これは、次の番号が含まれる AS パスと一致します。
...9 10 10 10 11 ....
また、次の番号が含まれる AS パスとも一致します。
...9 10 11...
exact キーワードを指定した場合は、繰り返しは無視されません。したがって、次のようにします。
RP/0/RP0/CPU0:router(config-rpl)# if as-path passes-through '9 10 11' exact then
は、これらの AS パスの最初ではなく 2 番目と一致します。
名前付き AS パス セットを作成するには、 XR コンフィギュレーション モード で as-path-set コマンドを使用します。名前付き AS パス セットを削除するには、このコマンドの no 形式を使用します。
as-path-set name
no as-path-set name
name |
AS パス セットの名前。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
名前付き AS パス セットを作成するには、as-path-set コマンドを使用します。
AS パス セットは、AS パス属性と一致させるための演算で構成されます。
このコマンドは、AS パス セット コンフィギュレーション モードを開始します。このモードでは、ios-regex キーワードを使用して、正規表現のタイプを指定できます。正規表現は、単一引用符で囲む必要があります。
インライン セットの形式は、コンマ区切りの表現の括弧で囲んだリストです。
正規表現の作成に関する詳細についての付録「Understanding Regular Expressions, Special Characters and Patterns」を参照してください。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、aset1 という名前の AS パス セットの定義を示します。
RP/0/RP0/CPU0:router(config)# as-path-set aset1 RP/0/RP0/CPU0:router(config-as)# ios-regex '_42$', RP/0/RP0/CPU0:router(config-as)# ios-regex '_127$' RP/0/RP0/CPU0:router(config-as)# end-set
この AS パス セットは、2 つの要素で構成されています。一致する演算で使用する場合は、この AS パス セットは、AS パスが自律システム番号 42 または 127 のいずれかで終わる任意のルートと一致します。
次の例では、インライン セットを示します。
RP/0/RP0/CPU0:router(config-rpl)# if as-path in (ios-regex '_42$', ios-regex$ '_127$') RP/0/RP0/CPU0:router(config-rpl-if)# pass RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
AS パスの長さに基づく特定のチェック(AS パスにある固有の ASN の数とのマッチング)を実行するには、ルート ポリシー コンフィギュレーション モードで as-path unique-length コマンドを使用します。
as-path unique-length { eq | is | ge | le } { number | parameter }
eq | is | ge | le |
等しい、以上、以下。 |
number |
11 ビットの符号なし整数に割り当てられた値。範囲は 0 ~ 2047 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
AS パスの長さに基づいて照合を実行するには、if ステートメント内で as-path unique-length コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
unique-length 演算子は length 演算子と似ていますが、AS パスに同じ自律システム番号が複数回埋め込まれていても、ルートへの埋め込みは 1 回とカウントする点が異なります。したがって、AS パスが 333 333 111 222 123 444 444 444 の場合に、unique-length 演算子は値 5 を戻すのに対して、length 演算子は値 8 を戻します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、AS パスの長さに基づいたチェックの実行方法を示します。AS パスが指定された値と一致する場合は、ローカル優先順位は 100 に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# if as-path unique-length eq 10 then RP/0/RP0/CPU0:router(config-rpl-if)# if as-path unique-length ge 10 then RP/0/RP0/CPU0:router(config-rpl-if)# if as-path unique-length le 10 then RP/0/RP0/CPU0:router(config-rpl)# if as-path unique-length eq $integerparam then RP/0/RP0/CPU0:router(config-rpl-if)# if as-path unique-length ge $geparam then RP/0/RP0/CPU0:router(config-rpl-if)# if as-path unique-length le $leparam then RP/0/RP0/CPU0:router(config-rpl)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl)# endif
ルートに関連付けられたコミュニティ属性がないかどうかを確認するには、ルート ポリシー コンフィギュレーション モードで community is-empty コマンドを使用します。
community is-empty
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ルートに関連付けられたコミュニティ属性があるかどうかをチェックするには、if ステートメント内で community is-empty コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
このコマンドは引数を使用しません。また、ルートに関連付けられたコミュニティ属性がない場合だけ、true であると評価されます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、ルートに関連付けられたコミュニティ属性がない場合は、ローカル優先順位は 100 に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# if community is-empty then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# endif
コミュニティ セットの任意の要素を一致させるには、ルート ポリシー コンフィギュレーション モードで community matches-any コマンドを使用します。
community matches-any { community-set-name | inline-community-set | parameter }
community-set-name |
コミュニティ セットの名前。 |
inline-community-set |
インライン コミュニティ セット。インライン コミュニティ セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
コミュニティ セットの任意の要素を一致させるには、if ステートメント内で community matches-any コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
matches-any 演算子を使用する単純条件の評価結果が true となるのは、ルートのコミュニティ属性のコミュニティ要素のうち少なくとも 1 つが、コミュニティ セット オペランド内の要素の 1 つと一致する場合です。ルート内のコミュニティが名前付きセットまたはインライン セットでのどの指定内容とも一致しない場合は、条件は false であると評価されます。同様に、ルート内にコミュニティがまったくない場合は、条件は false であると評価されます。
ルート内のコミュニティを、名前付きセットまたはインライン セットでの指定内容と一致させる作業は直感的です。セットでのコミュニティの指定が、コロンで区切られた 16 ビット 10 進数のよくある指定であるか、well-known コミュニティの 1 つである場合は、指定がルート内にあるものと同じ 32 ビット数を表していれば、コミュニティは指定内容と一致します。コミュニティの指定でワイルドカードを使用すると、ルート内のコミュニティがワイルドカードの指定によって表される多数のコミュニティの 1 つである場合は、これが一致します。インライン セットでは、コミュニティの指定内容はパラメータ化されることがあります。この場合は、パラメータの値が指定されていれば、関連するマッチングが行われます。
コミュニティのマッチングは、範囲と正規表現の演算子を使用して行うこともできます。範囲の指定は、[low-value..high-value] のように入力します。コミュニティ値のコンマで区切られた半分のいずれかまたは両方に範囲を含めることができます。次に、有効な範囲の指定を示します。
10:[100..1000] [10..100]:80 [10..100]:[100..2000]
さらに、64512 ~ 65534 の範囲を指定するには、 private-as キーワードを使用することができます。 正規表現は、 ios-regex キーワードと、その後に有効な正規表現ストリングを続けて指定します。
ルートのコミュニティ値は一度に 1 つ、一致指定とマッチングされます。そのため、regex の一致指定は、コミュニティ値のシーケンスではなく、1 つの個々のコミュニティ値を表す必要があります。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、my-community-set という名前付きコミュニティ セットと、community-matches-any-example というルート ポリシーが作成されます。このポリシーは、my-community-set コミュニティ セットに 1 つ以上のコミュニティがあるすべてのルートについて、local-preference を 100 に設定します。ルートにそのようなコミュニティがない場合は、最初の半分の範囲が 10 ~ 25 で、残りの半分が値 35 であるコミュニティがこのルートにあるかどうかがポリシーによってチェックされます。この場合、local-preference は 200 に設定されます。ない場合は、30:100 ~ 30:500 の範囲内にあるコミュニティ値の有無がチェックされます。この場合、local-preference は 300 に設定されます。
RP/0/RP0/CPU0:router(config)# community-set my-community-set RP/0/RP0/CPU0:router(config-comm)# 10:20, RP/0/RP0/CPU0:router(config-comm)# 10:30, RP/0/RP0/CPU0:router(config-comm)# 10:40 RP/0/RP0/CPU0:router(config-comm)# end-set RP/0/RP0/CPU0:router(config)# route-policy community-matches-any-example RP/0/RP0/CPU0:router(config-rpl)# if community matches-any my-community-set then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# elseif community matches-any ([10..25]:35) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 200 RP/0/RP0/CPU0:router(config-rpl-elseif)# elseif community matches-any (30:[100..500]) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 300 RP/0/RP0/CPU0:router(config-rpl-elseif)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
コミュニティ セットのすべての要素を一致させるには、ルート ポリシー コンフィギュレーション モードで community matches-every コマンドを使用します。
community matches-every { community-set-name | inline-community-set | parameter }
community-set-name |
コミュニティ セットの名前。 |
inline-community-set |
インライン コミュニティ セット。インライン コミュニティ セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
コミュニティ セットのすべての要素を一致させるには、if ステートメント内で community matches-every コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
matches-every 演算子を使用する単純条件が true であると評価されるのは、指定された名前付きセットまたはインライン セット内のすべての指定内容が、ルート内の少なくとも 1 つのコミュニティ値と一致する場合です。名前付きセットまたはインライン セット内のコミュニティの指定が一致しない場合は、演算は false であると評価されます。
ルート内のコミュニティを、名前付きセットまたはインライン セットでの指定内容と一致させる作業は直感的です。セットでのコミュニティの指定が、コロンで区切られた 16 ビット 10 進数のよくある指定であるか、well-known コミュニティの 1 つである場合は、指定がルート内にあるものと同じ 32 ビット数を表していれば、コミュニティは指定内容と一致します。コミュニティの指定でワイルドカードを使用すると、ルート内のコミュニティがワイルドカードの指定によって表される多数のコミュニティの 1 つである場合は、これが一致します。インライン セットでは、コミュニティの指定内容はパラメータ化されることがあります。この場合は、パラメータの値が指定されていれば、関連するマッチングが行われます。
コミュニティのマッチングは、範囲と正規表現の演算子を使用して行うこともできます。範囲の指定は、[low-value..high-value] のように入力します。コミュニティ値のコンマで区切られた半分のいずれかまたは両方に範囲を含めることができます。次に、有効な範囲の指定を示します。
10:[100..1000] [10..100]:80 [10..100]:[100..2000]
そのため、2 つのコミュニティ範囲の指定を持つ matches-every 演算は、それぞれの範囲に対応するコミュニティが 1 つずつルートに存在する必要があることを意味します。たとえば、次のステートメントがあるとします。
if community matches-every (10:[100..200],20:[100..200]) then
このステートメントは、ルート内の 1 つ以上のコミュニティが範囲 10:[100.200] 内にあり、ルート内の 1 つ以上のコミュニティが範囲 20:[100..200] 内にある場合に true であると評価されます。
さらに、64512 ~ 65534 の範囲を指定するには、 private-as キーワードを使用することができます。
正規表現は、ios-regex キーワードと、その後に単一引用符で囲まれた有効な正規表現ストリングを続けて指定します。ルートのコミュニティ値は一度に 1 つ、一致指定とマッチングされます。そのため、regex の一致指定は、コミュニティ値のシーケンスではなく、1 つの個々のコミュニティ値を表す必要があります。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、community-matches-every-example という名前のルート ポリシーは、my-community-set コミュニティ セット内に 3 つすべてのコミュニティがすべてあるすべてのルートについて、local-preference 値を 100 に設定します。3 つすべてのコミュニティはないが、最初の正規表現と一致するコミュニティがあるルートでは、local-preference 値は 200 に設定されます。最後に、最後の正規表現と一致する残りすべてのルートでは、local-preference 値は 300 に設定されます。
RP/0/RP0/CPU0:router(config)# community-set my-community-set RP/0/RP0/CPU0:router(config-comm)# 10:20, RP/0/RP0/CPU0:router(config-comm)# 10:30, RP/0/RP0/CPU0:router(config-comm)# 10:40 RP/0/RP0/CPU0:router(config-comm)# end-set RP/0/RP0/CPU0:router(config)# route-policy community-matches-every-example RP/0/RP0/CPU0:router(config-rpl)# if community matches-every my-community-set then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rp-elseif)# elseif community matches-every (ios-regex ’_10:[0-9]0_’) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 200 RP/0/RP0/CPU0:router(config-rpl-elseif)# elseif community matches-every (ios-regex’_20:[0-9]0_’) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 300 RP/0/RP0/CPU0:router(config-rpl-elseif)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
コミュニティ セットを定義するには、 XR コンフィギュレーション モード で community-set コマンドを使用します。コミュニティ セットを削除するには、このコマンドの no 形式を使用します。
community-set name
no community-set name
name |
コミュニティ セットの名前。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
コミュニティを照合するための正規表現や範囲を指定できます。コミュニティ値を設定するために、範囲または正規表現を含むコミュニティ セットを使用しようとすると、そのようなポリシーの付加の試行時に拒否されます。
コミュニティ セットは、ボーダー ゲートウェイ プロトコル(BGP)コミュニティ属性とのマッチングのためにコミュニティ値を保持しています。コミュニティは、32 ビット量です。表記上の便宜のために、それぞれのコミュニティ値は半分に分けて、コロンで区切った、0 ~ 65535 の範囲内の 2 つの符号なし 10 進整数で表す必要があります。
コミュニティ セットのインライン形式では、パラメータ化もサポートされます。コミュニティの 16 ビット部分のそれぞれをパラメータ化できます。
ルーティング ポリシー言語(RPL)では、標準の機知のコミュニティ値のシンボル名が用意されています。accept-own は 0xFFFF0001、internet は 0:0、no-export は 65535:65281、no-advertise は 65535:65282、local-as は 65535:65283 です。
RPL では、コミュニティの指定でワイルドカードを使用するためのファシリティも用意されています。ワイルドカードを指定するには、コミュニティ指定の 16 ビット部分の 1 つの代わりに、アスタリスク(*)を挿入します。これは、コミュニティのその部分の任意の値が一致することを示します。
すべてのコミュニティ セットに、少なくとも 1 つのコミュニティ値が含まれている必要があります。空のコミュニティ セットは無効であり、ポリシー設定システムによって拒否されます。
書式 | 説明 |
---|---|
#-remark | 「#」ではじまる注記 |
* | ワイルドカード(任意のコミュニティまたはその一部) |
0 ~ 65535 | コミュニティ番号の半分(16 ビット) |
[ | 範囲を開始する左角カッコ |
accept-own | Accept-Own(BGP の well-known コミュニティ) |
dfa-regex | DFA(決定性有限オートマトン)スタイルの正規表現 |
internet | インターネット(BGP の well-known コミュニティ) |
ios-regex | 従来の IOS スタイルの正規表現 |
local-AS | ローカル AS 外部に送信しない(BGP の well-known コミュニティ) |
no-advertise | どのピアにもアドバタイズしない(BGP の well-known コミュニティ) |
no-export | 次の AS にエクスポートしない(BGP の well-known コミュニティ) |
private-as | BGP プライベート AS の範囲 [64512..65534] 内で一致 |
![]() (注) |
コミュニティ セットの dfa-regex および ios-regex 構文は、"['][^':&<> ]*:[^':&<> ]*[']" です。これは、正規表現が一重引用符(")で始まり、続いて任意の文字数の文字列(これには一重引用符、コロン、アンパサンド、小なり、大なり、またはスペースを含まない)、続いてコロン、および任意の文字数の文字列(これには一重引用符、コロン、アンパサンド、小なり、大なり、またはスペースを含まない)、続いて一重引用符が来ることを意味します。 |
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
RP/0/RP0/CPU0:router#configure RP/0/RP0/CPU0:router(config)#community-set cset_accept_own RP/0/RP0/CPU0:router(config-comm)#accept-own RP/0/RP0/CPU0:router(config-comm)#end-set
次の例では、cset1 という名前のコミュニティ セットが作成されます。
RP/0/RP0/CPU0:router(config)# community-set cset1 RP/0/RP0/CPU0:router(config-comm)# 12:34, RP/0/RP0/CPU0:router(config-comm)# 12:56, RP/0/RP0/CPU0:router(config-comm)# 12:78, RP/0/RP0/CPU0:router(config-comm)# internet RP/0/RP0/CPU0:router(config-comm)# end-set
次の例では、cset2 という名前のコミュニティ セットが作成されます。
RP/0/RP0/CPU0:router(config)# community-set cset2 RP/0/RP0/CPU0:router(config-comm)# 123:456, RP/0/RP0/CPU0:router(config-comm)# no-advertise, RP/0/RP0/CPU0:router(config-comm)# end-set
次の例では、cset3 という名前のコミュニティ セットが作成されます。このポリシーはワイルドカードを使用して、コミュニティの自律システム部分が 123 であるすべてのコミュニティを一致させます。
RP/0/RP0/CPU0:router(config)# community-set cset3 RP/0/RP0/CPU0:router(config-comm)# 123:* RP/0/RP0/CPU0:router(config-comm)# end-set
ボーダー ゲートウェイ プロトコル(BGP)ルートに関連付けられたコミュニティ属性を削除するには、ルート ポリシー コンフィギュレーション モードで delete community コマンドを使用します。
delete community { all | in { community-set-name | inline-community-set | parameter } | not in { community-set-name | inline-community-set | parameter } }
all |
well-known コミュニティを除くすべてのコミュニティを削除します。 |
in |
名前付きコミュニティ セットまたはインライン コミュニティ セットのいずれかにリストされている、ルートに関連付けられたコミュニティをすべて削除します。 |
community-set-name |
コミュニティ セットの名前。 |
inline-community-set |
インライン コミュニティ セット。インライン コミュニティ セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
not in |
名前付きコミュニティ セットまたはインライン コミュニティ セットのいずれかにリストされておらず、well-known コミュニティではないコミュニティをすべて削除します。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
BGP ルートに関連付けられたコミュニティ属性を削除するには、delete community コマンドを使用します。
![]() (注) |
delete community コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
コミュニティは、ボーダー ゲートウェイ プロトコル(BGP)ルートで伝達される 32 ビット値です。それぞれのルートは、番号なしリストにゼロ以上のコミュニティを持つことができます。
well-known コミュニティ(internet、no-export、no-advertise、または local-as)はルートから削除できますが、この削除は明示的に行う必要があります。このコマンドは、ある程度注意して使用する必要があります。通常、well-known コミュニティの削除が必要になるような状況はほとんどありません。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、名前付きコミュニティ セットまたはインライン コミュニティ セットのいずれかにリストされている、ルートに関連付けられたコミュニティそれぞれの削除方法を示します。
RP/0/RP0/CPU0:router(config-rpl)# delete community in my_community_set RP/0/RP0/CPU0:router(config-rpl)# delete community in (10:[0..50],20:[60..80])
次の例では、well-known コミュニティを含むすべてのコミュニティを削除する方法を示します。
RP/0/RP0/CPU0:router(config-rpl)# delete community in (internet, no-export, no-advertise, local- as, *:*)
次の例では、well-known コミュニティを除くすべてのコミュニティを削除する方法を示します。
RP/0/RP0/CPU0:router(config-rpl)# delete community all
次の例では、ルートから well-known コミュニティ値 internet を削除する方法を示します。
RP/0/RP0/CPU0:router(config-rpl)# delete community in (internet)
ボーダー ゲートウェイ プロトコル(ルート)に関連付けられたルート ターゲット(RT)拡張コミュニティ属性を削除するには、ルート ポリシー コンフィギュレーション モードで delete extcommunity rt コマンドを使用します。
delete extcommunity rt { all | in { extcommunity-set-name | inline-extcommunity-set | parameter } | not in { extcommunity-set-name | inline-extcommunity-set | parameter } }
all |
拡張コミュニティをすべて削除します。 |
in |
名前付き拡張コミュニティ セットまたはインライン拡張コミュニティ セットのいずれかにリストされている、ルートに関連付けられた拡張コミュニティをすべて削除します。 |
extcommunity-set-name |
拡張コミュニティ セットの名前。 |
inline-extcommunity-set |
インライン拡張コミュニティ セット。インライン拡張コミュニティ セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
not in |
名前付き拡張コミュニティ セットまたはインライン拡張コミュニティ セットのいずれかにリストされておらず、well-known 拡張コミュニティではない拡張コミュニティをすべて削除します。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ルート内の BGP ルート ターゲット拡張コミュニティ リストから拡張コミュニティ値を削除するには、delete extcommunity rt コマンドを使用します。
![]() (注) |
delete extcommunity rt コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
拡張コミュニティは、通常のボーダー ゲートウェイ プロトコル(BGP)コミュニティと似ていますが、より多くのデータを含んでおり、その中に情報をエンコードするための構造が充実しています。
拡張コミュニティは、SoO:AS:tag、SoO:IP:tag、RT:AS:tag、または RT:IP:tag の形式で指定できます。
ワイルドカード(*)および正規表現は、拡張コミュニティ セット要素で使用できます。
名前付き拡張コミュニティ セットまたはインライン拡張コミュニティ セットの値を引数として使用するこのコマンドの形式は、同等です。このコマンドは、名前付きセットまたはインライン セットのいずれかにリストされている、それぞれの拡張コミュニティをすべて削除します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、拡張コミュニティがすべて削除されます。
RP/0/RP0/CPU0:router(config-rpl)# delete extcommunity rt all
次の例では、my-extcommunity-set にリストされている拡張コミュニティがすべて削除されます。
RP/0/RP0/CPU0:router(config-rpl)# delete extcommunity rt in my-extcommunity-set
次の例では、名前付きインライン拡張コミュニティ セットにリストされている、ルートに関連付けられた拡張コミュニティが削除されます。
RP/0/RP0/CPU0:router(config-rpl)# delete extcommunity rt in (67:29, 67:55)
名前付きプレフィックス セットまたはインライン プレフィックス セット内の宛先エントリを一致させるには、ルート ポリシー コンフィギュレーション モードで destination in コマンドを使用します。
destination in { prefix-set-name | inline-prefix-set | parameter }
prefix-set-name |
プレフィックス セットの名前。 |
inline-prefix-set |
インライン プレフィックス セット。インライン プレフィックス セットは、括弧で囲む必要があります。 |
parameter parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
名前付きプレフィックス セットまたはインライン プレフィックス セットの宛先エントリを一致させるには、if ステートメント内で destination in コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
このコマンドは、名前付きプレフィックス セットまたはインライン プレフィックス セットのいずれかの値を引数として使用します。宛先エントリが、プレフィックス セットまたはインライン プレフィックス セット内の任意のエントリと一致する場合は、条件は true を戻します。定義されていても、要素が含まれていないプレフィックス セットを使用して宛先を一致させようとすると、false が戻されます。
ルーティング ポリシー言語(RPL)には、宛先と一致するものがプレフィックス リストにあるかどうかを in 演算子を使用して調べる機能があります。destination in コマンドは、プロトコルに依存しません。
ボーダー ゲートウェイ プロトコル(BGP)では、ルートの宛先は、ネットワーク層到着可能性情報(NLRI)としても知られています。これは、プレフィックス値とマスク長からなります。
RPL では、ドット付き 10 進数形式で指定された 32 ビットの IPv4 プレフィックスと、コロン区切りの 16 進数形式で指定された 128 ビットの IPv6 プレフィックスがサポートされます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、my-prefix-set という名前のプレフィックス セットが定義され、use-destination-in という名前のルート ポリシーが作成されます。use-destination-in ルート ポリシーの中では、destination in コマンドを if ステートメント内で使用して、宛先が my-prefix-set という名前のプレフィックス セット内にあるかどうかを調べます。ある場合は、ローカル優先順位は 100 に設定されます。my-prefix-set 内になくても、次のプレフィックス指定と一致する場合は、ローカル優先順位は 200 に設定されます。
RP/0/RP0/CPU0:router(config)# prefix-set my-prefix-set RP/0/RP0/CPU0:router(config-pfx)# 10.0.0.1/32, RP/0/RP0/CPU0:router(config-pfx)# fe80::203:0:0:0/64, RP/0/RP0/CPU0:router(config-pfx)# 10.0.0.2/24 le 32 RP/0/RP0/CPU0:router(config-pfx)# end-set RP/0/RP0/CPU0:router(config)# route-policy use-destination-in RP/0/RP0/CPU0:router(config-rpl)# if destination in my-prefix-set then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# elseif destination in (10.0.0.1/32, 10.0.0.2/24 le 32) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 200 RP/0/RP0/CPU0:router(config-rpl-elseif)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
次の例では、ipv6-prefix-set という名前のプレフィックス セットが定義され、ipv6-destination-in という名前のルート ポリシーが作成されます。ipv6-destination-in ルート ポリシーの中では、destination in コマンドを if ステートメント内で使用して、宛先が ipv6-prefix-set という名前のプレフィックス セット内にあるかどうかを調べます。ある場合は、ネクストホップは 2001:abcd:fedc::1 に設定されます。ipv6-prefix-set 内になくても、次のプレフィックス指定と一致する場合は、ネクストホップは 1111:2222:3333:4444:5555:6666:7777:8888 に設定されます。
RP/0/RP0/CPU0:router(config)# prefix-set ipv6-prefix-set RP/0/RP0/CPU0:router(config-pfx)# 2001:0:0:1::/64, RP/0/RP0/CPU0:router(config-pfx)# 2001:0:0:2::/64, RP/0/RP0/CPU0:router(config-pfx)# 2001:0:0:3::/64, RP/0/RP0/CPU0:router(config-pfx)# 2001:0:0:4::/64 RP/0/RP0/CPU0:router(config-pfx)# end-set RP/0/RP0/CPU0:router(config)# route-policy ipv6-destination-in RP/0/RP0/CPU0:router(config-rpl)# if destination in ipv6-prefix-set then RP/0/RP0/CPU0:router(config-rpl-if)# set next-hop 2001:abcd:fedc::1 RP/0/RP0/CPU0:router(config-rpl-if)# elseif destination in (2001::1, 2002:1:2:3::/64) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set next-hop 1111:2222:3333:4444:5555:6666:7777:8888 RP/0/RP0/CPU0:router(config-rpl-elseif)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
ポリシーの実行を停止してルートを受け入れるには、ルート ポリシー コンフィギュレーション モードで done コマンドを使用します。
done
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ポリシーの実行を停止してルートを受け入れるには、done コマンドを使用します。
![]() (注) |
done コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
done ステートメントを検出すると、ルートは合格となり、ポリシー ステートメントはこれ以上実行されません。done ステートメントの前にルートに対して行った変更はすべて、有効なままです。
![]() (注) |
ルート ポリシーのデフォルト アクションは、明示的に渡されなかったか、アクションによって変更が試みられなかったすべてのルートをドロップするか、廃棄することです。ルーティング ポリシー言語(RPL)には、特に「照合句」はありません。これは、デフォルトのドロップ動作は、ルートが明示的に合格となるか、アクション ステートメントを使用してルートの変更が試みられたかによって制御されることを意味します。 |
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、29.0.0.0/8 le 32 で宛先が正常に一致する場合は、実行は set community 102:12 を超えて次のステートメントまで続行されます。39.0.0.0/8 le 32 の実行で宛先が正常に一致する場合は、done ステートメントの検出時にポリシーの実行は停止します。
RP/0/RP0/CPU0:router(config)# route-policy done_st_example RP/0/RP0/CPU0:router(config-rpl)# if destination in (29.0.0.0/8 le 32) then RP/0/RP0/CPU0:router(config-rpl-if)# set community 102:12 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)# if destination in (39.0.0.0/8 le 32) then RP/0/RP0/CPU0:router(config-rpl-if)# set community 102:39 RP/0/RP0/CPU0:router(config-rpl-if)# done RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)# if destination in (49.0.0.0/8 le 32) then RP/0/RP0/CPU0:router(config-rpl-if)# set community 102:49 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)# if destination in (59.0.0.0/8 le 32) then RP/0/RP0/CPU0:router(config-rpl-if)# set community 102:59 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
ルートを廃棄するには、ルート ポリシー コンフィギュレーション モードで drop コマンドを使用します。
drop
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ルートをドロップするには、ルート ポリシー内で drop コマンドを使用します。
![]() (注) |
drop コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
このコマンドを使用すると、ルートがドロップされます。ルートのドロップ後は、ポリシーはこれ以上実行されません。したがって、ポリシーの最初の 2 つのステートメントを実行した後で、drop ステートメントが検出されると、ポリシーにそれ以降のステートメントが存在する場合でも、ルートは廃棄され、実行は即時に停止します。
![]() (注) |
ルート ポリシーのデフォルト アクションは、明示的に渡されなかったか、アクションによって変更が試みられなかったすべてのルートをドロップするか、廃棄することです。ルーティング ポリシー言語(RPL)には、特に「照合句」はありません。これは、デフォルトのドロップ動作は、ルートが明示的に合格となるか、アクション ステートメントを使用してルートの変更が試みられたかによって制御されることを意味します。 |
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、プレフィックス セット pset1 内に宛先アドレスが含まれているルートがすべてドロップされます。
RP/0/RP0/CPU0:router(config-rpl)# if destination in pset1 then RP/0/RP0/CPU0:router(config-rpl-if)# drop RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
ルート ポリシー、プレフィックス セット、AS パス セット、コミュニティ セット、または拡張コミュニティ セットの内容を編集するには、 XR EXEC モード で edit コマンドを使用します。
edit { route-policy | prefix-set | as-path-set | community-set | extcommunity-set { rt | soo } | policy-global | rd-set } name [ nano | emacs | vim | inline { add | prepend | remove } set-element ]
route-policy |
ルート ポリシーの内容を編集します。 |
||
prefix-set |
プレフィックス セットの内容を編集します。 |
||
as-path-set |
AS パス セットの内容を編集します。 |
||
community-set |
コミュニティ セットの内容を編集します。 |
||
extcommunity-set |
指定されたタイプの拡張コミュニティ セットの内容を編集します。 |
||
rt |
BGP ルート ターゲット(RT)拡張コミュニティを編集します。 |
||
soo |
BGP Site of Origin(SoS)拡張コミュニティを編集します。 |
||
policy-global |
policy-global 定義の内容を編集します。 |
||
rd-set |
route-distinguisher セットの内容を編集します。 |
||
name |
ルート ポリシー、プレフィックス セット、AS パス セット、コミュニティ セット、拡張コミュニティ セット、ルート識別子(RD)セット、またはグローバル パラメータの名前。 |
||
nano |
(任意)GNU Nano テキスト エディタを使用します。 |
||
emacs |
(任意)Micro Emacs エディタを使用します。 |
||
vim |
(任意)VI Improved エディタを使用します。 |
||
inline |
(任意)コマンドラインを使用します。 |
||
add |
要素をセットに追加します。 |
||
prepend |
要素の先頭にセットを追加します。 |
||
remove |
要素をセットから削除します。 |
||
set-element |
|
デフォルトのエディタは GNU nano テキスト エディタです。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ルート ポリシー、プレフィックス セット、AS パス セット、コミュニティ セット、拡張コミュニティ セット、グローバル ポリシー、またはルート宛先セットの内容を編集するには、edit コマンドを使用します。
Nano での編集後に、編集バッファを保存して、Ctrl+X キーストロークを使用してエディタを終了します。
Emacs での編集後に、Ctrl+X および Ctrl+S のキーストロークを使用して編集バッファを保存します。エディタを保存して終了するには、Ctrl+X および Ctrl+C のキーストロークを使用します。
VIM での編集後に、現在のファイルに書き込んで終了するには、:wq、:x、または ZZ のキーストロークを使用します。終了して確認するには、:q キーストロークを使用します。終了して変更を廃棄するには、:q! キーストロークを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
RP/0/RP0/CPU0:router# edit route-policy policy_A
----------------------------------------
== MicroEMACS 3.8b () == rpl_edit.139281 ==
if destination in (2001::/8) then
drop
endif
end-policy
!
== MicroEMACS 3.8b () == rpl_edit.139281 ==
Parsing.
83 bytes parsed in 1 sec (82)bytes/sec
Committing.
1 items committed in 1 sec (0)items/sec
Updating.
Updated Commit database in 1 sec
RP/0/RP0/CPU0:router#edit route-policy policy_B
== MicroEMACS 3.8b () == rpl_edit.141738
route-policy policy_B
set metric-type type_1
if destination in (2001::/8) then
drop
endif
end-policy
!
== MicroEMACS 3.8b () == rpl_edit.141738 ==
Parsing.
105 bytes parsed in 1 sec (103)bytes/sec
% Syntax/Authorization errors in one or more commands.!! CONFIGURATION
FAILED DUE TO SYNTAX/AUTHORIZATION ERRORS
set metric-type type_1
if destination in (2001::/8) then
drop
endif
end-policy
!
Continue editing? [no]:
yes と答えると、エディタは、中断した場所からテキスト バッファを続行します。no と答えると、実行コンフィギュレーションは変更されず、編集セッションは終了します。
ポリシーを開いた後で、通常のエディタ コマンドを使用して操作してから、保存して実行コンフィギュレーションにコミットできます。
グローバル パラメータの定義を終了して、グローバル パラメータ コンフィギュレーション モードを終了するには、グローバル パラメータ コンフィギュレーション モードで end-global コマンドを使用します。
end-global
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
グローバル パラメータ コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
グローバル パラメータの定義を終了して、グローバル パラメータ コンフィギュレーション モードを終了するには、end-global コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、end-global コマンドにより、グローバル パラメータの定義が終了します。
RP/0/RP0/CPU0:router(config)#policy-global RP/0/RP0/CPU0:router(config-rp-gl)# glbpathtype ‘ebgp’ RP/0/RP0/CPU0:router(config-rp-gl)# glbtag ‘100’ RP/0/RP0/CPU0:router(config-rp-gl)# end-global
ルート ポリシーの定義を終了して、ルート ポリシー コンフィギュレーション モードを終了するには、ルート ポリシー コンフィギュレーション モードで end-policy コマンドを使用します。
end-policy
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ルート ポリシーの定義を終了して、ルート ポリシー コンフィギュレーション モードを終了するには、end-policy コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、end-policy コマンドにより、ルート ポリシーの定義が終了します。
RP/0/RP0/CPU0:router(config)#route-policy med-to-local-pref RP/0/RP0/CPU0:router(config-rpl)#if med eq 150 then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 10 RP/0/RP0/CPU0:router(config-rpl-if)# elseif med eq 200 then RP/0/RP0/CPU0:router(config-elseif)# set local-preference 60 RP/0/RP0/CPU0:router(config-elseif)# elseif med eq 250 then RP/0/RP0/CPU0:router(config-elseif)# set local-preference 0 RP/0/RP0/CPU0:router(config-elseif)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
AS パス セット、プレフィックス セット、コミュニティ セット、および拡張コミュニティ セット、または RD セットの定義を終了して、 XR コンフィギュレーション モード に戻るには、ルート ポリシー コンフィギュレーション モードで end-set コマンドを使用します。
end-set
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
AS パス セット コンフィギュレーション
プレフィックス セット コンフィギュレーション
コミュニティ セット コンフィギュレーション
拡張コミュニティ セット コンフィギュレーション
ルート識別子セット コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
AS パス セット、プレフィックス セット、コミュニティ セット、または拡張コミュニティ セットの定義を終了するには、end-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、end-set コマンドにより、aset1 という名前の AS パス セットの定義が終了します。
RP/0/RP0/CPU0:router(config)# as-path-set aset1 RP/0/RP0/CPU0:router(config-as)# ios-regex '_42$', RP/0/RP0/CPU0:router(config-as)# ios-regex '_127$' RP/0/RP0/CPU0:router(config-as)# end-set RP/0/RP0/CPU0:router(config)#
次の例では、my_rd_set という名前の RD セットを作成して、end-set コマンドを使用して定義を終了する方法を示します。
RP/0/RP0/CPU0:router(config)# rd-set my_rd_set RP/0/RP0/CPU0:router(config-rd)# 172.16.0.0/16:*, RP/0/RP0/CPU0:router(config-rd)# 172.17.0.0/16:100, RP/0/RP0/CPU0:router(config-rd)# 192:*, RP/0/RP0/CPU0:router(config-rd)# 192:100 RP/0/RP0/CPU0:router(config-rd)# end-set
ボーダー ゲートウェイ プロトコル(BGP)ルートに関連付けられたルート ターゲット(RT)拡張コミュニティ属性があるかどうかを確認するには、ルート ポリシー コンフィギュレーション モードで extcommunity rt is-empty コマンドを使用します。
extcommunity rt is-empty
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
BGP ルートに関連付けられた拡張コミュニティ属性があるかどうかをチェックするには、if ステートメント内で extcommunity rt is-empty コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
is-empty 演算子には引数はありません。ルートに関連付けられた拡張コミュニティ属性がない場合に true であると評価されます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、拡張コミュニティが空の場合は、ローカル優先順位は 100 に設定されます。
RP/0/RP0/CPU0:router(config)# route-policy extcommunity-is-empty-example RP/0/RP0/CPU0:router(config-rpl)# if extcommunity rt is-empty then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
ボーダー ゲートウェイ プロトコル(BGP)ルート ターゲット(RT)拡張コミュニティ セットの任意の要素に一致させるには、ルート ポリシー コンフィギュレーション モードで extcommunity rt matches-any コマンドを使用します。
extcommunity rt matches-any { extcommunity-set-name | inline-extcommunity-set | parameter }
extcommunity-set-name |
RT 拡張コミュニティ セットの名前。 |
inline-extcommunity-set |
インライン RT 拡張コミュニティ セット。インライン拡張コミュニティ セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
拡張コミュニティ セットの要素を一致させるには、if ステートメント内で extcommunity rt matches-any コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
matches-any 演算子を使用する単純条件は、ルート内の少なくとも 1 つの拡張コミュニティが名前付きセットまたはインライン セットでの拡張コミュニティの指定内容と一致する場合は、true であると評価されます。ルート内の拡張コミュニティが名前付きセットまたはインライン セットでのどの指定内容とも一致しない場合は、この単純条件は false であると評価されます。同様に、ルート内に拡張コミュニティがまったくない場合は、条件は false であると評価されます。
ルート内の拡張コミュニティを、名前付きセットまたはインライン セットでの指定内容と一致させる作業は直感的です。インライン セットでは、拡張コミュニティの指定内容はパラメータ化されることがあります。この場合は、パラメータの値が指定されていれば、関連するマッチングが行われます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、my-extcommunity-set という名前の拡張コミュニティ セットと、my-extcommunity-set-example($tag,$ip) という名前のパラメータ化されたルート ポリシーが定義されます。extcommunity rt matches-any コマンドを if ステートメント内で使用し、ルート内の少なくとも 1 つの拡張コミュニティが名前付きセット内の拡張コミュニティ指定の 1 つと一致する場合にローカル プリファレンスを 100 に設定することを指定します。名前付きセットでの任意の指定内容と一致する拡張コミュニティがルート内に存在しない場合は、条件は false であると評価され、拡張コミュニティがインライン拡張セットと比較されます。
RP/0/RP0/CPU0:router(config)# extcommunity-set rt my-extcommunity-set RP/0/RP0/CPU0:router(config-ext)# 10:615, RP/0/RP0/CPU0:router(config-ext)# 10:6150, RP/0/RP0/CPU0:router(config-ext)# 15.15.15.15:15 RP/0/RP0/CPU0:router(config-ext)# end-set RP/0/RP0/CPU0:router(config)# route-policy my-extcommunity-set-example($tag,$ip) RP/0/RP0/CPU0:router(config-rpl)# if extcommunity rt matches-any my-extcommunity-set then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# elseif extcommunity rt matches-any (10:20, 10:$tag) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 200 RP/0/RP0/CPU0:router(config-rpl-elseif)# elseif extcommunity rt matches-any ($ip:$tag) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 300 RP/0/RP0/CPU0:router(config-rpl-elseif)# elseif extcommunity rt matches-any (2.3.4.5:$tag) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 400 RP/0/RP0/CPU0:router(config-rpl-elseif)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
ボーダー ゲートウェイ プロトコル(BGP)ルート ターゲット(RT)拡張コミュニティ セットのすべての要素を一致させるには、ルート ポリシー コンフィギュレーション モードで extcommunity rt matches-every コマンドを使用します。
extcommunity rt matches-every { extcommunity-set-name | inline-extcommunity-set | parameter }
extcommunity-set-name |
RT 拡張コミュニティ セットの名前。 |
inline-extcommunity-set |
インライン RT 拡張コミュニティ セット。インライン拡張コミュニティ セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
RT 拡張コミュニティ セットのすべての要素を一致させるには、if ステートメント内で extcommunity rt matches-every コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
matches-every 演算子を使用する単純条件は、ルートの拡張コミュニティ属性の拡張コミュニティ値がすべて、拡張コミュニティ セットまたはインライン セットの少なくとも 1 つの要素と一致する場合は、true であると評価されます。ルート内の拡張コミュニティが名前付きセットまたはインライン セットでのどの指定内容とも一致しない場合は、この単純条件は false であると評価されます。同様に、ルート内に拡張コミュニティがまったくない場合は、条件は false であると評価されます。
ルート内の拡張コミュニティを、名前付きセットまたはインライン セットでの指定内容と一致させる作業は直感的です。インライン セットでは、拡張コミュニティの指定内容はパラメータ化されることがあります。この場合は、パラメータの値が指定されていれば、関連するマッチングが行われます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、my-extcommunity-set という名前の拡張コミュニティ セットと、extcommunity-matches-every-example ($as, $tag) という名前のパラメータ化されたルート ポリシーが定義されます。条件 extcommunity rt matches-every がこのポリシーの if ステートメントで使用されます。true であると評価される場合は、local-preference 値は 100 に設定されます。false であると評価される場合は、拡張コミュニティはインライン セットを使用して評価されます。その条件が true であると評価される場合は、local-preference 値は 200 に設定されます。false であると評価される場合は、local-preference 値は 300 に設定されます。
RP/0/RP0/CPU0:router(config)# extcommunity-set rt my-extcommunity-set RP/0/RP0/CPU0:router(config-ext)# 10:20, RP/0/RP0/CPU0:router(config-ext)# 10:30, RP/0/RP0/CPU0:router(config-ext)# 10:40 RP/0/RP0/CPU0:router(config-ext)# end-set RP/0/RP0/CPU0:router(config)# route-policy extcommunity-matches-every-example($as,$tag) RP/0/RP0/CPU0:router(config-rpl)# if extcommunity rt matches-every my-extcommunity-set then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# elseif extcommunity rt matches-every (10:20, 10:$tag, $as:30) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 200 RP/0/RP0/CPU0:router(config-rpl-elseif)# elseif RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 300 RP/0/RP0/CPU0:router(config-rpl-elseif)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
ボーダー ゲートウェイ プロトコル(BGP)ルート ターゲット(RT)の拡張コミュニティ セットの少なくとも 1 つの要素を一致させるには、ルート ポリシー コンフィギュレーション モードで extcommunity rt matches-within コマンドを使用します。
extcommunity rt matches-within { rt-type-extcommunity-set-name | inline-extcommunity-set | parameter }
rt-type-extcommunity-set-name | RT 拡張コミュニティ セットの名前。 |
inline-extcommunity-set | カッコで囲まれたインライン RT 拡張コミュニティ セット。 |
parameter | 「$」記号を前に付けたパラメータ名。 |
なし
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
拡張コミュニティ セットの要素が一致しているかどうかを調べるには、if ステートメント内で extcommunity rt matches-within コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
matches-within 演算子を使用する単純条件の評価結果が true となるのは、ルートの拡張コミュニティのすべての要素が、拡張コミュニティ セットの任意の要素と一致する場合です。たとえば、「c」はルートからの RT で、「m」はポリシーから設定された RT です。extcommunity rt matches-within を設定した場合は、「c」の値のそれぞれが「m」の任意の(1 つ以上の)値に一致する必要があります。
ルート内の拡張コミュニティを、名前付きセットまたはインライン セットでの指定内容と一致させる作業は直感的です。インライン セットでは、拡張コミュニティの指定内容はパラメータ化されることがあります。この場合は、パラメータの値が指定されていれば、関連するマッチングが行われます。
タスク ID | 動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、my-extcommunity-set という名前の拡張コミュニティ セットと、my-extcommunity-set-example($tag,$ip) という名前のパラメータ化されたルート ポリシーが定義されます。extcommunity rt matches-within コマンドを if ステートメントの中で使用し、ルートのすべての拡張コミュニティ値が、名前付きセットで指定された拡張コミュニティの任意の要素と一致する場合にローカル プリファレンスを 100 に設定することを指定します。
RP/0/RP0/CPU0:router(config)#extcommunity-set rt my-extcommunity-set RP/0/RP0/CPU0:router(config-ext)#10:615, RP/0/RP0/CPU0:router(config-ext)#10:6150, RP/0/RP0/CPU0:router(config-ext)#15.15.15.15:15 RP/0/RP0/CPU0:router(config-ext)#end-set RP/0/RP0/CPU0:router(config)#route-policy my-extcommunity-set-example($tag,$ip) RP/0/RP0/CPU0:router(config-rpl)#if extcommunity rt matches-within my-extcommunity-set then RP/0/RP0/CPU0:router(config-rpl-if)#set local-preference 100
コスト拡張コミュニティ セットを定義するには、 XR コンフィギュレーション モード で extcommunity-set cost コマンドを使用します。コスト拡張コミュニティ セットを削除するには、このコマンドの no 形式を使用します。
extcommunity-set cost name
no extcommunity-set cost name
name |
コスト拡張コミュニティ セットの名前。name 引数では大文字と小文字が区別されます。この引数は任意の英数字を含むことができ、最大 63 文字の長さにすることができます。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
コスト拡張コミュニティ セットを定義するには、extcommunity-set cost コマンドを使用します。
拡張コミュニティ セットは、通常のコミュニティ値の代わりに拡張コミュニティ値が含まれている点を除き、コミュニティ セットと似ています。拡張コミュニティ値は、64 ビットの構造化された値です。拡張コミュニティ セットでは、名前付き形式とインライン形式もサポートされます。
コスト拡張コミュニティは次の形式で入力できます。
#-remark:「#」で開始されるコメント
0-255:10 進数
abort:RPL 定義を廃棄し、トップ レベルの設定に戻ります。
end-set:セットの定義の終了
exit:サブモードの終了
igp::IGP を挿入のポイントとするコスト コミュニティ
pre-bestpath::最良パス前を挿入のポイントとするコスト コミュニティ
show:部分的な RPL 設定を表示
それぞれのルート ポリシー ブロックまたはシーケンスで複数のコスト コミュニティ セット句を設定できます。各 cost community set 句には、異なる ID(0 ~ 255)を持たせる必要があります。コスト値が最も低いコスト コミュニティ セット句は、その他の属性がすべて等しい場合は、最適パス選択プロセスによって優先されます。
コミュニティ セットと同様に、インライン形式では、パラメータ化ポリシー内のパラメータ化がサポートされます。拡張コミュニティ値のいずれかの部分をパラメータ化できます。
すべての拡張コミュニティ セットに、少なくとも 1 つの拡張コミュニティ値が含まれている必要があります。空の拡張コミュニティ セットは無効であり、ポリシー設定システムによって拒否されます。
ワイルドカード(*)および正規表現は、拡張コミュニティ セット要素で使用できます。
次の例では、extcomm-cost という名前のコスト拡張コミュニティ セットが定義されます。
RP/0/RP0/CPU0:router(config)# extcommunity-set cost extcomm-cost RP/0/RP0/CPU0:router(config-ext)# IGP:90:914, RP/0/RP0/CPU0:router(config-ext)# Pre-Bestpath:91:915 RP/0/RP0/CPU0:router(config-ext)# end-set
ボーダー ゲートウェイ プロトコル(BGP)ルート ターゲット(RT)拡張コミュニティ セットを定義するには、 XR コンフィギュレーション モード で extcommunity-set rt コマンドを使用します。RT コミュニティ セットを削除するには、このコマンドの no 形式を使用します。
extcommunity-set rt name
no extcommunity-set rt name
name |
RT 拡張コミュニティ セットの名前。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
BGP の RT 拡張コミュニティ セットを定義するには、extcommunity-set rt コマンドを使用します。
拡張コミュニティを照合するための正規表現や範囲を指定できます。コミュニティの照合をサポートするために、正規表現や範囲を拡張コミュニティ セットの中で使用できるようになっています。拡張コミュニティ セット値を設定するための範囲または正規表現が含まれる拡張コミュニティ セットを使用することは、そのようなポリシーの付加の試行時に拒否されます。
extcommunity セット RT は、ボーダー ゲートウェイ プロトコル(BGP)RT 拡張コミュニティ属性とのマッチングのために RT 拡張コミュニティ値を保持しています。RT 拡張コミュニティは次の形式で入力できます。
#-remark:「#」で開始されるコメント
*:ワイルドカード(任意のコミュニティまたはその一部)
1-4294967295:32 ビットの 10 進数
1-65535:16 ビットの 10 進数
A.B.C.D/M:N:拡張コミュニティ:IPv4 プレフィックス形式
A.B.C.D:N:拡張コミュニティ:IPv4 形式
ASN:N:拡張コミュニティ:ASPLAIN 形式
X.Y:N:拡張コミュニティ:ASDOT 形式
dfa-regex:DFA(決定性有限オートマトン)スタイルの正規表現
ios-regex:従来の IOS スタイルの正規表現
![]() (注) |
コミュニティ セットの dfa-regex および ios-regex 構文は、"['][^':&<> ]*:[^':&<> ]*[']" です。これは、正規表現が一重引用符(")で始まり、続いて任意の文字数の文字列(これには一重引用符、コロン、アンパサンド、小なり、大なり、またはスペースを含まない)、続いてコロン、および任意の文字数の文字列(これには一重引用符、コロン、アンパサンド、小なり、大なり、またはスペースを含まない)、続いて一重引用符が来ることを意味します。 |
N は、1 ~ 65535 の範囲内の数値です。
次の例では、extcomm-rt という名前の RT 拡張コミュニティ セットが定義されます。
RP/0/RP0/CPU0:router(config)# extcommunity-set rt extcomm-rt RP/0/RP0/CPU0:router(config-ext)# 10002:666 RP/0/RP0/CPU0:router(config-ext)# 10.0.0.2:666 RP/0/RP0/CPU0:router(config-ext)# end-set
ボーダー ゲートウェイ プロトコル(BGP)Site of Origin(SoO)拡張コミュニティ セットを定義するには、 XR コンフィギュレーション モード モードで extcommunity-set soo コマンドを使用します。SoO 拡張コミュニティ セットを削除するには、このコマンドの no 形式を使用します。
extcommunity-set soo name
no extcommunity-set soo name
name |
SoO 拡張コミュニティ セットの名前。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
SoO 拡張コミュニティ セットを定義するには、extcommunity-set soo コマンドを使用します。
extcommunity セット soo は、ボーダー ゲートウェイ プロトコル(BGP)SoO 拡張コミュニティ属性とのマッチングのために SoO 拡張コミュニティ値を保持しています。SoO 拡張コミュニティは次の形式で入力できます。
#-remark:「#」で開始されるコメント
*:ワイルドカード(任意のコミュニティまたはその一部)
1-4294967295:32 ビットの 10 進数
1-65535:16 ビットの 10 進数
A.B.C.D/M:N:拡張コミュニティ:IPv4 プレフィックス形式
A.B.C.D:N:拡張コミュニティ:IPv4 形式
ASN:N:拡張コミュニティ:ASPLAIN 形式
X.Y:N:拡張コミュニティ:ASDOT 形式
abort:RPL 定義を廃棄し、トップ レベルの設定に戻ります。
dfa-regex:DFA スタイルの正規表現
end-set:セットの定義の終了
exit:サブモードの終了
ios-regex:従来の IOS スタイルの正規表現
show:部分的な RPL 設定を表示
N は、サイトに固有の番号です。
次の例では、extcomm-soo という名前の SoO 拡張コミュニティ セットが定義されます。
RP/0/RP0/CPU0:router(config)# extcommunity-set soo extcomm-soo RP/0/RP0/CPU0:router(config-ext)# 66:60001, RP/0/RP0/CPU0:router(config-ext)# 77:70001, RP/0/RP0/CPU0:router(config-ext)# 88:80001, RP/0/RP0/CPU0:router(config-ext)# 99:90001, RP/0/RP0/CPU0:router(config-ext)# 100.100.100.1:153 RP/0/RP0/CPU0:router(config-ext)# end-set
ボーダー ゲートウェイ プロトコル(BGP)ルートに関連付けられた Site of Origin(SoO)拡張コミュニティがあるかどうかを判別するには、ルート ポリシー コンフィギュレーション モードで extcommunity soo is-empty コマンドを使用します。
extcommunity soo is-empty
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
BGP SoO ルートに関連付けられた拡張コミュニティ属性があるかどうかをチェックするには、if ステートメント内で extcommunity soo is-empty コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
is-empty 演算子には引数はありません。ルートに関連付けられた SoO 拡張コミュニティ属性がない場合に true であると評価されます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、ルートに関連付けられた SoO 拡張コミュニティがない場合は、ローカル優先順位は 100 に設定されます。
RP/0/RP0/CPU0:router(config)# route-policy extcommunity-is-empty-example RP/0/RP0/CPU0:router(config-rpl)# if extcommunity soo is-empty then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
ボーダー ゲートウェイ プロトコル(BGP)Site of Origin(SoO)拡張コミュニティ セットの任意の要素を一致させるには、ルート ポリシー コンフィギュレーション モードで extcommunity soo matches-any コマンドを使用します。
extcommunity soo matches-any { extcommunity-set-name | inline-extcommunity-set | parameter }
extcommunity-set-name |
SoO 拡張コミュニティ セットの名前。 |
inline-extcommunity-set |
インライン SoO 拡張コミュニティ セット。インライン拡張コミュニティ セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
拡張コミュニティ セットの要素を一致させるには、if ステートメント内で extcommunity soo matches-any コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
matches-any 演算子を使用する単純条件は、ルート内の少なくとも 1 つの拡張コミュニティが名前付きセットまたはインライン セットでの拡張コミュニティの指定内容と一致する場合は、true であると評価されます。ルート内の拡張コミュニティが名前付きセットまたはインライン セットでのどの指定内容とも一致しない場合は、この単純条件は false であると評価されます。同様に、ルート内に拡張コミュニティがまったくない場合は、条件は false であると評価されます。
ルート内の拡張コミュニティを、名前付きセットまたはインライン セットでの指定内容と一致させる作業は直感的です。インライン セットでは、拡張コミュニティの指定内容はパラメータ化されることがあります。この場合は、パラメータの値が指定されていれば、関連するマッチングが行われます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、extcomm-soo という名前の SoO 拡張コミュニティ セットと、my-extcommunity-set-example($tag,$ip) という名前のパラメータ化されたルート ポリシーが定義されます。
extcommunity soo matches-any という名前の条件ルート ポリシーが、このポリシーの if ステートメントで使用されます。true であると評価される場合は、ローカル優先順位値は 100 に設定されます。
false であると評価される場合は、SoO 拡張コミュニティはインライン セットを使用して評価されます。true であると評価される場合は、ローカル優先順位値は 200 に設定されます。
false であると評価される場合は、SoO 拡張コミュニティは別のインライン セットを使用して評価されます。true であると評価される場合は、ローカル優先順位値は 300 に設定されます。
false であると評価される場合は、SoO 拡張コミュニティは別のインライン セットを使用して評価されます。true であると評価される場合は、ローカル優先順位値は 400 に設定されます。
RP/0/RP0/CPU0:router(config)# extcommunity-set soo extcomm-soo RP/0/RP0/CPU0:router(config-ext)# 66:60001, RP/0/RP0/CPU0:router(config-ext)# 77:70001, RP/0/RP0/CPU0:router(config-ext)# 88:80001, RP/0/RP0/CPU0:router(config-ext)# 99:90001, RP/0/RP0/CPU0:router(config-ext)# 100.100.100.1:153 RP/0/RP0/CPU0:router(config-ext)# end-set RP/0/RP0/CPU0:router(config)# route-policy my-extcommunity-set-example($tag,$ip) RP/0/RP0/CPU0:router(config-rpl)# if extcommunity soo matches-any extcomm-soo then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# elseif extcommunity soo matches-any (10:20, 10:$tag) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 200 RP/0/RP0/CPU0:router(config-rpl-elseif)# elseif extcommunity soo matches-any ($ip:$tag) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 300 RP/0/RP0/CPU0:router(config-rpl-elseif)# elseif extcommunity soo matches-any (2.3.4.5:$tag) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 400 RP/0/RP0/CPU0:router(config-rpl-elseif)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
ボーダー ゲートウェイ プロトコル(BGP)Site of Origin(SoO)拡張コミュニティ セットのすべての要素を一致させるには、ルート ポリシー コンフィギュレーション モードで extcommunity soo matches-every コマンドを使用します。
extcommunity soo matches-every { extcommunity-set-name | inline-extcommunity-set | parameter }
extcommunity-set-name |
SoO 拡張コミュニティ セットの名前。 |
inline-extcommunity-set |
インライン SoO 拡張コミュニティ セット。インライン拡張コミュニティ セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
SoO 拡張コミュニティ セットのすべての要素を一致させるには、if ステートメント内で extcommunity soo matches-every コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
matches-every 演算子を使用する単純条件は、ルートの拡張コミュニティ属性の拡張コミュニティ値がすべて、拡張コミュニティ セットまたはインライン セットの少なくとも 1 つの要素と一致する場合は、true であると評価されます。ルート内の拡張コミュニティが名前付きセットまたはインライン セットでのどの指定内容とも一致しない場合は、この単純条件は false であると評価されます。同様に、ルート内に拡張コミュニティがまったくない場合は、条件は false であると評価されます。
ルート内の拡張コミュニティを、名前付きセットまたはインライン セットでの指定内容と一致させる作業は直感的です。インライン セットでは、拡張コミュニティの指定内容はパラメータ化されることがあります。この場合は、パラメータの値が指定されていれば、関連するマッチングが行われます。
次の例では、my-extcomm-rt-set という名前の拡張コミュニティ セットと、extcommunity-matches-every-example($as, $tag) という名前のパラメータ化ルート ポリシーが定義されます。条件 extcommunity soo matches-every がこのポリシーの if ステートメントで使用され、これが true であると評価される場合は、local-preference 値は 100 に設定されます。false であると評価される場合は、拡張コミュニティはインライン セットを使用して評価されます。その条件が true であると評価される場合は、local-preference 値は 200 に設定されます。false であると評価される場合は、local-preference 値は 300 に設定されます。
RP/0/RP0/CPU0:router(config)# extcommunity-set soo my-extcomm-rt-set RP/0/RP0/CPU0:router(config-ext)# 10:20, RP/0/RP0/CPU0:router(config-ext)# 10:30, RP/0/RP0/CPU0:router(config-ext)# 10:40 RP/0/RP0/CPU0:router(config-ext)# end-set RP/0/RP0/CPU0:router(config)# route-policy extcommunity-matches-every-example($as, $tag) RP/0/RP0/CPU0:router(config-rpl)# if extcommunity soo matches-every my-extcomm-rt-set then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# elseif extcommunity soo matches-every (10:20, 10:$tag, $as:30) then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 200 RP/0/RP0/CPU0:router(config-rpl-elseif)# else RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 300 RP/0/RP0/CPU0:router(config-rpl-elseif)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
特定のルートに対して行うアクションまたはディスポジションを決定するには、ルート ポリシー コンフィギュレーション モードで if コマンドを使用します。
if conditional-expression then action-statement [action-statement] [ elseif conditional-expression then action-statement [action-statement] ] [ else action-statement [action-statement] ] endif
conditional-expression |
特定のルートで行う必要があるアクションまたはディスポジションを決定する式。 |
then |
if 条件が true の場合のアクション ステートメントを実行します。 |
elseif |
テストのシーケンスをつなぎ合わせます。 |
else |
if 条件が false の場合のアクション ステートメントを実行します。 |
endif |
if ステートメントを終了します。 |
action-statement |
ルートを変更する操作のシーケンス。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
if コマンドは、特定のルートに対して行うアクションまたはディスポジションを、条件式により決定します。表 1に、条件式をリストします。
アクション ステートメントは、ルートに変更を加える操作のシーケンスであり、その操作のほとんどは set キーワードによって区別されます。ルート ポリシーでは、これらの操作はグループ化できます。表 2に、アクション ステートメントをリストします。
Route-policy policy_name If apply policyA and apply policyB then Set med 100 Else if not apply policyD then Set med 200 Else Set med 300 Endif End-policy
コマンド |
説明 |
---|---|
ルートの AS パスを AS パス セットに一致させます。AS パスは、ルートが通過する自律システム番号のシーケンスです。 |
|
ルータ(またはこの自律システムまたは連合内の別のルータ)がルートを発信したかどうかを判別します。 |
|
AS パスの長さに基づいて条件チェックを実行します。 |
|
AS パスの先頭にある自律システム番号を、1 つ以上の整数値またはパラメータのシーケンスと照合してテストします。 |
|
AS パスを、ルートを発信した AS 番号で始まる AS シーケンスと照合してテストします。 |
|
指定した整数またはパラメータが AS パス内の任意の場所現れるかどうか、または整数およびパラメータのシーケンスが現れるかどうかを調べるためにテストします。 |
|
AS パスの長さに基づいて特定のチェックを実行します。 |
|
ルートに関連付けられたコミュニティ属性があるかどうかを調べます。 |
|
コミュニティ セットの任意の要素を一致させます。 |
|
コミュニティ セットのすべての要素を一致させます。 |
|
名前付きプレフィックス セットまたはインライン プレフィックス セット内の宛先エントリを一致させます。 |
|
ルートに関連付けられた RT 拡張コミュニティ属性があるかどうかを調べます。 |
|
RT 拡張コミュニティ セットの要素を一致させます。 |
|
RT 拡張コミュニティ セットのすべての要素を一致させます。 |
|
ボーダー ゲートウェイ プロトコル(BGP)ルート ターゲット(RT)拡張コミュニティ セットの少なくとも 1 つの要素が一致するかどうかを調べます。 |
|
ルートに関連付けられた SoO 拡張コミュニティ属性があるかどうかを調べます。 |
|
SoO 拡張コミュニティ セットの要素を一致させます。 |
|
SoO 拡張コミュニティ セットのすべての要素を一致させます。 |
|
BGP local-preference 属性を指定します。 |
|
Multi Exit Discriminator(MED)を整数値またはパラメータ化された値と比較します。 |
|
ルートに関連付けられたネクストホップを、名前付きプレフィックス セットまたはインライン プレフィックス セットのいずれかに含まれているデータと比較します。 |
|
プレフィックス セットまたはインライン プレフィックス セット内のプレフィックスを一致させます。 |
|
送信元属性の値をテストします。 |
|
パス タイプをテストします。 |
|
プロトコルがルートをインストールするかどうかをチェックします。 |
|
ルートに関連付けられた RD を、名前付き RD セットまたはインライン RD セットのいずれかに含まれているデータと比較します。 |
|
ルートがルーティング情報ベース(RIB; ルーティング情報ベース)内にあるかどうかをチェックします。 |
|
ルートにマルチプロトコル ラベル スイッチング(MPLS)ラベルがあるかどうかをチェックします。 |
|
BGP、OSPF、または IS-IS への再配布の実行中にルート タイプを比較します。 |
|
ルートの発信元を、名前付きプレフィックス セットまたはインライン プレフィックス セットのいずれかの中にあるデータと照合してテストします。 |
|
特定のタグ値を一致させます。 |
|
VPN 識別子を、指定された値と比較します。 |
コマンド |
説明 |
---|---|
既存の値にオフセットを追加します。 |
|
パラメータ化ポリシーまたは未パラメータ化ポリシーを別のポリシー内から実行します。 |
|
ルート内のコミュニティ リストからコミュニティ値を削除します。 |
|
ルート内の拡張コミュニティ リストから拡張コミュニティ値を削除します。 |
|
これ以上処理を行わずにこのルートを受け入れます。 |
|
ルートをドロップします。 |
|
ルート ポリシーの定義を終了して、ルート ポリシー コンフィギュレーション モードを終了します。 |
|
ルートが変更されていない場合でも、ユーザはポリシー ブロックでの実行を続行することを指定します。 |
|
AS パスの先頭に、自律システム番号を追加します。 |
|
AS パス内の AS 番号またはプライベート AS 番号のシーケンスを、設定済みのローカル AS に置き換えます。 |
|
BGP コミュニティ属性を設定します。 |
|
BGP ルート ダンプニングを設定します。 |
|
Enhanced Interior Gateway Routing Protocol(EIGRP)メトリック値を設定します。 |
|
ルートでコストの拡張コミュニティを置き換えるか、追加します。 |
|
ルートで RT の拡張コミュニティを置き換えるか、追加します。 |
|
パケットを分類するために IP precedence を設定します。 |
|
IS-IS メトリック属性値を設定します。 |
|
BGP ラベル属性値を設定します。 |
|
再配布されたルートを送信する IS-IS レベルを設定します。 |
|
自律システム パスのプリファレンス値を指定します。 |
|
MED 値を設定します。 |
|
IS-IS がメトリックを内部メトリックとして処理するか、外部メトリックとして処理するかを制御します。 |
|
OSPF がコストをタイプ 1 メトリックとして処理するか、タイプ 2 メトリックとして処理するかを制御します。 |
|
特定のルートに関連付けられたネクストホップを置き換えます。 |
|
送信元属性を変更します。 |
|
OSPF プロトコルのメトリック属性値を設定します。 |
|
パケットを分類するためにサービス品質(QoS)グループを設定します。 |
|
テーブル ポリシーの RIB メトリック属性値を設定します。 |
|
RIP メトリック属性を設定します。 |
|
ルート タグ属性を設定します。 |
|
タグ属性を設定します。 |
|
トラフィック索引属性を設定します。 |
|
BGP ルートの重み値を設定します。 |
|
集約の特定の要素を抑制する必要がある(つまり、アドバタイズしない必要がある)ことを指定します。 |
|
集約の特定の要素を抑制解除する必要があることを指定します。 |
|
VPN 識別子値を設定します。 |
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、AS パスがセット as-path-set-1 内にあるルートはすべてドロップされます。
RP/0/RP0/CPU0:router(config-rpl)# if as-path in as-path-set-1 then RP/0/RP0/CPU0:router(config-rpl-if)# drop RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
then 句の内容は、アクション ステートメントの任意のシーケンスになることがあります。
次の例では、if ステートメントに 2 つのアクション ステートメントがあります。
RP/0/RP0/CPU0:router(config-rpl)# if origin is igp then RP/0/RP0/CPU0:router(config-rpl-if)# set med 42 RP/0/RP0/CPU0:router(config-rpl-if)# prepend as-path 73 5 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
if コマンドでは、式が false の場合に実行する else 句を次のように指定することもできます。
RP/0/RP0/CPU0:router(config-rpl)# if med eq 200 then RP/0/RP0/CPU0:router(config-rpl-if)# set community (12:34) additive RP/0/RP0/CPU0:router(config-rpl-if)# else RP/0/RP0/CPU0:router(config-rpl-else)# set community (12:56) additive RP/0/RP0/CPU0:router(config-rpl-else)# endif RP/0/RP0/CPU0:router(config-rpl)#
ルーティング ポリシー言語(RPL)には、elseif コマンドを使用した構文もあります。次の例に示すように、一連のテストをまとめて記述できます。
RP/0/RP0/CPU0:router(config-rpl)# if med eq 150 then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 10 RP/0/RP0/CPU0:router(config-rpl-if)# elseif med eq 200 then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 60 RP/0/RP0/CPU0:router(config-rpl-elseif)# elseif med eq 250 then RP/0/RP0/CPU0:router(config-rpl-elseif)# set local-preference 110 RP/0/RP0/CPU0:router(config-rpl-elseif)# else RP/0/RP0/CPU0:router(config-rpl-else)# set local-preference 0 RP/0/RP0/CPU0:router(config-rpl-else)# endif RP/0/RP0/CPU0:router(config-rpl)#
次の例に示すように、if ステートメント内のステートメント自体が if ステートメントになることもあります。
RP/0/RP0/CPU0:router(config-rpl)# if community matches-any (12:34, 56:78) then RP/0/RP0/CPU0:router(config-rpl-if)# if med eq 150 then RP/0/RP0/CPU0:router(config-rpl-if)# drop RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
示されているポリシー設定では、コミュニティ値 12:34 または 56:78 が関連付けられたすべてのルートで、ローカル優先順位属性の値が 100 に設定されます。ただし、これらのルートのいずれかで Multi Exit Descriminator(MED)値が 150 になっている場合は、コミュニティ値 12:34 または 56:78 と MED 150 の両方が指定された各ルートはドロップされます。
他のルートから集約されたルートを一致させるには、ルーティング ポリシー コンフィギュレーション モードで if route-aggregated コマンドを使用します。
if route-aggregated
route-aggregated |
ルートが複数のルートの集約かどうかをチェックします。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次に、他のルートから集約されたルートを一致させる方法を示します。
RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# route-policy route-policy atomic_agg RP/0/RP0/CPU0:router(config-rpl)# if route-aggregated then RP/0/RP0/CPU0:router(config-rpl-if)# set extcommunity rt (1:1) RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
is-best-path
is-best-path | best-path として選択されたパスをチェックしてタグ付けします。 |
デフォルトの動作や値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID | 動作 |
---|---|
route-policy |
読み取り、書き込み |
RP/0/RSP0RP00/CPU0:router(config)# route-policy WORD Route Policy name RP/0/RSP0RP00/CPU0:router(config)# route-policy sample RP/0/RSP0RP00/CPU0:router(config-rpl)# if destination i in is-backup-path is-best-external is-best-path if destination is-best-path then set community community endif end-policy ! RP/0/RSP0RP00/CPU0:router# sh version Wed Jul 8 16:08:34.286 IST Cisco IOS XR Software, Version 5.3.2.14I[EnXR] Copyright (c) 2015 by Cisco Systems, Inc. Built on Fri Jun 26 17:35:45 IST 2015 By router in RP/0/RSP0RP00/CPU0
バックアップ パスに等しいすべてのパスをタグ付けするには、ルート ポリシー コンフィギュレーション モードで is-backup-path コマンドを使用します。
is-backup-path
is-backup-path | バックアップ パスとして選択されたパスをチェックしてタグ付けします。 |
デフォルトの動作や値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID | 動作 |
---|---|
route-policy |
読み取り、書き込み |
RP/0/RSP0RP00/CPU0:router(config)# route-policy WORD Route Policy name RP/0/RSP0RP00/CPU0:router(config)# route-policy sample RP/0/RSP0RP00/CPU0:router(config-rpl)# if destination i in is-backup-path is-best-external is-best-path RP/0/RSP0RP00/CPU0:router(config)# route-policy WORD Route Policy name RP/0/RSP0RP00/CPU0:router(config)# route-policy sample RP/0/RSP0RP00/CPU0:router(config-rpl)# if destination i in is-backup-path is-best-external is-best-path
is-multi-path
is-multi-path | as best-path に等しいすべてのパスをチェックしてタグ付けします。 |
デフォルトの動作や値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID | 動作 |
---|---|
route-policy |
読み取り、書き込み |
RP/0/RSP0RP00/CPU0:router(config)#route-policy WORD Route Policy name RP/0/RSP0RP00/CPU0:router(config)#route-policy sample RP/0/RSP0RP00/CPU0:router(config-rpl)#if destination i in is-backup-path is-best-external is-best-path is-multi-path RP/0/RSP0RP00/CPU0:router(config-rpl)#if destination is- is-backup-path is-best-external is-best-path is-multi-path RP/0/RSP0RP00/CPU0:router(config-rpl)#if destination is-best-path then RP/0/RSP0RP00/CPU0:router(config-rpl-if)#set l label label-index label-mode level community lsm-root RP/0/RSP0RP00/CPU0:router(config-rpl-if)#set community community RP/0/RSP0RP00/CPU0:router(config-rpl-if)#endif RP/0/RSP0RP00/CPU0:router(config-rpl)#end-policy RP/0/RSP0RP00/CPU0:router(config)#commit Wed Jul 8 16:08:23.436 IST
BGP ルートの local-preference 属性を整数値またはパラメータ化された値と比較するには、ルート ポリシー コンフィギュレーション モードで local-preference コマンドを使用します。
local-preference { eq | is | ge | le } { number | parameter }
eq | is | ge | le |
等しい、完全一致、以上、以下。 |
number |
32 ビットの符号なし整数に割り当てられた値。範囲は 0 ~ 4294967295 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
local-preference 属性を整数値またはパラメータ化された値と比較するには、if ステートメント内で local- preference コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
MED は 32 ビットの符号なし整数です。eq 演算は、local-preference をスタティック値またはパラメータ化ポリシーに渡されたパラメータ化された値と比較して、その値と等しいかどうかを判断します。「より大きいか等しい」の比較を ge 演算子で行うことや、「より小さいか等しい」の比較を le 演算子で行うこともできます。
次の例では、local-preference が 10 の場合にローカル プリファレンスが 100 に設定されます。
RP/0/RSP0RP0/CPU0:router(config-rpl)# if local-preference eq 10 then RP/0/RSP0RP0/CPU0:router(config-rpl-if)# set weight 100 RP/0/RSP0RP0/CPU0:router(config-rpl-if)# endif RP/0/RSP0RP0/CPU0:router(config-rpl)#
Multi Exit Discriminator(MED)を整数値またはパラメータ化された値と比較する、または BGP ルートの MED 属性を整数値と比較するには、ルート ポリシー コンフィギュレーション モードで med コマンドを使用します。
med { eq | is | ge | le } { number | parameter }
eq | is | ge | le |
等しい、完全一致、以上、以下。 |
number |
32 ビットの符号なし整数に割り当てられた値。範囲は 0 ~ 4294967295 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
MED を整数値またはパラメータ化された値と比較するには、if ステートメント内で med コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
MED は 32 ビットの符号なし整数です。eq 演算は、MED をスタティック値またはパラメータ化ポリシーに渡されたパラメータ化された値と比較して、その値と等しいかどうかを判断します。「より大きいか等しい」の比較を ge 演算子で行うことや、「より小さいか等しい」の比較を le 演算子で行うこともできます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、med コマンドの条件に一致する場合にローカル プリファレンスが 100 に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# if med eq 10 then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 100 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
ルートに関連付けられたネクストホップを、インライン プレフィックス セットまたは名前付きプレフィックス セットのいずれかに含まれているデータと比較するには、ルート ポリシー コンフィギュレーション モードで next-hop in コマンドを使用します。
next-hop in { prefix-set-name | inline-prefix-set | parameter }
prefix-set-name |
プレフィックス セットの名前。 |
inline-prefix-set |
インライン プレフィックス セット。インライン プレフィックス セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ルートに関連付けられたネクストホップを、インライン プレフィックス セットまたは名前付きプレフィックス セットの中のデータと比較するには、if ステートメント内で next-hop in コマンドを条件式として使用します。プレフィックス セット内の任意の値がルートのネクストホップと一致する場合は、結果は true です。要素が含まれていない名前付きプレフィックス セットを参照する比較は、false を戻します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
ネクストホップは、ドット付き 10 進数で入力される IPv4 アドレス、またはコロンで区切られた 16 進数として入力される IPv6 アドレスです。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、next-hop in コマンドの条件に一致する場合にローカル プリファレンスが 100 に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# if next-hop in some-prefix-set then RP/0/RP0/CPU0:router(config-rpl-if)# if next-hop in (10.0.0.5, fe80::230/64) then RP/0/RP0/CPU0:router(config-rpl-if)# set local-preference 0 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
発信ルート フィルタ(ORF)を設定するには、ルート ポリシー コンフィギュレーション モードで orf prefix in コマンドを使用します。
orf prefix in { prefix-set-name | inline-prefix-set }
prefix-set-name |
プレフィックス セットの名前。 |
inline-prefix-set |
インライン プレフィックス セット。インライン プレフィックス セットは、括弧で囲む必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
プレフィックス セットまたはインライン プレフィックス セット内のプレフィックスを一致させるには、orf prefix in コマンドを使用します。
このコマンドは、名前付きプレフィックス セットまたはインライン プレフィックス セットのいずれかの値を引数として使用します。宛先 NLRI がプレフィックス セット内のいずれかのエントリと一致する場合は、true を戻します。定義されていても、要素が含まれていないプレフィックス セットを使用して宛先を一致させようとすると、false が戻されます。
このコマンドは、BGP 内の orf route-policy 付加ポイントのコンテキストで使用されます。ルートの宛先は、ボーダー ゲートウェイ プロトコル(BGP)ではネットワーク層到着可能性情報(NLRI)としても知られています。これは、プレフィックス値とマスク長からなります。ルーティング ポリシー言語(RPL)では、プレフィックスに対する操作が用意されており、in 演算子を使用して、プレフィックス一致指定のリストと一致しているかどうかを調べることができます。
次の例では、プレフィックス セット orfpreset1 と、orfpolicy という名前のルート ポリシーが定義されます。次に、orfpolicy がネイバー orf の付加ポイントに適用されます。
ルートのプレフィックスが、orfpreset1 で指定されたプレフィックス(211.105.1.0/24、211.105.5.0/24、211.105.11.0/24)のいずれかと一致する場合は、プレフィックスはドロップされます。プレフィックスが in(211.105.3.0/24、211.105.7.0/24、211.105.13.0/24)と一致する場合は、プレフィックスは受け入れられます。ネイバーが同じフィルタ更新を行うことができるように、BGP は、このインバウンド フィルタリングのほかに、許可または拒否を示すこれらのプレフィックス エントリをアップストリーム ネイバーに送信します。
RP/0/RP0/CPU0:router(config)# prefix-set orfpreset1 RP/0/RP0/CPU0:router(config-pfx)# 211.105.1.0/24, RP/0/RP0/CPU0:router(config-pfx)# 211.105.5.0/24, RP/0/RP0/CPU0:router(config-pfx)# 211.105.11.0/24 RP/0/RP0/CPU0:router(config-pfx)# end-set ! ! RP/0/RP0/CPU0:router(config)# route-policy orfpolicy RP/0/RP0/CPU0:router(config-rpl)# if orf prefix in orfpreset1 then RP/0/RP0/CPU0:router(config-rpl-if)# drop RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)# if orf prefix in (211.105.3.0/24, 211.105.7.0/24, 211.105.13.0/24) then RP/0/RP0/CPU0:router(config-rpl-if)# pass RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy ! ! RP/0/RP0/CPU0:router(config)# router bgp 2 RP/0/RP0/CPU0:router(config-bgp)# neighbor 1.1.1.1 RP/0/RP0/CPU0:router(config-bgp-nbr)# remote-as 3 RP/0/RP0/CPU0:router(config-bgp-nbr)# address-family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-nbr-af)# orf route-policy orfpolicy
特定の送信元タイプを一致させるには、ルート ポリシー コンフィギュレーション モードで origin is コマンドを使用します。
origin is { igp | egp | incomplete | parameter }
igp |
Interior Gateway Protocol を指定します。 |
egp |
エクステリア ゲートウェイ プロトコルを指定します。 |
incomplete |
ボーダー ゲートウェイ プロトコル(BGP)が BGP または Interior Gateway Protocol(IGP)以外の手段によって最初にルートを学習した(たとえば、設定によってルートを学習した)ことを指定します。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
送信元属性の値をテストするには、if ステートメント内で origin is コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
BGP ルートの送信元は列挙です。これは、igp、egp、または incomplete です。
このコマンドはパラメータ化できます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、送信元は、igp または egp のいずれであるかを調べるために、if ステートメント内でテストされます。
RP/0/RP0/CPU0:router(config-rpl)# if origin is igp or origin is egp then
次の例では、特定の送信元タイプと一致させるために、パラメータが使用されます。
RP/0/RP0/CPU0:router(config)# route-policy bar($origin) RP/0/RP0/CPU0:router(config-rpl)# if origin is $origin then RP/0/RP0/CPU0:router(config-rpl-if)# set med 20 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
特定の OSPF エリアを一致させるには、ルート ポリシー コンフィギュレーション モードで ospf-area コマンドを使用します。
ospf-area [all-paths] { in | is }
is | 明示的な area-id を指定します。 |
in | area-id または area-set のリストを指定します。複数のエリアをコンマ(,)で区切って指定できます。 |
all-paths | 複数のパスを持つルートに使用されます。ルートのすべてのパスのエリアがルート ポリシーに設定されている場合、照合が行われます。 |
なし
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ospf-area を使用して定義されたルート ポリシーは、ルーティング ドメインの特定のエリアから OSPF にルートを再配布する場合に役立ちます。ルート ポリシーを作成した後、redistribute ospf route-policy コマンドを使用してルート再配布を行います。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、明示的なエリアが一致基準として指定されています。
RP/0/RP0/CPU0:router(config-rpl)# if ospf-area is 10 then pass else drop endif
次の例では、エリアの集合が一致基準として指定されています。
RP/0/RP0/CPU0:router(config-rpl)# if ospf-area in (5,6,255.255.10.2) then pass else drop endif
次の例では、エリア セットが一致基準として指定されています。前提条件として、エリア セットを定義する必要があります。
RP/0/RP0/CPU0:router(config)# ospf-area-set S1 RP/0/RP0/CPU0:router(config-ospf-area)# 1 , 2.2.2.2 end-set RP/0/RP0/CPU0:router(config)# route-policy P1 RP/0/RP0/CPU0:router(config-rpl)# if ospf-area in S1 then pass else drop endif
以降の処理のためにルートを渡すには、ルート ポリシー コンフィギュレーション モードで pass コマンドを使用します。
pass
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このルートが変更されていない場合でもユーザがこのポリシー ブロックでの実行を続行を希望していることを示すには、pass コマンドを使用します。
![]() (注) |
pass コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
ポリシー ブロックの実行が終了すると、このポリシー ブロックで変更されたか、このポリシー ブロックで pass ディスポジションを受信したルートはすべてポリシーを渡し、そのポリシーの実行は終了します。このポリシー ブロックが別のポリシー ブロック内から適用される場合に、ルートが渡されるか変更されると、このポリシー ブロックを適用したポリシー ブロックでの実行は続行されます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、ルートを変更せずに無条件に受け入れる方法を示します。
RP/0/RP0/CPU0:router(config-rpl)# pass
次の例では、宛先が prefix-set permitted 内にある場合は、ルートを変更せずに無条件で受け入れます。
RP/0/RP0/CPU0:router(config-rpl)# if destination in permitted then RP/0/RP0/CPU0:router(config-rpl-if)# pass RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
パス タイプを一致させるには、ルート ポリシー コンフィギュレーション モードで path-type is コマンドを使用します。
path-type is { ibgp | ebgp | parameter }
ibgp |
内部 BGP パスを指定します。 |
ebgp |
外部 BGP パスを指定します。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
パス タイプを一致させるには、if ステートメント内で path-type is コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、パスが外部 BGP パスの場合は、ルートが受け入れられます。
RP/0/RP0/CPU0:router(config)# route-policy policy_A RP/0/RP0/CPU0:router(config-rpl)# if path-type is ebgp then RP/0/RP0/CPU0:router(config-rpl-if)# pass RP/0/RP0/CPU0:router(config-rpl-if)# else RP/0/RP0/CPU0:router(config-rpl-else)# drop RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
グローバル パラメータを定義して、グローバル パラメータ コンフィギュレーション モードを開始するには、 XR コンフィギュレーション モード で policy-global コマンドを使用します。グローバル パラメータを削除するには、このコマンドの no 形式を使用します。
policy-global
no policy-global
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
グローバル パラメータを定義して、グローバル パラメータ コンフィギュレーション モードを開始するには、policy-global コマンドを使用します。
RPL では、ポリシー定義内で使用できるシステム全体のグローバル パラメータの定義がサポートされます。グローバル パラメータ値は、パラメータ化ポリシーのローカル パラメータと類似したポリシー定義内で直接使用できます。パラメータ化ポリシーのパラメータ名とグローバル パラメータ名との間に「衝突」がある場合は、ポリシー定義に対してローカルなパラメータが優先され、実質的にグローバル パラメータが「隠され」ます。さらに、特定のグローバル パラメータが任意のポリシーによって参照されている場合は、削除されないように、検証メカニズムが実施されます。 グローバル パラメータとパラメータ化の詳細については、『Routing Configuration Guide for Cisco NCS 5000 Series Routers』の「Implementing Routing Policy」のモジュールを参照してください。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、グローバル パラメータの設定方法を示します。
RP/0/RP0/CPU0:router(config)# policy-global RP/0/RP0/CPU0:router(config-rp-gl)# glbpathtype ‘ebgp’ RP/0/RP0/CPU0:router(config-rp-gl)# glbtag ‘100’ RP/0/RP0/CPU0:router(config-rp-gl)# end-global
次の例では、上記で定義したグローバル パラメータ gbpathtype と glbtag が globalparam 引数で利用されています。これは、非パラメータ化ポリシーに対して定義されています。
RP/0/RP0/CPU0:router(config)# route-policy globalparam RP/0/RP0/CPU0:router(config-rpl)# if path-type is $glbpathtype then RP/0/RP0/CPU0:router(config-rpl)# set tag $glbtag RP/0/RP0/CPU0:router(config-rpl)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
プレフィックス セット コンフィギュレーション モードを開始し、連続したビット セットと非連続のビット セットに対しプレフィックス セットを定義するには、 XR コンフィギュレーション モード で prefix-set コマンドを使用します。名前付きプレフィックス セットを削除するには、このコマンドの no 形式を使用します。
prefix-set name
no prefix-set name
name |
プレフィックス セットの名前。 |
なし
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
プレフィックス セット コンフィギュレーション モードを開始して、プレフィックス セットを定義するには、prefix-set コマンドを使用します。
プレフィックス セットは、プレフィックス一致指定のコンマ区切りのリストです。これは、それぞれ 4 つの部分(アドレス、マスク長、最小マッチング長、最大マッチング長)がある IPv4 または IPv6 プレフィックス一致指定を保持しています。アドレスは必須ですが、他の 3 つの部分は任意です。アドレスは、標準の 4 分割ドット付き 10 進数の IPv4 アドレスか、コロンで区切られた 16 進数の IPv6 アドレスです。マスク長(存在する場合)は、IPv4 プレフィックスの場合は 0 ~ 32、IPv6 プレフィックスの場合は 0 ~ 128 の範囲内の負以外の 10 進整数で、その前のアドレスはスラッシュで区切ります。アドレスと任意のマスク長の後には、任意の最小マッチング長が続き、これはキーワード ge(以上(greater than or equal to)のニーモニック)で表され、その後に IPv4 の場合は 0 ~ 32、IPv6 の場合は 0 ~ 128 の範囲内の負以外の 10 進整数が続きます。最後には、任意の最大マッチング長が続き、これはキーワード le(以下(less than or equal to)のニーモニック)で表され、その後に IPv4 の場合は 0 ~ 32、IPv6 の場合は 0 ~ 128 の範囲内の負以外の別の 10 進整数が続きます。一致させるプレフィックスの正確な長さを指定するための構文ショートカットは、eq キーワード(等しい(equal to)のニーモニック)です。
プレフィックス一致指定にマスク長がない場合は、デフォルトのマスク長は、IPv4 では 32、IPv6 では 128 です。デフォルトの最小マッチング長はマスク長です。最小マッチング長を指定する場合は、デフォルトの最大マッチング長は、IPv4 プレフィックスでは 32 未満、IPv6 プレフィックスでは 128 未満にする必要があります。指定しない場合は、最小長と最大長のいずれも指定しないと、デフォルトの最大長はマスク長になります。
プレフィックス セットは、プレフィックス一致指定のリストです。このセットには、IPv4 または IPv6 のプレフィックス一致指定が含まれており、それぞれ 2 つの部分(アドレスとマスク)があります。アドレスおよびマスクは、標準のドット付き IPv4 またはコロンで区切られた 16 進数の IPv6 アドレスです。プレフィックス セットを使用すると、任意のルートで一致する必要がある連続したビット セットと非連続のビット セットを指定できます。一致させられるビット セットはマスクの形式で提供され、バイナリ 0 は必須一致を、バイナリ 1 は「一致しない」条件を意味します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、legal-ipv4-prefix-examples という名前のプレフィックス セットを示します。
RP/0/RP0/CPU0:router(config)# prefix-set legal-ipv4-prefix-examples RP/0/RP0/CPU0:router(config-pfx)# 10.0.1.1, RP/0/RP0/CPU0:router(config-pfx)# 10.0.2.0/24, RP/0/RP0/CPU0:router(config-pfx)# 10.0.3.0/24 ge 28, RP/0/RP0/CPU0:router(config-pfx)# 10.0.4.0/24 le 28, RP/0/RP0/CPU0:router(config-pfx)# 10.0.5.0/24 ge 26 le 30, RP/0/RP0/CPU0:router(config-pfx)# 10.0.6.0/24 eq 28 RP/0/RP0/CPU0:router(config-pfx)# end-set
プレフィックス セットの最初の要素は、唯一の有効値 10.0.1.1/32 またはホスト アドレス 10.0.1.1 と一致します。2 番めの要素は、唯一の有効値 10.0.2.0/24 と一致します。3 番めの要素は、10.0.3.0/28 ~ 10.0.3.255/32 の範囲のプレフィックス値と一致します。4 番めの要素は、10.0.4.0/24 ~ 10.0.4.240/28 の範囲の値と一致します。5 番めの要素は、10.0.5.0/26 ~ 10.0.5.252/30 の範囲内のプレフィックスと一致します。6 番めの要素は、10.0.6.0/28 ~ 10.0.6.240/28 の範囲内にある長さ 28 の任意のプレフィックスと一致します。
次のプレフィックス セットはすべて、無効なプレフィックス一致指定からなります。
RP/0/RP0/CPU0:router(config)# prefix-set INVALID-PREFIX-EXAMPLES RP/0/RP0/CPU0:router(config-pfx)# 10.1.1.1 ge 16, RP/0/RP0/CPU0:router(config-pfx)# 10.1.2.1 le 16, RP/0/RP0/CPU0:router(config-pfx)# 10.1.3.0/24 le 23, RP/0/RP0/CPU0:router(config-pfx)# 10.1.4.0/24 ge 33, RP/0/RP0/CPU0:router(config-pfx)# 10.1.5.0/25 ge 29 le 28 RP/0/RP0/CPU0:router(config-pfx)# end-set
最小長と最大長のいずれも、マスク長がなく無効です。最大長は、少なくともマスク長でなければなりません。最小長は、IPv4 プレフィックスの最大長である 32 未満でなければなりません。最大長は、最小長以上でなければなりません。
次の例では、legal-ipv6-prefix-examples という名前の有効な IPv6 プレフィックス セットを示します。
RP/0/RP0/CPU0:router(config)# prefix-set legal-ipv6-prefix-examples RP/0/RP0/CPU0:router(config-pfx)# 2001:0:0:1::/64, RP/0/RP0/CPU0:router(config-pfx)# 2001:0:0:2::/64, RP/0/RP0/CPU0:router(config-pfx)# 2001:0:0:3::/64, RP/0/RP0/CPU0:router(config-pfx)# 2001:0:0:4::/64 RP/0/RP0/CPU0:router(config-pfx)# end-set
次の例では、legal-ipv4-prefix という名前のプレフィックス セットを示します。
RP/0/RP0/CPU0:router(config)# prefix-set legal-ipv4-prefix RP/0/RP0/CPU0:router(config-pfx)# 10.1.1.1 0.255.0.255 RP/0/RP0/CPU0:router(config-pfx)# 10.2.2.2 0.0.0.0 RP/0/RP0/CPU0:router(config-pfx)# 10.3.3.3 255.255.255.254 RP/0/RP0/CPU0:router(config-pfx)# 10.4.4.4 255.255.255.255
上記の例では、コマンドによって acl-prefix-set という名前のプレフィックス セットが定義されます。最初の要素は、最初のオクテットで 10、3 番目のオクテットで 1 を持つすべてのルートに一致するように指定されています。2 番目の要素は、10.2.2.2 としてプレフィックスを持つすべてのルートに一致します(つまり、すべての条件に一致)。3 番目の要素は、最後のオクテットに奇数を持つすべてのルートに一致し、4 番目の要素は、プレフィックスがあるすべてのルートに一致します。
AS パスの先頭に自律システム番号を追加するには、ルート ポリシー コンフィギュレーション モードで prepend as-path コマンドを使用します。
prepend as-path { as-number | parameter | most-recent } [ number | parameter ]
as-number |
パスの先頭に追加する自律システム番号。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
most-recent |
最新の自律システム番号を先頭に追加する必要があることを指定します。 |
number |
(任意)自律システム番号を先頭に追加する必要がある回数。範囲は 1 ~ 63 です。 |
デフォルトの number は 1 です。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
AS パスの先頭に自律システム番号を追加するには、prepend as-path コマンドを使用します。
![]() (注) |
prepend as-path コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
このコマンドは、1 つまたは 2 つの引数を使用できます。最初の引数(number または parameter のいずれか)は、パスの先頭に追加する自律システム番号です。任意の 2 番目の引数(number または parameter のいずれか)は、自律システム番号を先頭に追加する必要がある回数です。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、自律システム番号 666.1 を AS パスの先頭に 3 回追加する方法を示します。
RP/0/RP0/CPU0:router(config-rpl)# prepend as-path 666.1 3
次の例では、自律システム番号 666.0 を AS パスの先頭に 1 回追加する方法を示します。
RP/0/RP0/CPU0:router(config-rpl)# prepend as-path 666.0 1
ルートをインストールするプロトコルをチェックするには、ルート ポリシー コンフィギュレーション モードで protocol コマンドを使用します。
protocol { in | (protocol-set) | is | protocol-name }
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ルートをインストールするプロトコルを指定するには、if ステートメント内で protocol コマンドを条件式として使用します。
protocol-set にリストされているプロトコルが、フィルタリングするルートのオリジネータであるかどうかを判別するには、in キーワードを使用します。
protocol-name が完全一致かどうかを判別するには、is キーワードを使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、if ステートメント内で protocol コマンドを条件式として使用する方法を示します。
RP/0/RP0/CPU0:router(config)# route-policy rip1 RP/0/RP0/CPU0:router(config-rpl)# if protocol in (connected, static) then RP/0/RP0/CPU0:router(config-rpl-if)# add rip-metric 2 RP/0/RP0/CPU0:router(config-rpl-if)# elseif protocol is bgp 1 then RP/0/RP0/CPU0:router(config-rpl-elseif)# add rip-metric 3 RP/0/RP0/CPU0:router(config-rpl-elseif)# elseif protocol is ospf 2 then RP/0/RP0/CPU0:router(config-rpl-elseif)# add rip-metric 4 RP/0/RP0/CPU0:router(config-rpl-elseif)# else RP/0/RP0/CPU0:router(config-rpl-else)# add rip-metric 5 RP/0/RP0/CPU0:router(config-rpl-else)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy RP/0/RP0/CPU0:router(config)# router rip RP/0/RP0/CPU0:router(config-rip)# interface tenGigE 0/1/0/1 RP/0/RP0/CPU0:router(config-rip-if)# route-policy rip1 out
ルートに関連付けられたルート識別子(RD)を、名前付きまたはインラインの RD セットに含まれている RD と比較するには、ルート ポリシー コンフィギュレーション モードで rd in コマンドを使用します。
rd in { rd-set-name | inline-rd-set | parameter }
rd-set-name |
RD セットの名前。 |
inline-rd-set |
インライン RD セット。インライン RD セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
名前付きプレフィックス セットまたはインライン プレフィックス セットの宛先エントリを一致させるには、if ステートメント内で rd in コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
このコマンドは、名前付き RD セットまたはインライン RD セットのいずれかの値を引数として使用します。宛先エントリが、RD セットまたはインライン RD セット内の任意のエントリと一致する場合は、条件は true を戻します。定義されていても、要素が含まれていない RD セットを使用して RD と一致させようとすると、false が戻されます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、インライン RD セット値を引数として指定した rd in コマンドを示します。
RP/0/RP0/CPU0:router(config)# route-policy RP/0/RP0/CPU0:router(config-rpl)# if rd in (128.1.0.0/16:100) then RP/0/RP0/CPU0:router(config-rpl-if)# pass RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
ルート識別子(RD)セットを定義して、RD コンフィギュレーション モードを開始するには、 XR コンフィギュレーション モード で rd-set コマンドを使用します。
rd-set name
no rd-set name
name |
RD コミュニティ セットの名前。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
RD 要素のセットを作成し、RD コンフィギュレーション モードを開始するには、rd-set コマンドを使用します。RD セットは、固有のボーダー ゲートウェイ プロトコル(BGP)VPN IPv4 アドレスをグローバルに作成するために、IPv4 アドレスが前に付いた 64 ビット値です。
![]() (注) |
m では、マスク長がサポートされます。 |
RD 値は、次のコマンドを使用して定義できます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、called my_rd_set という RD セットの作成方法を示します。
RP/0/RP0/CPU0:router(config)# rd-set my_rd_set RP/0/RP0/CPU0:router(config-rd)# 172.16.0.0/16:*, RP/0/RP0/CPU0:router(config-rd)# 172.17.0.0/16:100, RP/0/RP0/CPU0:router(config-rd)# 192:*, RP/0/RP0/CPU0:router(config-rd)# 192:100 RP/0/RP0/CPU0:router(config-rd)# end-set
AS パス内の AS 番号またはプライベート AS 番号のシーケンスを、設定済みのローカル AS 番号で置き換えるには、ルート ポリシー コンフィギュレーション モードで replace as-path コマンドを使用します。
replace as-path { [ as-number-list parameter ] | private-as }
as-number-list |
(任意)置き換える AS 番号のシーケンス。シーケンスは、単一引用符(‘ ’)で囲む必要があります。2 バイトまたは 4 バイトの AS 番号を使用できます。 |
parameter |
(任意)パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
private-as |
BGP のプライベート AS の範囲内で一致させます。範囲は 64512 ~ 65534 です。 |
なし。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
AS パス内の AS 番号またはプライベート AS 番号のシーケンスをローカル AS 番号で置き換えるには、replace as-path コマンドを使用します。たとえば、AS パスが「67 65534 100 65533 5 78 89 90」で、ローカル AS 番号が 900 の場合に、次のように入力します。
replace as-path ‘5 78’
AS パス内の「5 78」が 900(ローカル AS から)で置き換えられ、新しいパスは「67 65534 100 65533 900 89 90」となります。
次のステートメントについて考えてみます。
replace as-path private-as
65534 と 65533 はプライベート AS の範囲内にあるため、900 で置き換えられます。パスは「67 900 100 900 5 78 89 90」です。パスの長さは同じままです。
replace as-path コマンドは、if ステートメント内でアクション ステートメントとして使用できます。 if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。
![]() 注意 |
replace as-path コマンドは、ルーティング ループを引き起こす可能性がある AS パスの内容を変更します。 |
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、replace as-path コマンドを使用して、AS パス内の AS 番号を置き換える方法を示します。
RP/0/RP0/CPU0:router(config)# route-policy drop-as-1234 RP/0/RP0/CPU0:router(config-rpl)# replace as-path ‘90 78 45 $asnum’ RP/0/RP0/CPU0:router(config-rpl)# replace as-path private-as RP/0/RP0/CPU0:router(config-rpl)# replace as-path ‘9.9 7.89 14.15 $asnum’ RP/0/RP0/CPU0:router(config-rpl)# replace as-path ‘9 89 14.15 $asnum’
BGP で使用される as-path 構造から BGP プライベート AS 番号を削除するには、ルート ポリシー コンフィギュレーション モードで remove as-path private-as コマンドを使用します。
remove as-path private-as [ entire-aspath]
entire-aspath |
(任意)パス内のすべての自律システムがプライベートである場合にのみ、自律システム パスからプライベート自律システム番号全体を削除します。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次に、as-path 構造から BGP プライベート AS 番号を削除する方法を示します。
RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# route-policy rm_private_as RP/0/RP0/CPU0:router(config-rpl)# remove as-path private-as entire-aspath RP/0/RP0/CPU0:router(config-rpl)# end-policy
プレフィックス セット内のリストで指定されているルートがルーティング情報ベース(RIB)に存在するかどうかをチェックするには、ルート ポリシー コンフィギュレーション モードで rib-has-route コマンドを使用します。
rib-has-route in { prefix-set-name | inline-prefix-set | parameter }
prefix-set-name |
プレフィックス セットの名前。 |
inline-prefix-set |
インライン プレフィックス セット。インライン プレフィックス セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ルートは、アクティブな場合はアドバタイズされます。ルートは、ルーティング情報ベース(RIB)にすでにインストールされている場合はアクティブであると見なされます。
rib-has-route コマンドで使用されるプレフィックス セットには、2 つの一致指定が含まれています。最初の指定では、ルートの完全一致が要求される(たとえば、10.10.0.0/16 は完全に一致するルートです)で、2 番目の指定では、1 つのルートの一致またはより具体的な任意のルートの一致が許可されます(たとえば、10.10.0.0/16 le 32 は 10.10.0.0/16 ルートと任意の長さのプレフィックスと一致します)。
特定のプレフィックスを持つアクティブ ルートが RIB に存在するかどうかをチェックするには、if ステートメント内で rib-has-route コマンドを条件式として使用します。ステートメントによって、基準と一致するアクティブ ルートが示される場合は、追加のアクションが実行されます。
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、プレフィックス セット 10.10.0.0/16 に含まれているルートが RIB 内にあるかどうかを調べるために if ステートメントが使用されます。
RP/0/RP0/CPU0:router(config-rpl)# if rib-has-route in (10.10.0.0/16 ge 16) then RP/0/RP0/CPU0:router(config-rpl-if)# pass RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
再配布中にルートにマルチプロトコル ラベル スイッチング(MPLS)ラベルがあるかどうかをチェックするには、ルート ポリシー コンフィギュレーション モードで route-has-label コマンドを使用します。
route-has-label
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
再配布中にルートに MPLS ラベルが存在するかどうかをチェックするには、if ステートメント内で route-has-label コマンドを条件式として使用します。
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、if ステートメントで、MPLS ラベルがルートに存在するかどうかを調べます。
RP/0/RP0/CPU0:router(config-rpl)# if route-has-label then RP/0/RP0/CPU0:router(config-rpl-if)# pass RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#
ルート ポリシーを定義して、ルート ポリシー コンフィギュレーション モードを開始するには、 XR コンフィギュレーション モード で route-policy コマンドを使用します。ポリシー定義を削除するには、このコマンドの no 形式を使用します。
route-policy name [ (parameter1, parameter2, ..., parameterN) ]
no route-policy name (parameter1, parameter2, ..., parameterN)
name |
ルート ポリシーの名前。 |
parameter |
(任意)パラメータ名。パラメータ名の前には、「$」を付ける必要があります。parameters は「()」で囲まれている必要があります。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ルート ポリシーを定義して、ルート ポリシー コンフィギュレーション モードを開始するには、route-policy コマンドを使用します。
ポリシー定義によって、ポリシー ステートメントの名前付きバンドルが作成されます。ポリシー定義は、route-policy コマンドと、その後に続く名前、ポリシー ステートメントのグループ、および end-policy コマンドで構成されます。
ポリシー名は、ポリシーをプロトコルにバインドするためのハンドルとして機能します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、検出されたルートをすべてドロップする、drop-everything という名前の単純なポリシーを示します。
RP/0/RP0/CPU0:router(config)# route-policy drop-everything RP/0/RP0/CPU0:router(config-rpl)# drop RP/0/RP0/CPU0:router(config-rpl)# end-policy
ポリシーの共通ブロックを再利用できるように、ポリシーは他のポリシーを参照していることもあります。このような他のポリシーへの参照は、apply コマンドを使用して行います。次に、単純な例を示します。
RP/0/RP0/CPU0:router(config)# route-policy drop-as-1234 RP/0/RP0/CPU0:router(config-rpl)# if as-path passes-through '1234' then RP/0/RP0/CPU0:router(config-rpl-if)# apply check-communities RP/0/RP0/CPU0:router(config-rpl-if)# else RP/0/RP0/CPU0:router(config-rpl-else)# pass RP/0/RP0/CPU0:router(config-rpl-else)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
apply コマンドは、検討中のルートが受信前に自律システム 1234 を介して渡された場合に、ポリシー check-communities を実行する必要があることを示しています。当てはまる場合は、ルートのコミュニティがチェックされ、検出された内容に基づいて、ルートは未変更のまま受け入れられるか、変更されて受け入れられるか、またはドロップされます。
ボーダー ゲートウェイ プロトコル(BGP)、Open Shortest Path First(OSPF)、または Integrated Intermediate System-to-Intermediate System(IS-IS)への再配布の実行中に、ルート タイプを一致させるには、ルート ポリシー コンフィギュレーション モードで route-type is コマンドを使用します。
route-type is { local | interarea | internal | type-1 | type-2 | level-l | level-2 | parameter }
local |
local 値を使用して、ローカルで生成された BGP ルートを一致させます。 |
interarea |
interarea 値を使用して、IS-IS エリア間のルートを一致させます。 |
internal |
internal 値を使用して、OSPF 内およびエリア間のルートを一致させます。 |
type-1 |
タイプ 1 値を使用して、タイプ 1 OSPF ルートを一致させます。 |
type-2 |
タイプ 2 値を使用して、タイプ 2 OSPF ルートを一致させます。 |
level-1 |
レベル 1 値を使用して、レベル 1 IS-IS ルートを一致させます。 |
level-2 |
レベル 2 値を使用して、レベル 2 IS-IS ルートを一致させます。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
BGP、OSPF、または IS-IS への再配布の実行中にルート タイプを比較するには、if ステートメント内で route-type is コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
有効なキーワードは、local、internal、interarea、type-1、type-2、level-1、および level-2 です。これらのいずれかの値に埋め込むパラメータ化された値も使用されることがあります。local 値は、ローカルで生成された BGP ルートを一致させるために使用されます。internal 値は、OSPF 内およびエリア間のルートを一致させるために使用されます。type-1 値と type-2 値は、タイプ 1 およびタイプ 2 の OSPF 外部ルートを一致させるために使用されます。level-1、level-2、および interarea の各値は、それぞれのタイプの IS-IS ルートを一致させるために使用されます。
ルート タイプは一致演算子であるため、これは if ステートメントと then ステートメントの条件句で使用されます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、ローカル以外のルートがドロップされます。
RP/0/RP0/CPU0:router(config)# route-policy policy_A RP/0/RP0/CPU0:router(config-rpl)# if route-type is local then RP/0/RP0/CPU0:router(config-rpl-if)# pass RP/0/RP0/CPU0:router(config-rpl-if)# else RP/0/RP0/CPU0:router(config-rpl-else)# drop RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
デフォルトのルーティング ポリシー言語(RPL)エディタを設定するには、 XR コンフィギュレーション モード で rpl editor コマンドを使用します。
rpl editor { nano | emacs | vim }
nano |
デフォルトの RPL エディタを GNU nano に設定します。 |
emacs |
デフォルトの RPL エディタを EMACS に設定します。 |
vim |
デフォルトの RPL エディタを VIM に設定します。 |
Nano エディタがデフォルトです。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、デフォルトの RPL エディタが Nano に設定されます。
RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# rpl editor nano
次の例では、デフォルトの RPL エディタが EMACS に設定されます。
RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# rpl editor emacs
次の例では、デフォルトの RPL エディタが VIM に設定されます。
RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# rpl editor vim
ルーティング ポリシー サブシステムのシステム制限を設定するには、 XR コンフィギュレーション モード で rpl maximum コマンドを使用します。
rpl maximum { lines | policies } number
linesnumber |
設定の行数制限を設定します。範囲は 1 ~ 131072 です。 |
policiesnumber |
ポリシー数制限を設定します。範囲は 1 ~ 5000 です。 |
linesnumber:65536
policiesnumbers:3500
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ルーティング ポリシー サブシステムのシステム制限を設定するには、rpl maximum コマンドを使用します。したがって、rpl maximum 設定の行は、ルーティング ポリシー内にステートメントとして出現しません。このコマンドは、ルーティング ポリシー サブシステムにリソース制限を適用します。設定の最大行数とポリシーの数を設定するには、rpl maximum コマンドを使用します。
設定の行数には、開始と終了のステートメントも含まれます。たとえば、route-policy と end-policy などです。セットの設定の各行もカウントされます。
設定の行は、一度だけカウントされます。使用されるたびにカウントされるわけではありません。同様に、apply ステートメントでポリシーを複数回使用しても、1 つだけのポリシーとしてカウントされます。
ユーザは、行とポリシーのデフォルト値を変更できますが、最大値を超えることも、現在設定されている行またはポリシーの数より低い値に行とポリシーの値を設定することもできません。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、RPL システム制限の最大数が変更されます。
RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# rpl maximum lines 50 RP/0/RP0/CPU0:router(config)# rpl maximum policies 6
設定を保存しないで RPL コンフィギュレーション モードを中断するように、RPL コンフィギュレーション モードでデフォルトの終了動作を変更するには、 XR コンフィギュレーション モード で rpl set-exit-as-abort コマンドを使用します。
rpl set-exit-as-abort
このコマンドにはキーワードまたは引数はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
デフォルトの exit コマンドは、nd-policy、end-set、または end-if として機能します。exit コマンドがルート ポリシー コンフィギュレーション モードで実行される場合は、変更が適用され、設定が更新されます。これによって、既存のポリシーが破壊されます。rpl set-exit-as-abort コマンドを使用すると、ルート ポリシー コンフィギュレーション モードで exit コマンドのデフォルトの動作を上書きできます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、デフォルトの終了動作を変更する方法を示します。
RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# rpl set-exit-as-abort
アドミニストレーティブ ディスタンスの小さいルートが、アドミニストレーティブ ディスタンスの大きいルートよりも優先されるように設定するには、ルート ポリシー コンフィギュレーション モードで set administrative-distance コマンドを使用します。
set administrative-distance [ number | parameter ]
number |
8 ビットの符号なし整数に割り当てられた値。範囲は 1 ~ 255 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、アドミニストレーティブ値を持つルートが、アドミニストレーティブ ディスタンスの大きいルートよりも優先されるように設定する方法を示します。
RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# route-policy sample RP/0/RP0/CPU0:router(config-rpl)# set administrative-distance 34 RP/0/RP0/CPU0:router(config-rpl)# end-policy RP/0/RP0/CPU0:router(config-rpl)# exit RP/0/RP0/CPU0:router(config)# route bgp 100 RP/0/RP0/CPU0:router(config-bgp)# address family ipv4 unicast RP/0/RP0/CPU0:router(config-bgp-af)# table-policy sample RP/0/RP0/CPU0:router(config-bgp-af)# exit RP/0/RP0/CPU0:router(config-bgp)# exit RP/0/RP0/CPU0:router(config)# end
Accumulated interior Gateway Protocol(AiGP)属性情報を使用して発信プレフィックスを設定するには、ルート ポリシー コンフィギュレーション モードで set aigp-metric コマンドを使用します。
set aig-metric { igp-cost | value }
igp-cost | 内部ルーティング プロトコル コストを指定します。 |
value | AiGP メトリック値を指定します。32 ビットの 10 進数です。範囲は 0 ~ 4294967295 です。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID | 動作 |
---|---|
route-polcy | 読み取り、書き込み |
次の例では、AiGP メトリックをルート ポリシーの igp コストとして設定する方法を示します。
RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# route-policy aigp_policy RP/0/RP0/CPU0:router(config-rpl)# set aigp-metric igp-cost
ルートにボーダー ゲートウェイ プロトコル(BGP)コミュニティ属性を設定するには、ルート ポリシー コンフィギュレーション モードで set community コマンドを使用します。
set community { community-set-name | inline-community-set | parameter } [ additive ]
community-set-name |
コミュニティ セット名。 |
inline-community-set |
インライン コミュニティ セット。インライン コミュニティ セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
additive |
(任意)ルート内のコミュニティにコミュニティを追加します。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
BGP コミュニティ属性を設定するには、set community コマンドを使用します。
![]() (注) |
set community コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
コミュニティは、BGP ルートで伝達される 32 ビット値です。それぞれのルートは、番号なしリストにゼロ以上のコミュニティを持つことができます。
このコマンドは、ルート内のコミュニティを置き換えるときや、任意の additive キーワードを使用してコミュニティを追加するときに使用します。
インライン セットをサポートするその他のコミュニティ形式と同様に、コミュニティの 16 ビット部分のいずれかまたは両方をパラメータ化できます。また、well-known コミュニティの名前である internet(0:0)、no-advertise(65535:65281)、no-export(65535:65282)、および local-AS(65535:65283)も使用できます。インライン コミュニティ セットの中の 16 ビットの部分はそれぞれ、peeras として指定することもできます。これは、ルートの受信元であるネイバーの AS 番号を表します。ネイバー AS で 4 バイト ASN が採用されている場合は、IANA で割り当てられた 16 ビット値 23456(AS_TRANS)が代わりに peeras として使用されます。
additive キーワードを指定しない場合は、既存のコミュニティ(well-known コミュニティ以外)がすべて削除され、指定したコミュニティで置き換えられます。additive キーワードは、ルート内にすでに存在するコミュニティはすべてそのままで、さらにコミュニティのリストが追加されることを指定します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、set community コマンドを使用する不完全な設定を示します。
RP/0/RP0/CPU0:router(config-rpl)# set community (10:24) RP/0/RP0/CPU0:router(config-rpl)# set community (10:24, $as:24, $as:$tag) RP/0/RP0/CPU0:router(config-rpl)# set community (10:24, internet) additive RP/0/RP0/CPU0:router(config-rpl)# set community (10:24, $as:24) additive RP/0/RP0/CPU0:router(config-rpl)# set community (10:24, peeras:24) additive
マルチキャスト配信ツリー(MDT)タイプを設定するには、ルート ポリシー コンフィギュレーション モードで set core-tree コマンドを使用します。
set core-tree { gre-rosen | mldp-inband | mldp-partitioned-mp2mp | mldp-partitioned-p2mp | mldp-rosen | rsvp-te-partitioned-p2mp | parameter }
gre-rosen | IP GRE Rosen コア MDT タイプを指定します |
mldp-inband | MLDP InBand コア MDT タイプを指定します |
mldp-partitioned-mp2mp | MLDP Partitioned MP2MP コア MDT タイプを指定します |
mldp-partitioned-p2mp | MLDP Partitioned P2MP コア MDT タイプを指定します |
mldp-rosen | MLDP Rosen コア MDT タイプを指定します |
rsvp-te-partitioned-p2mp | RSVP TE コア コア MDT タイプを指定します |
parameter | パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
なし
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID | 動作 |
---|---|
route-policy |
読み取り、書き込み |
この例では、マルチキャスト配信ツリー タイプが IP GRE Rosen コアに設定されます。
RP/0/RP0/CPU0:router#configure RP/0/RP0/CPU0:router(config)#route-policy policy_mdt_type RP/0/RP0/CPU0:router(config-rpl)#set core-tree gre-rosen
ボーダー ゲートウェイ プロトコル(BGP)ルート ダンプニングを設定するには、ルート ポリシー コンフィギュレーション モードで set dampening コマンドを使用します。
set dampening { halflife { minutes | parameter } | max-suppress { minutes | parameter } | reuse { seconds | parameter } | suppress { penalty-units | parameter } | others default }
halflifeminutes |
ペナルティが減少されるまでの時間(分単位)を指定します。ルートにペナルティが割り当てられると、半減期期間後にペナルティは半減されます。ペナルティを小さくするプロセスは 5 秒ごとに発生します。範囲は 1 ~ 45 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
max-suppressminutes |
ルートを抑制できる最大時間(分単位)を指定します。範囲は 1 ~ 20000 です。half-life 値をデフォルトに設定できる場合、最長抑制時間のデフォルトは 60 分になります。 |
reuseseconds |
ルートをフラップするためのペナルティが、設定済みの値(秒単位)を下回るのに十分減少すると、ルートの抑制は解除されます。ルートの抑制中止プロセスは、10 秒経過ごとに発生します。範囲は 1 ~ 20000 です。 |
suppresspenalty-units |
ルートがフラップするたびに 1000 ペナルティを指定します。ルートのペナルティが設定済みの制限を超えると、ルートは抑制されます。範囲は 1 ~ 20000 です。 |
others default |
コマンドで 4 つのキーワード値をすべて指定しない場合は、コマンドは others default で終わる必要があります。この指定は、定義されていないキーワードはそのデフォルトに設定されることを示しています。 |
half-life:15 分
max-suppress:60 分(half-life の 4 倍)
reuse:750 秒
suppress:2000 ペナルティ単位
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
BGP プロトコルでは、指数のバックオフ アルゴリズムを使用したルート ダンプニングがサポートされます。このアルゴリズムは、サポートされる 4 つの BGP 値(half-life、max-suppress、reuse、および suppress)を設定することで制御されます。BGP ルート ダンプニングを設定するには、set dampening コマンドを使用します。
![]() (注) |
set dampening コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
4 つのキーワードのうち少なくとも 1 つに値を設定する必要があります。set dampening コマンドで、サポートされるキーワードのうち 3 つ以下の値を定義する場合は、設定が others default で終わる必要があります。これは、コマンドで定義されていないキーワード値をそのデフォルト値に設定することを示します。
キーワードは、コマンド内で任意の順序で現れることがあります。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、半減期は 20 分に設定され、最大抑制時間は
90 分。それぞれのコマンドは、others default で終わる必要があります。定義されているキーワードは 3 つ以下であるからです。
RP/0/RP0/CPU0:router(config-rpl)# set dampening halflife 20 others default RP/0/RP0/CPU0:router(config-rpl)# set dampening max-suppress 90 others default
次の例では、4 つのすべてのキーワードが定義されています。これは、コマンドで others default が使用されないことを意味します。
RP/0/RP0/CPU0:router(config-rpl)# set dampening halflife 15 max-suppress 60 reuse 750 suppress 2000
次のコマンドは、others default がないため無効です。
RP/0/RP0/CPU0:router(config-rpl)# set dampening reuse 700
次の例では、パラメータが使用されています。
RP/0/RP0/CPU0:router(config-rpl)# set dampening halflife $p1 suppress $p4 reuse $p3 max-suppress $p2
Enhanced Interior Gateway Routing Protocol(EIGRP)ルート メトリックを設定するには、ルート ポリシー コンフィギュレーション モードで set eigrp-metric コマンドを使用します。
set eigrp-metric bandwidth delay reliability loading mtu
bandwidth |
ルートの最小帯域幅(キロビット/秒)。範囲は 1 ~ 4294967295 です。 |
delay |
ルートの遅延(数十マイクロ秒)。遅延は 1 か、または 39.1 ナノ秒の倍数である正の数値。範囲は 1 ~ 4294967295 です。 |
reliability |
パケット送信が成功する可能性(0 ~ 255 の数字で表す)。値 255 は 100 % の信頼性を意味し、0 は信頼性がないことを意味します。 |
loading |
1 ~ 255(255 は 100% のロード)の数値で表された、ルートの有効な帯域幅。 |
mtu |
ルートの最大伝送単位(MTU)のサイズ(バイト)。指定できる値の範囲は 1 ~ 65535 です。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
既存の EIGRP メトリック値をさらにオフセットするには、add コマンドを使用できます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、ルート ポリシー policy_1 の EIGRP メトリックが調整されます。
RP/0/RP0/CPU0:router(config)# route-policy policy_1 RP/0/RP0/CPU0:router(config-rpl)# set eigrp-metric 1400 120 250 100 1500 RP/0/RP0/CPU0:router(config-rpl)# end-policy
ボーダー ゲートウェイ プロトコル(BGP)コスト拡張コミュニティ属性を設定するには、ルート ポリシー コンフィギュレーション モードで set extcommunity cost コマンドを使用します。
set extcommunity cost { cost-extcommunity-set-name | cost-inline-extcommunity-set | parameter } [ additive ]
cost-extcommunity-set-name |
コスト拡張コミュニティ セット名。 |
cost-inline-extcommunity-set |
インライン コスト拡張コミュニティ セット。インライン コスト拡張コミュニティ セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
additive |
(任意)ルート内の拡張コミュニティにコストの拡張コミュニティを追加します。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ルートの拡張コミュニティを置き換える、または任意の additive キーワードを使用してコミュニティを追加するには、set extcommunity cost コマンドを使用します。コスト コミュニティは、パケット転送のためにローカライズされたカスタムの決定が行われるように、BGP で最適パス選択プロセスをタイブレークするために使用される拡張コミュニティです。拡張コミュニティ形式は、最適パス アルゴリズムの異なるポイントでの決定に影響する標準の挿入ポイント(POI)を定義します。
![]() (注) |
set extcommunity cost コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
インライン セットをサポートするその他の拡張コミュニティ形式と同様に、コミュニティのいずれかまたは両方の部分をパラメータ化できます。通常のコミュニティと同じように、additive キーワードを使用して、これらの拡張コミュニティを置き換えるのではなく、すでに存在する拡張コミュニティに追加することを指定できます。additive キーワードを指定しないと、コストの既存の拡張コミュニティ(well-known コミュニティ以外)はすべて削除され、特定のコミュニティに置き換えられます。additive キーワードは、ルート内にすでに存在する、コストの拡張コミュニティはすべてそのままで、さらに拡張コミュニティ セットが追加されることを指定します。well-known コミュニティには、internet、local-AS、no-advertise、および no-export が含まれます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例は、set extcommunity cost コマンドを使用する不完全な設定を示しています。
RP/0/RP0/CPU0:router(config-rpl)# set extcommunity cost (IGP:10:20) RP/0/RP0/CPU0:router(config-rpl)# set extcommunity cost (Pre-Bestpath:33:44) RP/0/RP0/CPU0:router(config-rpl)# set extcommunity cost (IGP:11:21)
ボーダー ゲートウェイ プロトコル(BGP)ルート ターゲット(RT)拡張コミュニティ属性を設定するには、ルート ポリシー コンフィギュレーション モードで set extcommunity rt コマンドを使用します。
set extcommunity rt { rt-extcommunity-set-name | rt-inline-extcommunity-set | parameter } additive
rt-extcommunity-set-name |
ルート ターゲット拡張コミュニティ セット名。 |
rt-inline-extcommunity-set |
インライン ルート ターゲット拡張コミュニティ セット。インライン ルート ターゲット拡張コミュニティ セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
additive |
(任意)ルート内の拡張コミュニティに RT の拡張コミュニティを追加します。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ルートの拡張コミュニティを置き換える、または任意の additive キーワードを使用してコミュニティを追加するには、set extcommunity rt コマンドを使用します。
![]() (注) |
set extcommunity rt コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
インライン セットをサポートするその他の拡張コミュニティ形式と同様に、コミュニティのいずれかまたは両方の部分をパラメータ化できます。通常のコミュニティと同じように、additive キーワードを使用して、これらの拡張コミュニティを置き換えるのではなく、すでに存在する拡張コミュニティに追加することを指定できます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例は、set extcommunity rt コマンドを使用する不完全な設定を示しています。
RP/0/RP0/CPU0:router(config-rpl)# set extcommunity rt (10:24) RP/0/RP0/CPU0:router(config-rpl)# set extcommunity rt (10:24, $as:24, $as:$tag) RP/0/RP0/CPU0:router(config-rpl)# set extcommunity rt (10:24, internet) additive RP/0/RP0/CPU0:router(config-rpl)# set extcommunity rt (10:24, $as:24) additive
additive キーワードを指定しないと、コストの既存の拡張コミュニティ(well-known コミュニティ以外)はすべて削除され、特定のコミュニティに置き換えられます。additive キーワードは、ルート内にすでに存在する、コストの拡張コミュニティはすべてそのままで、さらに拡張コミュニティのリストが追加されることを指定します。
IP precedence を設定するには、ルート ポリシー コンフィギュレーション モードで set ip-precedence コマンドを使用します。
set ip-precedence { number | parameter }
number |
precedence の値。優先順位値は 0 ~ 7 の数値です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
パケットを分類するために IP precedence を設定するには、set ip-precedence コマンドを使用します。このコマンドは、BGP テーブル ポリシー付加ポイントでサポートされます。プレフィックスは、フォワーディング プレーンでの後続の処理のためにマーキングされます。BGP による QoS ポリシー伝達(QPPB)がインターフェイスでイネーブルになっている場合は、対応するトラフィック シェーピングとポリシングは、IP precedence または QoS グループ ID に基づくパケット分類を使用して実行されます。QPPB の詳細については、Modular QoS Configuration Guide for Cisco NCS 5000 Series Routersを参照してください。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、set ip-precedence コマンドの使用方法を示します。
RP/0/RP0/CPU0:router(config)# route-policy policy_1 RP/0/RP0/CPU0:router(config-rpl)# set ip-precedence 3 RP/0/RP0/CPU0:router(config-rpl)# end-policy
Intermediate System-to-Intermediate System(IS-IS)メトリック属性値を設定するには、ルート ポリシー コンフィギュレーション モードで set is-is metric コマンドを使用します。
set isis-metric { number | parameter }
number |
24 ビットの整数。範囲は 0 ~ 16777215 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
IS-IS に再配布されるルートの IS-IS メトリック属性値を設定するには、set isis-metric コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、IS-IS メトリック属性値は 1000 に設定されます。
RP/0/RP0/CPU0:router(config)# route-policy policy_1 RP/0/RP0/CPU0:router(config-rpl)# set isis-metric 1000 RP/0/RP0/CPU0:router(config-rpl)# end-policy
ボーダー ゲートウェイ プロトコル(BGP)ラベル属性値を設定するには、ルート ポリシー コンフィギュレーション モードで set label コマンドを使用します。
set label { explicit-null | implicit-null | parameter }
explicit-null |
well-known の明示的な値である 0 にラベルを設定します。 |
implicit-null |
well-known の暗黙的な値である 3 にラベルを設定します。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
配置の優先順位に基づいて explicit-null または implicit-null にラベルを設定するには、ルート ポリシー内のラベル割り当ての付加ポイントで set label コマンドを使用します。AS 間の操作では、ASBR は、独自のループバックの一部をそのピアに送信し、暗黙的なヌルまたは明示的なヌルのいずれかのラベルを付けます。
次の例では、ラベルの設定方法を示します。
RP/0/RP0/CPU0:router(config)# route-policy labelpolicy RP/0/RP0/CPU0:router(config-rpl)# if destination in (206.141.1.0/24) then RP/0/RP0/CPU0:router(config-rpl)# set label explicit-null RP/0/RP0/CPU0:router(config-rpl)# elseif destination in (206.141.3.0/24) then RP/0/RP0/CPU0:router(config-rpl)# drop RP/0/RP0/CPU0:router(config-rpl)# elseif destination in (206.141.4.0/24) then RP/0/RP0/CPU0:router(config-rpl)# set label explicit-null RP/0/RP0/CPU0:router(config-rpl)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
ボーダー ゲートウェイ プロトコル(BGP)ラベル モードのタイプを設定するには、ルート ポリシー コンフィギュレーション モードで set label-mode コマンドを使用します。このコマンドには no 形式はありません。
set label-mode { per-ce | | per-vrf | | per-prefix }
per-ce |
一意のカスタマー エッジ(CE)ピアまたはルータからアドバタイズされたすべてのルートで同じラベルを使用することを指定します。 |
per-vrf |
一意の VRF からアドバタイズされたすべてのルートに同じラベルを使用することを指定します。 |
per-prefix |
一意のプレフィックスからアドバタイズされたすべてのルートに同じラベルを使用することを指定します。 |
Per-prefix ラベル モード。
ラベル モードの付加ポイントで接続されたポリシーが合格と評価され、ラベル モード が明示的に設定されていない場合は、per-prefix がデフォルトのラベル モードとして使用されます。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
配置の優先順位に基づいて、ラベル モードのタイプを per-ce、per-vrf または per-prefix に設定するには、ルート ポリシー内のラベル モードの付加ポイントで set label-mode コマンドを使用します。
タスク ID | 動作 |
---|---|
route-policy |
読み取り、書き込み |
次に、ラベル モードのタイプを per-ce に設定する例を示します。
RP/0/RP0/CPU0:router(config)# route-policy set_label_mode RP/0/RP0/CPU0:router(config-rpl)# set label-mode per-ce RP/0/RP0/CPU0:router(config-rpl)# end-policy
次に、ラベル モードのタイプを per-vrf に設定する例を示します。
RP/0/RP0/CPU0:router(config)# route-policy set_label_mode RP/0/RP0/CPU0:router(config-rpl)# set label-mode per-vrf RP/0/RP0/CPU0:router(config-rpl)# end-policy
次に、ラベル モードのタイプを per-prefix に設定する例を示します。
RP/0/RP0/CPU0:router(config)# route-policy set_label_mode RP/0/RP0/CPU0:router(config-rpl)# set label-mode per-prefix RP/0/RP0/CPU0:router(config-rpl)# end-policy
再配布されたルートにアドバタイズされる Intermediate System-to-Intermediate System(IS-IS)リンクステート パケット(LSP)レベルを設定するには、ルート ポリシー コンフィギュレーション モードで set level コマンドを使用します。
set level { level-1 | level-2 | level-1-2 | parameter }
level-1 |
再配布されたルートがルータのレベル 1 LSP でアドバタイズされることを指定します。 |
level-2 |
再配布されたルートがルータのレベル 2 LSP でアドバタイズされることを指定します。 |
level-1-2 |
再配布されたルートがルータのレベル 1 およびレベル 2 LSP でアドバタイズされることを指定します。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
再配布されたルートにアドバタイズされる LSP レベルを設定するには、IS-IS set level コマンドを使用します。
![]() (注) |
set level コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
このコマンドでは、level キーワードのパラメータ化がサポートされます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、レベルはレベル 2 に設定されます。
RP/0/RP0/CPU0:router(config)# route-policy bgp_isis_redist RP/0/RP0/CPU0:router(config-rpl)# if destination in (172.2.0.0/16 ge 16) then RP/0/RP0/CPU0:router(config-rpl)# set level level-2 RP/0/RP0/CPU0:router(config-rpl)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
ルートのボーダー ゲートウェイ プロトコル(BGP)ローカル優先順位属性を設定するには、ルート ポリシー コンフィギュレーション モードで set local-preference コマンドを使用します。
set local-preference { number | parameter }
number |
32 ビットの符号なし整数に割り当てられた値。範囲は 0 ~ 4294967295 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルト値は 100 です。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
自律システム パスの優先順位の値を指定するには、set local-preference コマンドを使用します。ローカル優先順位は非推移的な(自律システム境界を越えません)属性で、BGP 最適パス計算(最も高いローカル優先順位が選択されます)で考慮される 2 番目のメトリックです。重みは、最良パスで評価される最初のメトリックですが、これはルータに対してローカルであり、iBGP ピアだけに伝播されます。 BGP のベスト パス計算については、『Routing Configuration Guide for Cisco NCS 5000 Series Routers』の「Implementing BGP」モジュールを参照してください。
![]() (注) |
set local-preference コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
ローカル優先順位は 32 ビットの符号なし整数です。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、ローカル優先順位値は 10 に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# set local-preference 10
ボーダー ゲートウェイ プロトコル(BGP)Multi Exit Discriminator(MED)属性を設定するには、ルート ポリシー コンフィギュレーション モードで set med コマンドを使用します。
set med { number | parameter | igp-cost | { + | { number | parameter } | - | { number | parameter } } | max-reachable }
number |
32 ビットの符号なし整数に割り当てられた値。範囲は 0 ~ 4294967295 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
igp-cost |
MED 値を、Interior Gateway Protocol(IGP)ルートのコストに設定して、BGP ルートのネクストホップを解決します。 |
+ | - |
MED を、MED + または - スタティック オフセットに設定します。+ または - の後には整数またはパラメータを指定する必要があります。 |
max-reachable |
MED 値を、最大有効値である 4294967295 に設定します。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
32 ビットの符号なし整数である MED 値を設定するには、set med コマンドを使用します。
![]() (注) |
set med コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
このコマンドは、引数値として、整数、パラメータ、igp-cost キーワード、または数学演算子(+ または -)とその後に整数またはパラメータを使用できます。MED の IGP コストへの設定は、アウトバウンド BGP ポリシーだけでサポートされます。その他の BGP 付加ポイントに適用されたポリシーでは MED を IGP コストに設定できません。
max-reachable キーワードを指定すると、ルートは到達可能なままにして MED を最大値に設定します。
+ または - バリアントを使用すると、ユーザは、MED を MED + または - スタティック オフセットに設定できます。また、ユーザがオフセットを MED 値に追加するか減算できるようにするバリアントは、アンダーフローまたはオーバーフローの有無についてチェックする範囲です。減算の結果値のアンダーフローが発生する場合は、MED 値はゼロに設定されます。値がオーバーフローすると、値は MED の最大値である 4294967295 に設定されます。MED が 4294967295 に設定されると、ルートは到達不能になります。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の 2 つの例では、(整数 156 を使用して)直接指定されるか、パラメータとしてポリシーに渡される値に MED を設定する方法を示します。
RP/0/RP0/CPU0:router(config-rpl)# set med 156 RP/0/RP0/CPU0:router(config-rpl)# set med $med_param
次の例では、BGP ルートのネクストホップを解決する IGP ルートのコストに MED 値を自動的に設定するよう BGP に指示する方法を示します。
RP/0/RP0/CPU0:router(config-rpl)# set med igp-cost
Integrated Intermediate System-to-Intermediate System(IS-IS)メトリック タイプを設定するには、ルート ポリシー コンフィギュレーション モードで set metric-type コマンドを使用します。
set metric-type { internal | external | rib-metric-as-internal | rib-metric-as-external | parameter }
set metric-type { internal | external | parameter }
internal |
メトリック タイプを内部に設定します。 |
external |
メトリック タイプを外部に設定します。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
internal |
メトリック タイプを内部に設定します。 |
external |
メトリック タイプを外部に設定します。 |
rib-metric-as-internal |
RIB メトリックを使用し、IS-IS 内部メトリック タイプを設定します。 |
rib-metric-as-external |
RIB メトリックを使用し、IS-IS 外部メトリック タイプを設定します。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
IS-IS がメトリックを内部メトリックとして処理するか、外部メトリックとして処理するかを制御するには、IS-IS set metric-type コマンドを使用します。
別の ISIS ルータ インスタンスまたは他のプロトコルからのルートを再配布する場合の RIB メトリックを維持するには、rib-metric-as-external および rib-metric-as-internal キーワードを使用します。
![]() (注) |
set metric-type コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
このコマンドでは、パラメータ化はサポートされません。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、IS-IS メトリック タイプは内部に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# set metric-type internal
Open Shortest Path First(OSPF)によるルートのコスト計算方法を制御するには、ルート ポリシー コンフィギュレーション モードで set metric-type コマンドを使用します。
set metric-type { type-1 | type-2 | parameter }
type-1 |
タイプ 1 メトリックの計算にルートでのコスト セットと、トポロジに関連したコストを使用します。 |
type-2 |
タイプ 2 メトリックの計算にルートでのコスト セットだけを使用します。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
OSPF がコストをタイプ 1 メトリックとして処理するか、タイプ 2 メトリックとして処理するかを制御するには、OSPF set metric-type コマンドを使用します。
![]() (注) |
set metric-type コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
タイプ 1 またはタイプ 2 の値は、OSPF がこのルートのコストを計算する方法を制御します。タイプ 2 メトリックでは、ルートでのコスト セットだけが使用されます。タイプ 1 メトリックでは、ルートでのコスト セットと、トポロジに関連したコストが計算に使用されます。
このコマンドでは、パラメータ化はサポートされません。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、OSPF メトリック タイプはタイプ 1 に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# set metric-type type-1
特定のルートに関連付けられたネクストホップを置き換えるには、ルート ポリシー コンフィギュレーション モードで set next-hop コマンドを使用します。
set next-hop { ipv4-address | ipv6-address | peer-address | parameter | self } [ destination-vrf ]
ipv4-address |
有効な IPv4 アドレス。 |
ipv6-address |
有効な IPv6 アドレス。 |
peer-address |
ネクストホップを、リモート ボーダー ゲートウェイ プロトコル(BGP)ピアの IP アドレスに設定します。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
self |
それ自体をネクストホップに設定します。 |
destination-vrf |
(任意)ルートのネクストホップを宛先 VPN ルーティング/転送(VRF)のコンテキストで解決する必要があることを指定します。このキーワードは、IPv4 または IPv6 アドレスまたはパラメータを使用する場合に使用可能です。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
特定のアドレスに関連付けられたネクストホップを置き換えるには、set next-hop コマンドを使用します。
![]() (注) |
set next-hop コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
このポリシーが付加された BGP ネイバーのアドレスがネクストホップとなるように設定するには、set next-hop peer-address コマンドを使用します。
ネクストホップは、ドット付き 10 進数で入力される有効な IPv4 アドレス、またはコロンで区切られた 16 進数として入力される IPv6 アドレスです。
BGP IPv6 リンクローカル ネクストホップの設定にはこのコマンドを使用できません。
destination-vrf キーワードは、主にレイヤ 3 VPN ネットワークでルートのインポート時に使用されます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、ネクストホップは有効な IPv4 アドレスに設定されます。
RP/0/RP0/CPU0:router(config-rpl)# set next-hop 10.0.0.5
次の例では、ネクストホップはパラメータ値 $nexthop に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# set next-hop $nexthop
RP/0/RP0/CPU0:router(config-rpl)# set next-hop 10.0.0.5 destination-vrf
ボーダー ゲートウェイ プロトコル(BGP)送信元属性を変更するには、ルート ポリシー コンフィギュレーション モードで set origin コマンドを使用します。
set origin { igp | incomplete | egp | parameter }
igp |
送信元タイプを Interior Gateway Protocol(IGP)に設定します。 |
incomplete |
送信元タイプを不完全に設定します。 |
egp |
送信元タイプをエクステリア ゲートウェイ プロトコル(EGP)に設定します。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
送信元属性を変更するには、set origin コマンドを使用します。
![]() (注) |
set origin コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
ボーダー ゲートウェイ プロトコル(BGP)ルートの送信元は、igp、egp、または incomplete です。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、送信元属性は EGP に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# set origin egp
Open Shortest Path First(OSPF)プロトコル メトリック属性値を設定するには、ルート ポリシー コンフィギュレーション モードで set ospf-metric コマンドを使用します。
set ospf-metric { number | parameter }
number |
24 ビットの符号なし整数に割り当てられた値。範囲は 0 ~ 4294967295 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
OSPF に再配布されるルートのメトリックを設定するには、set ospf-metric コマンドを使用します。OSPF メトリック演算子は、整数値またはパラメータのいずれかを受け入れます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、OSPF メトリック属性値は 1000 に設定されます。
RP/0/RP0/CPU0:router(config)# route-policy policy_1 RP/0/RP0/CPU0:router(config-rpl)# set ospf-metric 1000 RP/0/RP0/CPU0:router(config-rpl)# end-policy
パス選択基準を設定し、ボーダー ゲートウェイ プロトコルのパスをインストールまたはアドバタイズするには、ルート ポリシー コンフィギュレーション モードで set path-selection コマンドを使用します。
set path-selection { backup number | group-best | all | best-path } [install] [multipath-protect] [advertise]
backup | BGP バックアップ パスを指定します。 |
number | BGP バックアップ パス番号を指定します。3 ビットの 10 進数です。指定できる値の範囲は 0 ~ 7 です。 |
group-best | BGP グループ最良パスを指定します。 |
all | すべての BGP パスを指定します。 |
best-path | BGP 最良パスを指定します。 |
install | パスをインストールします。 |
multipath-protect | マルチパス保護をインストールし、アドバタイズします。 |
advertise | パスをアドバタイズします。 |
なし
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID | 動作 |
---|---|
route-policy | 読み取り、書き込み |
次の例は、ルート ポリシー path_selection_plcy のパス選択を advertise backup path 3 として設定する方法を示します。
RP/0/RP0/CPU0:router# configure RP/0/RP0/CPU0:router(config)# route-policy path_selection_plcy RP/0/RP0/CPU0:router(config-rpl)# set path-selection backup 3 advertise
Quality of Service(QoS)グループを設定するには、ルート ポリシー コンフィギュレーション モードで set qos-group コマンドを使用します。
set qos-group { number | parameter }
number |
QoS グループ ID。指定できる範囲は 0 ~ 31 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
パケットを分類するために Qos グループを設定するには、set qos-group コマンドを使用します。
このコマンドは、BGP テーブル ポリシー付加ポイントでサポートされます。プレフィックスは、フォワーディング プレーンでの後続の処理のためにマーキングされます。BGP による QoS ポリシー伝達(QPPB)がインターフェイスでイネーブルになっている場合は、対応するトラフィック シェーピングとポリシングは、IP precedence または QoS グループ ID に基づくパケット分類を使用して実行されます。QPPB の詳細については、『Modular QoS Configuration Guide for Cisco NCS 5000 Series Routers』を参照してください。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、set qos-group コマンドの使用方法を示します。
RP/0/RP0/CPU0:router(config)# route-policy policy_1 RP/0/RP0/CPU0:router(config-rpl)# set qos-group 12 RP/0/RP0/CPU0:router(config-rpl)# end-policy
テーブル ポリシーのルーティング情報ベース(RIB)メトリック属性値を設定するには、ルート ポリシー コンフィギュレーション モードで set rib-metric コマンドを使用します。
set rib-metric { number | parameter }
number |
32 ビットの符号なし整数に割り当てられた値。範囲は 0 ~ 4294967295 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
BGP ルートの RIB メトリック属性値を設定するには、set rib-metric コマンドを使用します。
RIB 内のすべてのルートにメトリックが関連付けられており、リンクの特性に基づいてコストが特定の宛先に到達することを指定します。set rib-metric コマンドは、BGP ルートが RIB にインストールされるときに RIB メトリックを変更します。RIB にインストールされる BGP ルートのアップグレードまたはダウングレードができるようになります。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、RIB メトリック属性は 1000 に設定されます。
RP/0/RP0/CPU0:router(config)# route-policy policy_1 RP/0/RP0/CPU0:router(config-rpl)# set rib-metric 1000 RP/0/RP0/CPU0:router(config-rpl)# end-policy
Routing Information Protocol(RIP)メトリック属性を設定するには、ルート ポリシー コンフィギュレーション モードで set rip-metric コマンドを使用します。
set rip-metric { number | parameter }
number |
4 ビットの符号なし整数に割り当てられた値。範囲は 0 ~ 16 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
RIP に再配布されるルートのコスト属性を設定するには、set rip-metric コマンドを使用します。
RIP メトリック値を増加させるには、add コマンドを使用できます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、ルート ポリシー policy_1 の RIP メトリック番号が調整されます。
RP/0/RP0/CPU0:router(config)# route-policy policy_1 RP/0/RP0/CPU0:router(config-rpl)# set rip-metric 10 RP/0/RP0/CPU0:router(config-rpl)# end-policy
Routing Information Protocol(RIP)ルートのルート タグ属性を設定するには、ルート ポリシー コンフィギュレーション モードで set rip-tag コマンドを使用します。
set rip-tag { number | parameter }
number |
16 ビットの符号なし整数に割り当てられた値。範囲は 0 ~ 65535 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
RIP に再配布されるルートの RIP タグ属性を設定するには、set rip-tag コマンドを使用します。RIP タグ演算子は、整数値またはパラメータのいずれかを受け入れます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、ルート ポリシー policy_1 の RIP タグが調整されます。
RP/0/RP0/CPU0:router(config)# route-policy policy_1 RP/0/RP0/CPU0:router(config-rpl)# set rip-tag 1000 RP/0/RP0/CPU0:router(config-rpl)# end-policy
Reverse Path Forwarding(RPF)を、特定の発信元およびグループの任意のデフォルトまたはデフォルト以外のテーブルに設定するには、ルーティング ポリシー コンフィギュレーション モードで set rpf-topology コマンドを使用します。
set rpf-topology [ vrf vrf-name ] { ipv4 | ipv6 } { unicast | multicast | parameter } topology table-name
vrfvrf-name |
(任意)VPN ルーティングおよび転送(VRF)インスタンスを指定します。エクストラネット トポロジを設定するときは必須 |
ipv4 |
(任意)IPv4 アドレス プレフィックスを指定します。 |
ipv6 |
(任意)IPv6 アドレス プレフィックスを指定します。 |
unicast |
ユニキャスト アドレス プレフィックスを指定します。 |
multicast |
マルチキャスト アドレス プレフィックスを指定します。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
topology |
発信元またはグループのデフォルトまたはデフォルト以外のトポロジ テーブルを指定します。 |
table-name |
英数字の名前ストリング。 |
デフォルトまたは現在のトポロジ設定。
ルーティング ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドを MVPN エクストラネット ルーティング コンフィギュレーションに使用するときは、vrfvrf-name キーワードおよび引数のみが必須です。
このコマンドをマルチトポロジ ルーティングのコンテキストで使用するときは、vrfvrf-name キーワードおよび引数を除くすべてのキーワードおよび引数が必須です。
タスク ID |
動作 |
---|---|
multicast |
読み取り |
次の例では、set rpf-topology コマンドの実行方法を示します。
RP/0/RP0/CPU0:router# config RP/0/RP0/CPU0:router(config)# route-policy green RP/0/RP0/CPU0:router(config-rpl)# set rpf-topology ipv6 multicast topology t12
次の例では、複数のトポロジでトポロジ テーブルの RPF を作成する状況における、set rpf-topology コマンドの使用を示します。
route-policy mt4-p1 if destination in (225.0.0.1, 225.0.0.11) then set rpf-topology ipv4 multicast topology t201 elseif destination in (225.0.0.2, 225.0.0.12) then set rpf-topology ipv4 multicast topology t202 elseif destination in (225.0.0.3, 225.0.0.13) then pass endif end-policy ! route-policy mt4-p3 if destination in (225.0.0.8) then set rpf-topology ipv4 multicast topology t208 elseif destination in (225.0.0.9) then set rpf-topology ipv4 multicast topology t209 elseif destination in (225.0.0.10) then set rpf-topology ipv4 multicast topology t210 else drop endif end-policy !
OSPF Shortest Path First(SPF)プライオリティを設定するには、ルート ポリシー コンフィギュレーション モードで set spf-priority コマンドを使用します。
set spf-priority { critical | high | medium }
critical | SPF の critical プライオリティを設定します |
high | SPF の high プライオリティを設定します |
medium | SPF の medium プライオリティを設定します |
なし
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID | 動作 |
---|---|
route-policy |
読み取り、書き込み |
この例では、SPF プライオリティを critical として設定します。
RP/0/RP0/CPU0:router#configure RP/0/RP0/CPU0:router(config)#route-policy policy_spf_priority RP/0/RP0/CPU0:router(config-rpl)#set spf-priority critical
タグ属性を設定するには、ルート ポリシー コンフィギュレーション モードで set tag コマンドを使用します。
set tag { number | parameter }
number |
32 ビットの符号なし整数に割り当てられた値。範囲は 0 ~ 4294967295 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
タグ属性を設定するには、set tag コマンドを使用します。
![]() (注) |
set tag コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
タグは、ルーティング情報ベース(RIB)内の特定のルートに関連付けることができる、ルーティング プロトコルに依存しない 32 ビットの整数です。
ボーダー ゲートウェイ プロトコル(BGP)では、タグ属性は、テーブル ポリシー付加ポイントだけで設定できます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、タグ属性は 10 に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# set tag 10
次の例では、タグ属性はパラメータ値 $tag_param に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# set tag $tag_param
トラフィック索引属性を設定するには、ルート ポリシー コンフィギュレーション モードで set traffic-index コマンドを使用します。
set traffic-index { number | parameter | ignore }
number |
トラフィック索引属性に割り当てられた整数値。範囲は 1 ~ 63 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
ignore |
ボーダー ゲートウェイ プロトコル(BGP)ポリシー アカウンティングを行わないことを指定します。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
トラフィック索引属性を設定するには、set traffic-index コマンドを使用します。
![]() (注) |
set traffic-index コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
トラフィック索引は、BGP の特殊な属性です。これは、ハードウェアを転送することによって保守されるカウンタ セットへの索引として使用されます。また、特定の属性を持つルートを使用して転送されるパケットおよびバイト カウンタを追跡するためにも使用されます。これらのカウンタは、インターフェイスごとにイネーブルおよびディセーブルにできます。
トラフィック索引属性は、テーブル ポリシー付加ポイントだけで設定でき、1 ~ 63 の値または値 ignore を使用できます。トラフィック索引を ignore に設定すると、BGP ポリシー アカウンティングは行われません。また、この値のパラメータ化がサポートされます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、自律システム 1234 で発信されたすべてのルートについてトラフィック索引が 10 に設定されるポリシーが作成されます。
RP/0/RSP0RP0/CPU0:router(config)# route-policy count-as-1234 RP/0/RSP0RP0/CPU0:router(config-rpl)# if as-path originates-from ‘1234’ then RP/0/RSP0RP0/CPU0:router(config-rpl-if)# set traffic-index 10 RP/0/RSP0RP0/CPU0:router(config-rpl-if)# else RP/0/RSP0RP0/CPU0:router(config-rpl-if)# pass RP/0/RSP0RP0/CPU0:router(config-rpl-if)# endif RP/0/RSP0RP0/CPU0:router(config-rpl)# end-policy
このポリシーは、BGP table-policy コマンドを使用して付加できます。カウンタは、適切なコマンドを使用して、さまざまなインターフェイスでイネーブルにできます。
ボーダー ゲートウェイ プロトコル(BGP)VPN 識別子属性を変更するには、ルート ポリシー コンフィギュレーション モードで set vpn-distinguisher コマンドを使用します。
set vpn-distinguisher { number | parameter }
number |
32 ビットの符号なし整数に割り当てられた値。範囲は 1 ~ 4294967295 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
VPN 識別子属性を変更するには、set vpn-distinguisher コマンドを使用します。
![]() (注) |
set origin コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
VPN 識別子は、拡張された個々の VPN を制御するために、また AS 間の VPN ネットワーク内で AS 境界でのルート ターゲットのマッピングを回避するために、レイヤ 3 VPN ネットワークで使用されます。ルート ターゲット拡張コミュニティは、ネイバー アウトバウンドで削除され、VPN 識別子値は、拡張コミュニティとして BGP ルートで適用されます。別の AS 内のネイバー ルータでルートを受信すると、VPN 識別子は削除され、ルート ターゲット拡張コミュニティにマッピングされます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、VPN 識別子属性は 456 に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# set vpn-distinguisher 456
ボーダー ゲートウェイ プロトコル(BGP)ルートの重み値を設定するには、ルート ポリシー コンフィギュレーション モードで set weight コマンドを使用します。
set weight { number | parameter }
number |
BGP ルートの重み値に割り当てられた数値。重みは 16 ビットです。範囲は 0 ~ 65535 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
BGP ルートの重み値を設定するには、set weight コマンドを使用します。
![]() (注) |
set weight コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。 |
重みは、BGP ローカル優先順位を上書きするためにルートに適用できる値です。これは、BGP ピア ルータに通知される BGP 属性ではありません。重み値を設定するには、RPL を使用できます。
同じネットワーク層到着可能性情報(NLRI)を持つ 2 つの BGP ルートがある場合は、他の BGP 属性の値がどのように設定されていても、重みが高いルートが選択されます。ただし、重みが重要なのは、ローカル ルータに対してだけです。これは、同じ自律システム内にある場合でも、ある BGP スピーカーから別のスピーカーに送信されません。
シスコ ルータでは、BGP ルートがローカル ルータによって発信されている場合でも、その重みは自動的に 32768 に設定されます。BGP ルートが別のルータから学習される場合は、その重みは自動的に 0 に設定されます。そのため、デフォルトでは、ローカルで発信されたルートは、BGP によって学習されたルートよりも優先されます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、ルートの重みは 10 に設定されてから、パラメータ値 $weight_param に設定されます。
RP/0/RP0/CPU0:router(config-rpl)# set weight 10 RP/0/RP0/CPU0:router(config-rpl)# set weight $weight_param
show [running-config] rpl [ maximum { lines configuration-limit | policies policies-limit } | editor { emacs | nano | vim } ]
running-config |
(任意)configuration-limit 引数を表示します。 |
maximum |
(任意)設定の最大行数とポリシーの数を表示します。 |
linesconfiguration-limit |
(任意)設定が制限される行数を表示します。範囲は 1 ~ 131072 です。 configuration-limit 引数は、running-config キーワードを指定した場合に使用可能です。 |
policiespolicies-limit |
(任意)ポリシー数制限を表示します。範囲は 1 ~ 5000 です。 configuration-limit 引数は、running-config キーワードを指定した場合に使用可能です。 |
editor |
(任意)デフォルトの RPL エディタを指定します。このキーワードは、running-config キーワードを指定した場合に使用可能です。 |
emacs |
(任意)デフォルトの RPL エディタとして Micro Emacs を表示します。 |
nano |
(任意)デフォルトの RPL エディタとして nano を表示します。 |
vim |
(任意)デフォルトの RPL エディタとして Vim を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次に、show running-config rpl コマンドの出力を示します。
RP/0/RP0/CPU0:router# show running-config rpl
extcommunity-set rt ext_comm_set_rt_ex1
1.2.3.4:34
end-set
!
prefix-set prefix_set_ex1
10.0.0.0/16 ge 16 le 32,
0.0.0.0/0 ge 25 le 32,
0.0.0.0/0
end-set
!
route-policy policy_2
if destination in prefix_set_ex1 then
if (community matches-any com_set_exl) then
set community (10:666) additive
endif
if (extcommunity rt matches-any ext_comm_set_rt_ex1) then
set community (10:999) additive
endif
endif
end-policy
!
付加ポイントで使用されている少なくとも 1 つのポリシーによって参照されている AS パス セットを表示するには、 XR EXEC モード で show rpl active as-path-set コマンドを使用します。
show rpl active as-path-set [detail]
detail |
(任意)アクティブな AS パス セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
システムで使用中であり、ポリシー付加ポイントで直接または間接的に参照されている AS パス セットをすべて表示するには、show rpl active as-path-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! RP/0/RP0/CPU0:router# show rpl route-policy policy_2 detail prefix-set prefix_set_ex1 10.0.0.0/16 ge 16 le 32, 0.0.0.0/0 ge 25 le 32, 0.0.0.0/0 end-set ! community-set comm_set_ex1 65500:1, 65500:2, 65500:3 end-set ! extcommunity-set rt ext_comm_set_rt_ex1 1.2.3.4:34 end-set ! route-policy policy_2 if destination in prefix_set_ex1 then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity rt matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy ! RP/0/RP0/CPU0:router# show rpl route-policy policy_1 detail prefix-set prefix_set_ex1 10.0.0.0/16 ge 16 le 32, 0.0.0.0/0 ge 25 le 32, 0.0.0.0/0 end-set ! as-path-set as_path_set_ex1 ios-regex '^_655--$', ios-regex '^_65501_$' end-set ! route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy !
この設定例では、show rpl active as-path-set コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl active as-path-set
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following as-path-sets are ACTIVE
-------------------------------------
as_path_set_ex1
付加ポイントで使用されている少なくとも 1 つのポリシーによって参照されているコミュニティ セットを表示するには、 XR EXEC モード で show rpl active community-set コマンドを使用します。
show rpl active community-set [detail]
detail |
(任意)アクティブなコミュニティ セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
システムで使用中であり、ポリシー付加ポイントで直接または間接的に参照されているコミュニティ セットをすべて表示するには、show rpl active community-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! RP/0/RP0/CPU0:router# show rpl route-policy policy_2 detail prefix-set prefix_set_ex1 10.0.0.0/16 ge 16 le 32, 0.0.0.0/0 ge 25 le 32, 0.0.0.0/0 end-set ! community-set comm_set_ex1 65500:1, 65500:2, 65500:3 end-set ! extcommunity-set rt ext_comm_set_rt_ex1 1.2.3.4:34 end-set ! route-policy policy_2 if destination in prefix_set_ex1 then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity rt matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy ! RP/0/RP0/CPU0:router# show rpl route-policy policy_1 detail prefix-set prefix_set_ex1 10.0.0.0/16 ge 16 le 32, 0.0.0.0/0 ge 25 le 32, 0.0.0.0/0 end-set ! as-path-set as_path_set_ex1 ios-regex '^_655--$', ios-regex '^_65501_$' end-set ! route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy !
この設定例では、show rpl active community-set コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl active community-set
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following community-sets are ACTIVE
---------------------------------------
comm_set_ex1
付加ポイントで使用されている少なくとも 1 つのルート ポリシーによって参照されている、コスト、ルート ターゲット(RT)、および Site of Origin(SoO)の拡張コミュニティ セットを表示するには、 XR EXEC モード で show rpl active extcommunity-set コマンドを使用します。
show rpl active extcommunity-set [ cost | rt | soo ] [detail]
cost |
(任意)すべての拡張コミュニティ コスト セットを表示します。 |
rt |
(任意)すべての拡張コミュニティ RT セットを表示します。 |
soo |
(任意)すべての拡張コミュニティ SoO セットを表示します。 |
detail |
(任意)アクティブな拡張コミュニティ セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
すべての拡張コミュニティ セットが表示されます。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
システムで使用中であり、ポリシー付加ポイントで直接または間接的に参照されている拡張コミュニティ セットをすべて表示するには、show rpl active extcommunity-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! RP/0/RP0/CPU0:router# show rpl route-policy policy_2 detail prefix-set prefix_set_ex1 10.0.0.0/16 ge 16 le 32, 0.0.0.0/0 ge 25 le 32, 0.0.0.0/0 end-set ! community-set comm_set_ex1 65500:1, 65500:2, 65500:3 end-set ! extcommunity-set rt ext_comm_set_rt_ex1 1.2.3.4:34 end-set ! route-policy policy_2 if destination in prefix_set_ex1 then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity rt matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy ! RP/0/RP0/CPU0:router# show rpl route-policy policy_1 detail prefix-set prefix_set_ex1 10.0.0.0/16 ge 16 le 32, 0.0.0.0/0 ge 25 le 32, 0.0.0.0/0 end-set ! as-path-set as_path_set_ex1 ios-regex '^_655--$', ios-regex '^_65501_$' end-set ! route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy !
この設定例では、show rpl active extcommunity-set コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl active extcommunity-set
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following extcommunity-sets are ACTIVE
------------------------------------------
ext_comm_set_rt_ex1
付加ポイントで使用されている少なくとも 1 つのポリシーによって参照されているプレフィックス セットを表示するには、 XR EXEC モード で show rpl active prefix-set コマンドを使用します。
show rpl active prefix-set [detail]
detail |
(任意)アクティブなプレフィックス セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
システムで使用中であり、ポリシー付加ポイントで直接または間接的に参照されているプレフィックス セットをすべて表示するには、show rpl active prefix-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! RP/0/RP0/CPU0:router# show rpl route-policy policy_2 detail prefix-set prefix_set_ex1 10.0.0.0/16 ge 16 le 32, 0.0.0.0/0 ge 25 le 32, 0.0.0.0/0 end-set ! community-set comm_set_ex1 65500:1, 65500:2, 65500:3 end-set ! extcommunity-set rt ext_comm_set_rt_ex1 1.2.3.4:34 end-set ! route-policy policy_2 if destination in prefix_set_ex1 then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity rt matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy ! RP/0/RP0/CPU0:router# show rpl route-policy policy_1 detail prefix-set prefix_set_ex1 10.0.0.0/16 ge 16 le 32, 0.0.0.0/0 ge 25 le 32, 0.0.0.0/0 end-set ! as-path-set as_path_set_ex1 ios-regex '^_655--$', ios-regex '^_65501_$' end-set ! route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy !
次の例では、アクティブなプレフィックス セットを示します。
RP/0/RP0/CPU0:router# show rpl active prefix-set
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following prefix-sets are ACTIVE
------------------------------------
prefix_set_1
付加ポイントで使用されている少なくとも 1 つのポリシーによって参照されているルート識別子(RD)セットを表示するには、 XR EXEC モード で show rpl active rd-set コマンドを使用します。
show rpl active rd-set [detail]
detail |
(任意)アクティブなルート ポリシーのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
システムで使用中であり、ポリシー付加ポイントで直接または間接的に参照されている RD セットをすべて表示するには、show rpl active rd-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
rd-set rdset1 10:151, 100.100.100.1:153, 100.100.100.62/31:63 end-set ! rd-set rdset2 10:152, 100.100.100.1:154, 100.100.100.62/31:89 end-set ! route-policy rdsetmatch if rd in rdset1 then set community (10:112) elseif rd in rdset2 then set community (10:223) endif end-policy ! router bgp 10 bgp router-id 10.0.0.1 address-family vpnv4 unicast neighbor 10.10.10.1 remote-as 10 address-family ipv4 unicast route-policy rdsetmatch in ! !
この設定例では、 show rpl active rd-set コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl active rd-set
ACTIVE -- Referenced by at least one policy which is attached INACTIVE -- Only referenced by policies which are not attached UNUSED -- Not attached (directly or indirectly) and not referenced
The following rd-sets are ACTIVE
------------------------------------------
rdset1
rdset2
付加ポイントで使用されている少なくとも 1 つのポリシーによって参照されているルート ポリシーを表示するには、 XR EXEC モード で show rpl active route-policy コマンドを使用します。
show rpl active route-policy [detail]
detail |
(任意)アクティブなルート ポリシーのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
システムで使用中であり、ポリシー付加ポイントで直接または間接的に参照されているポリシーをすべて表示するには、show rpl active route-policy コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! RP/0/RP0/CPU0:router# show rpl route-policy policy_1 route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy ! RP/0/RP0/CPU0:router# show rpl route-policy policy_2 route-policy policy_2 if destination in prefix_set_ex1 then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity rt matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy !
この設定例では、show rpl active route-policy コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl active route-policy
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following policies are (ACTIVE)
-----------------------------------
policy_1
policy_2
AS パス セットの内容を表示するには、 XR EXEC モード で show rpl as-path-set コマンドを使用します。
show rpl as-path-set [ name | states | brief ]
name |
(任意)AS パス セットの名前。 |
states |
(任意)すべての未使用ステート、非アクティブ ステート、およびアクティブ ステートを表示します。 |
brief |
(任意)表示を、設定なしの AS パス セットすべての名前のリストに制限します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
表示を、設定なしの AS パス セットすべての名前のリストに制限するには、任意の brief キーワードを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
RP/0/RP0/CPU0:router# show rpl route-policy policy_1
route-policy policy_1
if (destination in prefix_set_ex1) then
set local-preference 100
endif
if (as-path in as_path_set_ex1) then
set community (10:333) additive
endif
end-policy
この設定例では、show rpl as-path-set as_path_set_ex1 コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl as-path-set as_path_set_ex1
as-path-set as_path_set_ex1
ios-regex '^_65500_$',
ios-regex '^_65501_$'
end-set
名前付き AS パス セットを参照する、付加ポイントで使用されるポリシーをすべて表示するには、 XR EXEC モード で show rpl as-path-set attachpoints コマンドを使用します。
show rpl as-path-set name attachpoints
name |
AS パス セットの名前。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
名前付きセットを直接または間接的に参照する、付加ポイントで使用されるポリシーをすべて表示するには、show rpl as-path-set attachpoints コマンドを使用します。
AS パス セット名は必須です。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! RP/0/RP0/CPU0:router# show rpl route-policy policy_1 route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy ! RP/0/RP0/CPU0:router# show rpl route-policy policy_2 route-policy policy_2 if (destination in prefix_set_ex1) then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy !
この設定例では、show rpl as-path-set as_path_set_ex1attachpoints コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl as-path-set as_path_set_ex1 attachpoints
BGP Attachpoint:Neighbor
Neighbor/Group type afi/safi in/out referring policy attached policy
----------------------------------------------------------------------------
10.0.101.2 -- IPv4/uni in policy_1 policy_1
10.0.101.3 -- IPv4/uni in policy_2 policy_2
フィールド |
説明 |
---|---|
BGP Attachpoint |
付加ポイントの場所。 |
Neighbor/Group |
ネイバー上の付加ポイントの IP アドレス。 |
type |
アドレス ファミリ モードを表示します。 |
afi/safi |
アドレス ファミリ ID または後続のアドレス ファミリ ID。 |
in/out |
ポリシーをインポートまたはエクスポートします。 |
referring policy |
AS パス セットを参照するポリシー。 |
attached policy |
付加ポイントで使用されるポリシー。 |
名前付き AS パス セットを参照するポリシーをすべてリストするには、 XR EXEC モード で show rpl as-path-set references コマンドを使用します。
show rpl as-path-set name references [brief]
name |
プレフィックス セットの名前。 |
brief |
(任意)出力を、名前付き AS パス セットに関する詳細情報ではなく、要約表だけに制限します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
名前付き AS パス セットを直接または間接的に参照するポリシーをすべて表示するには、show rpl as-path-set references コマンドを使用します。
出力を、AS パス セットに関する詳細情報ではなく、要約表だけに制限するには、任意の brief キーワードを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2
address-family ipv4 unicast
!
neighbor 10.0.101.2
remote-as 100
address-family ipv4 unicast
route-policy policy_1 in
!
!
RP/0/RP0/CPU0:router# show rpl route-policy policy_1
route-policy policy_1
if (destination in prefix_set_ex1) then
set local-preference 100
endif
if (as-path in as_path_set_ex1) then
set community (10:333) additive
endif
end-policy
この設定例では、show rpl as-path-set as_path_set_ex1 references コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl as-path-set as_path_set_ex1 references
Usage Direct -- Reference occurs in this policy
Usage Indirect -- Reference occurs via an apply statement
Status UNUSED -- Policy is not in use at an attachpoint (unattached)
Status ACTIVE -- Policy is actively used at an attachpoint
Status INACTIVE -- Policy is applied by an unattached policy
Usage/Status count
--------------------------------------------------------------
Direct 1
Indirect 0
ACTIVE 1
INACTIVE 0
UNUSED 0
route-policy usage policy status
--------------------------------------------------------------
policy_1 Direct ACTIVE
フィールド |
説明 |
---|---|
Usage/Status |
AS パス セットを参照するすべてのポリシーの使用方法とステータスを表示します。 使用方法の値は Direct または Indirect です。 ポリシー ステータスの値は、ACTIVE、INACTIVE、または UNUSED です。 |
count |
それぞれの使用方法とステータスのオプションと一致するポリシーの数。 |
route-policy |
AS パス セットを参照するルート ポリシーの名前。 |
usage |
ポリシーの使用方法のタイプ。 |
policy status |
ポリシーのステータス。 |
コミュニティ セットの設定を表示するには、 XR EXEC モード で show rpl community-set コマンドを使用します。
show rpl community-set [ name | states | brief ]
name |
(任意)コミュニティ セットの名前。 |
states |
(任意)すべての未使用ステート、非アクティブ ステート、およびアクティブ ステートを表示します。 |
brief |
(任意)表示を、設定なしのコミュニティ セットすべての名前のリストに制限します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
表示を、設定なしのコミュニティ セットすべての名前のリストに制限するには、任意の brief キーワードを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
RP/0/0/CPU0:R5#show rpl community-set Thu Jan 29 17:55:04.792 PST Listing for all Community Set objects community-set gshut graceful-shutdown end-set
次に、設定例を示します。
route-policy policy_4 if (destination in prefix_set_ex2) then if (community matches-any comm_set_ex2) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex2) then set community (10:999) additive endif endif end-policy
この設定例では、 show rpl community-set comm_set_ex2 コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl community-set comm_set_ex2
community-set comm_set_ex2
65501:1,
65501:2,
65501:3
end-set
名前付きコミュニティ セットを参照する、付加ポイントで使用されるポリシーをすべて表示するには、 XR EXEC モード で show rpl community-set attachpoints コマンドを使用します。
show rpl community-set name attachpoints
name |
コミュニティ セットの名前。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
名前付きコミュニティ セットを直接または間接的に参照する、付加ポイントで使用されるポリシーをすべて表示するには、show rpl community-set attachpoints コマンドを使用します。
コミュニティ セット名は必須です。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! ! route-policy policy_2 if destination in prefix_set_ex1 then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity rt matches-any ext_comm_set_rt_ex1) then <<<<< set community (10:999) additive endif endif end-policy !
この設定例では、 show rpl community-set attachpoints コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl community-set ext_comm_set_rt_ex1 attachpoints
BGP Attachpoint:Neighbor
Neighbor/Group type afi/safi in/out referring policy attached policy
----------------------------------------------------------------------------
10.0.101.3 -- IPv4/uni in policy_2 policy_2
フィールド |
説明 |
---|---|
BGP Attachpoint |
付加ポイントの場所。 |
Neighbor/Group |
ネイバー上の付加ポイントの IP アドレス。 |
type |
アドレス ファミリ モードを表示します。 |
afi/safi |
アドレス ファミリ ID または後続のアドレス ファミリ ID。 |
in/out |
ポリシーをインポートまたはエクスポートします。 |
referring policy |
AS パス セットを参照するポリシー。 |
attached policy |
付加ポイントで使用されるポリシー。 |
名前付きコミュニティ セットを参照するポリシーをすべてリストするには、 XR EXEC モード で show rpl community-set references コマンドを使用します。
show rpl community-set name references [brief]
name |
コミュニティ セットの名前。 |
brief |
(任意)出力を、コミュニティ セットに関する詳細情報ではなく、要約表だけに制限します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
名前付きコミュニティ セットを参照するポリシーをすべて表示するには、show rpl community-set references コマンドを使用します。
出力を、コミュニティ セットに関する詳細情報ではなく、要約表だけに制限するには、任意の brief キーワードを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! route-policy policy_2 if (destination in prefix_set_ex1) then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy
この設定例では、 show rpl extcommunity-set comm_set_ex1 references コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl extcommunity-set comm_set_ex1 references
Usage Direct -- Reference occurs in this policy
Usage Indirect -- Reference occurs via an apply statement
Status UNUSED -- Policy is not in use at an attachpoint (unattached)
Status ACTIVE -- Policy is actively used at an attachpoint
Status INACTIVE -- Policy is applied by an unattached policy
Usage/Status count
--------------------------------------------------------------
Direct 1
Indirect 0
ACTIVE 1
INACTIVE 0
UNUSED 0
route-policy usage policy status
--------------------------------------------------------------
policy_2 Direct ACTIVE
フィールド |
説明 |
---|---|
Usage/Status |
コミュニティ セットを参照するすべてのポリシーの使用方法とステータスを表示します。 使用方法の値は Direct または Indirect です。 ステータスの値は、ACTIVE、INACTIVE、および UNUSED です。 |
count |
それぞれの使用方法とステータスのオプションと一致するポリシーの数。 |
route-policy |
コミュニティ セットを参照するルート ポリシーの名前。 |
usage |
ポリシーの使用方法のタイプ。 |
policy status |
ポリシーのステータス。 |
拡張コミュニティ セットの設定を表示するには、 XR EXEC モード で show rpl extcommunity-set コマンドを使用します。
show rpl extcommunity-set [ name [ attachpoints | references ] ] [ cost | rt | soo ] [name] [brief] [states]
name |
(任意)コミュニティ セットの名前。 |
attachpoints |
(任意)このコミュニティ セットの付加ポイントをすべて表示します。 |
references |
(任意)このコミュニティ セットを使用するポリシーをすべて表示します。 |
cost |
(任意)すべての拡張コミュニティ コスト セットを表示します。 |
rt |
(任意)すべての拡張コミュニティ RT セットを表示します。 |
soo |
(任意)すべての拡張コミュニティ SoO セットを表示します。 |
brief |
(任意)表示を、設定なしの拡張コミュニティ セットすべての名前のリストに制限します。 |
states |
(任意)すべての未使用ステート、非アクティブ ステート、およびアクティブ ステートを表示します。 |
付加ポイントも参照も指定されていない場合は、設定済みのすべての拡張コミュニティ セットが表示されます
コスト、RT、SoO のどれも指定されていない場合は、設定済みのすべての拡張コミュニティ セットが表示されます
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
表示を、設定なしの拡張コミュニティ セットの名前のリストに制限するには、任意の brief キーワードを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次の例では、ext_comm_set_rt_ex1 という名前の RT コミュニティ セットについて、拡張コミュニティの設定が表示されます。
RP/0/RP0/CPU0:router# show rpl extcommunity-set rt ext_comm_set_rt_ex1
ext_comm_set_rt_ex1
1.2.3.4:34
end-set
!
次の例では、拡張コミュニティの設定がすべての RT セット オブジェクトとともに表示されます。
RP/0/RP0/CPU0:router# show rpl extcommunity-set rt
Listing for all Extended Community RT Set objects
extcommunity-set rt extrt1
66:60001
end-set
!
extcommunity-set rt rtset1
10:615,
10:6150,
15.15.15.15:15
end-set
!
extcommunity-set rt rtset3
11:11,
11.1.1.1:3
end-set
!
extcommunity-set rt extsoo1
66:70001
end-set
!
extcommunity-set rt rtsetl1
100:121,
100:122,
100:123,
100:124,
100:125,
100:126,
100:127,
100:128,
7.7.7.7:21
end-set
!
次の例では、拡張コミュニティの設定がすべてのコスト セット オブジェクトとともに表示されます。
RP/0/RP0/CPU0:router# show rpl extcommunity-set cost
Listing for all Extended Community COST Set objects
extcommunity-set cost costset1
IGP:90:914,
Pre-Bestpath:91:915
end-set
!
extcommunity-set cost costset2
IGP:92:916,
Pre-Bestpath:93:917,
IGP:94:918,
Pre-Bestpath:95:919
end-set
!
次の例では、拡張コミュニティの設定がすべての SoO セット オブジェクトとともに表示されます。
Extended Community SOO Set objects extcommunity-set soo sooset1 10:151, 100.100.100.1:153 end-set ! extcommunity-set soo sooset3 11:11, 11.1.1.1:3 end-set !
あるポリシーによって参照されているが、付加ポイントで使用されているどのポリシー内にもない AS パス セットを表示するには、 XR EXEC モード で show rpl inactive as-path-set コマンドを使用します。
show rpl inactive as-path-set [detail]
detail |
(任意)非アクティブな AS パス セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
付加ポイントで直接または間接的に使用中ではないが、システム内の少なくとも 1 つのポリシーによって参照されている AS パス セットをすべて表示するには、show rpl inactive as-path-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! route-policy sample if (destination in sample) then drop endif end-policy ! route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy ! route-policy policy_2 if destination in prefix_set_ex1 then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity rt matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy ! route-policy policy_3 if (destination in prefix_set_ex2) then set local-preference 100 endif if (as-path in as_path_set_ex2) then set community (10:333) additive endif end-policy ! route-policy policy_4 if (destination in prefix_set_ex2) then if (community matches-any comm_set_ex2) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex2) then set community (10:999) additive endif endif end-policy ! route-policy policy_5 apply sample1 apply policy_3 end-policy
この設定例では、 show rpl inactive as-path-set コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl inactive as-path-set
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following as-path-sets are INACTIVE
---------------------------------------
as_path_set_ex2
あるポリシーによって参照されているが、付加ポイントで使用されているポリシーによっては参照されていないコミュニティ セットを表示するには、 XR EXEC モード で show rpl inactive community-set コマンドを使用します。
show rpl inactive community-set [detail]
detail |
(任意)非アクティブなコミュニティ セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
付加ポイントで直接または間接的に使用中ではないが、システム内の少なくとも 1 つのポリシーによって参照されているコミュニティ セットをすべて表示するには、show rpl inactive community-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! route-policy sample2 if (destination in sample2) then drop endif end-policy ! route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy ! route-policy policy_2 if destination in prefix_set_ex1 then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity rt matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy ! route-policy policy_3 if (destination in prefix_set_ex2) then set local-preference 100 endif if (as-path in as_path_set_ex2) then set community (10:333) additive endif end-policy ! route-policy policy_4 if (destination in prefix_set_ex2) then if (community matches-any comm_set_ex2) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex2) then set community (10:999) additive endif endif end-policy ! route-policy policy_5 apply sample2 apply policy_3 end-policy
この設定例では、 show rpl inactive community-set コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl inactive community-set
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following community-sets are INACTIVE
------------------------------------------
comm_set_ex2
あるポリシーによって参照されているが、付加ポイントで使用されているどのポリシー内にもない拡張コミュニティ セットを表示するには、 XR EXEC モード で show rpl inactive extcommunity-set コマンドを使用します。
show rpl inactive extcommunity-set [detail]
detail |
(任意)非アクティブな拡張コミュニティ セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
付加ポイントで直接または間接的に使用中ではないが、システム内の少なくとも 1 つのポリシーによって参照されている拡張コミュニティ セットをすべて表示するには、show rpl inactive extcommunity-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! route-policy sample3 if (destination in sample3) then drop endif end-policy ! route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy ! route-policy policy_2 if destination in prefix_set_ex1 then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity rt matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy ! route-policy policy_3 if (destination in prefix_set_ex2) then set local-preference 100 endif if (as-path in as_path_set_ex2) then set community (10:333) additive endif end-policy ! route-policy policy_4 if (destination in prefix_set_ex2) then if (community matches-any comm_set_ex2) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex2) then set community (10:999) additive endif endif end-policy ! route-policy policy_5 apply sample3 apply policy_3 end-policy
この設定例では、 show rpl inactive extcommunity-set コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl inactive extcommunity-set
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following extcommunity-sets are INACTIVE
--------------------------------------------
ext_comm_set_rt_ex2
あるポリシーによって参照されているが、付加ポイントで使用されているどのポリシー内にもないプレフィックス セットを表示するには、 XR EXEC モード で show rpl inactive prefix-set コマンドを使用します。
show rpl inactive prefix-set [detail]
detail |
(任意)非アクティブなプレフィックス セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
付加ポイントで直接または間接的に使用中ではないが、システム内の少なくとも 1 つのポリシーによって参照されているプレフィックス セットをすべて表示するには、show rpl inactive prefix-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! route-policy sample4 if (destination in sample4) then drop endif end-policy ! route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy ! route-policy policy_2 if destination in prefix_set_ex1 then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity rt matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy ! route-policy policy_3 if (destination in prefix_set_ex2) then set local-preference 100 endif if (as-path in as_path_set_ex2) then set community (10:333) additive endif end-policy ! route-policy policy_4 if (destination in prefix_set_ex2) then if (community matches-any comm_set_ex2) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex2) then set community (10:999) additive endif endif end-policy ! route-policy policy_5 apply sample4 apply policy_3 end-policy
この設定例では、 show rpl inactive prefix-set コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl inactive prefix-set
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following prefix-sets are INACTIVE
--------------------------------------
sample4
prefix_set_ex2
あるポリシーによって参照されているが、付加ポイントで使用されているどのポリシー内にもないルート識別子(RD)セットを表示するには、 XR EXEC モード で show rpl inactive rd-set コマンドを使用します。
show rpl inactive rd-set [detail]
detail |
(任意)非アクティブな RD セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
付加ポイントで直接または間接的に使用中ではないが、システム内の少なくとも 1 つのポリシーによって参照されている RD セットをすべて表示するには、show rpl inactive rd-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
rd-set rdset1 10:151, 100.100.100.1:153, 100.100.100.62/31:63 end-set ! rd-set rdset2 10:152, 100.100.100.1:154, 100.100.100.62/31:89 end-set !
この設定例では、 show rpl inactive rd-set コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl inactive rd-set
ACTIVE -- Referenced by at least one policy which is attached INACTIVE -- Only referenced by policies which are not attached UNUSED -- Not attached (directly or indirectly) and not referenced
The following rd-sets are INACTIVE
------------------------------------------
rdset1
rdset2
あるポリシーによって参照されているが、付加ポイントで使用されているどのポリシー内にもないルート ポリシーを表示するには、 XR EXEC モード で show rpl inactive route-policy コマンドを使用します。
show rpl inactive route-policy [detail]
detail |
(任意)非アクティブなルート ポリシーのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
付加ポイントで直接または間接的に使用中ではないが、システム内の少なくとも 1 つの他のポリシーによって参照されているポリシーをすべて表示するには、show rpl inactive route-policy コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! route-policy sample3 if (destination in sample3) then drop endif end-policy ! route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy ! route-policy policy_2 if destination in prefix_set_ex1 then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity rt matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy ! route-policy policy_3 if (destination in prefix_set_ex2) then set local-preference 100 endif if (as-path in as_path_set_ex2) then set community (10:333) additive endif end-policy ! route-policy policy_4 if (destination in prefix_set_ex2) then if (community matches-any comm_set_ex2) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex2) then set community (10:999) additive endif endif end-policy ! route-policy policy_5 apply sample3 apply policy_3 end-policy
この設定例では、 show rpl inactive route-policy コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl inactive route-policy
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following policies are (INACTIVE)
-------------------------------------
sample3
policy_3
設定の行とポリシーの数の最大制限を表示するには、 XR EXEC モード で show rpl maximum コマンドを使用します。
show rpl maximum [ lines | policies ]
lines |
(任意)設定の行数制限を設定します。 |
policies |
(任意)ポリシー数制限を設定します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
設定の行およびポリシーの現在の合計、現在の制限、および最大制限を表示するには、show rpl maximum コマンドを使用します。
表示を設定の行数制限に制限するには、任意の lines キーワードを使用します。表示をポリシー数制限に制限するには、任意の policies キーワードを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、show rpl maximum コマンドの出力例を示します。
RP/0/RP0/CPU0:router# show rpl maximum
Current Current Max
Total Limit Limit
------------------------------------------------------------
Lines of configuration 3 65536 131072
Policies 1 3500 5000
Compiled policies size (kB) 0
表 1 に、この出力で表示される重要なフィールドの説明を示します。
フィールド |
説明 |
---|---|
Lines of configuration |
ポリシーの行の現在の合計、現在の制限、および最大制限を表示します。 |
Policies |
ポリシーの現在の合計、現在の制限、および最大制限を表示します。 |
Compiled policies size (kB) |
ポリシーの現在のコンパイル済み合計を KB 単位で表示します。 |
policy-global 定義を表示するには、 XR EXEC モード で show rpl policy-global references コマンドを使用します。
show rpl policy-global references [brief]
brief |
(任意)表示を、ポリシー名のリストに制限します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
このコマンドの使用に影響する特定のガイドラインはありません。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
policy-global infinity '16' end-global ! route-policy set-rip-unreachable set rip-metric $infinity end-policy !
この設定例では、 show rpl policy-global references コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl policy-global references
Usage Direct -- Reference occurs in this policy Usage Indirect -- Reference occurs via an apply statement
Status UNUSED -- Policy is not in use at an attachpoint (unattached) Status ACTIVE -- Policy is actively used at an attachpoint Status INACTIVE -- Policy is applied by an unattached policy
Usage/Status count
--------------------------------------------------------------
Direct 1
Indirect 0
ACTIVE 0
INACTIVE 0
UNUSED 1
Usage Status Route-policy
--------------------------------------------------------------
Direct UNUSED set-rip-unreachable
プレフィックス セットの設定を表示するには、 XR EXEC モード で show rpl prefix-set コマンドを使用します。
show rpl prefix-set [ name | states | brief ]
name |
(任意)プレフィックス セットの名前。 |
states |
(任意)すべての未使用ステート、非アクティブ ステート、およびアクティブ ステートを表示します。 |
brief |
(任意)表示を、設定なしの拡張コミュニティ セットすべての名前のリストに制限します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
セットは他のセットまたはポリシーを階層的に参照できないため、show rpl policy コマンドと同様に detail キーワードは存在しません。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次の例では、プレフィックス セット pset1 の設定が表示されます。
RP/0/RP0/CPU0:router# show rpl prefix-set pset1
!
prefix-set pset1
10.0.0.1/0,
10.0.0.2/0 ge 25 le 32,
10.0.0.5/8 ge 8 le 32,
10.168.0.0/16 ge 16 le 32,
172.16.0.9/20 ge 20 le 32,
192.168.0.5/20 ge 20 le 32
end-set
名前付きプレフィックス セットを参照する、付加ポイントで使用されるポリシーをすべて表示するには、 XR EXEC モード で show rpl prefix-set attachpoints コマンドを使用します。
show rpl prefix-set name attachpoints
name |
プレフィックス セットの名前。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
名前付きプレフィックス セットを直接または間接的に参照する、付加ポイントで使用されるポリシーをすべて表示するには、show rpl prefix-set attachpoints コマンドを使用します。
プレフィックス セット名は必須です。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy ! route-policy policy_2 if (destination in prefix_set_ex1) then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy
この設定例では、 show rpl prefix-set prefix_set_ex1 attachpoints コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl prefix-set prefix_set_ex1 attachpoints
BGP Attachpoint:Neighbor
Neighbor/Group type afi/safi in/out referring policy attached policy
----------------------------------------------------------------------------
10.0.101.2 -- IPv4/uni in policy_1 policy_1
10.0.101.3 -- IPv4/uni in policy_2 policy_2
フィールド |
説明 |
---|---|
BGP Attachpoint |
付加ポイントの場所。 |
Neighbor/Group |
ネイバー上の付加ポイントの IP アドレス。 |
type |
アドレス ファミリ モード。 |
afi/safi |
アドレス ファミリ ID または後続のアドレス ファミリ ID。 |
in/out |
ポリシーをインポートまたはエクスポートします。 |
referring policy |
AS パス セットを参照するポリシー。 |
attached policy |
付加ポイントで使用されるポリシー。 |
名前付きプレフィックス セットを参照するポリシーをすべてリストするには、 XR EXEC モード で show rpl prefix-set references コマンドを使用します。
show rpl prefix-set name references [brief]
name |
プレフィックス セットの名前。 |
brief |
(任意)出力を、名前付きプレフィックス セットに関する詳細情報ではなく、要約表だけに制限します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
名前付きプレフィックス セットを参照するポリシーをすべてリストするには、show rpl prefix-set references コマンドを使用します。
出力を、名前付きプレフィックス セットに関する詳細情報ではなく、要約表だけに制限するには、任意の brief キーワードを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
prefix-set ten-net 10.0.0.0/16 le 32 end-set prefix-set too-specific 0.0.0.0/0 ge 25 le 32 end-set route-policy example-one if destination in ten-net then drop else set local-preference 200 apply set-comms endif end-policy route-policy set-comms set community (10:1234) additive end-policy route-policy example-three if destination in too-specific then drop else apply example-one pass endif end-policy
次の例では、プレフィックス セット ten-net を参照する各ポリシーの使用方法とステータスを示す情報を表示します。 brief キーワードは、表示を、プレフィックス セットに関する詳細情報ではなく、要約表だけに制限します。
RP/0/RP0/CPU0:router# show rpl prefix-set ten-net references brief
Usage Direct -- Reference occurs in this policy
Usage Indirect -- Reference occurs via an apply statement
Status UNUSED -- Policy is not in use at an attachpoint (unattached)
Status ACTIVE -- Policy is actively used at an attachpoint
Status INACTIVE -- Policy is applied by an unattached policy
Usage/Status count
-------------------------------------------------------------
Direct 1
Indirect 1
ACTIVE 0
INACTIVE 1
UNUSED 1
フィールド |
説明 |
---|---|
Usage/Status |
プレフィックス セットを参照するすべてのポリシーの使用方法とステータスを表示します。 |
count |
それぞれの使用方法とステータスのオプションと一致するポリシーの数。 |
ルート識別子(RD)セットの設定を表示するには、 XR EXEC モード で show rpl rd-set コマンドを使用します。
show rpl rd-set [ name | states | brief ]
name |
(任意)RD セットの名前。 |
states |
(任意)すべての未使用ステート、非アクティブ ステート、およびアクティブ ステートを表示します。 |
brief |
(任意)表示を、設定なしの RD セットすべての名前のリストに制限します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
セットは他のセットまたはポリシーを階層的に参照できないため、show rpl policy コマンドと同様に detail キーワードは存在しません。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次の例では、RD セット rdset1 の設定が表示されます。
RP/0/RP0/CPU0:router# show rpl rd-set rdset1
rd-set rdset1
10:151,
100.100.100.1:153,
100.100.100.62/31:63
end-set
名前付きルート識別子(RD)セットを参照する、付加ポイントで使用されるポリシーをすべて表示するには、 XR EXEC モード で show rpl rd-set attachpoints コマンドを使用します。
show rpl rd-set name attachpoints
name |
RD セットの名前。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
名前付き RD セットを直接または間接的に参照する、付加ポイントで使用されるポリシーをすべて表示するには、show rpl rd-set attachpoints コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
route-policy rdsetmatch if rd in rdset1 then set community (10:112) elseif rd in rdset2 then set community (10:223) endif end-policy router bgp 10 address-family vpnv4 unicast exit neighbor 10.0.101.1 remote-as 11 address-family vpnv4 unicast route-policy rdsetmatch in !
この設定例では、 show rpl rd-set rdset1 attachpoints コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl rd-set rdset attachpoints
BGP Attachpoint: Neighbor
Neighbor/Group type afi/safi in/out vrf name
--------------------------------------------------
10.0.101.1 -- IPv4/vpn in default
フィールド |
説明 |
---|---|
Neighbor/Group |
指定された RD が使用される BGP ネイバーまたはネイバー グループ。 |
afi/safi |
RD セットが使用される BGP アドレス ファミリまたはサブアドレス ファミリ。 |
in/out |
方向 |
vrf name |
RD セットが使用される VRF 名。 |
名前付きルート識別子(RD)セットを参照するポリシーをすべてリストするには、 XR EXEC モード で show rpl rd-set references コマンドを使用します。
show rpl rd-set name references [brief]
name |
RD セットの名前。 |
brief |
(任意)出力を、RD セットに関する詳細情報ではなく、要約表だけに制限します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
名前付き RD セットを参照するポリシーをすべてリストするには、show rpl rd-set references コマンドを使用します。
出力を、名前付き RD セットに関する詳細情報ではなく、要約表だけに制限するには、任意の brief キーワードを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
route-policy rdsetmatch if rd in rdset1 then set community (10:112) elseif rd in rdset2 then set community (10:223) endif end-policy ! router bgp 10 address-family vpnv4 unicast ! neighbor 10.0.101.1 remote-as 11 address-family vpnv4 unicast route-policy rdsetmatch in !
この設定例では、 show rpl rd-set rdset1 references コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl rd-set rdset1 references
Usage Direct -- Reference occurs in this policy
Usage Indirect -- Reference occurs via an apply statement
Status UNUSED -- Policy is not in use at an attachpoint (unattached)
Status ACTIVE -- Policy is actively used at an attachpoint
Status INACTIVE -- Policy is applied by an unattached policy
Usage/Status count
--------------------------------------------------------------
Direct 1
Indirect 0
ACTIVE 1
INACTIVE 0
UNUSED 0
route-policy usage policy status
--------------------------------------------------------------
rdsetmatch Direct ACTIVE
フィールド |
説明 |
---|---|
route-policy |
ルート ポリシーの名前。 |
usage |
ルート ポリシーの参照使用方法のタイプ。 |
policy status |
ルート ポリシーのステータス。 |
ルート ポリシーの設定を表示するには、 XR EXEC モード で show rpl route-policy コマンドを使用します。
show rpl route-policy [ name [detail] | states | brief ]
name |
(任意)ルート ポリシーの名前。 |
detail |
(任意)ポリシーが使用するすべてのポリシーとセットの設定を表示します。 |
states |
(任意)すべての未使用ステート、非アクティブ ステート、およびアクティブ ステートを表示します。 |
brief |
(任意)表示を、設定なしの拡張コミュニティ セットすべての名前のリストに制限します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
表示を、設定なしのポリシーの名前のリストに制限するには、任意の brief キーワードを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次の例では、policy_1 という名前のルート ポリシーの設定が表示されます。
RP/0/RP0/CPU0:router# show rpl route-policy policy_1
route-policy policy_1
if destination in prefix_set_1 and not destination in sample1 then
if as-path in aspath_set_1 then
set local-preference 300
set origin igp
elseif as-path in as_allowed then
set local-preference 400
set origin igp
else
set origin igp
endif
else
drop
endif
set med 120
set community (8660:612) additive
apply set_lpref_from_comm
end-policy
任意の detail キーワードを使用すると、次の例で示すように、ルート ポリシー policy_1 が使用するすべてのルーティング ポリシー言語(RPL)ポリシーとセットが表示されます。
RP/0/RP0/CPU0:router# show rpl route-policy policy_1 detail
!
prefix-set sample1
0.0.0.0/0,
0.0.0.0/0 ge 25 le 32,
10.0.0.0/8 ge 8 le 32,
192.168.0.0/16 ge 16 le 32,
224.0.0.0/20 ge 20 le 32,
240.0.0.0/20 ge 20 le 32
end-set
!
prefix-set prefix_set_1
10.0.0.1/24 ge 24 le 32,
10.0.0.5/24 ge 24 le 32,
172.16.0.1/24 ge 24 le 32,
172.16.5.5/24 ge 24 le 32,
172.16.20.10/24 ge 24 le 32,
172.30.0.1/24 ge 24 le 32,
10.0.20.10/24 ge 24 le 32,
172.18.0.5/24 ge 24 le 32,
192.168.0.1/24 ge 24 le 32,
192.168.20.10/24 ge 24 le 32,
192.168.200.10/24 ge 24 le 32,
192.168.255.254/24 ge 24 le 32
end-set
!
as-path-set as_allowed
ios-regex '.* _1239_ .*',
ios-regex '.* _3561_ .*',
ios-regex '.* _701_ .*',
ios-regex '.* _666_ .*',
ios-regex '.* _1755_ .*',
ios-regex '.* _1756_ .*'
end-set
!
as-path-set aspath_set_1
ios-regex '_9148_',
ios-regex '_5870_',
ios-regex '_2408_',
ios-regex '_2531_',
ios-regex '_197_',
ios-regex '_2992_'
end-set
!
route-policy set_lpref_from_comm
if community matches-any (2:50) then
set local-preference 50
elseif community matches-any (2:60) then
set local-preference 60
elseif community matches-any (2:70) then
set local-preference 70
elseif community matches-any (2:80) then
set local-preference 80
elseif community matches-any (2:90) then
set local-preference 90
endif
end-policy
!
route-policy policy_1
if destination in prefix_set_1 and not destination in sample1 then
if as-path in aspath_set_1 then
set local-preference 300
set origin igp
elseif as-path in as_allowed then
set local-preference 400
set origin igp
else
set origin igp
endif
else
drop
endif
set med 120
set community (8660:612) additive
apply set_lpref_from_comm
end-policy
名前付きポリシーを参照する、付加ポイントで使用されるポリシーをすべて表示するには、 XR EXEC モード で show rpl route-policy attachpoints コマンドを使用します。
show rpl route-policy name attachpoints
name |
ポリシーの名前。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
名前付きポリシーを直接または間接的に参照する、付加ポイントで使用されるポリシーをすべて表示するには、show rpl route-policy attachpoints コマンドを使用します。
ポリシー名は必須です。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! RP/0/RP0/CPU0:router# show rpl route-policy policy_1 route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy ! RP/0/RP0/CPU0:router# show rpl route-policy policy_2 route-policy policy_2 if (destination in prefix_set_ex1) then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy !
RP/0/RP0/CPU0:router# show rpl route-policy policy_2 attachpoints
BGP Attachpoint: Neighbor
Neighbor/Group type afi/safi in/out vrf name
--------------------------------------------------
10.0.101.2 -- IPv4/uni in default
10.0.101.2 -- IPv4/uni out default
フィールド |
説明 |
---|---|
BGP Attachpoint |
付加ポイントの場所。 |
Neighbor/Group |
ネイバー上の付加ポイントの IP アドレス。 |
type |
アドレス ファミリ モードを表示します。 |
afi/safi |
アドレス ファミリ ID または後続のアドレス ファミリ ID。 |
vrf name |
VPN ルーティング/転送(VRF)インスタンスの名前。 |
ポリシーが拡張インラインを使用するポリシーとセットをすべて表示するには、 XR EXEC モード で show rpl route-policy inline コマンドを使用します。
show rpl route-policy name inline
name |
ポリシーの名前。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
指定されたルート ポリシーの設定を調べるには、show rpl route-policy inline コマンドを使用します。ポリシーが使用するポリシーとセットはすべてひとまとめにされ、拡張インライン化表示されます。
ポリシー名は必須です。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次のコマンドは、ルート ポリシー policy_1 を表示します。
RP/0/RP0/CPU0:router# show rpl route-policy policy_1
!
route-policy policy_1
if destination in prefix_set_1 and not destination in martians then
if as-path in aspath_set_1 then
set local-preference 300
set origin igp
elseif as-path in as_allowed then
set local-preference 400
set origin igp
else
set origin igp
endif
else
drop
endif
set med 120
set community (8660:612) additive
apply set_lpref_from_comm
end-policy
次のコマンドは、ルート ポリシー policy_1 と、このルート ポリシーが参照するその他すべてのセットまたはポリシーをインライン化表示します。inline キーワードを追加すると、ルート ポリシー policy_1 が使用するすべての RPL オブジェクトの設定がインライン化表示されます。
RP/0/RP0/CPU0:router#show rpl policy policy_1 inline
route-policy policy_1
if destination in (91.5.152.0/24 ge 24 le 32, 91.220.152.0/24 ge 24 le 32, 61.106.52.0/24 ge 24 le 32, 222.168.199.0/24
ge 24 le 32, 93.76.114.0/24 ge 24 le 32, 41.195.116.0/24 ge 24 le 32, 35.92.152.0/24 ge 24 le 32, 143.144.96.0/24 ge 24
le 32, 79.218.81.0/24 ge 24 le 32, 75.213.219.0/24 ge 24 le 32, 178.220.61.0/24 ge 24 le 32, 27.195.65.0/24 ge 24 le 32)
and not destination in (0.0.0.0/0, 0.0.0.0/0 ge 25 le 32, 10.0.0.0/8 ge 8 le 32, 192.168.0.0/16 ge 16 le 32, 224.0.0.0/20
ge 20 le 32, 240.0.0.0/20 ge 20 le 32) then
if as-path in (ios-regex '_9148_', ios-regex '_5870_', ios-regex '_2408_', ios-regex '_2531_', ios-regex '_197_',
ios-regex '_2992_') then
set local-preference 300
set origin igp
elseif as-path in
(ios-regex '.* _1239_ .*', ios-regex '.* _3561_ .*', ios-regex '.* _701_ .*', ios-regex '.* _666_ .*', ios-regex '.* _1755_ .*',
ios-regex '.* _1756_ .*') then
set local-preference 400
set origin igp
else
set origin igp
endif
else
drop
endif
set med 120
set community (8660:612) additive
# apply set_lpref_from_comm
if community matches-any (2:50) then
set local-preference 50
elseif community matches-any (2:60) then
set local-preference 60
elseif community matches-any (2:70) then
set local-preference 70
elseif community matches-any (2:80) then
set local-preference 80
elseif community matches-any (2:90) then
set local-preference 90
endif
# end-apply set_lpref_from_comm
end-policy
名前付きポリシーを参照するポリシーをすべてリストするには、 XR EXEC モード で show rpl route-policy references コマンドを使用します。
show rpl route-policy name references [brief]
name |
プレフィックス セットの名前。 |
brief |
(任意)出力を、名前付きポリシーに関する詳細情報ではなく、要約表だけに制限します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
名前付きポリシーを参照するポリシーをすべてリストするには、show rpl route-policy references コマンドを使用します。
出力を、ポリシーに関する詳細情報ではなく、要約表だけに制限するには、任意の brief キーワードを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
prefix-set ten-net 10.0.0.0/16 le 32 end-set prefix-set too-specific 0.0.0.0/0 ge 25 le 32 end-set route-policy example-one if destination in ten-net then drop else set local-preference 200 apply set-comms endif end-policy route-policy set-comms set community (10:1234) additive end-policy route-policy example-three if destination in too-specific then drop else apply example-one pass endif end-policy
次のコマンドは、ポリシー set-comms に関する情報と、このポリシーがどのように参照されるかを表示します。
RP/0/RP0/CPU0:router# show rpl route-policy set-comms references
Usage Direct -- Reference occurs in this policy
Usage Indirect -- Reference occurs via an apply statement
Status UNUSED -- Policy is not in use at an attachpoint (unattached)
Status ACTIVE -- Policy is actively used at an attachpoint
Status INACTIVE -- Policy is applied by an unattached policy
Usage/Status count
--------------------------------------------------------------
Direct 1
Indirect 1
ACTIVE 0
INACTIVE 1
UNUSED 1
route-policy usage policy status
--------------------------------------------------------------
example-one Direct INACTIVE
example-three Indirect UNUSED
使用方法 Direct は、ルート ポリシー example-one がポリシー set-comms に直接適用されること(つまり、example-one には、形式 apply set-comms の行があること)を示します。使用方法 Indirect は、ルート ポリシー example-three が、ルート ポリシー set-comms を直接適用しないことを示しています。ただし、ルート ポリシー example-three はポリシー example-one を適用します。このルート ポリシーは、次にポリシー set-comms を適用するため、example-three からルート ポリシー set-comms への間接参照が存在します。
Status 列は、3 つのステートのうち 1 つを示しています。ポリシーは、付加ポイントで使用中の場合はアクティブです。上の例では、example-one も example-three も付加ポイントで使用中ではないため、考えられるステートは UNUSED または INACTIVE の 2 つが残ります。ルート ポリシー example-one は、このルート ポリシーを参照する他のポリシー(example-three)があるため非アクティブですが、example-one も、example-one を参照しているどのポリシーも付加ポイントで使用中ではありません。ルート ポリシー example-three は付加ポイントで使用されておらず、システム内の他のルート ポリシーはこのルート ポリシーを参照していないため、このルート ポリシーのステータスは未使用です。
フィールド |
説明 |
---|---|
Usage/Status |
指定されたポリシーを参照するすべてのポリシーの使用方法とステータスを表示します。 使用方法の値は Direct または Indirect です。 ステータスの値は、ACTIVE、INACTIVE、および UNUSED です。 |
count |
それぞれの使用方法とステータスのオプションと一致するポリシーの数。 |
route-policy |
指定されたポリシーを参照する複数のポリシーの 1 つの名前。 |
usage |
ポリシーの使用方法のタイプ。 |
policy status |
ポリシーのステータス。 |
指定された名前付きポリシーに関する情報を表示するには、 XR EXEC モード で show rpl route-policy uses コマンドを使用します。
show rpl route-policy name uses { policies | sets | all } [direct]
name |
ポリシーの名前。 |
policies |
名前付きポリシーが使用するすべてのポリシーのリストを生成します。 |
sets |
ポリシーによって使用される名前付きセットをすべてリストします。 |
all |
名前付きポリシーが参照するセットとポリシーの両方のリストを生成します。 |
direct |
(任意)名前付きポリシー ブロックで直接使用されるポリシーまたはセットだけをリストします。apply ステートメントの結果として発生するセットまたはポリシー参照はリストされません。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
指定された名前付きポリシーに関する情報を表示するには、show rpl route-policy uses コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
prefix-set ten-net 10.0.0.0/16 le 32 end-set prefix-set too-specific 0.0.0.0/0 ge 25 le 32 end-set route-policy example-one if destination in ten-net then drop else set local-preference 200 apply set-comms endif end-policy route-policy set-comms set community (10:1234) additive end-policy route-policy example-three if destination in too-specific then drop else apply example-one pass endif end-policy
次のコマンドは、ポリシー one と set-comms をリストします。また、プレフィックス セット too-specific と ten-net をリストします。
RP/0/RP0/CPU0:router# show rpl route-policy example-three uses all
Policies directly and indirectly applied by this policy:
----------------------------------------------------------
example-one set-comms
Sets referenced directly and indirectly
----------------------------------------
(via applied policies) in this policy:
type prefix-set:
ten-net too-specific
セット example-one と set-comms は、ポリシー example-three によって使用されるポリシーとしてリストされます。ポリシー example-one がリストに表示されているのは、ルート ポリシー example-three によって apply ステートメントで使用されているからです。ポリシー set-comms は、example-one によって適用されるため、これもリストされます。同様に、プレフィックス セット too-specific は、ポリシー example-three の if ステートメントで直接使用され、プレフィックス セット ten-net はポリシー example-one で使用されます。任意の direct キーワードは、次の例に示すように、出力を、example-three ブロック自体の中で使用されるセットとポリシーだけに制限するために使用できます。
RP/0/RP0/CPU0:router# show rpl route-policy example-three uses all direct
Policies directly applied by this policy:
------------------------------------------
example-one
Sets used directly in this policy
------------------------------------
type prefix-set:
too-specific
この出力からわかるように、direct キーワードを使用すると、ルート ポリシー set-comms とプレフィックス セット ten-net は出力に表示されなくなります。このコマンドの direct 形式で考慮されるのは、指定されたルート ポリシーで使用されるセットとポリシー、および apply ステートメントの階層に従った場合に使用される可能性がある追加のポリシーやセットに限定されます。
フィールド |
説明 |
---|---|
type |
ポリシー設定で使用されるタイプを表示します。 type の値は、prefix-set、community-set、extcommunity-set、および as-path-set です。 |
定義済みでも、付加ポイントでポリシーによって使用されていないか、apply ステートメントを使用してポリシーで参照されていない AS パス セットを表示するには、 XR EXEC モード で show rpl unused as-path-set コマンドを使用します。
show rpl unused as-path-set [detail]
detail |
(任意)未使用の AS パス セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ポリシー内の付加ポイントで直接または間接的に使用中ではなく、システム内のどのポリシーによっても参照されていない AS パス セットをすべて表示するには、show rpl unused as-path-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! as-path-set as_path_set_ex1 ios-regex '^_65500_$', ios-regex '^_65501_$' end-set ! as-path-set as_path_set_ex2 ios-regex '^_65502_$', ios-regex '^_65503_$' end-set ! as-path-set as_path_set_ex3 ios-regex '^_65504_$', ios-regex '^_65505_$' end-set ! route-policy sample if (destination in sample) then drop endif end-policy ! route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy ! route-policy policy_2 if (destination in prefix_set_ex1) then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy ! route-policy policy_3 if (destination in prefix_set_ex2) then set local-preference 100 endif if (as-path in as_path_set_ex2) then set community (10:333) additive endif end-policy ! route-policy policy_4 if (destination in prefix_set_ex2) then if (community matches-any comm_set_ex2) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex2) then set community (10:999) additive endif endif end-policy ! route-policy policy_5 apply sample apply policy_3 end-policy
この設定例では、 show rpl unused as-path-set コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl unused as-path-set
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following as-path-sets are UNUSED
-------------------------------------
as_path_set_ex3
定義済みでも、付加ポイントでポリシーによって使用されていないか、apply ステートメントを使用してポリシーで参照されていないコミュニティ セットを表示するには、 XR EXEC モード で show rpl unused community-set コマンドを使用します。
show rpl unused community-set [detail]
detail |
(任意)未使用のコミュニティ セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ポリシー内の付加ポイントで直接または間接的に使用中ではなく、システム内のどのポリシーによっても参照されていないコミュニティ セットをすべて表示するには、show rpl unused community-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! community-set comm_set_ex1 65500:1, 65500:2, 65500:3 end-set ! community-set comm_set_ex2 65501:1, 65501:2, 65501:3 end-set ! community-set comm_set_ex3 65502:1, 65502:2, 65502:3 end-set ! route-policy sample if (destination in sample) then drop endif end-policy ! route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy ! route-policy policy_2 if (destination in prefix_set_ex1) then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy ! route-policy policy_3 if (destination in prefix_set_ex2) then set local-preference 100 endif if (as-path in as_path_set_ex2) then set community (10:333) additive endif end-policy ! route-policy policy_4 if (destination in prefix_set_ex2) then if (community matches-any comm_set_ex2) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex2) then set community (10:999) additive endif endif end-policy ! route-policy policy_5 apply sample apply policy_3 end-policy
この設定例では、 show rpl unused community-set コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl unused community-set
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following community-sets are UNUSED
---------------------------------------
comm_set_ex3
定義済みでも、付加ポイントでポリシーによって使用されていないか、apply ステートメントを使用してポリシーで参照されていない拡張コミュニティ セットを表示するには、 XR EXEC モード で show rpl unused extcommunity-set コマンドを使用します。
show rpl unused extcommunity-set [ cost | detail | rt | soo ]
cost |
(任意)未使用の拡張コミュニティ コスト オブジェクトを表示します。 |
rt |
(任意)未使用の拡張コミュニティ RT オブジェクトを表示します。 |
soo |
(任意)未使用の拡張コミュニティ SoO オブジェクトを表示します。 |
detail |
(任意)未使用の拡張コミュニティ セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ポリシー内の付加ポイントで直接または間接的に使用中ではなく、システム内のどのポリシーによっても参照されていない拡張コミュニティ セットをすべて表示するには、show rpl unused extcommunity-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、show rpl unused extcommunity-set コマンドの出力例を示します。
RP/0/RP0/CPU0:router:router# show rpl unused extcommunity-set
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following extcommunity-sets are UNUSED
------------------------------------------
ext_comm_set_ex3
定義済みでも、付加ポイントでポリシーによって使用されていないか、apply ステートメントを使用してポリシーで参照されていないプレフィックス セットを表示するには、 XR EXEC モード で show rpl unused prefix-set コマンドを使用します。
show rpl unused prefix-set [detail]
detail |
(任意)未使用のプレフィックス セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ポリシー内の付加ポイントで直接または間接的に使用中ではなく、システム内のどのポリシーによっても参照されていないプレフィックス セットをすべて表示するには、show rpl unused prefix-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
router bgp 2 address-family ipv4 unicast ! neighbor 10.0.101.2 remote-as 100 address-family ipv4 unicast route-policy policy_1 in ! ! neighbor 10.0.101.3 remote-as 12 address-family ipv4 unicast route-policy policy_2 in ! ! ! prefix-set sample 0.0.0.0/0, 0.0.0.0/0 ge 25 le 32, 10.0.0.0/8 ge 8 le 32, 192.168.0.0/16 ge 16 le 32, 224.0.0.0/20 ge 20 le 32, 240.0.0.0/20 ge 20 le 32 end-set ! prefix-set prefix_set_ex1 10.0.0.0/16 ge 16 le 32, 0.0.0.0/0 ge 25 le 32, 0.0.0.0/0 end-set ! prefix-set prefix_set_ex2 220.220.220.0/24 ge 24 le 32, 220.220.120.0/24 ge 24 le 32, 220.220.130.0/24 ge 24 le 32 end-set ! prefix-set prefix_set_ex3 221.221.220.0/24 ge 24 le 32, 221.221.120.0/24 ge 24 le 32, 221.221.130.0/24 ge 24 le 32 end-set ! route-policy sample if (destination in sample) then drop endif end-policy ! route-policy policy_1 if (destination in prefix_set_ex1) then set local-preference 100 endif if (as-path in as_path_set_ex1) then set community (10:333) additive endif end-policy ! route-policy policy_2 if (destination in prefix_set_ex1) then if (community matches-any comm_set_ex1) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex1) then set community (10:999) additive endif endif end-policy ! route-policy policy_3 if (destination in prefix_set_ex2) then set local-preference 100 endif if (as-path in as_path_set_ex2) then set community (10:333) additive endif end-policy ! route-policy policy_4 if (destination in prefix_set_ex2) then if (community matches-any comm_set_ex2) then set community (10:666) additive endif if (extcommunity matches-any ext_comm_set_rt_ex2) then set community (10:999) additive endif endif end-policy ! route-policy policy_5 apply sample apply policy_3 end-policy -------------------------- ext_comm_set_ex3
この設定例では、 show rpl unused prefix-set コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl unused prefix-set
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following prefix-sets are UNUSED
------------------------------------
prefix_set_ex3
定義済みでも、付加ポイントでポリシーによって使用されていないか、apply ステートメントを使用してポリシーで参照されていないルート識別子(RD)セットを表示するには、 XR EXEC モード で show rpl unused rd-set コマンドを使用します。
show rpl unused rd-set [detail]
detail |
(任意)未使用の RD セットのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ポリシー内の付加ポイントで直接または間接的に使用中ではなく、システム内のどのポリシーによっても参照されていない RD セットをすべて表示するには、show rpl unused rd-set コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
show rpl unused rd-set コマンドは、次の情報を表示します。
RP/0/RP0/CPU0:router# show rpl unused rd-set
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following rd-sets are UNUSED
------------------------------------------
None found with this status.
定義済みでも、付加ポイントで使用されていないか、apply ステートメントを使用して参照されていないルート ポリシーを表示するには、 XR EXEC モード で show rpl unused route-policy コマンドを使用します。
show rpl unused route-policy [detail]
detail |
(任意)未使用のルート ポリシーのオブジェクトおよび参照されているすべてのオブジェクトの内容を表示します。 |
デフォルトの動作または値はありません。
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
定義済みでも、付加ポイントで使用されていないか、apply ステートメントを使用して別のポリシーから参照されていないルート ポリシーを表示するには、show rpl unused route-policy コマンドを使用します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り |
次に、設定例を示します。
RP/0/RP0/CPU0:router# show run | begin prefix-set
Building configuration...
prefix-set prefix_set_ex1
10.0.0.0/16 ge 16 le 32,
0.0.0.0/0 ge 25 le 32,
0.0.0.0/0
end-set
!
prefix-set prefix_set_ex2
220.220.220.0/24 ge 24 le 32,
220.220.120.0/24 ge 24 le 32,
220.220.130.0/24 ge 24 le 32
end-set
!
as-path-set as_path_set_ex1
ios-regex '^_65500_$',
ios-regex '^_65501_$'
end-set
!
as-path-set as_path_set_ex2
ios-regex '^_65502_$',
ios-regex '^_65503_$'
end-set
!
as-path-set as_path_set_ex3
ios-regex '^_65504_$',
ios-regex '^_65505_$'
end-set
!
community-set comm_set_ex1
65500:1,
65500:2,
65500:3
end-set
!
community-set comm_set_ex2
65501:1,
65501:2,
65501:3
end-set
!
extcommunity-set rt ext_comm_set_rt_ex1
1.2.3.4:34
end-set
!
extcommunity-set rt ext_comm_set_rt_ex2
2.3.4.5:36
end-set
!
route-policy sample
if (destination in sample) then
drop
endif
end-policy
!
route-policy policy_1
if (destination in prefix_set_ex1) then
set local-preference 100
endif
if (as-path in as_path_set_ex1) then
set community (10:333) additive
endif
end-policy
!
route-policy policy_2
if (destination in prefix_set_ex1) then
if (community matches-any comm_set_ex1) then
set community (10:666) additive
endif
if (extcommunity rt matches-any ext_comm_set_rt_ex1) then
set community (10:999) additive
endif
endif
end-policy
!
route-policy policy_3
if (destination in prefix_set_ex2) then
set local-preference 100
endif
if (as-path in as_path_set_ex2) then
set community (10:333) additive
endif
end-policy
!
route-policy policy_4
if (destination in prefix_set_ex2) then
if (community matches-any comm_set_ex2) then
set community (10:666) additive
endif
if (extcommunity rt matches-any ext_comm_set_rt_ex2) then
set community (10:999) additive
endif
endif
end-policy
!
route-policy policy_5
apply sample
apply policy_3
end-policy
!
route ipv4 0.0.0.0/0 10.91.37.129
route ipv4 10.91.36.0/23 10.91.37.129
route ipv4 10.91.38.0/24 10.91.37.129
end
次の例では、定義済みのルート ポリシーのうち、付加ポイントで使用されておらず、別のポリシーから apply ステートメントを使用して参照されてもいないものを、show rpl unused route-policy コマンドを使用して表示しています。
RP/0/RP0/CPU0:router# show rpl unused route-policy
ACTIVE -- Referenced by at least one policy which is attached
INACTIVE -- Only referenced by policies which are not attached
UNUSED -- Not attached (directly or indirectly) and not referenced
The following policies are (UNUSED)
-----------------------------------
policy_1
policy_2
policy_4
policy_5
ボーダー ゲートウェイ プロトコル(BGP)ルートの発信元を、名前付きプレフィックス セットまたはインライン プレフィックス セットのいずれかに含まれているアドレスと照合してテストするには、ルート ポリシー コンフィギュレーション モードで source in コマンドを使用します。
source in { prefix-set-name | inline-prefix-set | parameter }
prefix-set-name |
プレフィックス セットの名前。 |
inline-prefix-set |
インライン プレフィックス セット。インライン プレフィックス セットは、括弧で囲む必要があります。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
ルートの発信元を、名前付きプレフィックス セットまたはインライン プレフィックス セットのいずれのデータと照合してテストするには、if ステートメント内で source in コマンドを条件式として使用します。含まれている要素がゼロのプレフィックス セットを参照する比較は、false を戻します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
BGP ルートの発信元は、ルートの受信元のネイバー ルータの IP ピアリング アドレスです。
プレフィックス セットには、IPv4 と IPv6 の両方のプレフィックス指定を含めることができます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、BGP ルートの発信元は、プレフィックス セット my-prefix-set 内のデータと照合してテストされます。
RP/0/RP0/CPU0:router(config)# route-policy policy-A RP/0/RP0/CPU0:router(config-rpl)# if source in my-prefix-set then
次の例では、BGP ルートの発信元は、インライン IPv4 プレフィックス セット内のデータと照合してテストされます。
RP/0/RP0/CPU0:router(config)# route-policy policy-B RP/0/RP0/CPU0:router(config-rpl)# if source in (10.0.0.8, 10.0.0.20) then
次の例では、ルートの発信元は、インライン IPv6 プレフィックス セット内のデータと照合してテストされます。
RP/0/RP0/CPU0:router(config)# route-policy policy-C RP/0/RP0/CPU0:router(config-rpl)# if source in (2001:0:0:1::/64, 2001:0:0:2::/64) then
BGP 集約の特定の要素を抑制する必要があることを指定するには、ルート ポリシー コンフィギュレーション モードで suppress-route コマンドを使用します。
suppress-route
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
集約の特定の要素を抑制する必要がある(つまり、BGP がアドバタイズしない必要がある)ことを指定するには、suppress-route コマンドを使用します。個々のネイバーの suppress-route コマンドを上書きする方法については、unsuppress-route コマンドを参照してください。
suppress-route コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、宛先が 10.1.0.0/16 内にある場合は、ルートはアドバタイズされません。
RP/0/RP0/CPU0:router(config)# oute-policy check-aggregater RP/0/RP0/CPU0:router(config-rpl)# if destination in (10.1.0.0/16) then RP/0/RP0/CPU0:router(config-rpl-if)# suppress-route RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl-if)# end-policy
特定のタグ値を一致させるには、ルート ポリシー コンフィギュレーション モードで tag コマンドを使用します。
tag { eq | ge | le | is } { integer | parameter }
eq | ge | le | is |
等しい、以上、以下。 |
integer |
整数値。範囲は 0 ~ 4294967295 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
特定のタグ値を一致させるには、if ステートメント内で tag コマンドを条件式として使用します。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
タグは、RIB 内の特定のルートに関連付けることができる 32 ビットの整数です。
eq 演算子は、特定のタグ値またはパラメータ値と一致するかどうかを調べます。バリアント ge と le は、指定した値またはパラメータ以上であるか、以下であるタグ値の範囲と一致します。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、タグが 10 と等しい場合は、条件は true を戻します。
RP/0/RSP0RP0/CPU0:router(config-rpl)# if tag eq 10 then
BGP 集約の特定の要素を抑制解除する必要があることを指定するには、ルート ポリシー コンフィギュレーション モードで unsuppress-route コマンドを使用します。
unsuppress-route
このコマンドには引数またはキーワードはありません。
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
集約の特定の要素を抑制解除する必要がある(つまり、BGP が再度アドバタイズできるようにする)ことを指定するには、unsuppress-route コマンドを使用します。このコマンドは、BGP 集約の生成で抑制されたルートに影響します。ルートを抑制解除する要求が、ポリシー内の neighbor-out 付加ポイントで検出されると、ポリシー内の集約付加ポイントで suppress-route コマンドを使用してルートが抑制された場合でも、影響を受けるルートがそのネイバーにアドバタイズされることが保証されます。
unsuppress-route コマンドは、if ステートメント内でアクション ステートメントとして使用できます。if ステートメント内で使用可能なすべてのアクション ステートメントのリストについては、if コマンドを参照してください。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、宛先が 10.1.0.0/16 内にある場合は、ルートはアドバタイズされません。
RP/0/RP0/CPU0:router(config)# route-policy check-aggregate RP/0/RP0/CPU0:router(config-rpl)# if destination in (10.1.0.0/16) then RP/0/RP0/CPU0:router(config-rpl-if)# unsuppress-route RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)# end-policy
ポリシーが neighbor-out 付加ポイントで付加されると仮定すると、ポリシー内の集約付加ポイントでルート 10.1.0.0/16 が抑制された場合は、10.1.0.0/16 はネイバーにアドバタイズされます。ルートを抑制解除するための特定のポリシーが付加されない限り、他の BGP ネイバーへのアドバタイズについてルートの抑制は継続されます。
特定のボーダー ゲートウェイ プロトコル(BGP)VPN 識別子と一致するかどうかを調べるには、ルート ポリシー コンフィギュレーション モードで vpn-distinguisher is コマンドを使用します。
vpn-distinguisher is { number | parameter }
number |
32 ビットの符号なし整数に割り当てられた値。範囲は 1 ~ 4294967295 です。 |
parameter |
パラメータ名。パラメータ名の前には、「$」を付ける必要があります。 |
デフォルトの動作または値はありません。
ルート ポリシー コンフィギュレーション
リリース |
変更内容 |
---|---|
リリース 6.0 |
このコマンドが導入されました。 |
送信元属性の値をテストするには、if ステートメント内で vpn-distinguisher is コマンドを条件式として使用します。
VPN 識別子は、拡張された個々の VPN を制御するために、また AS 間の VPN ネットワーク内で AS 境界でのルート ターゲットのマッピングを回避するために、レイヤ 3 VPN ネットワークで使用されます。ルート ターゲット拡張コミュニティは、ネイバー アウトバウンドで削除され、VPN 識別子値は、拡張コミュニティとして BGP ルートで適用されます。別の AS 内のネイバー ルータでルートを受信すると、VPN 識別子は削除され、ルート ターゲット拡張コミュニティにマッピングされます。
![]() (注) |
if ステートメント内で使用可能なすべての条件式のリストについては、if コマンドを参照してください。 |
このコマンドはパラメータ化できます。
タスク ID |
動作 |
---|---|
route-policy |
読み取り、書き込み |
次の例では、送信元は、igp または egp のいずれであるかを調べるために、if ステートメント内でテストされます。
RP/0/RP0/CPU0:router(config-rpl)# if origin is igp or origin is egp then
次の例では、特定の送信元タイプと一致させるために、パラメータが使用されます。
RP/0/RP0/CPU0:router(config)# route-policy bar($origin) RP/0/RP0/CPU0:router(config-rpl)# if origin is $origin then RP/0/RP0/CPU0:router(config-rpl-if)# set med 20 RP/0/RP0/CPU0:router(config-rpl-if)# endif RP/0/RP0/CPU0:router(config-rpl)#