Referenz zu Attributen der BGP-Routenrichtlinie

Auf dieser Seite werden Beispiele für BGP-Routenrichtlinien mit der Common Expression Language (CEL) für Cloud Router gezeigt.

Übereinstimmungsattribute

In der folgenden Tabelle werden Übereinstimmungsattribute beschrieben, die für BGP-Routenrichtlinien verfügbar sind:

Attribute

Beschreibung

destination

IP-Bereich für die BGP-Route

Abgleichsvorgänge

In der folgenden Tabelle werden Abgleichsvorgänge beschrieben, die für BGP-Routenrichtlinien verfügbar sind:

Vorgang

Beschreibung

destination == '192.168.0.0/24'

Gibt true zurück, wenn eine BGP-Route mit 192.168.0.0/24 übereinstimmt (genaue Übereinstimmung).

destination != '192.168.0.0/24'

Gibt true zurück, wenn eine BGP-Route nicht mit 192.168.0.0/24 übereinstimmt (genaue Übereinstimmung).

destination.inAnyRange(r)

Gibt true zurück, wenn eine BGP-Route im Bereich r liegt, wobei r entweder:

  • Ein String mit einem CIDER-codierten Präfix, z. B. 192.168.0.0/24, ist.
  • Der abstrakte Typ, der von prefix() zurückgegeben wird, oder eine der fließenden Methoden, die Sie für prefix() aufrufen können, z. B. longer(), ist.
  • Eine heterogene Liste, in der jedes Element einer der zuvor beschriebenen Werte sein muss.

Mit ! negierbar.

prefix('192.168.0.0/24')

Gibt ein Präfixobjekt zurück, das den CIDR-Bereich 192.168.0.0/24 darstellt, der mit destination.inAnyRange() verwendet wird.

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

Gibt ein Präfixbereichsobjekt zurück, das eine Kopie von prefix() ist, wobei das Ende des Bereichs auf die maximale Anzahl der Adressfamilien pro Adresse (/32 oder /128) des Eingabepräfixes festgelegt ist, und den Anfang des Bereichs, der auf die Länge des Eingabepräfixes plus eins festgelegt ist.

prefix().orLonger()

Gibt ein Präfixbereichsobjekt zurück, das eine Kopie von prefix() ist, wobei das Ende des Bereichs auf die maximale Anzahl der für das Eingabepräfix festgelegten Adressenfamilien (/32 oder /128) eingestellt ist.

prefix().lengthRange(20, 30)

Gibt ein Präfixbereichsobjekt zurück, das eine Kopie von prefix() ist, wobei der Anfang des Bereichs auf /20 und das Ende auf /30 gesetzt ist.

prefix().upTo(30)

Gibt ein Präfixbereichsobjekt zurück, das eine Kopie von prefix() ist, wobei das Ende des Bereichs auf /30 des Eingabepräfixes gesetzt ist.

x || y

Gibt true zurück, wenn entweder x oder x gleich true ist.

x und x müssen boolesche Ausdrücke mit demselben destination-Attribut sein.

Aufgrund der Regeln für ||-Vorgänge (OR) sind alle Bedingungen praktisch null oder mehr destination-Übereinstimmungen, die durch OR verbunden sind.

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

Die folgende Tabelle ist ein Beispiel für die Verwendung von prefix zum Erstellen komplexer regulärer Ausdrücke im Vergleich zu einigen Routeranbietern:

Cloud Router Cisco Juniper Erklärung

'192.168.0.1'

192.168.0.1

192.168.0.1

Stimmt genau mit dem Präfix 192.168.0.1/32 überein

'192.168.0.0/24'

prefix('192.168.0.0/24')

192.168.0.0/24

192.168.0.0/24 exact

Stimmt genau mit dem Präfix 192.168.0.0/24 überein

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

192.168.0.0/24 ge 25 le 32

192.168.0.0/24 longer

Entspricht dem Bereich zwischen 192.168.0.0/25 und 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

Entspricht dem Bereich zwischen 192.168.0.0/24 und 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

Entspricht dem Bereich zwischen 192.168.0.0/25 und 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

Entspricht dem Bereich zwischen 192.168.0.0/24 und 192.168.0.0/30.

Aktionsattribute

In der folgenden Tabelle werden die für BGP-Routenrichtlinien verfügbaren Aktionsattribute beschrieben:

Attribut

Beschreibung

Einschränkungen

asPath

Die Liste der AS-Nummern, die die Aktualisierung der BGP-Route durchlaufen hat

Export und Import

med

Der Multipath-Exit-Diskriminator (MED) der Route

Export und Import

Aktionsvorgänge

In der folgenden Tabelle werden Aktionsvorgänge beschrieben, die für BGP-Routenrichtlinien verfügbar sind:

Vorgang

Beschreibung

accept()

Akzeptiert die BGP-Routenroute und beendet die weitere Auswertung von BGP-Routenrichtlinien oder -bedingungen, einschließlich aller Aktionen, die danach erfolgen.

drop()

Filtert die BGP-Route heraus und beendet die weitere Auswertung von BGP-Richtlinien oder -Bedingungen, einschließlich aller Aktionen, die danach erfolgen.

nextPolicy()

Beendet die Ausführung der verbleibenden Begriffe in dieser BGP-Routenrichtlinie (einschließlich aller Aktionen nach diesem Begriff) und fährt mit der nächsten angewendeten BGP-Routenrichtlinie (falls vorhanden) fort.

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

Stellt dem AS-PATH-Attribut eine Liste von AS-Nummern als Abfolge voran.

Die Argumente müssen Ganzzahlen im Bereich von 32 Bit sein.

med.set(12345)

Legt MED auf 12345 fest.

Ohne