netconfcentral logo

openconfig-bgp-errors@2017-07-30



  submodule openconfig-bgp-errors {

    yang-version 1;

    belongs-to openconfig-bgp-types {
        prefix oc-bgp-types;
    }

    import openconfig-extensions {
      prefix oc-ext;
    }

    organization "OpenConfig working group";

    contact
      "OpenConfig working group
    netopenconfig@googlegroups.com";

    description
      "This module defines BGP NOTIFICATION message error codes
    and subcodes";

    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";

    }

    oc-ext:openconfig-version "4.0.1";

    identity BGP_ERROR_CODE {
      base 
      description
        "Indicates the error type in a BGP NOTIFICATION message";
      reference
        "RFC 4271 - A Border Gateway Protocol 4 (BGP-4)";

    }

    identity BGP_ERROR_SUBCODE {
      base 
      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";
    }
  }  // submodule openconfig-bgp-errors