Referência de atributo da política de rota do BGP

Nesta página, mostramos exemplos de políticas de rota do BGP usando a Common Expression Language (CEL) para o Cloud Router.

Atributos de correspondência

A tabela a seguir descreve os atributos de correspondência disponíveis para políticas de rota do BGP:

Atributos

Descrição

destination

Intervalo de IP para a rota do BGP

Operações de correspondência

A tabela a seguir descreve as operações de correspondência disponíveis para políticas de rota do BGP:

Operação

Descrição

destination == '192.168.0.0/24'

Retorna true se uma rota do BGP corresponde a 192.168.0.0/24 (correspondência exata).

destination != '192.168.0.0/24'

Retorna true se uma rota do BGP não corresponder a 192.168.0.0/24 (correspondência exata).

destination.inAnyRange(r)

Retorna true se uma rota do BGP estiver no intervalo r, em que r é:

  • Uma string com um prefixo codificado por CIDER, como 192.168.0.0/24.
  • O tipo abstrato retornado por prefix() ou um dos métodos fluentes que você pode chamar em prefix(), como longer().
  • Uma lista heterogênea em que cada elemento precisa ser um dos valores descritos anteriormente.

Negável com !.

prefix('192.168.0.0/24')

Retorna um objeto de prefixo que representa o intervalo CIDR 192.168.0.0/24, usado com destination.inAnyRange().

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

Retorna um objeto de intervalo de prefixos que é uma cópia de prefix() com o fim do intervalo definido como o valor máximo da família por endereço (/32 ou /128) e o início do intervalo definido como o comprimento do prefixo de entrada mais um.

prefix().orLonger()

Retorna um objeto de intervalo de prefixos que é uma cópia de prefix() com o fim do intervalo definido como o máximo da família por endereço do prefixo de entrada (/32 ou /128).

prefix().lengthRange(20, 30)

Retorna um objeto de intervalo de prefixos que é uma cópia de prefix(), com o início do intervalo definido como /20 e o fim definido como /30.

prefix().upTo(30)

Retorna um objeto de intervalo de prefixos que é uma cópia de prefix() com o fim do intervalo definido como /30 do prefixo de entrada.

x || y

Retorna true se x ou x for true

x e x precisam ser expressões booleanas que usam o mesmo atributo destination.

Devido às regras para operações || (OR), todas as condições são efetivamente zero ou mais operações de correspondência destination conectadas por OR.

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

A tabela a seguir é um exemplo de como usar prefix para criar expressões regulares complexas em comparação com alguns fornecedores de roteadores:

Cloud Router Cisco Juniper Explicação

'192.168.0.1'

192.168.0.1

192.168.0.1

Corresponde exatamente ao prefixo 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

Corresponde exatamente ao prefixo 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

Corresponda o intervalo em 192.168.0.0/25 a 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

Corresponda o intervalo em 192.168.0.0/24 a 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

Corresponda o intervalo em 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 upto /30

Corresponda o intervalo em 192.168.0.0/24 a 192.168.0.0/30

Atributos de ação

A tabela a seguir descreve os atributos de ação disponíveis para políticas de rota do BGP:

Atributo

Descrição

Restrições

asPath

A lista de números do AS que a atualização de rota do BGP percorreu

Exportar e importar

med

Distribuidor de saídas por vários caminhos (MED, na sigla em inglês) do trajeto

Exportar e importar

Operações de ação

Na tabela a seguir, descrevemos as operações de ação disponíveis para as políticas de rotas do BGP:

Operação

Descrição

accept()

Aceita a rota do BGP e interrompe a avaliação posterior das políticas ou dos termos de rota do BGP, incluindo qualquer ação posterior a esta.

drop()

Filtra a rota do BGP e interrompe a avaliação posterior das políticas ou dos termos do BGP, incluindo as ações que vêm depois dele.

nextPolicy()

Interrompe a execução dos termos restantes nesta política de rota do BGP (incluindo qualquer ação após o termo) e avança para a próxima política de rota do BGP aplicada (se houver).

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

Adiciona uma lista de números AS ao atributo AS-PATH como uma sequência.

Os argumentos precisam ser números inteiros dentro do intervalo de 32 bits.

med.set(12345)

Define MED como 12345.

Nenhuma