Documentation de référence sur les attributs des règles de routage BGP

Cette page présente des exemples de règles de routage BGP, à l'aide du langage CEL (Common Expression Language) pour Cloud Router.

Attributs de correspondance

Le tableau suivant décrit les attributs de correspondance disponibles pour les règles de routage BGP :

Attributs

Description

destination

Plage d'adresses IP pour la route BGP

Opérations de mise en correspondance

Le tableau suivant décrit les opérations de correspondance disponibles pour les règles de routage BGP :

Opération

Description

destination == '192.168.0.0/24'

Renvoie true si une route BGP correspond à 192.168.0.0/24 (correspondance exacte).

destination != '192.168.0.0/24'

Renvoie true si une route BGP ne correspond pas à 192.168.0.0/24 (correspondance exacte).

destination.inAnyRange(r)

Renvoie true si une route BGP est comprise dans la plage r, où r est l'un des éléments suivants :

  • Une chaîne avec un préfixe encodé au format CIDR, telle que 192.168.0.0/24.
  • Type abstrait renvoyé par prefix(), ou l'une des méthodes fluides que vous pouvez appeler sur prefix(), comme longer().
  • Liste hétérogène dans laquelle chaque élément doit correspondre à l'une des valeurs décrites précédemment.

Peut être rendue négative avec !.

prefix('192.168.0.0/24')

Renvoie un objet de préfixe représentant la plage CIDR 192.168.0.0/24, utilisée avec destination.inAnyRange().

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

Renvoie un objet de plage de préfixes qui est une copie de prefix(), dont la fin de la plage est définie sur la valeur maximale par famille d'adresses du préfixe d'entrée (/32 ou /128), et le début de la plage définie sur la longueur du préfixe d'entrée plus un.

prefix().orLonger()

Renvoie un objet de plage de préfixes qui est une copie de prefix(), dont la fin de la plage est définie sur la valeur maximale par famille d'adresses du préfixe d'entrée (/32 ou /128).

prefix().lengthRange(20, 30)

Renvoie un objet de plage de préfixes qui est une copie de prefix(), dont le début de la plage est défini sur /20 et la fin sur /30.

prefix().upTo(30)

Renvoie un objet de plage de préfixes qui est une copie de prefix() dont la fin de la plage est définie sur le préfixe d'entrée /30.

x || y

Renvoie true si x ou y est true.

x et y doivent être des expressions booléennes utilisant le même attribut destination.

En raison des règles concernant les opérations || (OU), toutes les conditions sont en fait zéro ou plusieurs opérations de correspondance destination connectées par OU.

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

Le tableau suivant est un exemple d'utilisation de prefix pour créer des expressions régulières complexes par rapport à certains fournisseurs de routeur :

Cloud Router Cisco Juniper Explication

'192.168.0.1'

192.168.0.1

192.168.0.1

Correspond exactement au préfixe 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

Correspond exactement au préfixe 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

Faire correspondre la plage comprise dans 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

Faire correspondre la plage comprise dans 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

Faire correspondre la plage comprise dans 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 up to /30

Faire correspondre la plage comprise dans 192.168.0.0/24 à 192.168.0.0/30

Attributs d'action

Le tableau suivant décrit les attributs d'action disponibles pour les règles de routage BGP :

Attribut

Description

Restrictions

asPath

Liste des numéros AS par lesquels la mise à jour de la route BGP est passée

Exporter et importer

med

Le discriminateur de sortie multichemin (MED) de la route

Exporter et importer

Opérations d'action

Le tableau suivant décrit les opérations d'action disponibles pour les règles de routage BGP :

Opération

Description

accept()

Accepte la route BGP et arrête toute évaluation ultérieure des règles ou des conditions d'utilisation des routes BGP, y compris les actions postérieures à celle-ci.

drop()

Filtre la route BGP et arrête toute évaluation supplémentaire des règles ou conditions BGP, y compris les actions ultérieures.

nextPolicy()

Arrête l'exécution des conditions restantes dans cette règle de routage BGP (y compris toute action ultérieure à cette condition), et passe à la prochaine règle de routage BGP appliquée (le cas échéant).

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

Ajoute une liste de numéros AS à l'attribut AS-PATH, sous forme de séquence.

Les arguments doivent être des entiers compris dans la plage de 32 bits.

med.set(12345)

Définit la valeur MED sur 12345.

Aucun