submodule openconfig-bgp-errors { belongs-to openconfig-bgp-types { prefix "oc-bgp-types"; } import openconfig-extensions { prefix "oc-ext"; } // meta organization "OpenConfig working group"; contact "OpenConfig working group netopenconfig@googlegroups.com"; description "This module defines BGP NOTIFICATION message error codes and subcodes"; oc-ext:openconfig-version "5.3.1"; revision "2021-08-06" { description "Fix pattern regexes to allow full 4-byte private ASN range including 42xxxxxxxx in extended communities Types impacted: - bgp-ext-community-type"; reference "5.3.1"; } revision "2021-01-07" { description "Remove module extension oc-ext:regexp-posix by making pattern regexes conform to RFC7950. Types impacted: - bgp-std-community-type - bgp-ext-community-type"; reference "5.3.0"; } revision "2020-06-30" { description "Add OpenConfig POSIX pattern extensions."; reference "5.2.1"; } revision "2020-06-17" { description "Add RFC5549 capability identity."; reference "5.2.0"; } revision "2020-03-24" { description "Add FlowSpec, BGP-LS and LSVR AFI-SAFI identities."; reference "5.1.0"; } revision "2018-11-21" { description "Add OpenConfig module metadata extensions."; reference "5.0.2"; } revision "2018-08-20" { description "Correct description of AFI-SAFI enabled leaf."; reference "5.0.1"; } revision "2018-04-11" { description "Correct naming of BGP maximum prefix warning percentage leaf."; reference "5.0.0"; } revision "2018-03-20" { description "Added SR-TE policy SAFI"; reference "4.1.0"; } revision "2017-07-30" { description "Clarification of add-paths send-max leaf"; reference "4.0.1"; } revision "2017-07-10" { description "Add error notifications; moved add-paths config; add AS prepend policy features; removed unneeded config leaves"; reference "4.0.0"; } identity BGP_ERROR_CODE { description "Indicates the error type in a BGP NOTIFICATION message"; reference "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)"; } identity BGP_ERROR_SUBCODE { description "Provides more specific information about the nature of the error reported in a NOTIFICATION message. Each Error Code may have one or more Error Subcodes associated with it."; reference "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)"; } identity UNSPECIFIC { base BGP_ERROR_SUBCODE; description "The error subcode field is unspecific when the NOTIFICATION message does not include any specific error subcode (i.e.., value 0)."; } identity MESSAGE_HEADER_ERROR { base BGP_ERROR_CODE; description "Errors detected while processing the Message Header"; } identity OPEN_MESSAGE_ERROR { base BGP_ERROR_CODE; description "Errors detected while processing the OPEN message"; } identity UPDATE_MESSAGE_ERROR { base BGP_ERROR_CODE; description "Errors detected while processing the UPDATE message"; } identity HOLD_TIMER_EXPIRED { base BGP_ERROR_CODE; description "Indicates that the system did not receive successive KEEPALIVE, UPDATE, and/or NOTIFICATION messages within the period specified in the Hold Time field of the OPEN message"; } identity FINITE_STATE_MACHINE_ERROR { base BGP_ERROR_CODE; description "Error detected by the BGP Finite State Machine (e.g., receipt of an unexpected event)"; } identity CEASE { base BGP_ERROR_CODE; description "Sent by a BGP peer to close its BGP connection in absence of any fatal errors. If the BGP speaker terminates its connection with a neihbor because the number of prefixes received exceeds the configured upper bound, the speaker must send the neighbor a NOTIFICATION message with the Cease error code."; } identity ROUTE_REFRESH_MESSAGE_ERROR { base BGP_ERROR_CODE; description "The length, excluding the fixed-size message header, of the received ROUTE-REFRESH message with Message Subtype 1 and 2 is not 4. Applicable only when a BGP speaker has received the 'Enhanced Route Refresh Capability' from a peer"; reference "RFC 7313 - Enhanced Route Refresh Capability for BGP-4"; } identity MESSAGE_HEADER_SUBCODE { base BGP_ERROR_SUBCODE; description "Error subcode definitions for Message Header error notifications"; } identity CONNECTION_NOT_SYNCHRONIZED { base MESSAGE_HEADER_SUBCODE; description "Marker field of the message header is not all ones as expected"; } identity BAD_MESSAGE_LENGTH { base MESSAGE_HEADER_SUBCODE; description "Indicates the message has an erroneous length with one or more of the following: - the Length field of the message header is less than 19 or greater than 4096 - the Length field of an OPEN message is less than the minimum length of the OPEN message - the Length field of an UPDATE message is less than the minimum length of the UPDATE message - the Length field of a KEEPALIVE message is not equal to 19 - the Length field of a NOTIFICATION message is less than the minimum length of the NOTIFICATION message The erroneous Length field must be reported in the NOTIFICATION data."; } identity BAD_MESSAGE_TYPE { base MESSAGE_HEADER_SUBCODE; description "Type field of the message header is not recognized. The erroneous type field must be reported in the NOTIFICATION data"; } identity OPEN_MESSAGE_SUBCODE { base BGP_ERROR_SUBCODE; description "Error subcode definitions for OPEN message error notifications"; } identity UNSUPPORTED_VERSION_NUMBER { base OPEN_MESSAGE_SUBCODE; description "Version number in the Version field of the received OPEN message is not supported"; } identity BAD_PEER_AS { base OPEN_MESSAGE_SUBCODE; description "Autonomous System field of the OPEN message is unacceptable"; } identity BAD_BGP_IDENTIFIER { base OPEN_MESSAGE_SUBCODE; description "BGP Identifier field of the OPEN message is syntactically incorrect"; } identity UNSUPPORTED_OPTIONAL_PARAMETER { base OPEN_MESSAGE_SUBCODE; description "One of the Optional Parameters in the OPEN message is not recognized"; } identity UNACCEPTABLE_HOLD_TIME { base OPEN_MESSAGE_SUBCODE; description "Hold Time field of the OPEN message is unacceptable"; } identity UNSUPPORTED_CAPABILITY { base OPEN_MESSAGE_SUBCODE; description "Inidicates that the peer does not support capabilities advertisement -- the peer may send this subcode in response to an OPEN message that carries the Capabilities Optional Parameter"; reference "RFC 5492 - Capabilities Advertisement with BGP-4"; } identity UPDATE_MESSAGE_SUBCODE { base BGP_ERROR_SUBCODE; description "Error subcode definitions for UPDATE message error notifications"; } identity MALFORMED_ATTRIBUTE_LIST { base UPDATE_MESSAGE_SUBCODE; description "Inidicates Withdrawn Routes Length or Total Attribute Length is too large, or An attribute appears more than once in the UPDATE message"; } identity UNRECOGNIZED_WELL_KNOWN_ATTRIBUTE { base UPDATE_MESSAGE_SUBCODE; description "One or more of the well-known mandatory attributes are not recognized"; } identity MISSING_WELL_KNOWN_ATTRIBUTE { base UPDATE_MESSAGE_SUBCODE; description "One or more of the well-known mandatory attributes are not present"; } identity ATTRIBUTE_FLAGS_ERROR { base UPDATE_MESSAGE_SUBCODE; description "Attribute has Attribute Flags that conflict with the Attribute Type Code"; } identity ATTRIBUTE_LENGTH_ERROR { base UPDATE_MESSAGE_SUBCODE; description "Attribute has an Attribute Length that conflicts with the expected length (based on the attribute type code)"; } identity INVALID_ORIGIN_ATTRIBUTE { base UPDATE_MESSAGE_SUBCODE; description "ORIGIN attribute has an undefined value"; } identity INVALID_NEXT_HOP_ATTRIBUTE { base UPDATE_MESSAGE_SUBCODE; description "The NEXT_HOP attribute field is syntactically incorrect"; } identity OPTIONAL_ATTRIBUTE_ERROR { base UPDATE_MESSAGE_SUBCODE; description "An error is detected in the value of a recognized optional attribute (such an attribute must be discarded)"; } identity INVALID_NETWORK_FIELD { base UPDATE_MESSAGE_SUBCODE; description "The NLRI field in the UPDATE message is syntactically incorrect"; } identity MALFORMED_AS_PATH { base UPDATE_MESSAGE_SUBCODE; description "The AS_PATH attribute is syntactically incorrect"; } identity FINITE_STATE_MACHINE_SUBCODE { base BGP_ERROR_SUBCODE; description "Error subcode definitions for BGP finite state machine errors."; reference "RFC 6608 - Subcodes for BGP Finite State Machine Error"; } identity RECEIVE_UNEXPECTED_MESSAGE_OPENSENT { base FINITE_STATE_MACHINE_SUBCODE; description "The peer BGP speaker received an unexpected message from the local system while the peer speaker session was in the OpenSent state"; } identity RECEIVE_UNEXPECTED_MESSAGE_OPENCONFIRM { base FINITE_STATE_MACHINE_SUBCODE; description "The peer BGP speaker received an unexpected message from the local system while the peer speaker session was in the OpenConfirm state"; } identity RECEIVE_UNEXPECTED_MESSAGE_ESTABLISHED { base FINITE_STATE_MACHINE_SUBCODE; description "The peer BGP speaker received an unexpected message from the local system while the peer speaker session was in the Established state"; } identity CEASE_SUBCODE { base BGP_ERROR_SUBCODE; description "Error subcode definitions for Cease notification messages"; reference "RFC 4486 - Subcodes for BGP Cease Notification Message"; } identity MAX_NUM_PREFIXES_REACHED { base CEASE_SUBCODE; description "The peer BGP speaker terminated its peering with the local system because the number of address prefixes received exceeds a locally configured upper bound"; } identity ADMINISTRATIVE_SHUTDOWN { base CEASE_SUBCODE; description "The peer BGP speaker administratively shut down its peering with the local system"; } identity PEER_DE_CONFIGURED { base CEASE_SUBCODE; description "The peer BGP speaker de-configure the peering with the local system"; } identity ADMINISTRATIVE_RESET { base CEASE_SUBCODE; description "The peer BGP speaker administratively reset the peering with the local system"; } identity CONNECTION_REJECTED { base CEASE_SUBCODE; description "The peer BGP speaker disallowed the BGP connection to the local system after the peer speaker accepted a transport protocol connection"; } identity OTHER_CONFIG_CHANGE { base CEASE_SUBCODE; description "The peer BGP speaker administratively reset the peering with the local sytem due to a configuration change that is not covered by another subcode."; } identity CONN_COLLISION_RESOLUTION { base CEASE_SUBCODE; description "The peer BGP speaker sent a CEASE NOTIFICATION as a result of the collision resolution procedure described in RFC 4271"; } identity OUT_OF_RESOURCES { base CEASE_SUBCODE; description "The peer BGP speaker ran out of resources (e.g., memory) and reset the session with the local system"; } identity ROUTE_REFRESH_SUBCODE { base BGP_ERROR_SUBCODE; description "Error subcode definitions for the ROUTE-REFRESH message error"; } identity INVALID_MESSAGE_LENGTH { base ROUTE_REFRESH_SUBCODE; description "The length, excluding the fixed-size message header, of the received ROUTE-REFRESH message with Message Subtype 1 and 2 is not 4"; } }