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, чтобы послать партнеру.