Протоколы Internet


Язык описания маршрутной политики RPSL - часть 30


typedef: <name> <type>

где <name> - имя типа <type>. Атрибут typedef является особенно полезным, когда тип не является предопределенным (напр., список объединений [union], список списков и т.д.). Атрибут класса словаря protocol определяет протокол и набор параметров пиринга для этого протокола, которые используются в классе inet-rtr (раздел 9). Его синтаксис представлен ниже:

protocol:

<name>

MANDATORY | OPTIONAL <parameter-1>(

<type-1-N1> [,"..."])

...

MANDATORY | OPTIONAL <parameter-M>(

<type-M-1>,...,

<type-M-NM> [,"..."])

где представляет собой имя протокола, MANDATORY и OPTIONAL являются ключевыми словами, а <parameter-i> - пиринг-параметр протокола, использующий Ni аргументов. Синтаксис и семантика аргументов та же, что и для rp-атрибута. Если используется ключевое слово MANDATORY, параметр является обязательным и должен быть специфицирован для каждого пиринга этого протокола. Если применено ключевое слово OPTIONAL, параметр может быть опущен.

7.1. Исходный словарь RPSL, пример действий политики и фильтры

dictionary: RPSL

rp-attribute: # меньшие значения соответствуют более высокому предпочтению pref

operator=(integer[0, 65535])

rp-attribute: # атрибут BGP multi_exit_discriminator

med

# установить med равным 10: med = 10;

# установить med метрике IGP: med = igp_cost;

operator=(union integer[0, 65535], enum[igp_cost])

rp-attribute: # атрибут предпочтения места назначения BGP (dpa)

dpa

operator=(integer[0, 65535])

rp-attribute: # атрибут BGP aspath

aspath

# prepends AS numbers from last to first order

prepend(as_number, ...)

typedef: # значение community в RPSL равно:

# - 4-байтовому целому (ok to use 3561:70 notation)

# - internet, no_export, no_advertise (смотри RFC-1997)

community_elm union

integer[1, 4294967295],

enum[internet, no_export, no_advertise],

typedef: # список значений community { 40, no_export, 3561:70 }




Начало  Назад  Вперед