Многоцелевое расширение почты Интернет

         

A.2.Prepare_Label_Request_Attributes


Краткое изложение:

Эта процедура используется всякий раз, когда нужно послать партнеру запрос метки, чтобы вычислить число шагов и вектор пути для включения в сообщение.

Параметры:

  1. Peer. LDP-партнер, которому должно быть послано сообщение.
  2. FEC. FEC, для которого нужно послать запрос метки.
  3. RAttributes. Атрибуты, которые этот LSR ассоциирует с LSP для FEC.
  4. SAttributes. Атрибуты, которые следует включить в сообщение запроса метки.

    Дополнительный контекст:

  5. LSR Id. Уникальный Id данного LSR.

Алгоритм :



PRqA.1 Нужно ли число шагов данному партнеру (Смотри замечание 1.)? ИЛИ Содержат ли RAttributes число шагов? ИЛИ Сконфигурировано ли на данном LSR детектирование петель? Если нет, goto PRqA.14.
PRqA.2 Является ли LSR входным для FEC? Если нет, goto PRqA.6.
PRqA.3 Включить число шагов 1 в SAttributes.
PRqA.4 Сконфигурировано ли на данном LSR детектирование петель? Если нет, goto PRqA.14.
PRqA.5 Способен ли LSR объединять метки?

Если да, goto PRqA.14. Если нет, goto PRqA.13.

PRqA.6 Включают ли RAttributes в себя число шагов? Если нет, goto PRqA.8.
PRqA.7 Инкрементировать число шагов в RAttributes и копировать полученное значение в SAttributes. (Смотри замечание 2.) Goto PRqA.9.
PRqA.8 Включить число шагов = unknown 0) в SAttributes.
PRqA.9 Сконфигурировано ли на данном LSR детектирование петель? Если нет, goto PRqA.14.
PRqA.10 Имеют ли RAttributes вектор пути? Если да, goto PRqA.12.
PRqA.11 Способен ли LSR объединять метки? Если да, goto PRqA.14. Если нет, goto PRqA.13.
PRqA.12 Добавить Id LSR в начало вектора пути из RAttributes и скопировать результат в SAttributes. Goto PRqA.14.
PRqA.13 Включить вектор пути с длиной 1, содержащий Id LSR в SAttributes.
PRqA.14 DONE.

Замечания:

  1. Канал с партнером может требовать, чтобы число шагов было включено в запрос метки; смотри, например [RFC3035] и [RFC3034].
  2. Для арифметики числа шагов, unknown + 1 = unknown.



Содержание раздела