openconfig-bgp-types

openconfig-version: 5.3.1

Description

This module contains general data definitions for use in BGP policy. It can be imported by modules that make use of BGP attributes

Imports

openconfig-types
openconfig-inet-types
openconfig-extensions

Defined types

bgp-session-direction

description:
Type to describe the direction of NLRI transmission

type: enumeration

  • INBOUND
    Refers to all NLRI received from the BGP peer
  • OUTBOUND
    Refers to all NLRI advertised to the BGP peer

bgp-well-known-community-type

description:
Type definition for well-known IETF community attribute values

type: identityref

  • base: BGP_WELL_KNOWN_STD_COMMUNITY

bgp-std-community-type

description:
Type definition for standard commmunity attributes represented as a integer value, or a string of the form N:M where N and M are integers between 0 and 65535.

type: union

    type: uint32

    type: string

    • pattern:
      (6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9]):(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])

bgp-ext-community-type

description:
Type definition for extended community attributes. In the case that common communities are utilised, they are represented as a string of the form: - <2b AS>:<4b value> per RFC4360 section 3.1 - <4b IPv4>:<2b value> per RFC4360 section 3.2 - <4b AS>:<2b value> per RFC5668 section 2. - route-target:<2b AS>:<4b value> per RFC4360 section 4 - route-target:<4b IPv4>:<2b value> per RFC4360 section 4 - route-origin:<2b ASN>:<4b value> per RFC4360 section 5 - route-origin:<4b IPv4>:<2b value> per RFC4360 section 5 - color::<4b value> per draft-ietf-idr-segment-routing-te-policy section 3

type: union

    type: string

    • pattern:
      (6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9]):(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[0-1][0-9]{8}|[1-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9])

    type: string

    • pattern:
      (([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])

    type: string

    • pattern:
      (429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[0-1][0-9]{8}|[1-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9]):(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])

    type: string

    • pattern:
      route\-target:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9]):(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[0-1][0-9]{8}|[1-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9])

    type: string

    • pattern:
      route\-target:(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])

    type: string

    • pattern:
      route\-target:(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[0-1][0-9]{8}|[1-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9]):(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])

    type: string

    • pattern:
      route\-origin:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9]):(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[0-1][0-9]{8}|[1-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9])

    type: string

    • pattern:
      route\-origin:(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]):(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])

    type: string

    • pattern:
      route\-origin:(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[0-1][0-9]{8}|[1-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9]):(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])

    type: string

    • pattern:
      color:[0-1]{2}:(429496729[0-5]|42949672[0-8][0-9]|4294967[0-1][0-9]{2}|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[0-1][0-9]{8}|[1-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9])

bgp-ext-community-recv-type

description:
A type definition utilised to define the extended community in a context where the system is receiving the extended community from an external source, such that the value may be unknown. In the case that the received extended community is unknown it is defined to be a 8-octet quantity formatted according to RFC4360: Type Field: 1 or 2 octets. Value Field: Remaining octets. The high-order octet of the type field is encoded such that bit 0 indicates whether the extended community type is IANA assigned; and bit 1 indicates whether the extended community is transitive. The remaining bits of the high-order type field must be interpreted to determine whether the low-order type field should be parsed, or whether the entire remainder of the extended community is a value.

type: union

    type: bgp-ext-community-type

    type: binary

bgp-community-regexp-type

description:
Type definition for communities specified as regular expression patterns

type: oc-types:std-regexp

bgp-origin-attr-type

description:
Type definition for standard BGP origin attribute

type: enumeration

  • IGP
    Origin of the NLRI is internal
  • EGP
    Origin of the NLRI is EGP
  • INCOMPLETE
    Origin of the NLRI is neither IGP or EGP

peer-type

description:
Labels a peer or peer group as explicitly internal or external

type: enumeration

  • INTERNAL
    Internal (iBGP) peer
  • EXTERNAL
    External (eBGP) peer

remove-private-as-option

description:
Set of options for configuring how private AS path numbers are removed from advertisements

type: identityref

  • base: REMOVE_PRIVATE_AS_OPTION

rr-cluster-id-type

description:
Union type for route reflector cluster ids: option 1: 4-byte number option 2: IP address

type: union

    type: uint32

    type: oc-inet:ipv4-address

community-type

description:
type describing variations of community attributes: STANDARD: standard BGP community [rfc1997] EXTENDED: extended BGP community [rfc4360] BOTH: both standard and extended community

type: enumeration

  • STANDARD
    Send only standard communities
  • EXTENDED
    Send only extended communities
  • BOTH
    Send both standard and extended communities
  • NONE
    Do not send any community attribute

as-path-segment-type

description:
Defines the types of BGP AS path segments.

type: enumeration

  • AS_SEQ
    Ordered set of autonomous systems that a route in the UPDATE message has traversed
  • AS_SET
    Unordered set of autonomous systems that a route in the UPDATE message has traversed
  • AS_CONFED_SEQUENCE
    Ordered set of Member Autonomous Systems in the local confederation that the UPDATE message has traversed
  • AS_CONFED_SET
    Unordered set of Member Autonomous Systems in the local confederation that the UPDATE message has traversed

Identities

base: BGP_CAPABILITY

description:
Base identity for a BGP capability

MPBGP

description:
Multi-protocol extensions to BGP

base identity: BGP_CAPABILITY

ROUTE_REFRESH

description:
The BGP route-refresh functionality

base identity: BGP_CAPABILITY

ASN32

description:
4-byte (32-bit) AS number functionality

base identity: BGP_CAPABILITY

GRACEFUL_RESTART

description:
Graceful restart functionality

base identity: BGP_CAPABILITY

ADD_PATHS

description:
BGP add-paths

base identity: BGP_CAPABILITY

EXTENDED_NEXTHOP_ENCODING

description:
BGP Extended Next Hop Encoding functionality

base identity: BGP_CAPABILITY

base: AFI_SAFI_TYPE

description:
Base identity type for AFI,SAFI tuples for BGP-4

IPV4_UNICAST

description:
IPv4 unicast (AFI,SAFI = 1,1)

base identity: AFI_SAFI_TYPE

IPV6_UNICAST

description:
IPv6 unicast (AFI,SAFI = 2,1)

base identity: AFI_SAFI_TYPE

IPV4_LABELED_UNICAST

description:
Labeled IPv4 unicast (AFI,SAFI = 1,4)

base identity: AFI_SAFI_TYPE

IPV6_LABELED_UNICAST

description:
Labeled IPv6 unicast (AFI,SAFI = 2,4)

base identity: AFI_SAFI_TYPE

L3VPN_IPV4_UNICAST

description:
Unicast IPv4 MPLS L3VPN (AFI,SAFI = 1,128)

base identity: AFI_SAFI_TYPE

L3VPN_IPV6_UNICAST

description:
Unicast IPv6 MPLS L3VPN (AFI,SAFI = 2,128)

base identity: AFI_SAFI_TYPE

L3VPN_IPV4_MULTICAST

description:
Multicast IPv4 MPLS L3VPN (AFI,SAFI = 1,129)

base identity: AFI_SAFI_TYPE

L3VPN_IPV6_MULTICAST

description:
Multicast IPv6 MPLS L3VPN (AFI,SAFI = 2,129)

base identity: AFI_SAFI_TYPE

L2VPN_VPLS

description:
BGP-signalled VPLS (AFI,SAFI = 25,65)

base identity: AFI_SAFI_TYPE

L2VPN_EVPN

description:
BGP MPLS Based Ethernet VPN (AFI,SAFI = 25,70)

base identity: AFI_SAFI_TYPE

SRTE_POLICY_IPV4

description:
Segment Routing Traffic Engineering (SRTE) Policy for IPv4 (AFI,SAFI = 1,73)

base identity: AFI_SAFI_TYPE

SRTE_POLICY_IPV6

description:
Segment Routing Traffic Engineering (SRTE) Policy for IPv6 (AFI,SAFI = 2,73)

base identity: AFI_SAFI_TYPE

IPV4_FLOWSPEC

description:
IPv4 dissemination of flow specification rules (AFI,SAFI = 1,133)

base identity: AFI_SAFI_TYPE

VPNV4_FLOWSPEC

description:
IPv4 dissemination of flow specification rules (AFI,SAFI = 1,134)

base identity: AFI_SAFI_TYPE

LINKSTATE

description:
BGP-LS (AFI,SAFI = 16388,71)

base identity: AFI_SAFI_TYPE

LINKSTATE_VPN

description:
BGP-LS-VPN (AFI,SAFI = 16388,72)

base identity: AFI_SAFI_TYPE

LINKSTATE_SPF

description:
BGP-LS SPF (AFI,SAFI = 16388,TBD)

base identity: AFI_SAFI_TYPE

base: BGP_WELL_KNOWN_STD_COMMUNITY

description:
Reserved communities within the standard community space defined by RFC1997. These communities must fall within the range 0x00000000 to 0xFFFFFFFF

NO_EXPORT

description:
Do not export NLRI received carrying this community outside the bounds of this autonomous system, or this confederation if the local autonomous system is a confederation member AS. This community has a value of 0xFFFFFF01.

base identity: BGP_WELL_KNOWN_STD_COMMUNITY

NO_ADVERTISE

description:
All NLRI received carrying this community must not be advertised to other BGP peers. This community has a value of 0xFFFFFF02.

base identity: BGP_WELL_KNOWN_STD_COMMUNITY

NO_EXPORT_SUBCONFED

description:
All NLRI received carrying this community must not be advertised to external BGP peers - including over confederation sub-AS boundaries. This community has a value of 0xFFFFFF03.

base identity: BGP_WELL_KNOWN_STD_COMMUNITY

NOPEER

description:
An autonomous system receiving NLRI tagged with this community is advised not to readvertise the NLRI to external bi-lateral peer autonomous systems. An AS may also filter received NLRI from bilateral peer sessions when they are tagged with this community value

base identity: BGP_WELL_KNOWN_STD_COMMUNITY

base: REMOVE_PRIVATE_AS_OPTION

description:
Base identity for options for removing private autonomous system numbers from the AS_PATH attribute

PRIVATE_AS_REMOVE_ALL

description:
Strip all private autonmous system numbers from the AS_PATH. This action is performed regardless of the other content of the AS_PATH attribute, and for all instances of private AS numbers within that attribute.

base identity: REMOVE_PRIVATE_AS_OPTION

PRIVATE_AS_REPLACE_ALL

description:
Replace all instances of private autonomous system numbers in the AS_PATH with the local BGP speaker's autonomous system number. This action is performed regardless of the other content of the AS_PATH attribute, and for all instances of private AS number within that attribute.

base identity: REMOVE_PRIVATE_AS_OPTION

base: BGP_ERROR_CODE

description:
Indicates the error type in a BGP NOTIFICATION message

MESSAGE_HEADER_ERROR

description:
Errors detected while processing the Message Header

base identity: BGP_ERROR_CODE

OPEN_MESSAGE_ERROR

description:
Errors detected while processing the OPEN message

base identity: BGP_ERROR_CODE

UPDATE_MESSAGE_ERROR

description:
Errors detected while processing the UPDATE message

base identity: BGP_ERROR_CODE

HOLD_TIMER_EXPIRED

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

base identity: BGP_ERROR_CODE

FINITE_STATE_MACHINE_ERROR

description:
Error detected by the BGP Finite State Machine (e.g., receipt of an unexpected event)

base identity: BGP_ERROR_CODE

CEASE

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.

base identity: BGP_ERROR_CODE

ROUTE_REFRESH_MESSAGE_ERROR

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

base identity: BGP_ERROR_CODE

base: 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.

UNSPECIFIC

description:
The error subcode field is unspecific when the NOTIFICATION message does not include any specific error subcode (i.e.., value 0).

base identity: BGP_ERROR_SUBCODE

MESSAGE_HEADER_SUBCODE

description:
Error subcode definitions for Message Header error notifications

base identity: BGP_ERROR_SUBCODE

OPEN_MESSAGE_SUBCODE

description:
Error subcode definitions for OPEN message error notifications

base identity: BGP_ERROR_SUBCODE

UPDATE_MESSAGE_SUBCODE

description:
Error subcode definitions for UPDATE message error notifications

base identity: BGP_ERROR_SUBCODE

FINITE_STATE_MACHINE_SUBCODE

description:
Error subcode definitions for BGP finite state machine errors.

base identity: BGP_ERROR_SUBCODE

CEASE_SUBCODE

description:
Error subcode definitions for Cease notification messages

base identity: BGP_ERROR_SUBCODE

ROUTE_REFRESH_SUBCODE

description:
Error subcode definitions for the ROUTE-REFRESH message error

base identity: BGP_ERROR_SUBCODE

Data elements

openconfig-bgp

openconfig-version: 9.2.0

Description

This module describes a YANG model for BGP protocol configuration.It is a limited subset of all of the configuration parameters available in the variety of vendor implementations, hence it is expected that it would be augmented with vendor- specific configuration data as needed. Additional modules or submodules to handle other aspects of BGP configuration, including policy, VRFs, VPNs, and additional address families are also expected.

This model supports the following BGP configuration level hierarchy:

BGP | +-> [ global BGP configuration ] +-> AFI / SAFI global +-> peer group +-> [ peer group config ] +-> AFI / SAFI [ per-AFI overrides ] +-> neighbor +-> [ neighbor config ] +-> [ optional pointer to peer-group ] +-> AFI / SAFI [ per-AFI overrides ]

Most BGP features can be configured at multiple levels in the BGP configuration level hierarchy. The common inheritance model allows the more specific configuration (e.g. neighbor) to inherit from or override the less specific configuration (e.g. global). Leaf present at one level overrides leafs present at higher levels, whereas leaf not present inherits its value from the leaf present at the next higher level in the hierarchy.

Imports

openconfig-extensions
openconfig-rib-bgp

Data elements