BGP ルートポリシー属性のリファレンス

このページでは、Cloud Router の Common Expression Language(CEL)を使用した BGP ルートポリシーの例を示します。

一致属性

次の表に、BGP ルートポリシーで使用可能な一致属性を示します。

属性

説明

destination

BGP ルートの IP 範囲

一致オペレーション

次の表に、BGP ルートポリシーで使用可能な一致オペレーションを示します。

オペレーション

説明

destination == '192.168.0.0/24'

BGP ルートが 192.168.0.0/24 と一致する場合、true を返します(完全一致)。

destination != '192.168.0.0/24'

BGP ルートが 192.168.0.0/24 と一致しない場合は、true を返します(完全一致)。

destination.inAnyRange(r)

BGP ルートが r の範囲内にある場合、true を返します。ここで、r は次のいずれかです。

  • CIDER でエンコードされた接頭辞を含む文字列(192.168.0.0/24 など)。
  • prefix() によって返される抽象型、または prefix() で呼び出せる柔軟なメソッド(longer() など)のいずれか。
  • 各要素が前述のいずれかの値である必要のある複数種のリスト。

! で否定できます。

prefix('192.168.0.0/24')

destination.inAnyRange() で使用される CIDR 範囲 192.168.0.0/24 を表すプレフィックス オブジェクトを返します。

prefix('192.168.0.0/24').longer()

prefix() のコピーであるプレフィックス範囲オブジェクトを返します。範囲の末尾に入力プレフィックスのアドレス ファミリーあたりの最大値(/32 または /128)が設定され、範囲の先頭に入力プレフィックスの長さ + 1 が設定されます。

prefix().orLonger()

prefix() のコピーであるプレフィックス範囲オブジェクトを返します。範囲の末尾に、入力プレフィックスのアドレス ファミリーあたりの最大値(/32 または /128)が設定されています。

prefix().lengthRange(20, 30)

prefix() のコピーであるプレフィックス範囲オブジェクトを返します。範囲の開始が /20、終了が /30 に設定されています。

prefix().upTo(30)

prefix() のコピーであるプレフィックス範囲オブジェクトを返します。範囲の末尾が入力プレフィックスの /30 に設定されています。

x || y

x または y のいずれかが true の場合は、true を返します。

xy は、同じ destination 属性を使用するブール式である必要があります。

||(OR)演算のルールにより、すべての条件は、OR で接続された 0 個以上の destination 一致オペレーションと見なされます。

(D0 || D1 || ... || Dm)

次の表は、prefix を使用して、一部のルーターのベンダーと比較して複雑な正規表現を構築する例です。

Cloud Router Cisco Juniper 説明

'192.168.0.1'

192.168.0.1

192.168.0.1

プレフィックス 192.168.0.1/32 と完全一致

'192.168.0.0/24'

prefix('192.168.0.0/24')

192.168.0.0/24

192.168.0.0/24 exact

プレフィックス 192.168.0.0/24 と完全一致

prefix('192.168.0.0/24').longer()

192.168.0.0/24 ge 25 le 32

192.168.0.0/24 longer

192.168.0.0/25 内の範囲を 192.168.0.0/32 と一致させる

prefix('192.168.0.0/24').orLonger()

192.168.0.0/24 le 32

192.168.0.0/24 orlonger

192.168.0.0/24 内の範囲を 192.168.0.0/32 と一致させる

prefix('192.168.0.0/24').lengthRange(25, 30)

192.168.0.0/24 ge 25 le 30

192.168.0.0/24 prefix-length-range /25-/30

192.168.0.0/25 内の範囲を 192.168.0.0/30 と一致させる

prefix('192.168.0.0/24').upTo(30)

192.168.0.0/24 le 30

192.168.0.0/24 upto /30

192.168.0.0/24 内の範囲を 192.168.0.0/30 と一致させる

アクション属性

次の表に、BGP ルートポリシーで使用可能なアクション属性を示します。

属性

説明

制限事項

asPath

BGP ルート更新が通過した AS 番号のリスト

エクスポートとインポート

med

ルートの Multipath Exit Discriminator(MED)

エクスポートとインポート

アクション オペレーション

次の表に、BGP ルートポリシーで使用可能なアクション オペレーションを示します。

オペレーション

説明

accept()

BGP ルートを受け入れ、BGP ルートポリシーまたは条件の評価を停止します(このアクション以降のアクションも含みます)。

drop()

BGP ルートを除外し、BGP ポリシーまたは条件の評価を停止します。このアクションの後に発生するアクションも停止されます。

nextPolicy()

この BGP ルートポリシーの残りの条件(この条件の後のアクションを含む)の実行を停止し、次に適用される BGP ルートポリシー(存在する場合)に進みます。

asPath.prependSequence([1, 2, 3])

AS 番号のリストを AS-PATH 属性にシーケンスとして追加します。

引数は 32 ビットの範囲内の整数にする必要があります。

med.set(12345)

MED を 12345 に設定します。

なし