A.2.Check_Received_Attributes
Краткое изложение:
Проверка атрибутов, полученных в сообщении присвоения метки или в запросе метки. Если атрибуты включают в себя число шагов или вектор пути, выполнить проверку наличия петли. Если петля обнаружена, послать MsgSource уведомление о детектировании петли.
Параметры:
- MsgSource. LDP партнер, который посылает сообщение.
- MsgType. Тип полученного сообщения.
- RAttributes. Атрибуты в сообщении.
Дополнительный контекст:
- LSR Id. Уникальный Id данного LSR.
- Hop Count. Число шагов, если таковые имеются в полученных атрибутах.
- Path Vector. Вектор пути, если таковой имеется в полученных атрибутах.
Алгоритм:
CRa.1 | Включает ли в себя RAttributes число шагов? Если нет, goto CRa.5. |
CRa.2 | Превышает ли число шагов максимально допустимый порог? Если да, goto CRa.6. |
CRa.3 | Включает ли в себя RAttributes вектор пути? Если нет, goto CRa.5. |
CRa.4 | Включает ли в себя вектор пути Id LSR? ИЛИ превышает ли длина вектора пути максимально допустимый порог? Если да, goto CRa.6 |
CRa.5 | Прислать в ответ No Loop Detected (петель не зарегистрировано). |
CRa.6 | Является ли MsgType (тип сообщения) LabelMapping? Если да, goto CRa.8. (Смотри замечание 1.) |
CRa.7 | Исполнить процедуру Send_Notification(MsgSource, Loop Detected) |
CRa.8 | Прислать флаг обнаружения петли |
CRa.9 | DONE |
Замечания:
- Когда проверяемые атрибуты получены в сообщении присвоения метки, LSR посылает уведомление об обнаружении петли в TLV статусного кода сообщения об освобождении метки. Смотри раздел "Получение присвоения метки".