Bgp notification error codes

Важно ли знать форматы заголовков передаваемых данных? Во многих учебных курсах по сетям разбору заголовков протоколов уделяется больше или меньше времени, но об...

Важно ли знать форматы заголовков передаваемых данных? Во многих учебных курсах по сетям разбору заголовков протоколов уделяется больше или меньше времени, но обычно без этого не обходится. Нося по своей природе описательный характер часто их изучение вызывает скуку, а наличие средств автоматического разбора не улучшает картину. Иногда заголовок действительно содержит интересный подход, но в большинстве случаев всё это вписывается в какой-то один принцип и следующий новый формат обычно уже не вызывает удивления. Самое интересное это, конечно, всевозможные сочетания тех опций, которые влияют на функционал, но стоит ли помнить какие опции в каком порядке вписываются в заголовке?

Не могу сказать, что я это помню, ещё не могу сказать что это мне мешает в работе. Я даже не могу сказать, что мне приходится часто видеть заголовки в каком-то необработанном виде, потому что, как правило, сообщения в syslog или на консоли уже переформатированы в связные английские предложения. Но, иногда, приходиться смотреть глубже, например, этот год был урожайный на подобные сообщения:

Ericsson SmartEdge

notification msg sent (nbr 192.0.2.1, context 0x40030044 32 bytes, repeated 89 times, code 3/4 (update: attribute flags error) - 
0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04e0 0708 0003 02ed 5bdc 3f01

Cisco, то же с другой стороны

NOTIFICATION received from 192.0.2.2 (External AS 64496):
code 3 (Update Message Error) subcode 4 (attribute flags error),
Data: e0 07 08 00 03 02 ed 5b dc 3f 01

Попробуем разобрать это руками как написано в RFC4271. Не будем искать причину — просто разбор заголовков. Будет много цитат и, скорее всего, ничего нового для тех кто уже это умеет делать. Для остальных читаем дальше.

Чтобы внести разнообразие не ограничимся одним сообщением и разберём ещё вот это issue с GitHub FRRouting:

%NOTIFICATION: received from neighbor 192.168.0.1
3/5 (UPDATE Message Error/Attribute Length Error) 3298 bytes
50 02 0c de 02 ff 00 00 0c b9 00 00 00 ae 00 04 00 3e 00 04 00 3e 00 04 00 35 00 04 00 35 ... очень много раз 00 04 00 35

Что мы можем прочитать? Видим тип сообщения, его значение и подзначение, IP адрес соседства (который нам и так известен) и шестнадцатеричная строка, которую мы не понимаем.

Начнём с главного с сайта IANA где есть все нужные коды с отсылкой к RFC4271. Если набраться сил и прочитать RFC от корки до корки, то всё должно стать понятно, но мы попытаемся разобраться только в формате наших двух сообщений не затрагивая поведенческие аспекты.

Разбираем NOTIFICATION

Из содержания, по названию, нам подходит пункт 4.5 NOTIFICATION Message Format. Открыв который действительно находим формат нужного нам заголовка и список всех кодов с ссылкой на соответствующие разделы (дальше всё цитирование спрячем под спойлеры):

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Error code    | Error subcode |   Data (variable)             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      Error Code:

         This 1-octet unsigned integer indicates the type of
         NOTIFICATION.  The following Error Codes have been defined:

            Error Code       Symbolic Name               Reference
              1         Message Header Error             Section 6.1
              2         OPEN Message Error               Section 6.2
              3         UPDATE Message Error             Section 6.3
              4         Hold Timer Expired               Section 6.5
              5         Finite State Machine Error       Section 6.6
              6         Cease                            Section 6.7

Наш раздел 6.3 UPDATE Message Error с кодом ошибки 3. Видим его во всех сообщениях, вместе с уточняющим кодом:

code 3/4 (update: attribute flags error) - 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04e0 0708 0003 02ed 5bdc 3f01

code 3 (Update Message Error) subcode 4 (attribute flags error), Data: e0 07 08 00 03 02 ed 5b dc 3f 01

3/5 (UPDATE Message Error/Attribute Length Error) 3298 bytes 50 02 0c de 02 ff 00 00 0c b9 00 00 00 ae 00 04 00 3e 00 04 00 3e 00 04 00 35 00 04 00 35 ... очень много раз 00 04 00 35

Табличек тут нет, поэтому читаем несколько страниц текста. Каждый абзац описывает поведение в различных ситуациях, которая характеризуется своим кодом ошибки.

В нашем случае — используемые флаги не могут быть использованы c данным атрибутом:

4 Attribute Flags Error

If any recognized attribute has Attribute Flags that conflict with
the Attribute Type Code, then the Error Subcode MUST be set to
Attribute Flags Error.  The Data field MUST contain the erroneous
attribute (type, length, and value).

и — фактическая длина атрибута не совпадает с ожидаемой:

5 Attribute Length Error

If any recognized attribute has an Attribute Length that conflicts
with the expected length (based on the attribute type code), then the
Error Subcode MUST be set to Attribute Length Error.  The Data field
MUST contain the erroneous attribute (type, length, and value).

Самое важное, что тут написано и что нам поможет в дальнейшем это то, что помимо кодов ошибок в сообщении ДОЛЖЕН присутствовать ошибочный атрибут из UPDATE сообщения в поле data в формате TLV (тип, длина, значение). Та самая шестнадцатеричная строка которую мы пока не можем интерпретировать. Однако, у нас по прежнему есть проблема в идентификации этого поля, связанная теперь с различными соглашениями принятыми производителями устройств для отображения журнала логов.

В примере с Cisco, явно указывается начало словом «Data»:
code 3 (Update Message Error) subcode 4 (attribute flags error), Data: e0 07 08 00 03 02 ed 5b dc 3f 01

В остальных случаях, такой привязки нет. При этом строка с Ericsson, содержит гораздо больше данных чем у Cisco, хотя мы знаем что эти сообщения идентичны. Поэтому возвращаемся на шаг назад к описанию NOTIFICATION и видим что мы разобрали его полностью, поле data переменной длины является последним в сообщении.

Поднимемся выше по иерархии и начнём читать с начала раздела 4.1:

Message Header Format

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                                                               +
      |                           Marker                              |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          Length               |      Type     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Каждое сообщение начинается с поля:

Marker

This 16-octet field is included for compatibility; it MUST be
set to all ones.

длиной в 16 байт и состоящее из всех единиц ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff. Такой же паттерн мы видим в логе Ericsson:
code 3/4 (update: attribute flags error) - 0000 0000 (ffff ffff ffff ffff ffff ffff ffff ffff) 0020 0303 04e0 0708 0003 02ed 5bdc 3f01

Далее поле длины в два байта:
code 3/4 (update: attribute flags error) - 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff (0020) 0303 04e0 0708 0003 02ed 5bdc 3f01, со значением 32 десятичные, что совпадает с расшифровкой из журнала notification msg sent (nbr 192.0.2.1, context 0x40030044 32 bytes, а ещё дальше :

Тип сообщения

This 1-octet unsigned integer indicates the type code of the
message.  This document defines the following type codes:

                     1 - OPEN
                     2 - UPDATE
                     3 - NOTIFICATION
                     4 - KEEPALIVE

и мы знаем что оно номер 3 — NOTIFICATION: code 3/4 (update: attribute flags error) - 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 (03)03 04e0 0708 0003 02ed 5bdc 3f01

А следом уже само сообщение и то что мы распознали (раздел 4.5) 03 04 — тип и подтип ошибки: code 3/4 (update: attribute flags error) - 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 03(03 04)e0 0708 0003 02ed 5bdc 3f01

Ericsson повторил нам не только поле data которое начинается с e0, а всё сформированное сообщение. В логе Cisco именно с него начинается байтовая последовательность. Лог FRRouting, также содержит полностью расшифрованный заголовок BGP сообщения NOTIFICATION за которым следует уже поле data, к декодированию которого мы возвращаемся.

Направляемся к описанию формата UPDATE, так как рассчитываем там найти описание форматов атрибутов, чтобы понять что именно мы всё же получаем. UPDATE содержит много полей, атрибуты задаются в поле переменной длины Path Attributes:

каждый из которых представлен в формате TLV

A variable-length sequence of path attributes is present in
every UPDATE message, except for an UPDATE message that carries
only the withdrawn routes.  Each path attribute is a triple
<attribute type, attribute length, attribute value> of variable
length.

Начнём со значения поля Тип, которое состоит из двух однобайтных частей:

Флаги и значения атрибута

         Attribute Type is a two-octet field that consists of the
         Attribute Flags octet, followed by the Attribute Type Code
         octet.

               0                   1
               0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
               |  Attr. Flags  |Attr. Type Code|
               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Здесь опять надо читать всё подряд, так как всё оформлено сплошным текстом. Из него следует, что поле флагов использует 4 первых бита с 0 по 3, а второй байт определяет сам атрибут. Сведём всё это в таблицу:

Бит Attr. Flags Значение Связанный атрибут
0 0 – well-known 1 — ORIGIN
2 — AS_PATH
3 — NEXT-HOP
5 — LOCAL_PREF
6 — ATOMIC_AGGREGATE
1 — optional 4 — MULTI_EXIT_DISC
7 — AGGREGATOR
1 0 – optional non-transitive MULTI_EXIT_DISC
1 – optional transitive или для всех well-known ORIGIN
AS-PATH
NEXT-HOP
ATOMIC_AGGREGATE
AGGREGATOR
2 0 — optional complete или для всех well-known и non-transitive ORIGIN
AS-PATH
NEXT-HOP
MULTI_EXIT_DISC
LOCAL_PREF
ATOMIC_AGGREGATE
1 – optional partial

Биты 4-7 должны быть 0 при передаче и игнорироваться при приёме, на них внимание не обращаем. Бит 3 определяет размер поля length в TLV:

0 – один байт, 1 — два байта

The fourth high-order bit (bit 3) of the Attribute Flags octet
is the Extended Length bit.  It defines whether the Attribute
Length is one octet (if set to 0) or two octets (if set to 1).

Отдельный интерес представляет флаг partial, который может быть установлен для транзитивных опциональных атрибутов. Описание флага разбросано в нескольких местах по всему тексту RFC. Встречаются следующие ситуации его использования:

  1. В случае, если атрибут не распознаётся этот флаг устанавливается, а сам атрибут передаётся дальше — 9 раздел:

    Update Message handling

    If an optional transitive attribute is unrecognized, the Partial 
    bit (the third high-order bit) in the attribute flags octet is 
    set to 1, and the attribute is retained for propagation to other 
    BGP speakers.
  2. Если атрибут распознаётся следующим спикером, то флаг всё равно не сбрасывается — 5 раздел:

    Path Attributes

    Paths with unrecognized transitive optional attributes SHOULD be 
    accepted.  If a path with an unrecognized transitive optional 
    attribute is accepted and passed to other BGP peers, then the 
    unrecognized transitive optional attribute of that path MUST be 
    passed, along with the path, to other BGP peers with the Partial bit 
    in the Attribute Flags octet set to 1.  If a path with a recognized,
    transitive optional attribute is accepted and passed along to other 
    BGP peers and the Partial bit in the Attribute Flags octet is set 
    to 1 by some previous AS, it MUST NOT be set back to 0 by the 
    current AS.
  3. И если не исходный спикер хочет добавить транзитивный атрибут, то флаг так же устанавливается:

    (там же)

    New, transitive optional attributes MAY be attached to the path by
    the originator or by any other BGP speaker in the path.  If they are
    not attached by the originator, the Partial bit in the Attribute
    Flags octet is set to 1.

Приступим к разбору UPDATE

Поле флагов в первом случае e0: code 3/4 (update: attribute flags error) - 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04(e0) 0708 0003 02ed 5bdc 3f01 — в двоичном 1110 0000 — опциональный, транзитивный с установленным флагом partial, поле длины задаётся одним байтом.

code 3/4 (update: attribute flags error) - 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04e0 (07)08 0003 02ed 5bdc 3f01 — код атрибута 7 — AGGREGATOR

Размер данных 8 байт: code 3/4 (update: attribute flags error) - 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04e0 07(08) 0003 02ed 5bdc 3f01

Во втором случае — общеизвестный атрибут (50 — 0101 0000), размер поля длины в два байта, AS_PATH (02), длина 3294 байта (0c de): 3/5 (UPDATE Message Error/Attribute Length Error) 3298 bytes (50 02 0c de) 02 ff 00 00 0c b9 00 00 00 ae 00 04 00 3e 00 04 00 3e 00 04 00 35 00 04 00 35 ... очень много раз 00 04 00 35

Оставшаяся часть строки это поле данных самого атрибута. Для этого продвигаемся дальше по разделу 4.3:

AGGREGATOR

AGGREGATOR is an optional transitive attribute of length 6.
The attribute contains the last AS number that formed the
aggregate route (encoded as 2 octets), followed by the IP
address of the BGP speaker that formed the aggregate route
(encoded as 4 octets).  This SHOULD be the same address as
the one used for the BGP Identifier of the speaker.

Следует учесть работу с 32-битными ASn RFC6793, чтобы получить следующий результат:

4 байта это AS197357: code 3/4 (update: attribute flags error) - 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04e0 0708 (0003 02ed) 5bdc 3f01,

и 4 байта IP адрес 91.220.63.1: code 3/4 (update: attribute flags error) - 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04e0 0708 0003 02ed (5bdc 3f01) — в сумме 8 байт, как и указано в поле длины.

Во втором случае AS_PATH, сам по себе TLV:

3-й вглубь, от начала NOTIFICATION

The path segment type is a 1-octet length field with the
following values defined:

   Value      Segment Type

    1         AS_SET: unordered set of ASes a route in the
                 UPDATE message has traversed

    2         AS_SEQUENCE: ordered set of ASes a route in
                 the UPDATE message has traversed

The path segment length is a 1-octet length field,
containing the number of ASes (not the number of octets) in
the path segment value field.

Поля типа и длины размером по 1 байту.

Тип 2, размер данных (ff — 255 ASn): 3/5 (UPDATE Message Error/Attribute Length Error) 3298 bytes 50 02 0c de (02 ff) 00 00 0c b9 00 00 00 ae 00 04 00 3e 00 04 00 3e 00 04 00 35 00 04 00 35 ... очень много раз 00 04 00 35

Сами данные — номера AS по 4 байта каждая: 3/5 (UPDATE Message Error/Attribute Length Error) 3298 bytes 50 02 0c de 02 ff (00 00 0c b9) (00 00 00 ae ) (00 04 00 3e ) (00 04 00 3e ) (00 04 00 35 ) (00 04 00 35 )... очень много раз 00 04 00 35 — AS3257, AS174, AS262206 AS262206, AS262197, AS262197, AS262197, AS262197 …

Добрались до конца. Показалось не сложным?.. но скучным. Конечно, это нам мало дало именно в понимании проблемы, так как большая часть документа, которой мы даже не касались описывает не форматы, а требуемое поведение. Но хотя бы мы знаем направление на источник.

К сожалению, а может и нет — RFC не является лёгкой прогулкой для чтения, в некоторых местах данные сведены в таблицы, в других ровно в тех же случаях они расписаны непосредственно в тексте и приходится много вычитывать для понимания структуры. Но радует, что они есть и производители смогли их прочитать и довести до реализации.

P.S. В случае FRRouting есть патч, намекающий, что проблема не в формате.

В первом случае, видимо, тоже нужен патч, так как формально я не увидел какой либо проблемы в совместном использовании флагов для атрибута AGGREGATOR, может кто увидел.

Last Updated
2023-01-18
Available Formats

XML

HTML

Plain text

Registries included below

  • BGP Message Types
  • BGP Path Attributes
  • BGP Error (Notification) Codes
  • BGP Error Subcodes

    • Message Header Error subcodes
    • OPEN Message Error subcodes
    • UPDATE Message Error subcodes
    • BGP Finite State Machine Error Subcodes
    • BGP Cease NOTIFICATION message subcodes
    • BGP ROUTE-REFRESH Message Error subcodes
  • BGP Outbound Route Filtering (ORF) Types
  • BGP OPEN Optional Parameter Types
  • BGP Tunnel Encapsulation Attribute Tunnel Types
  • BGP Tunnel Encapsulation Attribute Sub-TLVs
  • BGP Layer 2 Encapsulation Types
  • BGP Layer 2 TLV Types
  • BGP AIGP Attribute Types
  • BGP Route Refresh Subcodes
  • P-Multicast Service Interface Tunnel (PMSI Tunnel) Tunnel Types
  • P-Multicast Service Interface (PMSI) Tunnel Attribute Flags
  • BGP MCAST-VPN Route Types
  • BGP Prefix-SID TLV Types
  • BGP Prefix-SID Label-Index TLV Flags
  • BGP Prefix-SID Originator SRGB TLV Flags
  • BGP Graceful Restart Flags
  • BGP Graceful Restart Flags for Address Family
  • SFP Attribute TLVs
  • SFP Association Type
  • SFC SPI/SI Representation Flags
  • BFD Mode
  • BFD Discriminator Optional TLV Type
  • SRv6 Service Sub-TLV Types
  • SRv6 Service Data Sub-Sub-TLV Types
  • BGP SRv6 Service SID Flags

BGP Message Types

Registration Procedure(s)
Standards Action
Reference
[RFC4271]
Available Formats

CSV
Value Name Reference
0 Reserved
1 OPEN [RFC4271]
2 UPDATE [RFC4271]
3 NOTIFICATION [RFC4271]
4 KEEPALIVE [RFC4271]
5 ROUTE-REFRESH [RFC2918]
6-255 Unassigned

BGP Path Attributes

Registration Procedure(s)
Standards Action
Reference
[RFC4271]
Available Formats

CSV
Value Code Reference
0 Reserved
1 ORIGIN [RFC4271]
2 AS_PATH [RFC4271]
3 NEXT_HOP [RFC4271]
4 MULTI_EXIT_DISC [RFC4271]
5 LOCAL_PREF [RFC4271]
6 ATOMIC_AGGREGATE [RFC4271]
7 AGGREGATOR [RFC4271]
8 COMMUNITY [RFC1997]
9 ORIGINATOR_ID [RFC4456]
10 CLUSTER_LIST [RFC4456]
11 DPA (deprecated) [Chen, E., Bates, T., «Destination Preference Attribute for BGP»,
Work in progress, March 1996.][RFC6938]
12 ADVERTISER (historic) (deprecated) [RFC1863][RFC4223][RFC6938]
13 RCID_PATH / CLUSTER_ID (Historic) (deprecated) [RFC1863][RFC4223][RFC6938]
14 MP_REACH_NLRI [RFC4760]
15 MP_UNREACH_NLRI [RFC4760]
16 EXTENDED COMMUNITIES [Eric_Rosen][draft-ramachandra-bgp-ext-communities-00][RFC4360]
17 AS4_PATH [RFC6793]
18 AS4_AGGREGATOR [RFC6793]
19 SAFI Specific Attribute (SSA) (deprecated) [Gargi_Nalawade][draft-kapoor-nalawade-idr-bgp-ssa-00][draft-nalawade-idr-mdt-safi-00][draft-wijnands-mt-discovery-00]
20 Connector Attribute (deprecated) [RFC6037]
21 AS_PATHLIMIT (deprecated) [draft-ietf-idr-as-pathlimit]
22 PMSI_TUNNEL [RFC6514]
23 Tunnel Encapsulation [RFC9012]
24 Traffic Engineering [RFC5543]
25 IPv6 Address Specific Extended Community [RFC5701]
26 AIGP [RFC7311]
27 PE Distinguisher Labels [RFC6514]
28 BGP Entropy Label Capability Attribute (deprecated) [RFC6790][RFC7447]
29 BGP-LS Attribute [RFC7752]
30 Deprecated [RFC8093]
31 Deprecated [RFC8093]
32 LARGE_COMMUNITY [RFC8092]
33 BGPsec_Path [RFC8205]
34 BGP Community Container Attribute
(TEMPORARY — registered 2017-07-28, extension registered 2018-08-10, expires 2019-07-28)
[draft-ietf-idr-wide-bgp-communities]
35 Only to Customer (OTC) [RFC9234]
36 BGP Domain Path (D-PATH) (TEMPORARY — registered 2019-07-08, extension registered 2022-05-13, expires 2023-07-08) [draft-ietf-bess-evpn-ipvpn-interworking-06]
37 SFP attribute [RFC9015]
38 BFD Discriminator [RFC9026]
39 BGP Router Capabilities (RCA) (TEMPORARY — registered 2022-12-20, expires 2023-12-20) [draft-ietf-idr-entropy-label-01]
40 BGP Prefix-SID [RFC8669]
41-127 Unassigned
128 ATTR_SET [RFC6368]
129 Deprecated [RFC8093]
130-240 Unassigned
241 Deprecated [RFC8093]
242 Deprecated [RFC8093]
243 Deprecated [RFC8093]
244-254 Unassigned
255 Reserved for development [RFC2042]

BGP Error (Notification) Codes

Registration Procedure(s)
Standards Action
Reference
[RFC4271][RFC7313]
Available Formats

CSV
Value Name Reference
0 Reserved
1 Message Header Error [RFC4271]
2 OPEN Message Error [RFC4271]
3 UPDATE Message Error [RFC4271]
4 Hold Timer Expired [RFC4271]
5 Finite State Machine Error [RFC4271]
6 Cease [RFC4271]
7 ROUTE-REFRESH Message Error [RFC7313]
8-255 Unassigned

BGP Error Subcodes

Registration Procedure(s)
Standards Action
Reference
[RFC4271]

BGP Outbound Route Filtering (ORF) Types

Reference
[RFC5291]
Available Formats

CSV
Range Registration Procedures Note
0-63 Standards Action
64-127 First Come First Served
128-255 Vendor-Specific IANA does not assign
Value Description Reference
0 Reserved [RFC5291]
1-63 Unassigned
64 Address Prefix ORF [RFC5292]
65 CP-ORF [RFC7543]
66-127 Unassigned
128-255 Reserved for Vendor-Specific [RFC5291]

BGP OPEN Optional Parameter Types

Registration Procedure(s)
IETF Review
Reference
[RFC5492]
Available Formats

CSV
Value Name Reference
0 Reserved [RFC5492]
1 Authentication (deprecated) [RFC4271][RFC5492]
2 Capabilities [RFC5492]
3-254 Unassigned
255 Extended Length [RFC9072]

BGP Tunnel Encapsulation Attribute Tunnel Types

Reference
[RFC9012]
Note
Moved to [https://www.iana.org/assignments/bgp-tunnel-encapsulation] per [RFC9012].
    

BGP Tunnel Encapsulation Attribute Sub-TLVs

Reference
[RFC9012]
Note
Moved to [https://www.iana.org/assignments/bgp-tunnel-encapsulation] per [RFC9012].
      

BGP Layer 2 Encapsulation Types

Reference
[RFC6624]
Note
When this registry is modified, the YANG module [iana-bgp-l2-encaps] must be updated 
as defined in [RFC9291].
      
Available Formats

CSV
Range Registration Procedures
0-127 Expert Review
128-251 First Come First Served
252-255 Experimental Use
Value Description Reference
0 Reserved [RFC6624]
1 Frame Relay [RFC4446]
2 ATM AAL5 SDU VCC transport [RFC4446]
3 ATM transparent cell transport [RFC4816]
4 Ethernet (VLAN) Tagged Mode [RFC4448]
5 Ethernet Raw Mode [RFC4448]
6 Cisco HDLC [RFC4618]
7 PPP [RFC4618]
8 SONET/SDH Circuit Emulation Service [RFC4842]
9 ATM n-to-one VCC cell transport [RFC4717]
10 ATM n-to-one VPC cell transport [RFC4717]
11 IP Layer 2 Transport [RFC3032]
12-14 Unassigned
15 Frame Relay Port mode [RFC4619]
16 Unassigned
17 Structure-agnostic E1 over packet [RFC4553]
18 Structure-agnostic T1 (DS1) over packet [RFC4553]
19 VPLS [RFC4761]
20 Structure-agnostic T3 (DS3) over packet [RFC4553]
21 Nx64kbit/s Basic Service using Structure-aware [RFC5086]
22-24 Unassigned
25 Frame Relay DLCI [RFC4619]
25-39 Unassigned
40 Structure-agnostic E3 over packet [RFC4553]
41 Octet-aligned payload for Structure-agnostic DS1 circuits [RFC4553]
42 E1 Nx64kbit/s with CAS using Structure-aware [RFC5086]
43 DS1 (ESF) Nx64kbit/s with CAS using Structure-aware [RFC5086]
44 DS1 (SF) Nx64kbit/s with CAS using Structure-aware [RFC5086]
45-127 Unassigned
128-251 Unassigned
252-255 Experimental Use [RFC6624]

BGP Layer 2 TLV Types

Reference
[RFC6624]
Available Formats

CSV
Range Registration Procedures
0-127 Expert Review
128-251 First Come First Served
252-255 Experimental Use
Value Description Reference
0 Reserved [RFC6624]
1 Circuit Status Vector [RFC6624]
2-127 Unassigned
128-251 Unassigned
252-255 Experimental Use [RFC6624]

BGP AIGP Attribute Types

Registration Procedure(s)
Standards Action
Reference
[RFC7311]
Available Formats

CSV
Value Description Reference
0 Reserved [RFC7311]
1 AIGP [RFC7311]
2-255 Unassigned

BGP Route Refresh Subcodes

Reference
[RFC7313]
Available Formats

CSV
Range Registration Procedures
0-127 Standards Action
128-254 First Come First Served
Value Code Reference
0 Route-Refresh [RFC2918][RFC5291]
1 BoRR [RFC7313]
2 EoRR [RFC7313]
3-254 Unassigned
255 Reserved [RFC7313]

P-Multicast Service Interface Tunnel (PMSI Tunnel) Tunnel Types

Reference
[RFC7385][RFC8317]
Note
The status of value 0xFF may only be changed through Standards Action [RFC8126].
   
Available Formats

CSV
Range Registration Procedures
0x00-0x7A IETF Review
0x7B-0x7E Experimental Use
0x80-0xFA Composite Tunnel
0xFB-0xFE Experimental Use
0xFF Standards Action
Value Meaning Reference
0x00 no tunnel information present [RFC6514]
0x01 RSVP-TE P2MP LSP [RFC6514]
0x02 mLDP P2MP LSP [RFC6514]
0x03 PIM-SSM Tree [RFC6514]
0x04 PIM-SM Tree [RFC6514]
0x05 BIDIR-PIM Tree [RFC6514]
0x06 Ingress Replication [RFC6514]
0x07 mLDP MP2MP LSP [RFC6514]
0x08 Transport Tunnel [RFC7524]
0x09 Unassigned
0x0A Assisted-Replication Tunnel [RFC-ietf-bess-evpn-optimized-ir-12]
0x0B BIER [RFC8556]
0x0C SR-MPLS P2MP Tree (TEMPORARY — registered 2020-12-09, extension registered 2021-10-19, expires 2022-12-09) [draft-ietf-bess-mvpn-evpn-sr-p2mp-06]
0x0D-0x7A Unassigned
0x7B-0x7E Reserved for Experimental Use [RFC8317]
0x7F Reserved [RFC8317]
0x80-0xFA Reserved for Composite Tunnel [RFC8317]
0xFB-0xFE Reserved for Experimental Use [RFC7385]
0xFF wildcard transport tunnel type [RFC8338]

P-Multicast Service Interface (PMSI) Tunnel Attribute Flags

Registration Procedure(s)
Standards Action
Reference
[RFC7902]
Available Formats

CSV
Value Name Reference
0 Unassigned
1 Extension [RFC7902]
2 Leaf Information Required per-Flow (LIR-pF) [RFC8534]
3-4 Assisted-Replication Type (T) [RFC-ietf-bess-evpn-optimized-ir-12]
5 Broadcast and Multicast (BM) [RFC-ietf-bess-evpn-optimized-ir-12]
6 Unknown (U) [RFC-ietf-bess-evpn-optimized-ir-12]
7 Leaf Information Required (L) [RFC6514]

BGP MCAST-VPN Route Types

Registration Procedure(s)
Standards Action
Reference
[RFC7441][RFC6514]
Note
Values may be assigned from one of several ranges:

 - Range 0x01-0x3f: Generic/PIM Range.  Values are assigned from
   this range when the NLRI format associated with the route type
   presupposes that PIM or IGMP is the C-multicast control protocol,
   or when the NLRI format associated with the route type is
   independent of the C-multicast control protocol.

 - Range 0x43-0x7f: mLDP Range.  Values are assigned from this range
   when the NLRI format associated with the route type presupposes
   that mLDP is the C-multicast control protocol.

 - Range 0x80-0xff: This range is reserved; values should not be
   assigned from this range.

In general, whenever an assignment is requested from this registry,
two codepoints should be requested at the same time: one from the
Generic/PIM range (0x01-0x3f) and one from the mLDP range (0x43-0x7f). 
The two codepoints should have the same low-order 6 bits.  If one of 
the two codepoints is not actually needed, it should be registered 
anyway, and marked as "Reserved."
   
Available Formats

CSV
Value Meaning Reference
0x00 Reserved [RFC7441][RFC6514]
0x01 Intra-AS I-PMSI A-D route [RFC7441][RFC6514]
0x02 Inter-AS I-PMSI A-D route [RFC7441][RFC6514]
0x03 S-PMSI A-D route [RFC7441][RFC6514]
0x04 Leaf A-D route [RFC7441][RFC6514]
0x05 Source Active A-D route [RFC7441][RFC6514]
0x06 Shared Tree Join route [RFC7441][RFC6514]
0x07 Source Tree Join route [RFC7441][RFC6514]
0x08-0x3f Unassigned (Generic/PIM range)
0x40-0x42 Reserved [RFC7441]
0x43 S-PMSI A-D route for C-multicast mLDP [RFC7441]
0x44 Leaf A-D route for C-multicast mLDP [RFC7441]
0x45-0x46 Reserved [RFC7441]
0x47 Source Tree Join route for C-multicast mLDP [RFC7441]
0x48-0x7f Unassigned (mLDP range)
0x80-0xff Reserved [RFC7441]

BGP Prefix-SID TLV Types

Registration Procedure(s)
Expert Review
Expert(s)
Acee Lindem, Hannes Gredler
Reference
[RFC8669]
Available Formats

CSV
Value Type Reference
0 Reserved [RFC8669]
1 Label-Index [RFC8669]
2 Deprecated [RFC8669]
3 Originator SRGB [RFC8669]
4 Deprecated [RFC9252]
5 SRv6 L3 Service TLV [RFC9252]
6 SRv6 L2 Service TLV [RFC9252]
7-254 Unassigned
255 Reserved [RFC8669]

BGP Prefix-SID Label-Index TLV Flags

Registration Procedure(s)
Expert Review
Expert(s)
Acee Lindem, Hannes Gredler
Reference
[RFC8669]
Available Formats

CSV
Value Name Reference
0x0001-0x8000 Unassigned

BGP Prefix-SID Originator SRGB TLV Flags

Registration Procedure(s)
Expert Review
Expert(s)
Acee Lindem, Hannes Gredler
Reference
[RFC8669]
Available Formats

CSV
Value Name Reference
0x0001-0x8000 Unassigned

BGP Graceful Restart Flags

Registration Procedure(s)
Standards Action
Reference
[RFC4724][RFC8538]
Available Formats

CSV
Bit Position Name Short Name Reference
0 Restart State R [RFC4724]
1 Notification N [RFC8538]
2-3 Unassigned

BGP Graceful Restart Flags for Address Family

Registration Procedure(s)
Standards Action
Reference
[RFC4724][RFC8538]
Available Formats

CSV
Bit Position Name Short Name Reference
0 Forwarding State F [RFC4724]
1-7 Unassigned

SFP Attribute TLVs

Registration Procedure(s)
First Come First Served
Reference
[RFC9015]
Available Formats

CSV
Type Name Reference Registration Date
0 Reserved [RFC9015]
1 Association TLV [RFC9015] 2020-09-02
2 Hop TLV [RFC9015] 2020-09-02
3 SFT TLV [RFC9015] 2020-09-02
4 MPLS Swapping/Stacking [RFC9015] 2020-09-02
5 SFP Traversal With MPLS [RFC9015] 2020-09-02
6-65534 Unassigned
65535 Reserved [RFC9015]

SFP Association Type

Registration Procedure(s)
First Come First Served
Reference
[RFC9015]
Available Formats

CSV
Association Type Name Reference Registration Date
0 Reserved [RFC9015]
1 Bidirectional SFP [RFC9015] 2020-09-02
2-65534 Unassigned
65535 Reserved [RFC9015]

SFC SPI/SI Representation Flags

Registration Procedure(s)
Standards Action
Reference
[RFC9015]
Available Formats

CSV
Value Name Reference
0 NSH data plane [RFC9015]
1 MPLS data plane [RFC9015]
2-15 Unassigned

BFD Mode

Reference
[RFC9026]
Available Formats

CSV
Range Registration Procedures
0-175 IETF Review
176-249 First Come First Served
250-254 Experimental Use
255 IETF Review
Value Description Reference
0 Reserved [RFC9026]
1 P2MP BFD Session [RFC9026]
2-175 Unassigned
176 S-BFD for SRv6 Locator Session [draft-wang-bess-sbfd-discriminator-04]
177 S-BFD for Common Session [draft-wang-bess-sbfd-discriminator-04]
178-249 Unassigned
250-254 Experimental Use [RFC9026]
255 Reserved [RFC9026]

BFD Discriminator Optional TLV Type

Reference
[RFC9026]
Available Formats

CSV
Range Registration Procedures
0-175 IETF Review
176-249 First Come First Served
250-254 Experimental Use
255 IETF Review
Value Description Reference
0 Reserved [RFC9026]
1 Source IP Address [RFC9026]
2-175 Unassigned
176-249 Unassigned
250-254 Experimental Use [RFC9026]
255 Reserved [RFC9026]

SRv6 Service Sub-TLV Types

Reference
[RFC9252]
Available Formats

CSV
Range Registration Procedures
0-127 IETF Review
128-254 First Come First Served
255 IETF Review
Value Type Reference
0 Reserved [RFC9252]
1 SRv6 SID Information Sub-TLV [RFC9252]
2-254 Unassigned
255 Reserved [RFC9252]

SRv6 Service Data Sub-Sub-TLV Types

Reference
[RFC9252]
Available Formats

CSV
Range Registration Procedures
0-127 IETF Review
128-254 First Come First Served
255 IETF Review
Value Type Reference
0 Reserved [RFC9252]
1 SRv6 SID Structure Sub-Sub-TLV [RFC9252]
2-254 Unassigned
255 Reserved [RFC9252]

BGP SRv6 Service SID Flags

Registration Procedure(s)
IETF Review
Reference
[RFC9252]
Available Formats

CSV
Bit Position Name Reference
0-7 Unassigned

Contact Information

ID Name Contact URI Last Updated
[Eric_Rosen] Eric Rosen mailto:erosen&cisco.com 2010-02-23
[Gargi_Nalawade] Gargi Nalawade mailto:gargi&cisco.com 2004-02

Содержание

  1. Bgp notification error code
  2. Разбираем BGP NOTIFICATION по RFC
  3. Разбираем NOTIFICATION
  4. Приступим к разбору UPDATE

Bgp notification error code

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don’t want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. 🙂

If you like The TCP/IP Guide, please consider the download version. It’s priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I’d be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select «Disable on tcpipguide.com». Or go to the Tools menu and select «Adblock Plus Preferences. «. Then click «Add Filter. » at the bottom, and add this string: «@@||tcpipguide.com^$document». Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide

NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here. and Now On Sale!

Get The TCP/IP Guide for your own computer.
The TCP/IP Guide

The TCP/IP Guide
9 TCP/IP Lower-Layer (Interface, Internet and Transport) Protocols (OSI Layers 2, 3 and 4)
9 TCP/IP Internet Layer (OSI Network Layer) Protocols
9 TCP/IP Routing Protocols (Gateway Protocols)
9 TCP/IP Exterior Gateway/Routing Protocols (BGP and EGP)
9 TCP/IP Border Gateway Protocol (BGP/BGP-4)
9 BGP Detailed Messaging, Operation and Message Formats

BGP Error Reporting: Notification Messages
(Page 3 of 3)

BGP Notification Message Error Codes and Error Subcodes

Table 142 and Table 143 show the values permitted for the Error Code and Error Subcode fields, respectively, and thus provide a good summary of the types of errors that Notification messages can report (as well as demonstrating the other non-error uses of the message type).

Table 142: BGP Notification Message Error Codes

Message Header Error

A problem was detected either with the contents or length of the BGP header. The Error Subcode provides more details on the nature of the problem.

Open Message Error

A problem was found in the body of an Open message. The Error Subtype field describes the problem in more detail. Note that authentication failures or inability to agree on a parameter such as hold time are included here.

Update Message Error

A problem was found in the body of an Update message. Again, the Error Subtype provides more information. Many of the problems that fall under this code are related to issues detected in the routing data or path attributes sent in the Update message, so these messages provide feedback about such problems to the device sending the erroneous data.

Hold Timer Expired

Finite State Machine Error

The BGP finite state machine refers to the mechanism by which the BGP software on a peer moves from one operating state to another based on events ( see the TCP finite state machine description for some background on this concept ). If an event occurs that is unexpected for the state the peer is currently in, it will generate this error.

Used when a BGP device wants to break the connection to a peer for a reason not related to any of the error conditions described by the other codes.

Table 143: BGP Notification Message Error Subcodes

Error Subcode Value

Message Header Error (Error Code 1)

Connection Not Synchronized

The expected value in the Marker field was not found, indicating that the connection has become unsynchronized. See the description of the Marker field .

Bad Message Length

The message was less than 19 bytes, greater than 4096 bytes, or not consistent with what was expected for the message type.

Bad Message Type

The Type field of the message contains an invalid value.

Open Message Error (Error Code 2)

Unsupported Version Number

The device does not “speak” the version number its peer is trying to use.

The router doesn’t recognize the peer’s autonomous system number or is not willing to communicate with it.

Bad BGP Identifier

The BGP Identifier field is invalid.

Unsupported Optional Parameter

The Open message contains an optional parameter that the recipient of the message doesn’t understand.

The data in the Authentication Information optional parameter could not be authenticated.

Unacceptable Hold Time

The router refuses to open a session because the proposed hold time its peer specified in its Open message is unacceptable.

Update Message Error (Error Code 3)

Malformed Attribute List

The overall structure of the message’s path attributes is incorrect, or an attribute has appeared twice.

Unrecognized Well-Known Attribute

One of the mandatory well-known attributes was not recognized.

Missing Well-Known Attribute

One of the mandatory well-known attributes was not specified.

Attribute Flags Error

An attribute has a flag set to a value that conflicts with the attribute’s type code.

Attribute Length Error

The length of an attribute is incorrect.

Invalid Origin Attribute

The Origin attribute has an undefined value.

AS Routing Loop

A routing loop was detected.

Invalid Next_Hop Attribute

The Next_Hop attribute is invalid.

Optional Attribute Error

An error was detected in an optional attribute.

Invalid Network Field

The Network Layer Reachability Information field is incorrect.

The AS_Path attribute is incorrect.

Note that, perhaps ironically, no mechanism exists to report an error in a Notification message itself. This is likely because the connection is normally terminated after such a message is sent.

Key Concept: BGP Notification messages are used for error reporting between BGP peers. Each message contains an Error Code field that indicates what type of problem occurred. For certain Error Codes, an Error Subcode field provides additional details about the specific nature of the problem. Despite these field names, Notification messages are also used for other types of special non-error communication, such as terminating a BGP connection.

Источник

Разбираем BGP NOTIFICATION по RFC

Важно ли знать форматы заголовков передаваемых данных? Во многих учебных курсах по сетям разбору заголовков протоколов уделяется больше или меньше времени, но обычно без этого не обходится. Нося по своей природе описательный характер часто их изучение вызывает скуку, а наличие средств автоматического разбора не улучшает картину. Иногда заголовок действительно содержит интересный подход, но в большинстве случаев всё это вписывается в какой-то один принцип и следующий новый формат обычно уже не вызывает удивления. Самое интересное это, конечно, всевозможные сочетания тех опций, которые влияют на функционал, но стоит ли помнить какие опции в каком порядке вписываются в заголовке?

Не могу сказать, что я это помню, ещё не могу сказать что это мне мешает в работе. Я даже не могу сказать, что мне приходится часто видеть заголовки в каком-то необработанном виде, потому что, как правило, сообщения в syslog или на консоли уже переформатированы в связные английские предложения. Но, иногда, приходиться смотреть глубже, например, этот год был урожайный на подобные сообщения:

Cisco, то же с другой стороны

Попробуем разобрать это руками как написано в RFC4271. Не будем искать причину — просто разбор заголовков. Будет много цитат и, скорее всего, ничего нового для тех кто уже это умеет делать. Для остальных читаем дальше.

Чтобы внести разнообразие не ограничимся одним сообщением и разберём ещё вот это issue с GitHub FRRouting:

Что мы можем прочитать? Видим тип сообщения, его значение и подзначение, IP адрес соседства (который нам и так известен) и шестнадцатеричная строка, которую мы не понимаем.

Начнём с главного с сайта IANA где есть все нужные коды с отсылкой к RFC4271. Если набраться сил и прочитать RFC от корки до корки, то всё должно стать понятно, но мы попытаемся разобраться только в формате наших двух сообщений не затрагивая поведенческие аспекты.

Разбираем NOTIFICATION

Из содержания, по названию, нам подходит пункт 4.5 NOTIFICATION Message Format. Открыв который действительно находим формат нужного нам заголовка и список всех кодов с ссылкой на соответствующие разделы (дальше всё цитирование спрячем под спойлеры):

Наш раздел 6.3 UPDATE Message Error с кодом ошибки 3. Видим его во всех сообщениях, вместе с уточняющим кодом:

code 3/4 (update: attribute flags error) — 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04e0 0708 0003 02ed 5bdc 3f01

code 3 (Update Message Error) subcode 4 (attribute flags error), Data: e0 07 08 00 03 02 ed 5b dc 3f 01

3/5 (UPDATE Message Error/Attribute Length Error) 3298 bytes 50 02 0c de 02 ff 00 00 0c b9 00 00 00 ae 00 04 00 3e 00 04 00 3e 00 04 00 35 00 04 00 35 . очень много раз 00 04 00 35

Табличек тут нет, поэтому читаем несколько страниц текста. Каждый абзац описывает поведение в различных ситуациях, которая характеризуется своим кодом ошибки.

В нашем случае — используемые флаги не могут быть использованы c данным атрибутом:

и — фактическая длина атрибута не совпадает с ожидаемой:

Самое важное, что тут написано и что нам поможет в дальнейшем это то, что помимо кодов ошибок в сообщении ДОЛЖЕН присутствовать ошибочный атрибут из UPDATE сообщения в поле data в формате TLV (тип, длина, значение). Та самая шестнадцатеричная строка которую мы пока не можем интерпретировать. Однако, у нас по прежнему есть проблема в идентификации этого поля, связанная теперь с различными соглашениями принятыми производителями устройств для отображения журнала логов.

В примере с Cisco, явно указывается начало словом «Data»:
code 3 (Update Message Error) subcode 4 (attribute flags error), Data : e0 07 08 00 03 02 ed 5b dc 3f 01

В остальных случаях, такой привязки нет. При этом строка с Ericsson, содержит гораздо больше данных чем у Cisco, хотя мы знаем что эти сообщения идентичны. Поэтому возвращаемся на шаг назад к описанию NOTIFICATION и видим что мы разобрали его полностью, поле data переменной длины является последним в сообщении.

Поднимемся выше по иерархии и начнём читать с начала раздела 4.1:

Каждое сообщение начинается с поля:

длиной в 16 байт и состоящее из всех единиц ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff . Такой же паттерн мы видим в логе Ericsson:
code 3/4 (update: attribute flags error) — 0000 0000 ( ffff ffff ffff ffff ffff ffff ffff ffff ) 0020 0303 04e0 0708 0003 02ed 5bdc 3f01

Далее поле длины в два байта:
code 3/4 (update: attribute flags error) — 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff ( 0020 ) 0303 04e0 0708 0003 02ed 5bdc 3f01 , со значением 32 десятичные, что совпадает с расшифровкой из журнала notification msg sent (nbr 192.0.2.1, context 0x40030044 32 bytes , а ещё дальше :

и мы знаем что оно номер 3 — NOTIFICATION: code 3/4 (update: attribute flags error) — 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 ( 03 ) 03 04e0 0708 0003 02ed 5bdc 3f01

А следом уже само сообщение и то что мы распознали (раздел 4.5) 03 04 — тип и подтип ошибки: code 3/4 (update: attribute flags error) — 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 03 ( 03 04 ) e0 0708 0003 02ed 5bdc 3f01

Ericsson повторил нам не только поле data которое начинается с e0, а всё сформированное сообщение. В логе Cisco именно с него начинается байтовая последовательность. Лог FRRouting, также содержит полностью расшифрованный заголовок BGP сообщения NOTIFICATION за которым следует уже поле data, к декодированию которого мы возвращаемся.

Направляемся к описанию формата UPDATE, так как рассчитываем там найти описание форматов атрибутов, чтобы понять что именно мы всё же получаем. UPDATE содержит много полей, атрибуты задаются в поле переменной длины Path Attributes:

Начнём со значения поля Тип, которое состоит из двух однобайтных частей:

Здесь опять надо читать всё подряд, так как всё оформлено сплошным текстом. Из него следует, что поле флагов использует 4 первых бита с 0 по 3, а второй байт определяет сам атрибут. Сведём всё это в таблицу:

Бит Attr. Flags Значение Связанный атрибут
0 – well-known 1 — ORIGIN
2 — AS_PATH
3 — NEXT-HOP
5 — LOCAL_PREF
6 — ATOMIC_AGGREGATE
1 — optional 4 — MULTI_EXIT_DISC
7 — AGGREGATOR
1 0 – optional non-transitive MULTI_EXIT_DISC
1 – optional transitive или для всех well-known ORIGIN
AS-PATH
NEXT-HOP
ATOMIC_AGGREGATE
AGGREGATOR
2 0 — optional complete или для всех well-known и non-transitive ORIGIN
AS-PATH
NEXT-HOP
MULTI_EXIT_DISC
LOCAL_PREF
ATOMIC_AGGREGATE
1 – optional partial

Биты 4-7 должны быть 0 при передаче и игнорироваться при приёме, на них внимание не обращаем. Бит 3 определяет размер поля length в TLV:

Отдельный интерес представляет флаг partial, который может быть установлен для транзитивных опциональных атрибутов. Описание флага разбросано в нескольких местах по всему тексту RFC. Встречаются следующие ситуации его использования:

    В случае, если атрибут не распознаётся этот флаг устанавливается, а сам атрибут передаётся дальше — 9 раздел:

Приступим к разбору UPDATE

Поле флагов в первом случае e0: code 3/4 (update: attribute flags error) — 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04 ( e0 ) 0708 0003 02ed 5bdc 3f01 — в двоичном 1110 0000 — опциональный, транзитивный с установленным флагом partial, поле длины задаётся одним байтом.

code 3/4 (update: attribute flags error) — 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04e0 ( 07 ) 08 0003 02ed 5bdc 3f01 — код атрибута 7 — AGGREGATOR

Размер данных 8 байт: code 3/4 (update: attribute flags error) — 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04e0 07 ( 08 ) 0003 02ed 5bdc 3f01

Во втором случае — общеизвестный атрибут (50 — 0101 0000), размер поля длины в два байта, AS_PATH (02), длина 3294 байта (0c de): 3/5 (UPDATE Message Error/Attribute Length Error) 3298 bytes ( 50 02 0c de ) 02 ff 00 00 0c b9 00 00 00 ae 00 04 00 3e 00 04 00 3e 00 04 00 35 00 04 00 35 . очень много раз 00 04 00 35

Оставшаяся часть строки это поле данных самого атрибута. Для этого продвигаемся дальше по разделу 4.3:

Следует учесть работу с 32-битными ASn RFC6793, чтобы получить следующий результат:

4 байта это AS197357: code 3/4 (update: attribute flags error) — 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04e0 0708 ( 0003 02ed ) 5bdc 3f01 ,

и 4 байта IP адрес 91.220.63.1: code 3/4 (update: attribute flags error) — 0000 0000 ffff ffff ffff ffff ffff ffff ffff ffff 0020 0303 04e0 0708 0003 02ed ( 5bdc 3f01 ) — в сумме 8 байт, как и указано в поле длины.

Во втором случае AS_PATH, сам по себе TLV:

Поля типа и длины размером по 1 байту.

Тип 2, размер данных (ff — 255 ASn): 3/5 (UPDATE Message Error/Attribute Length Error) 3298 bytes 50 02 0c de ( 02 ff ) 00 00 0c b9 00 00 00 ae 00 04 00 3e 00 04 00 3e 00 04 00 35 00 04 00 35 . очень много раз 00 04 00 35

Сами данные — номера AS по 4 байта каждая: 3/5 (UPDATE Message Error/Attribute Length Error) 3298 bytes 50 02 0c de 02 ff ( 00 00 0c b9 ) ( 00 00 00 ae ) ( 00 04 00 3e ) ( 00 04 00 3e ) ( 00 04 00 35 ) ( 00 04 00 35 ) . очень много раз 00 04 00 35 — AS3257, AS174, AS262206 AS262206, AS262197, AS262197, AS262197, AS262197 .

Добрались до конца. Показалось не сложным. но скучным. Конечно, это нам мало дало именно в понимании проблемы, так как большая часть документа, которой мы даже не касались описывает не форматы, а требуемое поведение. Но хотя бы мы знаем направление на источник.

К сожалению, а может и нет — RFC не является лёгкой прогулкой для чтения, в некоторых местах данные сведены в таблицы, в других ровно в тех же случаях они расписаны непосредственно в тексте и приходится много вычитывать для понимания структуры. Но радует, что они есть и производители смогли их прочитать и довести до реализации.

P.S. В случае FRRouting есть патч, намекающий, что проблема не в формате.

В первом случае, видимо, тоже нужен патч, так как формально я не увидел какой либо проблемы в совместном использовании флагов для атрибута AGGREGATOR, может кто увидел.

Источник

A BGP notification message is sent when an error condition is detected by the BGP process. The TCP connection with that BGP peer is closed after sending the notification message. Usually, the BGP process will log this notification in syslog, which would help us to identify the reason why the BGP session was brought down.

In this post, BGP notification message format along with error codes and subcodes are discussed.

Notification Message format:

BGP header(fixed 19 bytes which has marker, length and type fields) + Notification message [that has Error + Error subcode + Data field (variable length)]. Data field depends on Error and Error subcode.

when a notification is received/sent, BGP syslog message is displayed on console/vty line as below: (from a Dell switch)

STKUNIT0-M:CP %BGP-5-ADJCHANGE: VRF default Connection with neighbor 3.3.3.1 closed. Bad Peer AS received

In addition to syslog, Dell switches running FTOS would log the notification history in raw hex format in the output of “show ip bgp neighbor x.x.x.x” command. Due to limited logging buffer space, BGP notification logs might have been overwritten by other syslog messages. In those cases, to troubleshoot and identify the root cause of any outage caused by BGP flap, this raw hex output in the show command would be helpful.

Dell#Show ip bgp neighbor
<snip>
 Last reset 00:01:47, due to Maximum prefix limit reached
 Notification History
 'Connection Reset' Sent : 34 Recv : 0
 Last notification (len 21) sent 00:01:47 ago
 ffffffff ffffffff ffffffff ffffffff 00150306 01000000

Decoding Hex dump: BGP Header + Notification message:

BGP Header:  Marker (ffffffff ffffffff ffffffff fffffff)
Length: 0x0015 = 21
Message Type:0x03 = Notification
Error: 0x06 = Cease
Error Subcode: 0x01 = There is no subcode for cease error
Data: set to zeros.

Last notification (len 23) received 00:00:10 ago
 ffffffff ffffffff ffffffff ffffffff 00170302 02fe1400

BGP Header: Marker (ffffffff ffffffff ffffffff fffffff)
Length: 0x0017 = 23
Message Type:0x03 = Notification
Error: 0x02 = OPEN message error
Error Subcode: 0x02 = Bad Peer AS
Data: 0xfe14 = Inform peer that they use 65044 as their AS, which is wrong.

Following table has the list of BGP notification error/subcodes.

Error Code Error Subcode When this notification is sent?
1-Message Header Error 1 – Connection Not Synchronized2 – Bad Message Length

3 – Bad Message Type

Discussed in RFC-4271 Section-6.1. Link
2-OPEN Message Error 1 – Unsupported Version2 – Bad Peer AS

3 – Bad BGP Identifier

4 – Unsupported Optional Parameter

5 – Authentication Failure

6 – Unacceptable Hold Time

Discussed in RFC-4271 section-6.2. Link
3-UPDATE Message Error 1 – Malformed Attribute List2 – Unrecognized Well-known Attribute

3 – Missing Well-known Attribute

4 – Attribute Flags Error

5 – Attribute Length Error

6 – Invalid ORIGIN Attribute

7 – AS Routing Loop

8 – Invalid NEXT_HOP Attribute

9 – Optional Attribute Error

10 – Invalid Network Field

11 – Malformed AS_PATH

Discussed in RFC-4271. Section-6.3. Link
4-Hold Timer Expired No Subcode When the HOLD down timer expires.
5-Finite State Machine Error No Subcode Any error detected by the BGP Finite State Machine
6-Cease No Subcode When the prefix advertised by a neighbor reaches its maximum-prefix limit configured, BGP neighbor is brought down by sending this notification message.

This entry was posted in bgp, Force10, Routing and tagged BGP, notification. Bookmark the permalink.

Notification messages, whose format is shown in Figure 2-47, are sent when an error condition is detected. The BGP connection is closed immediately after the message is sent.

i Figure ^ ^^ Notification Message Format

8

8

8

8

Error Code

Error Subcode

Data

The BGP Notification message contains the following fields:

• Error Code—A 1-octet field indicating the type of error.

• Error Subcode—A 1 -octet field providing more-specific information about the error. Table 2-8 shows the possible error codes and associated error subcodes.

• Data—A variable-length field used to diagnose the reason for the error. The contents of the Data field depend on the error code and subcode.

Table BGP Notification Message Error Codes and Error Subcodes

Error Code

Error

Error Subcode

Subcode Detail

1

Message Header Error

1

Connection not synchronized

2

Bad message length

3

Bad message type

continues continues

Table 2-8 BGP Notification Message Error Codes and Error Subcodes (Continued)

Error Code

Error

Error Subcode

Subcode Detail

2

Open Message Error

1

Unsupported version number

2

Bad peer AS

3

Bad BGP identifier

4

Unsupported optional parameter

5

Authentication failure

6

Unacceptable hold time

3

Update Message Error

1

Malformed attribute list

2

Unrecognized well-known attribute

3

Missing well-known attribute

4

Attribute flags error

5

Attribute length error

6

Invalid ORIGIN attribute

7

AS routing loop

8

Invalid NEXT_HOP attribute

9

Optional attribute error

10

Invalid network field

11

Malformed ASJPATH

4

Hold Timer Expired

0

5

Finite State Machine Error

0

6

Cease

0

Continue reading here: Review Questions

Was this article helpful?

Материал из Xgu.ru

Перейти к: навигация, поиск

< BGP

[править] Формат заголовка

У всех сообщений BGP такой формат заголовка:

|<-------------------------- 32 бита --------------------------->|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                                                               |
+                                                               +
|                           Marker                              |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Length               |      Type     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Поля заголовка BGP-сообщений:

  • Marker — поле, которое включено в заголовок для совместимости. Размер поля — 16 байт, все байты должны быть 1.
  • Length — длина всего сообщения в октетах, включая заголовок. Поле может принимать значения от 19 до 4096.
  • Type — тип передаваемого сообщения:
    • 1 — OPEN
    • 2 — UPDATE
    • 3 — NOTIFICATION
    • 4 — KEEPALIVE

[править] Open

Open — используется для установки отношений соседства и обмена базовыми параметрами. Отправляется сразу после установки TCP-соединения.

Формат сообщения Open:

|<-------------------------- 32 бита --------------------------->|

+-+-+-+-+-+-+-+-+
|    Version    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     My Autonomous System      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Hold Time           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         BGP Identifier                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Opt Parm Len  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
|                       Optional Parameters                     |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Кроме стандартного заголовка пакета BGP, в сообщении Open такие поля:

  • Version — версия протокола BGP
  • My Autonomous System — номер автономной системы отправителя
  • Hold Time — максимальное время в секундах, которое может пройти между получением Keepalive и сообщением Update. Время выбирается минимальным
  • BGP Identifier — играет роль в выборе пути пересылки BGP-сообщений при наличии более одного канала связи между BGP-соседями
  • Optional Parameters Length — если =0, то в маркер записываются 1-цы, а Optional Parameters имеет нулевую длину; если не =0, то в Optional Parameters записываются данные для определения кода, который указывается в маркере.
  • Optional Parameters — играет роль в формировании и последующем определении кода в поле маркер.

[править] Update

Update — используется для обмена информацией маршрутизации.

Формат сообщения Update:

+-----------------------------------------------------+
|   Unfeasible Routes Length (2 octets)               |
+-----------------------------------------------------+
|  Withdrawn Routes (variable)                        |
+-----------------------------------------------------+
|   Total Path Attribute Length (2 octets)            |
+-----------------------------------------------------+
|    Path Attributes (variable)                       |
+-----------------------------------------------------+
|   Network Layer Reachability Information (variable) |
+-----------------------------------------------------+

[править] Notification

Notification — используется когда возникают ошибки BGP. После отправки сообщения сессия с соседом разрывается.

Формат сообщения Notification:

|<-------------------------- 32 бита --------------------------->|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Error code    | Error subcode |           Data                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Кроме стандартного заголовка пакета BGP, в сообщении Notification такие поля:

  • Error Code — тип оповещения:
    • 1 — Message Header Error
    • 2 — OPEN Message Error
    • 3 — UPDATE Message Error
    • 4 — Hold Timer Expired
    • 5 — Finite State Machine Error
    • 6 — Cease

[править] Дополнительная информация

[править] Примечания

 Просмотр этого шаблона BGP — Border Gateway Protocol
Основы BGP  • Типы сообщений BGP  • BGP full view  • BGP RFC  • Bogon  • RIPE NCC  • RIS
Атрибуты BGP BGP AS path  • BGP next-hop  • BGP origin  • BGP MED  • BGP weight  • BGP local preference  • BGP community
IBGP BGP confederation  • BGP route reflector
Cisco Cisco BGP filter order  • Cisco distribute-list  • Cisco prefix-list  • BGP AS path filter  • Cisco route-map  • Изменение значения AD для BGP в Cisco  • Команды отладки BGP  • Применение изменений в настройках политик BGP  • BGP synchronization  • BGP timers  • BGP ORF  • Процессы BGP в Cisco  • Просмотр информации BGP в Cisco
Маршрутизация Выбор лучшего маршрута в BGP  • Маршрут по умолчанию в BGP  • Перераспределение маршрутов в BGP  • Суммирование маршрутов BGP
MP-BGP BGP address-family
Безопасность BGP Security  • Аутентификация BGP
Управление трафиком Управление входящим трафиком BGP  • Управление исходящим трафиком BGP  • Балансировка трафика в BGP  • Использование BGP для резервирования Интернет-каналов  • BGP AS path prepend  • BGP conditional route injection  • BGP backdoor
Реализации BGP в Cisco  • BGP в Quagga  • Zebra BGP
Утилиты BGP BGP tools  • BGP Looking Glass  • BGPlay
Разное BGP/config

Huawei uses machine translation combined with human proofreading to translate this document to different languages in order to help you better understand the content of this document.
Note: Even the most advanced machine translation cannot match the quality of professional translators.
Huawei shall not bear any responsibility for translation accuracy and it is recommended that you refer to the English document (a link for which has been provided).

BGP

  • BGP_1.3.6.1.2.1.15.7.1 bgpEstablished
  • BGP_1.3.6.1.2.1.15.7.2 bgpBackwardTransition
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.1 hwBgpPeerRouteNumThresholdExceed
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.2 hwBgpPeerRouteNumThresholdClear
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.3 hwBgpPeerGRStatusChange
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.9 hwBgpPeerEstablished
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.10 hwBgpPeerBackwardTransition
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.11 hwBgpRouteThresholdExceed
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.12 hwBgpRouteThresholdClear
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.13 hwBgpRouteMaxExceed
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.14 hwBgpRouteMaxClear
  • BGP Error Code

BGP_1.3.6.1.2.1.15.7.1 bgpEstablished

Description

BGP/2/ESTABLISHED:OID
[oid] The BGP FSM enters the Established state. (BgpPeerRemoteAddr=[BgpPeerRemoteAddrValue],
BgpPeerLastError=[BgpPeerLastErrorValue], BgpPeerState=[BgpPeerStateValue])

Indicates that this trap was generated when the BGP FSM was in
the Established state.

Attribute

Alarm ID Alarm Severity Alarm Type
1.3.6.1.2.1.15.7.1 Major communicationsAlarm(2)

Parameters

Name Meaning

oid

Indicates the MIB object ID of the alarm.

BgpPeerRemoteAddr

Indicates the address of the peer.

BgpPeerLastError

Indicates the error code of the BGP Notification
when the neighbor relationship is disconnected for the last time.

The value is expressed in the format of [ErrorCode][ErrorSubCode].
[ErrorCode] refers to the error code and [ErrorSubCode] refers to
the error subcode. Take the integer 35 as an example, figure 3 is
the error code and figure 5 is the error subcode. For detailed information about the
error code, refer to BGP Error Code.

If the value is 0, it
indicates that no error occurs.

BgpPeerState

Indicates the status of the BGP peer.

  • 1 Idle: indicates that BGP denies any request of entering.
    This is the initiatory status of BGP.

    Upon receiving a Start
    event, BGP initiates a TCP connection to the remote BGP peer, starts
    the ConnectRetry Timer with the initial value, detects a TCP connection initiated by the remote BGP peer,
    and changes its state to Connect.

  • 2 Connect: indicates that BGP performs other actions after
    the TCP connection is set up.

    • If the TCP connection succeeds, BGP stops the ConnectRetry
      Timer, sends an Open message to the remote peer, and changes its state
      to OpenSent.

    • If the TCP connection fails, BGP restarts the ConnectRetry
      Timer with the initial value, continues to detect a TCP connection initiated by the remote peer, and
      changes its state to Active.

    • If the ConnectRetry Timer has expired before a TCP connection
      is established, BGP restarts the timer with the initial value, initiates
      a TCP connection to the remote BGP peer, and stays in the Connect
      state.

  • 3 Active: indicates that BGP tries to set up TCP connection.
    This is the intermediate status of BGP.

    • If the TCP connection succeeds, BGP stops the ConnectRetry
      Timer, sends an Open message to the remote peer, and changes its state
      to OpenSent.

    • If the ConnectRetry Timer has expired before a TCP connection
      is established, BGP restarts the timer with the initial value and
      changes its state to Connect.

    • If BGP initiates a TCP connection with an unknown IP address,
      the TCP connection fails. When this occurs, BGP restarts the ConnectRetry
      Timer with the initial value and stays in the Active state.

  • 4 OpenSent: indicates that BGP has sent one Open message to
    its peer and waits for the other Open message from the peer.

    • If there are no errors in the Open message received, BGP changes
      its state to OpenConfirm.

    • If there are errors in the Open message received, BGP sends
      a Notification message to the remote peer and changes its state to
      Idle.

    • If the TCP connection fails, BGP restarts the ConnectRetry
      Timer with the initial value, continues to detect a TCP connection initiated by the remote peer, and
      changes its state to Active.

  • 5 OpenConfirm: indicates that BGP waits for a Notification
    message or a Keepalive message.

    • If BGP receives a Notification message, or the TCP connection
      fails, BGP changes its state to Idle.

    • If BGP receives a Keepalive message, BGP changes its state
      to Established.

  • 6 Established: indicates that BGP peers can exchange Update,
    Notification and Keepalive packets.

    • If BGP receives an Update or a Keepalive message, its state
      stays in Established.

    • If BGP receives a Notification message, BGP changes its state
      to Idle.

Impact on the System

The BGP neighbor relationship can be normally established.

Possible Causes

The BGP neighbor relationship was established.

Procedure

  1. This alarm message is informational only, and no action
    is required.

BGP_1.3.6.1.2.1.15.7.2 bgpBackwardTransition

Description

BGP/2/BACKWARD:OID [oid] The BGP FSM moves from a higher
numbered state to a lower numbered state. (BgpPeerRemoteAddr=[ipaddr],
InstanceId=[gauge], Afi=[integer], Safi=[integer], PeerType=[integer],
PeerRemoteAddr=[binary], InterfaceIndex=[integer], BgpPeerLastError=[octet],
BgpPeerState=[integer], BgpPeerUnavaiReason=[gauge], InterfaceName=[octet])

Indicates that this trap was generated when the BGP state machine
moved from a higher numbered state, namely, Openconfirm or Established,
to a lower numbered state.

Attribute

Alarm ID Alarm Severity Alarm Type
1.3.6.1.2.1.15.7.2 Major communicationsAlarm(2)

Parameters

Name Meaning

oid

Indicates the MIB object ID of the alarm.

BgpPeerRemoteAddr

Indicates the address of the peer.

InstanceId

Instance ID

Afi

Address family

Safi

Sub-address family

PeerType

Peer type

PeerRemoteAddr

Peer address

InterfaceIndex

Interface index

BgpPeerLastError

Indicates the error code of the BGP Notification
when the neighbor relationship is disconnected for the last time.

The value is expressed in the format of [ErrorCode][ErrorSubCode].
[ErrorCode] refers to the error code and [ErrorSubCode] refers to
the error subcode. Take the integer 35 as an example, figure 3 is
the error code and figure 5 is the error subcode. For detailed information
about the error code, refer to BGP Error Code.

If the value is 0, it indicates
that no error occurs.

BgpPeerState

Indicates the status of the BGP peer.

  • 1 Idle: indicates that BGP denies any request of entering.
    This is the initiatory status of BGP.

    Upon receiving a Start
    event, BGP initiates a TCP connection to the remote BGP peer, starts
    the ConnectRetry Timer with the initial value, detects a TCP connection initiated by the remote BGP peer,
    and changes its state to Connect.

  • 2 Connect: indicates that BGP performs other actions after
    the TCP connection is set up.

    • If the TCP connection succeeds, BGP stops the ConnectRetry
      Timer, sends an Open message to the remote peer, and changes its state
      to OpenSent.

    • If the TCP connection fails, BGP restarts the ConnectRetry
      Timer with the initial value, continues to detect a TCP connection initiated by the remote peer, and
      changes its state to Active.

    • If the ConnectRetry Timer has expired before a TCP connection
      is established, BGP restarts the timer with the initial value, initiates
      a TCP connection to the remote BGP peer, and stays in the Connect
      state.

  • 3 Active: indicates that BGP tries to set up TCP connection.
    This is the intermediate status of BGP.

    • If the TCP connection succeeds, BGP stops the ConnectRetry
      Timer, sends an Open message to the remote peer, and changes its state
      to OpenSent.

    • If the ConnectRetry Timer has expired before a TCP connection
      is established, BGP restarts the timer with the initial value and
      changes its state to Connect.

    • If BGP initiates a TCP connection with an unknown IP address,
      the TCP connection fails. When this occurs, BGP restarts the ConnectRetry
      Timer with the initial value and stays in the Active state.

  • 4 OpenSent: indicates that BGP has sent one Open message to
    its peer and waits for the other Open message from the peer.

    • If there are no errors in the Open message received, BGP changes
      its state to OpenConfirm.

    • If there are errors in the Open message received, BGP sends
      a Notification message to the remote peer and changes its state to
      Idle.

    • If the TCP connection fails, BGP restarts the ConnectRetry
      Timer with the initial value, continues to detect a TCP connection initiated by the remote peer, and
      changes its state to Active.

  • 5 OpenConfirm: indicates that BGP waits for a Notification
    message or a Keepalive message.

    • If BGP receives a Notification message, or the TCP connection
      fails, BGP changes its state to Idle.

    • If BGP receives a Keepalive message, BGP changes its state
      to Established.

  • 6 Established: indicates that BGP peers can exchange Update,
    Notification and Keepalive packets.

    • If BGP receives an Update or a Keepalive message, its state
      stays in Established.

    • If BGP receives a Notification message, BGP changes its state
      to Idle.

BgpPeerUnavaiReason

Cause for the peer disconnection

  • 1 Configuration lead peer down: The configuration causes the
    peer disconnection.

  • 2 Receive notification: Notification packets are received.

  • 3 Receive error packet: Error packets are received.

  • 4 Hold timer expire: The Hold timer expires.

  • 5 Remote peer not reachable: The remote peer is unreachable.

  • 6 Direct connect-interface down: The directly connected interface
    is Down.

  • 7 Route limit: The number of routes exceeds the upper limit.

InterfaceName

Interface name

Impact on the System

The BGP neighbor will be disconnected, and the
BGP route received from the neighbor will be deleted. The packet forwarding
based on the BGP route will fail.

Possible Causes

1. The BGP holdtimer timed out and did not receive
the Keepalive packet.

2. BGP received incorrect BGP packets.

3. The BGP neighbor relationship was reset and the neighbor relationship
was automatically interrupted.

4. BGP received Notification
packets from the neighbor.

Procedure

  1. Run the display bgp peer ipv4-addresses log-info command to check the
    Error field in the command output. You can view the Error Code and
    Sub Error Code in the received Notification in the form of [ErrorCode][ErrorSubCode].

    • If the error code of the Notification is 1, it indicates that
      the BGP module receives the packet with incorrect headers. Then, go
      to Step 23.

    • If the error code of the Notification is 2, it indicates that
      the BGP module receives the incorrect Open packet. Then, go to Step
      23.

    • If the error code of the Notification is 3, it indicates that
      the BGP module receives the incorrect Update packet. Then, go to Step
      23.

    • If the error code of the Notification is 4, it indicates that
      till the Holdtimer times out, the BGP module does not receive the
      Keepalive packet. Then, go to Step 4.

    • If the error code of the Notification is 5, it indicates that
      the finite state machine of the BGP module is faulty. Then, go to
      Step 23.

    • If the error code of the Notification is 6, go to Step 2.

  2. If the error code of the Notification is 6, it indicates
    that BGP automatically closes the connection. Then, you need to run
    the display
    bgp peer
    ipv4-address log-info command to view the Notification field and
    check whether the Notification is sent by the switch that generates the trap.

    • If «Send Notification» is displayed, it indicates that the
      local switch actively sends the Notification. Then, go to Step 3.

    • If «Receive Notification» is displayed, it indicates that the
      local switch receives the Notification. Then, go to Step 22.

  3. Search for the reset bgp all and reset bgp ipv4-address commands in the user logs
    to check whether BGP is reset on the local end; or search for the peer ipv4-address enable command to check whether the peer is enabled in other address families
    on the local, or parameters for the BGP connection are configured.

    • If so, it indicates that incorrect configurations cause the
      trap, and therefore no action is required. Then, go to Step 24.

    • If not, go to Step 23.

  4. If the error code is 4, it indicates that the BGP disconnection
    is caused by the timeout of the Holdtimer. Then, you need to check
    whether the address of the BGP neighbor can be pinged successfully.

    • If so, go to Step 21.

    • If not, go to Step 5.

  5. Run the display ip routing-table command to check whether the Destination/Mask field has the
    route to the peer address.

    • If so, go to Step 7.

    • If not, go to Step 8.

  6. Run the display acl all command
    to check whether the switch is configured with the ACL that disables TCP port 179.

    • If so, go to Step 9.

    • If not, go to Step 10.

  7. Run the display ip interface command to check whether
    the values of Physical and Protocol fields of the outbound interface
    are Up.

    • If so, go to Step 23.

    • If not, go to Step 11.

  8. Check the origin of the route with the BGP peer address.
    • If the route is originated from OSPF, go to Step 12.

    • If the route is originated from IS-IS, go to Step 13.

    • Else, go to Step 23.

  9. Delete the ACL that disables the TCP port 179, and check
    whether the trap BGP_1.3.6.1.2.1.15.7.1
    bgpEstablished appears later.

    • If so, go to Step 24.

    • If not, go to Step 10.

  10. Check the BGP configuration to see whether loopback interfaces
    are used to establish BGP peers.

    • If so, go to Step 14.

    • If not, go to Step 15.

  11. Enter the view of the outbound interface, and run the display this command to check whether the interface is shut down.
    • If so, run the undo shutdown command to enable the interface.

    • If not, go to Step 22.

  12. Run the display ospf peer command to check whether
    the OSPF peer relationship is established.

    • If so, go to Step 23.

    • If not, refer to the solution provided in the case of trap OSPF_1.3.6.1.2.1.14.16.2.2 ospfNbrStateChange.

  13. Run the display isis peer command to check whether
    the IS-IS peer relationship is established.

    • If so, go to Step 23.

    • If not, refer to the solution provided in the case of trap ISIS_1.3.6.1.3.37.2.0.13 isisRejectedAdjacency.

  14. Check whether the peer connect-interface is configured for specifying the source address.
    • If so, go to Step 15.

    • If not, go to Step 16.

  15. If BGP is the EBGP neighbor relationship and multiple
    hops exist between EBGP neighbors, check whether the peer ebgp-max-hop is configured.

    • If so, go to Step 17.

    • If not, go to Step 19.

  16. Configure the peer connect-interface command. The parameter in the command must be the local
    interface that establishes a connection with the peer. Then, check
    whether the trap BGP_1.3.6.1.2.1.15.7.1
    bgpEstablished appears later.

    • If so, go to Step 24.

    • If not, go to Step 23.

  17. Check whether the peer valid-ttl-hops hops command is configured.
    • If so, go to Step 18.

    • If not, go to Step 23.

  18. If the peer valid-ttl-hops hops is configured, check whether the
    TTL of the packet to the peer ranges from [255-hops+1] to 255.

    • If so, go to Step 23.

    • If not, go to Step 20.

  19. Configure the peer ebgp-max-hop. Then, check whether
    the trap BGP_1.3.6.1.2.1.15.7.1
    bgpEstablished appears later.

    • If so, go to Step 24.

    • If not, go to Step 23.

  20. Changed the value of
    the peer
    valid-ttl-hops
    hops and make it
    within the range from [255-hops+1] to 255. Then,
    check whether the trap BGP_1.3.6.1.2.1.15.7.1
    bgpEstablished appears later.

    • If so, go to Step 24.

    • If not, go to Step 23.

  21. Run the display cpu-usage command to check whether
    the CPU usage remains 100% in a period.

    • If so, go to Step 23.

    • If not, go to Step 6.

  22. Contact the maintenance personnel of the peer device to
    check whether BGP is reset on the peer switch, the peer is enabled in other address families on the local, and
    parameters for BGP connection are configured. Then, check whether
    the trap BGP_1.3.6.1.2.1.15.7.1
    bgpEstablished appears later.

    • If so, go to Step 24.

    • If not, go to Step 23.

  23. Collect alarm information and configuration
    information, and then contact technical support personnel.
  24. End.

BGP_1.3.6.1.4.1.2011.5.25.177.1.3.1 hwBgpPeerRouteNumThresholdExceed

Description

BGP/2/ROUTETHRESHOLDEXCEED:OID [oid] The number
of routes received from the BGP peer exceeded the alarm threshold.
(InstanceId=[gauge], Afi=[integer], Safi=[integer], PeerType=[integer],
PeerRemoteAddr=[binary], MaxRouteNum=[gauge], AlarmThreshold=[gauge])

The number of routes received from the peer configured with the
route limit exceeded the alarm threshold (MaxRouteNum x AlarmThreshold).

Attribute

Alarm ID Alarm Severity Alarm Type
1.3.6.1.4.1.2011.5.25.177.1.3.1 Major

qualityOfServiceAlarm(3)

Parameters

Name Meaning

oid

Indicates the MIB object ID of the alarm.

InstanceId

Indicates the index of the instance to which
the peer belongs.

Afi

Indicates the address family:

  • 1: ipv4

  • 2: ipv6

  • 25: vpls

  • 196: l2vpn

Safi

Indicates the sub-address family:

  • 1: unicast

  • 2: multicast

  • 4: mpls

  • 5: mvpn

  • 65: vpls

  • 66: mdt

  • 70: evpn

  • 132: vpn-target

  • 128: vpn

PeerType

Indicates the address type of the peer:

  • 1: ipv4

  • 2: ipv6

PeerRemoteAddr

Indicates the address of the peer.

MaxRouteNum

Indicates the maximum number of routes that
can be received from the peer.

AlarmThreshold

Indicates the alarm threshold (expressed in
percentage) for the route limit on the peer.

Impact on the System

  • If the peer is configured with the peer route-limit command in which the alarm threshold is set to 100% and the
    keyword alert-only is not specified, the
    peer session will be interrupted, and all the received routes will
    be deleted.

  • If the peer is configured with other parameters, no services
    will be affected.

Possible Causes

The number of routes received from the peer configured
with the route limit exceeded the alarm threshold.

Procedure

  1. Run the display bgp peer ipv4-address verbose command to view the Received
    total routes field and check whether the number of routes currently
    received from the peer exceeds the upper limit, which equals the maximum
    number of allowed routes multiplied by the alarm threshold (expressed
    in percentage).

    • If so, go to Step 2.

    • If not, go to Step 10.

  2. Check whether excessive routes are required to meet the
    requirements of actual applications.

    • If so, go to Step 8.

    • If not, go to Step 3.

  3. View the user log to check whether the local inbound policy
    is changed. For example, configuring the peer route-policy, peer ip-prefix, or peer filter-policy command causes excessive and unnecessary routes to be
    received.

    • If so, go to Step 4.

    • If not, go to Step 5.

  4. Update the local inbound policy. For example, configure
    the peer route-policy, peer ip-prefix, or peer filter-policy command to deny unnecessary routes. Then, go to Step
    9.
  5. Contact the maintenance personnel of the remote device
    to check whether the routes advertised to the local device are necessary
    routes.

    • If so, go to Step 6.

    • If not, go to Step 7.

  6. Advise the maintenance personnel of the remote device to
    summarize routes so that the number of routes to be advertised can
    be reduced. Then, go to Step 9.
  7. Advise the maintenance personnel of the remote device to
    change the policy for importing or advertising routes so that the
    unnecessary routes can be withdrawn. Then, go to Step 9.
  8. Increase the maximum number of routes that can be received
    from the peer. Then, go to Step 9.
  9. Check whether the trap BGP_1.3.6.1.4.1.2011.5.25.177.1.3.2 hwBgpPeerRouteNumThresholdClear appears.
    • If so, go to Step 11.

    • If not, go to Step 10.

  10. Collect alarm information and configuration
    information, and then contact technical support personnel.
  11. End.

BGP_1.3.6.1.4.1.2011.5.25.177.1.3.2 hwBgpPeerRouteNumThresholdClear

Description

BGP/2/ROUTETHRESHOLDCLEAR:OID
[oid] The number of routes received from the BGP peer decreased below
the alarm threshold. (InstanceId=[gauge], Afi=[integer], Safi=[integer],
PeerType=[integer], PeerRemoteAddr=[binary], MaxRouteNum=[gauge],
AlarmThreshold=[gauge])

The number of routes received from the
peer configured with the route limit decreased below the alarm threshold
(MaxRouteNum x AlarmThreshold).

Attribute

Alarm ID Alarm Severity Alarm Type
1.3.6.1.4.1.2011.5.25.177.1.3.2 Major

qualityOfServiceAlarm(3)

Parameters

Name Meaning

oid

Indicates the MIB object ID of the alarm.

InstanceId

Indicates the index of the instance to which
the peer belongs.

Afi

Indicates the address family:

  • 1: ipv4

  • 2: ipv6

  • 25: vpls

  • 196: l2vpn

Safi

Indicates the sub-address family:

  • 1: unicast

  • 2: multicast

  • 4: mpls

  • 5: mvpn

  • 65: vpls

  • 66: mdt

  • 70: evpn

  • 132: vpn-target

  • 128: vpn

PeerType

Indicates the address type of the peer:

  • 1: ipv4

  • 2: ipv6

PeerRemoteAddr

Indicates the address of the peer.

MaxRouteNum

Indicates the maximum number of routes that
can be received from the peer.

AlarmThreshold

Indicates the alarm threshold (expressed in
percentage) for the route limit on the peer.

Impact on the System

None.

Possible Causes

The number of routes received from the peer configured
with the route limit decreased below the alarm threshold.

Procedure

  1. This alarm message is informational only, and no action
    is required.

BGP_1.3.6.1.4.1.2011.5.25.177.1.3.3 hwBgpPeerGRStatusChange

Description

BGP/3/GRSTATUSCHANGE:OID [oid] The graceful restart
status of the BGP peer changed. (InstanceId=[gauge], Afi=[integer],
Safi=[integer], PeerType=[integer], PeerRemoteAddr=[binary], GrStatus=[integer])

The GR status of either BGP speaker that succeeded in the GR capability
negotiation changed.

Attribute

Alarm ID Alarm Severity Alarm Type
1.3.6.1.4.1.2011.5.25.177.1.3.3

Minor

communicationsAlarm(2)

Parameters

Name Meaning

oid

Indicates the MIB object ID of the alarm.

InstanceId

Indicates the index of the instance to which
the peer belongs.

Afi

Indicates the address family:

  • 1: ipv4

  • 2: ipv6

  • 25: vpls

  • 196: l2vpn

Safi

Indicates the sub-address family:

  • 1: unicast

  • 2: multicast

  • 4: mpls

  • 5: mvpn

  • 65: vpls

  • 66: mdt

  • 70: evpn

  • 132: vpn-target

  • 128: vpn

PeerType

Indicates the address type of the peer:

  • 1: ipv4

  • 2: ipv6

PeerRemoteAddr

Indicates the address of the peer.

GrStatus

Indicates the GR status of the peer:

  • 1: peerNotBeingHelped

  • 2: peerRestarting

  • 3: peerFinishRestart

  • 4: peerHelping

Impact on the System

  • If an alarm of the type peerNotBeingHelped(1) is generated,
    it indicates that the local end fails to function as the GR Helper
    during the restart of the BGP peer. As a result, services will be
    interrupted until the peer session is reestablished and all routes
    are converged.

  • If an alarm of the type peerRestarting(2) is generated, it
    indicates that the local end detects that the BGP peer is performing
    graceful restarting. When the routing protocol on which BGP route
    iteration depends has the GR capability, services will not be affected.
    Otherwise, services will be interrupted.

  • If an alarm of the type peerFinishRestart(3) is generated,
    it indicates that the BGP peer session becomes normal. In this case,
    no services will be affected.

  • If an alarm of the type peerHelping(4) is generated, it indicates
    that the BGP peer is helping the local end to perform GR. When the
    routing protocol on which BGP route iteration depends has the GR capability,
    services will not be affected. Otherwise, services will be interrupted.

Possible Causes

The GR status of either BGP peer that succeeded
in the GR capability negotiation changed.

Procedure

  1. Do as follows according to the value of the parameter GrStatus:
    • If an alarm of the type peerNotBeingHelped(1) is generated,
      it indicates that the BGP peer will not be helped during restarting.
      Then, go to Step 4.

    • If an alarm of the type peerRestarting(2) is generated, it
      indicates that the BGP peer is detected restarting. Then, go to Step
      2.

    • If an alarm of the type peerFinishRestart(3) is generated,
      it indicates that the BGP peer finishes the latest GR. In this case,
      no action is required. Then, go to Step 5.

    • If an alarm of the type peerHelping(4) is generated, it indicates
      that the BGP peer is helping the local end to perform GR. Then, go
      to Step 3.

  2. Run the display ip routing-table ipv4-address command to check whether
    the address of the peer exists.

    • If so, it indicates that the local end is performing GR. In
      this case, no services will be affected, and no action is required.
      Then, go to Step 5.

    • If not, go to Step 4.

  3. During GR, active/standby switchover is complete. In this
    case, you need to check whether the local end performs active/standby
    switchover actively.

    • If so, go to Step 5.

    • If not, go to Step 4.

  4. Collect alarm information and configuration
    information, and then contact technical support personnel.
  5. End.

BGP_1.3.6.1.4.1.2011.5.25.177.1.3.9 hwBgpPeerEstablished

Description

BGP/2/HWESTABLISHED:OID
[oid] The BGP FSM enters the Established state. (InstanceId=[gauge],
Afi=[integer], Safi=[integer], PeerType=[integer], PeerRemoteAddr=[binary],
PeerLastError=[octet], PeerState=[integer])

Indicates that this
trap was generated when the BGP FSM was in the Established state.

Attribute

Alarm ID Alarm Severity Alarm Type
1.3.6.1.4.1.2011.5.25.177.1.3.9 Major communicationsAlarm(2)

Parameters

Name Meaning

oid

Indicates the MIB object ID of the alarm.

InstanceId

Indicates the index of the instance to which
the peer belongs.

Afi

Indicates the address family:

  • 1: ipv4

  • 2: ipv6

  • 25: vpls

  • 196: l2vpn

Safi

Indicates the sub-address family:

  • 1: unicast

  • 2: multicast

  • 4: mpls

  • 5: mvpn

  • 65: vpls

  • 66: mdt

  • 70: evpn

  • 132: vpn-target

  • 128: vpn

PeerType

Indicates the address type of the peer:

  • 1: ipv4

  • 2: ipv6

PeerRemoteAddr

Indicates the address of the peer.

PeerLastError

Indicates the error code of the BGP Notification
when the neighbor relationship is disconnected for the last time.

The value is expressed in the
format of [ErrorCode][ErrorSubCode]. [ErrorCode] refers to the error
code and [ErrorSubCode] refers to the error subcode. Take the integer
35 as an example, figure 3 is the error code and figure 5 is the error
subcode. For detailed information about the error code, refer to BGP Error Code.

If the value is 0, it indicates that no error occurs.

PeerState

Indicates the status of the BGP peer.

  • Idle: indicates that BGP denies any request of entering. This
    is the initiatory status of BGP.

    Upon receiving a Start event,
    BGP initiates a TCP connection to the remote BGP peer, starts the
    ConnectRetry Timer with the initial value, detects a TCP connection initiated by the remote BGP peer,
    and changes its state to Connect.

  • Connect: indicates that BGP performs other actions after the
    TCP connection is set up.

    • If the TCP connection succeeds, BGP stops the ConnectRetry
      Timer, sends an Open message to the remote peer, and changes its state
      to OpenSent.

    • If the TCP connection fails, BGP restarts the ConnectRetry
      Timer with the initial value, continues to detect a TCP connection initiated by the remote peer, and
      changes its state to Active.

    • If the ConnectRetry Timer has expired before a TCP connection
      is established, BGP restarts the timer with the initial value, initiates
      a TCP connection to the remote BGP peer, and stays in the Connect
      state.

  • Active: indicates that BGP tries to set up TCP connection.
    This is the intermediate status of BGP.

    • If the TCP connection succeeds, BGP stops the ConnectRetry
      Timer, sends an Open message to the remote peer, and changes its state
      to OpenSent.

    • If the ConnectRetry Timer has expired before a TCP connection
      is established, BGP restarts the timer with the initial value and
      changes its state to Connect.

    • If BGP initiates a TCP connection with an unknown IP address,
      the TCP connection fails. When this occurs, BGP restarts the ConnectRetry
      Timer with the initial value and stays in the Active state.

  • OpenSent: indicates that BGP has sent one Open message to its
    peer and waits for the other Open message from the peer.

    • If there are no errors in the Open message received, BGP changes
      its state to OpenConfirm.

    • If there are errors in the Open message received, BGP sends
      a Notification message to the remote peer and changes its state to
      Idle.

    • If the TCP connection fails, BGP restarts the ConnectRetry
      Timer with the initial value, continues to detect a TCP connection initiated by the remote peer, and
      changes its state to Active.

  • OpenConfirm: indicates that BGP waits for a Notification message
    or a Keepalive message.

    • If BGP receives a Notification message, or the TCP connection
      fails, BGP changes its state to Idle.

    • If BGP receives a Keepalive message, BGP changes its state
      to Established.

  • Established: indicates that BGP peers can exchange Update,
    Notification and Keepalive packets.

    • If BGP receives an Update or a Keepalive message, its state
      stays in Established.

    • If BGP receives a Notification message, BGP changes its state
      to Idle.

Impact on the System

The BGP neighbor relationship can be normally established.

Possible Causes

The BGP neighbor relationship was established.

Procedure

  1. This alarm message is informational only, and no action
    is required.

BGP_1.3.6.1.4.1.2011.5.25.177.1.3.10 hwBgpPeerBackwardTransition

Description

BGP/2/HWBACKWARD:OID [oid] The BGP FSM moves from a
higher numbered state to a lower numbered state. (InstanceId=[gauge],
Afi=[integer], Safi=[integer], PeerType=[integer], PeerRemoteAddr=[binary],
InterfaceIndex=[integer], PeerLastError=[octet], PeerState=[integer],
PeerUnavaiReason=[gauge], InterfaceName=[octet])

Indicates that
this trap was generated when the BGP state machine moved from a higher
numbered state, namely, Openconfirm or Established, to a lower numbered
state.

Attribute

Alarm ID Alarm Severity Alarm Type
1.3.6.1.4.1.2011.5.25.177.1.3.10 Major communicationsAlarm(2)

Parameters

Name Meaning

oid

Indicates the MIB object ID of the alarm.

InstanceId

Indicates the index of the instance to which
the peer belongs.

Afi

Indicates the address family:

  • 1: ipv4

  • 2: ipv6

  • 25: vpls

  • 196: l2vpn

Safi

Indicates the sub-address family:

  • 1: unicast

  • 2: multicast

  • 4: mpls

  • 5: mvpn

  • 65: vpls

  • 66: mdt

  • 70: evpn

  • 132: vpn-target

  • 128: vpn

PeerType

Indicates the address type of the peer:

  • 1: ipv4

  • 2: ipv6

PeerRemoteAddr

Indicates the address of the peer.

InterfaceIndex

Indicates the index of the interface.

PeerLastError

Indicates the error code of the BGP Notification
when the neighbor relationship is disconnected for the last time.

The value is expressed in the
format of [ErrorCode][ErrorSubCode]. [ErrorCode] refers to the error
code and [ErrorSubCode] refers to the error subcode. Take the integer
35 as an example, figure 3 is the error code and figure 5 is the error
subcode. For detailed information about the error code, refer to BGP Error Code.

If the value
is 0, it indicates that no error occurs.

PeerState

Indicates the status of the BGP peer.

  • 1 Idle: indicates that BGP denies any request of entering.
    This is the initiatory status of BGP.

    Upon receiving a Start
    event, BGP initiates a TCP connection to the remote BGP peer, starts
    the ConnectRetry Timer with the initial value, detects a TCP connection initiated by the remote BGP peer,
    and changes its state to Connect.

  • 2 Connect: indicates that BGP performs other actions after
    the TCP connection is set up.

    • If the TCP connection succeeds, BGP stops the ConnectRetry
      Timer, sends an Open message to the remote peer, and changes its state
      to OpenSent.

    • If the TCP connection fails, BGP restarts the ConnectRetry
      Timer with the initial value, continues to detect a TCP connection initiated by the remote peer, and
      changes its state to Active.

    • If the ConnectRetry Timer has expired before a TCP connection
      is established, BGP restarts the timer with the initial value, initiates
      a TCP connection to the remote BGP peer, and stays in the Connect
      state.

  • 3 Active: indicates that BGP tries to set up TCP connection.
    This is the intermediate status of BGP.

    • If the TCP connection succeeds, BGP stops the ConnectRetry
      Timer, sends an Open message to the remote peer, and changes its state
      to OpenSent.

    • If the ConnectRetry Timer has expired before a TCP connection
      is established, BGP restarts the timer with the initial value and
      changes its state to Connect.

    • If BGP initiates a TCP connection with an unknown IP address,
      the TCP connection fails. When this occurs, BGP restarts the ConnectRetry
      Timer with the initial value and stays in the Active state.

  • 4 OpenSent: indicates that BGP has sent one Open message to
    its peer and waits for the other Open message from the peer.

    • If there are no errors in the Open message received, BGP changes
      its state to OpenConfirm.

    • If there are errors in the Open message received, BGP sends
      a Notification message to the remote peer and changes its state to
      Idle.

    • If the TCP connection fails, BGP restarts the ConnectRetry
      Timer with the initial value, continues to detect a TCP connection initiated by the remote peer, and
      changes its state to Active.

  • 5 OpenConfirm: indicates that BGP waits for a Notification
    message or a Keepalive message.

    • If BGP receives a Notification message, or the TCP connection
      fails, BGP changes its state to Idle.

    • If BGP receives a Keepalive message, BGP changes its state
      to Established.

  • 6 Established: indicates that BGP peers can exchange Update,
    Notification and Keepalive packets.

    • If BGP receives an Update or a Keepalive message, its state
      stays in Established.

    • If BGP receives a Notification message, BGP changes its state
      to Idle.

PeerUnavaiReason

Indicates the reason that the BGP peer down.

  1. Configuration lead peer down: The configuration causes the
    peer disconnection.

  2. Receive notification: Notification packets are received.

  3. Receive error packet: Error packets are received.

  4. Hold timer expire: The Hold timer expires.

  5. Remote peer not reachable: The remote peer is unreachable.

  6. Direct connect-interface down: The directly connected interface
    is Down.

  7. Route limit: The number of routes exceeds the upper limit.

InterfaceName

Indicates the name of the interface.

Impact on the System

The BGP neighbor will be disconnected, and the
BGP route received from the neighbor will be deleted. The packet forwarding
based on the BGP route will fail.

Possible Causes

1. The BGP holdtimer timed out and did not receive
the Keepalive packet.

2. BGP received incorrect BGP packets.

3. The BGP neighbor relationship was reset and the neighbor relationship
was automatically interrupted.

4. BGP received Notification
packets from the neighbor.

Procedure

  1. Run the display bgp peer ipv4-addresses log-info command to check the
    Error field in the command output. You can view the Error Code and
    Sub Error Code in the received Notification in the form of [ErrorCode][ErrorSubCode].

    • If the error code of the Notification is 1, it indicates that
      the BGP module receives the packet with incorrect headers. Then, go
      to Step 23.

    • If the error code of the Notification is 2, it indicates that
      the BGP module receives the incorrect Open packet. Then, go to Step
      23.

    • If the error code of the Notification is 3, it indicates that
      the BGP module receives the incorrect Update packet. Then, go to Step
      23.

    • If the error code of the Notification is 4, it indicates that
      till the Holdtimer times out, the BGP module does not receive the
      Keepalive packet. Then, go to Step 4.

    • If the error code of the Notification is 5, it indicates that
      the finite state machine of the BGP module is faulty. Then, go to
      Step 23.

    • If the error code of the Notification is 6, go to Step 2.

  2. If the error code of the Notification is 6, it indicates
    that BGP automatically closes the connection. Then, you need to run
    the display
    bgp peer
    ipv4-address log-info command to view the Notification field and
    check whether the Notification is sent by the switch that generates the trap.

    • If «Send Notification» is displayed, it indicates that the
      local switch actively sends the Notification. Then, go to Step 3.

    • If «Receive Notification» is displayed, it indicates that the
      local switch receives the Notification. Then, go to Step 22.

  3. Search for the reset bgp all and reset bgp ipv4-address commands in the user logs
    to check whether BGP is reset on the local end; or search for the peer ipv4-address enable command to check whether the peer is enabled in other address families
    on the local, or parameters for the BGP connection are configured.

    • If so, it indicates that incorrect configurations cause the
      trap, and thus no action is required. Then, go to Step 24.

    • If not, go to Step 23.

  4. If the error code is 4, it indicates that the BGP disconnection
    is caused by the timeout of the Holdtimer. Then, you need to check
    whether the address of the BGP neighbor can be pinged successfully.

    • If so, go to Step 21.

    • If not, go to Step 5.

  5. Run the display ip routing-table command to check whether the Destination/Mask field has the
    route to the peer address.

    • If so, go to Step 7.

    • If not, go to Step 8.

  6. Run the display acl all command
    to check whether the switch is configured with the ACL that disables TCP port 179.

    • If so, go to Step 9.

    • If not, go to Step 10.

  7. Run the display ip interface brief command to check
    whether the values of Physical and Protocol fields of the outbound
    interface are Up.

    • If so, go to Step 23.

    • If not, go to Step 11.

  8. Check the origin of the route with the BGP peer address.
    • If the route is originated from OSPF, go to Step 12.

    • If the route is originated from IS-IS, go to Step 13.

    • Else, go to Step 23.

  9. Delete the ACL that disables the TCP port 179, and check
    whether the trap BGP_1.3.6.1.4.1.2011.5.25.177.1.3.9 hwBgpPeerEstablished appears
    later.

    • If so, go to Step 24.

    • If not, go to Step 10.

  10. Check the BGP configuration to see whether loopback interfaces
    are used to establish BGP peers.

    • If so, go to Step 14.

    • If not, go to Step 15.

  11. Enter the view of the outbound interface, and run the display this command to check whether the interface is shut down.
    • If so, run the undo shutdown command to enable the interface.

    • If not, go to Step 22.

  12. Run the display ospf peer command to check whether
    the OSPF peer relationship is established.

    • If so, go to Step 23.

    • If not, refer to the solution provided in the case of trap OSPF_1.3.6.1.2.1.14.16.2.2 ospfNbrStateChange.

  13. Run the display isis peer command to check whether
    the IS-IS peer relationship is established.

    • If so, go to Step 23.

    • If not, refer to the solution provided in the case of trap ISIS_1.3.6.1.3.37.2.0.13 isisRejectedAdjacency.

  14. Check whether the peer connect-interface is configured for specifying the source address.
    • If so, go to Step 15.

    • If not, go to Step 16.

  15. If BGP is the EBGP neighbor relationship and multiple
    hops exist between EBGP neighbors, check whether the peer ebgp-max-hop is configured.

    • If so, go to Step 17.

    • If not, go to Step 19.

  16. Configure the peer connect-interface command. The parameter in the command must be the local
    interface that establishes a connection with the peer. Then, check
    whether the trap BGP_1.3.6.1.4.1.2011.5.25.177.1.3.9 hwBgpPeerEstablished appears
    later.

    • If so, go to Step 24.

    • If not, go to Step 23.

  17. Check whether the peer valid-ttl-hops hops command is configured.
    • If so, go to Step 18.

    • If not, go to Step 23.

  18. If the peer valid-ttl-hops hops is configured, check whether the
    TTL of the packet to the peer ranges from [255-hops+1] to 255.

    • If so, go to Step 23.

    • If not, go to Step 20.

  19. Configure the peer ebgp-max-hop. Then, check whether
    the trap BGP_1.3.6.1.4.1.2011.5.25.177.1.3.9 hwBgpPeerEstablished appears
    later.

    • If so, go to Step 24.

    • If not, go to Step 23.

  20. Changed the value of
    the peer
    valid-ttl-hops
    hops and make it
    within the range from [255-hops+1] to 255. Then,
    check whether the trap BGP_1.3.6.1.4.1.2011.5.25.177.1.3.9 hwBgpPeerEstablished appears
    later.

    • If so, go to Step 24.

    • If not, go to Step 23.

  21. Run the display cpu-usage command to check whether
    the CPU usage remains 100% in a period.

    • If so, go to Step 23.

    • If not, go to Step 6.

  22. Contact the maintenance personnel of the peer device to
    check whether BGP is reset on the peer switch, the peer is enabled in other address families on the local, and
    parameters for BGP connection are configured. Then, check whether
    the trap BGP_1.3.6.1.4.1.2011.5.25.177.1.3.9 hwBgpPeerEstablished appears
    later.

    • If so, go to Step 24.

    • If not, go to Step 23.

  23. Collect alarm information and configuration
    information, and then contact technical support personnel.
  24. End.

BGP_1.3.6.1.4.1.2011.5.25.177.1.3.11 hwBgpRouteThresholdExceed

Description

BGP/3/HWBGPROUTETHRESHOLDEXCEED:OID [oid] The number
of BGP routes exceeded the threshold. (RouteTypeIndex=[integer], CurrentRouteNumber=[integer],
RouteThreshold=[integer], MaximumNumber=[integer])

The ratio
of BGP routes to the maximum number that is allowed exceeded the alarm
threshold.

Attribute

Alarm ID Alarm Severity Alarm Type
1.3.6.1.4.1.2011.5.25.177.1.3.11 Minor

qualityOfServiceAlarm

Parameters

Name Meaning

oid

Indicates the MIB object ID of the alarm.

RouteTypeIndex

Index of the BGP route type

  • 1 IPv4: IPv4 routes, including IPv4 public network and IPv4 VPN
    routes
  • 2 IPv6: IPv6 routes, including IPv6 public network and IPv6 VPN
    routes
  • 3 IPv4 VRF: IPv4 VPN routes
  • 4 IPv6 VRF: IPv6 VPN routes
  • 5 IPv4 Public: IPv4 public network routes
  • 6 IPv6 Public: IPv6 public network routes
  • 7 L2AD: BGP L2VPN-AD routes

CurrentRouteNumber

Current number of BGP routes of a specified
type

RouteThreshold

Alarm threshold for the number of BGP routes
of a specified type

MaximumNumber

Maximum number of BGP routes of a specified
type

Impact on the System

The number of routes is approaching the maximum
number that is allowed, and routes will no longer be accepted if the
maximum number is reached, affecting services.

Possible Causes

The ratio of BGP routes to the maximum number that
is allowed exceeded the alarm threshold.

Procedure

  1. Check whether this alarm is caused by configuration or
    topology errors.

    • If this alarm is caused by configuration or topology errors,
      go to Step 2.

    • If this alarm is not caused by configuration or topology errors,
      go to Step 3.

  2. Correct the configuration or topology errors.

    If the ratio of BGP routes to the maximum number that is allowed
    falls below the alarm threshold after the configuration or topology
    errors are corrected, go to Step 4.

  3. If all the routes are necessary, determine whether to implement
    capacity expansion and contact technical support personnel.
  4. End.

BGP_1.3.6.1.4.1.2011.5.25.177.1.3.12 hwBgpRouteThresholdClear

Description

BGP/3/HWBGPROUTETHRESHOLDCLEAR:OID [oid] The number
of BGP routes decreased below the threshold. (RouteTypeIndex=[integer])

The ratio of BGP routes to the maximum number that is allowed
fell below the clear alarm threshold.

Attribute

Alarm ID Alarm Severity Alarm Type
1.3.6.1.4.1.2011.5.25.177.1.3.12

Minor

qualityOfServiceAlarm

Parameters

Name Meaning

oid

Indicates the MIB object ID of the alarm.

RouteTypeIndex

Index of the BGP route type

  • 1 IPv4: IPv4 routes, including IPv4 public network and IPv4 VPN
    routes
  • 2 IPv6: IPv6 routes, including IPv6 public network and IPv6 VPN
    routes
  • 3 IPv4 VRF: IPv4 VPN routes
  • 4 IPv6 VRF: IPv6 VPN routes
  • 5 IPv4 Public: IPv4 public network routes
  • 6 IPv6 Public: IPv6 public network routes
  • 7 L2AD: BGP L2VPN-AD routes

Impact on the System

Services will not be affected.

Possible Causes

The ratio of BGP routes to the maximum number that
is allowed fell below the clear alarm threshold.

Procedure

  1. This alarm message is informational only, and no action
    is required.

BGP_1.3.6.1.4.1.2011.5.25.177.1.3.13 hwBgpRouteMaxExceed

Description

BGP/3/HWBGPROUTEMAXEXCEED:OID [oid] The number of BGP
routes exceeded the maximum number. (RouteTypeIndex=[integer], MaximumNumber=[integer])

The number of BGP routes exceeded the maximum number that is allowed.

Attribute

Alarm ID Alarm Severity Alarm Type
1.3.6.1.4.1.2011.5.25.177.1.3.13 Minor

qualityOfServiceAlarm

Parameters

Name Meaning

oid

Indicates the MIB object ID of the alarm.

RouteTypeIndex

Index of the BGP route type

  • 1 IPv4: IPv4 routes, including IPv4 public network and IPv4 VPN
    routes
  • 2 IPv6: IPv6 routes, including IPv6 public network and IPv6 VPN
    routes
  • 3 IPv4 VRF: IPv4 VPN routes
  • 4 IPv6 VRF: IPv6 VPN routes
  • 5 IPv4 Public: IPv4 public network routes
  • 6 IPv6 Public: IPv6 public network routes
  • 7 L2AD: BGP L2VPN-AD routes

MaximumNumber

Maximum number of BGP routes of a specified
type

Impact on the System

BGP routes will no longer be accepted. As a result,
services will be affected.

Possible Causes

The number of BGP routes exceeded the maximum number
that is allowed.

Procedure

  1. Check whether this alarm is caused by configuration or
    topology errors.

    • If this alarm is caused by configuration or topology errors,
      go to Step 2.

    • If this alarm is not caused by configuration or topology errors,
      go to Step 3.

  2. Correct the configuration or topology errors.

    If the number of BGP routes falls below the maximum number that
    is allowed after the configuration or topology errors are corrected,
    go to Step 4.

  3. If all the routes are necessary, determine whether to implement
    capacity expansion and contact technical support personnel.
  4. End.

BGP_1.3.6.1.4.1.2011.5.25.177.1.3.14 hwBgpRouteMaxClear

Description

BGP/3/HWBGPROUTEMAXCLEAR:OID [oid] The number of BGP
routes decreased below the maximum number. (RouteTypeIndex=[integer])

The number of BGP routes fell below the maximum number that is
allowed.

Attribute

Alarm ID Alarm Severity Alarm Type
1.3.6.1.4.1.2011.5.25.177.1.3.14

Minor

qualityOfServiceAlarm

Parameters

Name Meaning

oid

Indicates the MIB object ID of the alarm.

RouteTypeIndex

Index of the BGP route type

  • 1 IPv4: IPv4 routes, including IPv4 public network and IPv4 VPN
    routes
  • 2 IPv6: IPv6 routes, including IPv6 public network and IPv6 VPN
    routes
  • 3 IPv4 VRF: IPv4 VPN routes
  • 4 IPv6 VRF: IPv6 VPN routes
  • 5 IPv4 Public: IPv4 public network routes
  • 6 IPv6 Public: IPv6 public network routes
  • 7 L2AD: BGP L2VPN-AD routes

Impact on the System

Services will not be affected.

Possible Causes

The number of BGP routes fell below the maximum
number that is allowed.

Procedure

  1. This alarm message is informational only, and no action
    is required.

BGP Error Code

Error Code

Error Subcode

1: Message header error

  • 1: connection not synchronized

  • 2: error message length

  • 3: error message type

2: Open message error

  • 1: unsupported version number

  • 2: error peer AS

  • 3: error BGP identifier

  • 4: unsupported optional parameter

  • 5: authentication failed

  • 6: unacceptable hold-time

  • 7: unsupported capability

3: Update message error

  • 1: malformed attribute list

  • 2: unrecognized well-known attribute

  • 3: well-known attribute is missing

  • 4: attribute flags error

  • 5: attribute length error

  • 6: invalid origin attribute

  • 7: AS routing loop

  • 8: invalid Next-Hop attribute

  • 9: error optional attribute

  • 10: invalid network field

  • 11: abnormal AS-Path

4: Hold timer expired

0: no special definition of the error subcode

5: Finite state machine error

0: no special definition of the error subcode

6: Cease

  • 1: maximum number of prefixes reached

  • 2: administrative shutdown

  • 3: peer deleted

  • 4: administrative reset

  • 5: connection rejected

  • 6: other configuration change

  • 7: connection collision resolution

  • 8: out of resources

  • 9: BFD session Down

  • BGP_1.3.6.1.2.1.15.7.1 bgpEstablished
  • BGP_1.3.6.1.2.1.15.7.2 bgpBackwardTransition
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.1 hwBgpPeerRouteNumThresholdExceed
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.2 hwBgpPeerRouteNumThresholdClear
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.3 hwBgpPeerGRStatusChange
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.9 hwBgpPeerEstablished
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.10 hwBgpPeerBackwardTransition
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.11 hwBgpRouteThresholdExceed
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.12 hwBgpRouteThresholdClear
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.13 hwBgpRouteMaxExceed
  • BGP_1.3.6.1.4.1.2011.5.25.177.1.3.14 hwBgpRouteMaxClear
  • BGP Error Code

Понравилась статья? Поделить с друзьями:
  • Bfx error code 142
  • Bfv exe ошибка приложения battlefield v
  • Bfsvc error unable to load mui file for bcd strings 2
  • Beko морозильник сбросить ошибку
  • Beko wkl 15105 коды ошибок