A.2.Send_Label
Краткое изложение:
Процедура Send_ Label, если возможно, присваивает метку для LDP партнерf, и посылает партнеру ассоциацию метка-FEC. Если LSR не может присвоить метку, и если он имеет отложенный запрос метки от партнера, он посылает LDP-партнеру уведомление No Label Resources (нет ресурсов для метки).
Параметры:
- Партнер. LDP-партнер, которому следует послать ассоциацию метки.
- FEC. FEC, для которого послана присвоенная метка.
- Атрибуты. Атрибуты, подлежащие включению в ассоциацию метки.
Дополнительный контекст:
- LSR. LSR, выполняющий процедуру.
- Метка. Присвоенная метка, посланная партнеру.
Алгоритм:
SL.1 | Должен ли LSR присвоить метку? Если нет, goto SL.9. |
SL.2 | Присвоить метку и связать ее с FEC. |
SL.3 | Ввести метку в таблицу маршрутизации. |
SL.4 | Исполнить процедуру Send_Message(Peer, Label Mapping, FEC, Label, Attributes). |
SL.5 | Записать ассоциацию метка-FEC и атрибуты, посланные партнеру. |
SL.6 | Имеет ли LSR запись запроса метки от партнера, помеченную, как отложенная? Если нет, goto SL.8. |
SL.7 | Стереть запись отложенного запроса метки партнера |
SL.8 | Вернуть флаг успеха. |
SL.9 | Имеет ли LSR запрос метки для FEC от партнера, помеченный как отложенный? Если нет, goto SL.13. |
SL.10 | Исполнить процедуру Send_Notification(Peer, No Label Resources). |
SL.11 | Стереть запись отложенного запроса метки, поступившего от партнера. |
SL.12 | Запись уведомления No Label Resources послана партнеру. Goto SL.14. |
SL.13 | Нужна запись присвоения метки для FEC и атрибуты для партнера, но нет ресурсов для метки. (Смотри замечание 1.) |
SL.14 | Вернуть флаг неудачи. |
Замечания:
- SL.13 обрабатывает ситуацию рассылки меток в режиме Downstream Unsolicited, когда LSR неспособен присвоить метку для FEC, чтобы послать партнеру.