Riferimento all'attributo del criterio di route BGP

Questa pagina mostra esempi di criteri di route BGP, utilizzando l'espressione comune Lingua (CEL) per router Cloud.

Attributi corrispondenti

La tabella seguente descrive gli attributi di corrispondenza disponibili per i criteri di route BGP:

Attributi

Descrizione

communities

Elenco di community attribuite alla route BGP

destination

Intervallo IP per la route BGP

Operazioni di corrispondenza

La seguente tabella descrive le operazioni di corrispondenza disponibili per i criteri di route BGP:

Operazione

Descrizione

communities.matchesEvery(65001:1234)

Restituisce true se le community sono un superinsieme dell'elenco 65001:1234.

Un community_value è un campo a 32 bit diviso in due sezioni di 16 bit. Per convenzione, i primi 16 bit del valore codificano il numero del sistema autonomo (AS) della rete da cui ha origine la community, ma Cloud Router non applica questa convenzione. I secondi 16 bit del valore codificano un numero univoco assegnato dall'AS di origine.

Limitato solo all'importazione.

destination == '192.168.0.0/24'

Restituisce true se una route BGP corrisponde a 192.168.0.0/24 (corrispondenza esatta).

destination != '192.168.0.0/24'

Restituisce true se una route BGP non corrisponde 192.168.0.0/24 (corrispondenza esatta).

destination.inAnyRange(r)

Restituisce true se una route BGP è nell'intervallo r, dove r corrisponde a uno dei seguenti valori:

  • Una stringa con un prefisso codificato CIDER, ad esempio 192.168.0.0/24.
  • Il tipo astratto restituito da prefix() o uno dei metodi fluenti che puoi chiamare su prefix(), ad esempio longer().
  • Un elenco eterogeneo in cui ogni elemento deve appartenere a uno dei descritti in precedenza.

Negabile con !.

prefix('192.168.0.0/24')

Restituisce un oggetto prefisso che rappresenta l'intervallo CIDR 192.168.0.0/24, utilizzata con destination.inAnyRange().

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

Restituisce un oggetto intervallo di prefisso che è una copia di prefix() con la fine dell'intervallo impostata sul valore massimo della famiglia per indirizzo del prefisso di input (/32 o /128) e l'inizio dell'intervallo impostato su la lunghezza del prefisso di input più uno.

prefix().orLonger()

Restituisce un oggetto intervallo di prefisso che è una copia di prefix() con la fine dell'intervallo impostata sul valore massimo per famiglia per indirizzo del prefisso di input (/32 o /128).

prefix().lengthRange(20, 30)

Restituisce un oggetto intervallo di prefissi che è una copia di prefix() con l'inizio dell'intervallo impostato su /20 e la fine impostata su /30.

prefix().upTo(30)

Restituisce un oggetto intervallo di prefisso che è una copia di prefix() con la fine dell'intervallo impostata su /30 del prefisso di input.

x || y

Restituisce true se x o y è true.

x e y devono essere espressioni booleane che utilizzano communities o destination.

A causa delle regole per le operazioni || (OR), tutte le condizioni sono in modo efficace zero o più destination operazioni di corrispondenza connessi tramite OR.

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

La tabella seguente è un esempio dell'utilizzo di prefix per creare espressioni regolari complesse rispetto ad alcuni fornitori di router:

Router Cloud Cisco Ginepro Spiegazione

'192.168.0.1'

192.168.0.1

192.168.0.1

Corrisponde esattamente al prefisso 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

Corrispondenza esatta al prefisso 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

Crea una corrispondenza tra l'intervallo entro 192.168.0.0/25 e 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

Crea una corrispondenza tra l'intervallo entro 192.168.0.0/24 e 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

Abbina l'intervallo all'interno di 192.168.0.0/25 a 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

Crea una corrispondenza tra l'intervallo entro 192.168.0.0/24 e 192.168.0.0/30

Attributi di azione

La tabella seguente descrive gli attributi di azione disponibili per la route BGP norme:

Attributo

Descrizione

Limitazioni

asPath

L'elenco dei numeri AS attraversati dall'aggiornamento della route BGP

Esporta e importa

communities

L'elenco delle community del percorso

Solo esportazione

med

Il discriminatore di uscita multipath (MED) del percorso

Esporta e importa

Operazioni di azioni

La tabella seguente descrive le operazioni di azione disponibili per la route BGP norme:

Operazione

Descrizione

Limitazioni

accept()

Accetta la route BGP e interrompe l'ulteriore valutazione di BGP norme o termini del percorso, incluse le azioni successive a questo uno.

Nessuno

drop()

Filtra il percorso BGP e interrompe l'ulteriore valutazione dei criteri o dei termini BGP, incluse le azioni che seguono questa.

Nessuno

nextPolicy()

Interrompe l'esecuzione dei termini rimanenti in questo criterio di route BGP (incluse eventuali azioni successive a questo termine) e passa al successivo criterio di route BGP applicato (se presente).

Nessuno

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

Antepone un elenco di numeri AS all'attributo AS-PATH in sequenza.

Gli argomenti devono essere numeri interi compresi nell'intervallo di 32 bit.

Nessuno

communities.add(65001:1234)

Aggiunge il valore della community all'elenco delle community.

Il valore della community può essere una singola community o un elenco.

I valori delle community private mappate ai seguenti ASN di proprietà di Google vengono ignorate Router Cloud:

6432, 15169, 16550, 16591, 19448, 19527, 22859, 26910, 32381, 36039, 36384, 36385, 36492, 55023

Solo esportazione

communities.remove(65001:1234)

Rimuove il valore della community dall'elenco delle community.

Il valore della community può essere una singola community o un elenco.

I valori delle community private mappate ai seguenti ASN di proprietà di Google vengono ignorate Router Cloud:

6432, 15169, 16550, 16591, 19448, 19527, 22859, 26910, 32381, 36039, 36384, 36385, 36492, 55023

Solo esportazione

communities.replaceAll(65001:1234)

Sostituisce l'elenco delle community con il valore della community, che può essere vuoto.

I valori della community che sono comunità private mappate ai seguenti ASN di proprietà di Google vengono ignorati dal router Cloud:

6432, 15169, 16550, 16591, 19448, 19527, 22859, 26910, 32381, 36039, 36384, 36385, 36492, 55023

Solo esportazione

med.set(12345)

Imposta MED su 12345.

Nessuno