This module contains a collection of YANG definitions for Cisco IOS-XR ipv4-bgp package configuration. This model is deprecated...
Version: 2021-03-05
module Cisco-IOS-XR-ipv4-bgp-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv4-bgp-cfg"; prefix ipv4-bgp-cfg; import ietf-inet-types { prefix inet; } import Cisco-IOS-XR-types { prefix xr; } import cisco-semver { prefix semver; } import Cisco-IOS-XR-ipv4-bgp-datatypes { prefix dt1; } import Cisco-IOS-XR-infra-rsi-cfg { prefix a1; } import Cisco-IOS-XR-snmp-agent-cfg { prefix a2; } organization "Cisco Systems, Inc."; contact "Cisco Systems, Inc. Customer Service Postal: 170 West Tasman Drive San Jose, CA 95134 Tel: +1 800 553-NETS E-mail: cs-yang@cisco.com"; description "This module contains a collection of YANG definitions for Cisco IOS-XR ipv4-bgp package configuration. This model is deprecated and is replaced by Cisco-IOS-XR-um-router-bgp-cfg.yang which will provide the compatible functionalities. This module contains definitions for the following management objects: asn-format: Autonomous system number format bgp: BGP configuration commands bmp-server-all: BGP BMP Server Common Configuration bmp-servers: BGP BMP Server Configuration This YANG module augments the Cisco-IOS-XR-infra-rsi-cfg, Cisco-IOS-XR-snmp-agent-cfg modules with configuration data. Copyright (c) 2013-2021 by Cisco Systems, Inc. All rights reserved."; revision "2021-03-05" { description "Deprecated Hidden commands 2021-03-05 Added SR Policy Path Prefernce CLI 2021-02-07 Add config to include cluster-list-length in multipath criteria 2020-12-07 cli/default behavior change for Soft NextHop Validation and Metric 2020-12-01 Added best-external advertise config limited to labeled-unicast 2020-10-27 BGP change dual-mode configure cli 2020-10-09 Changed RPKI password type to Proprietary 2020-10-04 Added Soft NextHop Validation and Metric 2020-07-21 BGP MIB cfg model has been updated to allow only one of updown or enable options"; } revision "2020-06-16" { description "Fixing various spellings/typos in descriptions 2020-05-13 Support large values for BGP RPKI purge timeout. 2020-01-29 Enhancement for OC BFD augmentation in OC BGP. 2019-10-31 Added mandatory nodes and presence containers."; } revision "2019-08-31" { description "Fixing revision error in module. 2019-05-12 Deprecated the native model, replaced by UM model."; } revision "2019-04-05" { description "Establish semantic version baseline."; } revision "2018-06-15" { description "Allow min..max in range when min == max."; } revision "2018-01-18" { description "Added AO option for neighbor"; } revision "2017-11-05" { description "Corrected boolean values in when statements."; } revision "2017-09-07" { description "Fixed type translation error."; } revision "2017-07-31" { description "Fixed missing augmentation from multiple MDA parent."; } revision "2017-06-26" { description "Change identifiers to be more readable."; } revision "2017-06-01" { description "Revision description string."; } revision "2017-05-01" { description "Fixing backward compatibility error in module."; } revision "2015-08-27" { description "IOS XR 5.3.2 revision."; } semver:module-version "4.0.0"; semver:module-version "3.0.0"; semver:module-version "2.0.0"; semver:module-version "1.0.0"; typedef Bgp-mvpn-sfs-select { type enumeration { enum "all-paths" { value 1; description "Select all paths as single forwarder PE"; } enum "highest-ip-address" { value 2; description "Select PE with highest address as single forwarder PE"; } } description "Bgp mvpn sfs select"; } typedef Bgp-nbrgr { type enumeration { enum "true" { value 0; description "NBR has enabled Graceful Restart capability"; } enum "false" { value 1; description "NBR has disabled Graceful Restart capability"; } } description "Bgp nbrgr"; } typedef Bmp-policy-select { type enumeration { enum "post-policy" { value 2; description "Pickup routes after policy application"; } } description "Bmp policy select"; } typedef Bgp-default-metric-range { type uint32 { range "0..4294967295"; } description "Bgp default metric range"; } typedef Bgp-ebgp-send-dmz-enable-mode { type enumeration { enum "disable" { value 0; description "Disable Mode - Prevent inheritance"; } enum "default" { value 1; description "Default Mode - Send dmz link bandwidth value to ebgp neighbor"; } enum "cumulative" { value 2; description "Strict Mode - Send cumulative dmz link bandwidth value to ebgp neighbor"; } } description "Bgp ebgp send dmz enable mode"; } typedef Bgp-rpki-binssrc { type enumeration { enum "interface" { value 0; description "Bind Source Interface"; } } description "Bgp rpki binssrc"; } typedef Bgp-signal { type enumeration { enum "bgp-disable" { value 1; description "Signalling BGP disable"; } enum "ldp-disable" { value 2; description "Signalling LDP disable"; } } description "Bgp signal"; } typedef Bgp-vrf-route-target { type enumeration { enum "as" { value 0; description "AS format RT"; } enum "ipv4-address" { value 1; description "IPv4 address format RT"; } enum "four-byte-as" { value 2; description "4-byte AS format RT"; } } description "Bgp vrf route target"; } typedef Bgp-rpki-time-config { type union { type enumeration { enum "off" { value 0; description "Turn off knob"; } } type uint32 { range "0..3600"; } } description "Bgp rpki time config"; } typedef Bgp-rnh-install-format { type enumeration { enum "ext-comm" { value 0; description "Install RNH as opaque and extcomm"; } enum "ext-comm-only" { value 1; description "Install RNH as extcomm only"; } } description "Bgp rnh install format"; } typedef Bgp-bfd-enable-mode { type enumeration { enum "disable" { value 0; description "Disable Mode - Prevent inheritance"; } enum "default" { value 1; description "Default Mode - Default BFD behavior"; } enum "strict" { value 2; description "Strict Mode - Hold down adj until BFD session up"; } } description "Bgp bfd enable mode"; } typedef Bgp-upd-dynamic { type enumeration { enum "bgp-dynamic-split-enable" { value 0; description "Enable splitting"; } enum "bgp-dynamic-split-disable" { value 1; description "Disable splitting"; } enum "bgp-dynamic-split-permanent" { value 2; description "Permanent splitting"; } } description "Bgp upd dynamic"; } typedef Route-target-as-index { type uint32 { range "0..4294967295"; } description "Route target as index"; } typedef Bmp-route-direction { type enumeration { enum "inbound" { value 1; description "Pickup routes at inbound direction from peer"; } } description "Bmp route direction"; } typedef Bgp-send-mcast-attr-cfg { type enumeration { enum "enable" { value 1; description "Enable SendMcastAttr"; } enum "disable" { value 2; description "Disable SendMcastAttr"; } } description "Bgp send mcast attr cfg"; } typedef Bgp-aigp-cfg-poi { type enumeration { enum "pre-best-path" { value 1; description "AIGP Pre-bestpath POI"; } enum "igp-cost" { value 2; description "AIGP igp-cost POI"; } } description "Bgp aigp cfg poi"; } typedef Bgp-flowspec-validation-cfg { type enumeration { enum "enable" { value 1; description "Enable Flowspec validation"; } enum "disable" { value 2; description "Disable Flowspec validation"; } enum "redirect-nexhop-disable" { value 3; description "Disable Flowspec redirect nexthop validation"; } } description "Bgp flowspec validation cfg"; } typedef Bgp-orrafi { type enumeration { enum "bgp-ipv6orr" { value 0; description "IPv6 ORR AFI type"; } enum "bgp-ipv4orr" { value 1; description "IPv4 ORR AFI type"; } } description "Bgp orrafi"; } typedef Route-target-addr-index { type uint32 { range "0..65535"; } description "Route target addr index"; } typedef Bgp-rpki-soft-reconf-cfg { type enumeration { enum "rpki-default-option" { value 0; description "Behaviour independent of RPKI validation tests (Disabled)."; } enum "rpki-dropped-only" { value 1; description "Keep paths tested for RPKI in route-policy and dropped"; } enum "rpki-tested-only" { value 2; description "Keep RPKI paths tested in route-policy"; } } description "Bgp rpki soft reconf cfg"; } typedef Bgp-orf { type enumeration { enum "none" { value 0; description "No capability to send or receive"; } enum "receive" { value 1; description "Receive ORF capability"; } enum "send" { value 2; description "Send ORF capability"; } enum "both" { value 3; description "Send and receive ORF capability"; } } description "Bgp orf"; } typedef Bgp-asn { type enumeration { enum "as-plain" { value 1; description "AS plain format"; } enum "asdot" { value 2; description "AS dot format"; } } description "Bgp asn"; } typedef Bgp-rpki-transport { type enumeration { enum "tcp" { value 0; description "TCP Transport"; } enum "ssh" { value 1; description "SSH Transport"; } } description "Bgp rpki transport"; } typedef Bgp-reorg-opt { type enumeration { enum "bgp-cfg-adv" { value 1; description "Advertise translated routes"; } enum "bgp-cfg-adv-reorg" { value 2; description "Advertise Reorig routes"; } enum "bgp-cfg-adv-disable" { value 3; description "Disable adv of routes"; } enum "bgp-cfg-adv-local" { value 4; description "Advertise local routes"; } enum "bgp-cfg-adv-def-vrf-imp-disable" { value 5; description "Disable adv of Def VRF Imported routes"; } enum "bgp-cfg-adv-vrf-re-imp-disable" { value 6; description "Disable adv of VRF ReImported routes"; } enum "bgp-cfg-adv-vrf-evpn-re-imp-disable" { value 7; description "Disable adv of VRF EVPN extranet Imported routes"; } } description "Bgp reorg opt"; } typedef Bgp-af-encapsulation { type enumeration { enum "vx-lan" { value 1; description "VxLAN encapsulation type"; } enum "srv6" { value 2; description "SRv6 encapsulation type"; } } description "Bgp af encapsulation"; } typedef Bgp-aigp-cfg { type enumeration { enum "enable" { value 1; description "Enable AIGP"; } enum "disable" { value 2; description "Disable AIGP"; } } description "Bgp aigp cfg"; } typedef Bgp-route-distinguisher { type enumeration { enum "auto" { value 1; description "Automatically assigned"; } enum "as" { value 2; description "AS format RD"; } enum "four-byte-as" { value 3; description "4-byte AS format RD"; } enum "ipv4-address" { value 4; description "IPv4 address format RD"; } } description "Bgp route distinguisher"; } typedef Bgp-adv-rt { type enumeration { enum "bgp-regular-rt" { value 0; description "Regular RT type"; } enum "bgp-stitching-rt" { value 1; description "Stitching RT type"; } } description "Bgp adv rt"; } typedef Bgp-tcp-mode { type enumeration { enum "either" { value 0; description "Either active or passive mode"; } enum "active-only" { value 1; description "Active mode only"; } enum "passive-only" { value 2; description "Passive mode only"; } } description "Bgp tcp mode"; } typedef Bgp-site-of-origin { type enumeration { enum "as" { value 0; description "AS format SoO"; } enum "ipv4-address" { value 1; description "IPv4 address format SoO"; } enum "four-byte-as" { value 2; description "4-byte AS format SoO"; } } description "Bgp site of origin"; } typedef Bgp-cluster-id { type enumeration { enum "number" { value 1; description "Number"; } enum "ipv4-address" { value 2; description "IPv4 Address"; } } description "Bgp cluster id"; } typedef Bgp-global-extcomm-v4-addr-index { type uint32 { range "0..65535"; } description "Bgp global extcomm v4 addr index"; } typedef Bgp-global-extcomm-asn-index { type uint32 { range "0..4294967295"; } description "Bgp global extcomm asn index"; } typedef Bgp-global-route-distinguisher { type enumeration { enum "as" { value 2; description "AS format RD"; } enum "four-byte-as" { value 3; description "4-byte AS format RD"; } enum "ipv4-address" { value 4; description "IPv4 address format RD"; } } description "Bgp global route distinguisher"; } typedef Bgp-global-as-range { type uint32 { range "0..4294967295"; } description "Bgp global as range"; } grouping ADVERTISE-DISABLE { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container advertise-disable { description "Disable Advertise Of Routes to the peer"; leaf af-name { type dt1:Bgp-address-family; description "Address family"; } leaf reorg-option { type Bgp-reorg-opt; description "Reorigination option"; } leaf rt-type { type Bgp-adv-rt; description "RT type"; } } // container advertise-disable } // grouping ADVERTISE-DISABLE grouping TABLE-POLICY { description "Common node of global-af, vrf-global-af"; leaf table-policy { type string; description "Configure policy for installation of routes to RIB"; } } // grouping TABLE-POLICY grouping MAXIMUM-PREFIXES { description "Common node of global-af, vrf-global-afCommon node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container maximum-prefixes { presence "Indicates a maximum-prefixes node is configured."; description "Maximum number of prefixes to accept from this peer"; leaf prefix-limit { type uint32 { range "1..4294967295"; } mandatory true; description "Maximum prefixes limit"; } leaf warning-percentage { type uint32 { range "1..100"; } mandatory true; description "Threshold value (%) at which to generate a warning message."; } leaf warning-only { type boolean; mandatory true; description "TRUE to only give a warning message when limit is exceeded. FALSE to accept max prefix limit only."; } leaf restart-time { type uint32 { range "0..65535"; } mandatory true; description "Restart interval"; } leaf discard-extra-paths { type boolean; mandatory true; description "Discard extra paths when limit is exceeded"; } } // container maximum-prefixes } // grouping MAXIMUM-PREFIXES grouping DISTANCE { description "Common node of global-af, vrf-global-af"; container distance { presence "Indicates a distance node is configured."; description "Define an administrative distance"; leaf external-routes { type uint32 { range "1..255"; } mandatory true; description "Distance for routes external to the AS"; } leaf internal-routes { type uint32 { range "1..255"; } mandatory true; description "Distance for routes internal to the AS"; } leaf local-routes { type uint32 { range "1..255"; } mandatory true; description "Distance for local routes"; } } // container distance } // grouping DISTANCE grouping UPDATE-SOURCE-INTERFACE { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf update-source-interface { type xr:Interface-name; description "Select an interface to configure"; } } // grouping UPDATE-SOURCE-INTERFACE grouping MULTI-PATH-AS-PATH-IGNORE-ONWARDS { description "Common node of global, vrf-global"; leaf multi-path-as-path-ignore-onwards { type empty; description "Change default multi-route selection criteria to ignore everything onwards as-path check"; } } // grouping MULTI-PATH-AS-PATH-IGNORE-ONWARDS grouping PROPAGATE-DMZ-LINK-BANDWIDTH { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf propagate-dmz-link-bandwidth { type boolean; description "TRUE to propagate DMZ link bandwidth. FALSE to not propagate and to prevent inheritance from a parent"; } } // grouping PROPAGATE-DMZ-LINK-BANDWIDTH grouping DISABLE-AUTO-SOFT-RESET { description "Common node of global, vrf-global"; leaf disable-auto-soft-reset { type empty; description "Disable automatic soft peer reset on policy reconfiguration"; } } // grouping DISABLE-AUTO-SOFT-RESET grouping MSG-LOG-IN { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container msg-log-in { description "Message log inbound"; leaf msg-buf-count { type uint32 { range "1..500"; } description "Inbound message log buffer size"; } leaf msg-log-disable { type boolean; description "Disable inbound message logging"; } leaf msg-log-inherit-disable { type boolean; description "TRUE, to prevent this entity from having a inbound message logging if parent has one"; } } // container msg-log-in } // grouping MSG-LOG-IN grouping DISABLE-ENFORCE-FIRST-AS { description "Common node of global, vrf-global"; leaf disable-enforce-first-as { type empty; description "Disable enforce the first AS for EBGP routes"; } } // grouping DISABLE-ENFORCE-FIRST-AS grouping ROUTE-TARGET-TABLE { description "Common node of import-route-targets, export-route-targets"; container route-targets { description "Route target table"; list route-target { must "as-or-four-byte-as or ipv4-address" { description "AS-or-FourByteAS or IPV4Address must be present."; } key "type"; description "Configured Route target Entry"; leaf type { type Bgp-vrf-route-target; description "Type of RT"; } list as-or-four-byte-as { when "../type = 'as' or ../type = 'four-byte-as'" { description "../Type = AS or ../Type = FourByteAS"; } key "as-xx as as-index stitching-rt"; description "as or four byte as"; leaf as-xx { type uint32 { range "0"; } description "AS number"; } leaf as { type uint32 { range "1..4294967295"; } description "AS number"; } leaf as-index { type Route-target-as-index; description "AS number Index"; } leaf stitching-rt { type uint32 { range "0..1"; } description "Stitching RT"; } } // list as-or-four-byte-as list ipv4-address { when "../type = 'ipv4-address'" { description "../Type = IPV4Address"; } key "address address-index stitching-rt"; description "ipv4 address"; leaf address { type inet:ipv4-address-no-zone; description "IP address"; } leaf address-index { type Route-target-addr-index; description "IP address Index"; } leaf stitching-rt { type uint32 { range "0..1"; } description "Stitching RT"; } } // list ipv4-address } // list route-target } // container route-targets } // grouping ROUTE-TARGET-TABLE grouping REMOTE-AS { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container remote-as { description "Set remote AS"; leaf as-xx { type dt1:Bgp-as-range; description "xx of AS number xx.yy"; } leaf as-yy { type dt1:Bgp-as-range; description "yy of AS number xx.yy"; } } // container remote-as } // grouping REMOTE-AS grouping ADDITIONAL-PATHS-SEND { description "Common node of global-af, vrf-global-af"; leaf additional-paths-send { type dt1:Bgp-af-additional-paths-cfg; description "Advertise additional paths Send capability"; } } // grouping ADDITIONAL-PATHS-SEND grouping UPDATE-IN-FILTERING { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container update-in-filtering { description "Inbound update filtering"; container update-in-filtering-message-buffers { presence "Indicates a update-in-filtering-message-buffers node is configured."; description "Message buffers to store filtered updates"; leaf number-of-buffers { type uint32 { range "0..25"; } mandatory true; description "Number of message buffers"; } leaf non-circular-buffer { type boolean; mandatory true; description "TRUE to configure non-circular buffer"; } } // container update-in-filtering-message-buffers leaf enable { type empty; description "Configure inbound update filtering"; } leaf update-in-filtering-attribute-filter-group { type string; description "Attribute-filter group name for update filtering"; } leaf update-in-filtering-syslog-disable { type empty; description "Disable inbound update filtering syslog messages"; } } // container update-in-filtering } // grouping UPDATE-IN-FILTERING grouping OPTIMAL-ROUTE-REFLECTION-GROUP-TABLE { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-groupCommon node of global-af, vrf-global-af"; container optimal-route-reflection-groups { description "Table of multiple ORR Groups"; list optimal-route-reflection-group { key "group-name"; description "Optimal Route Reffelction group. Each such group is equivalent to an IGP area"; leaf group-name { type xr:Cisco-ios-xr-string; description "Name of the ORR group"; } leaf primary-root-address { type inet:ip-address-no-zone; description "Primary Root for the ORR group"; } leaf secondary-root-address { type inet:ip-address-no-zone; description "Secondary Root for the ORR group"; } leaf tertiary-root-address { type inet:ip-address-no-zone; description "Tertiary Root for the ORR group"; } } // list optimal-route-reflection-group } // container optimal-route-reflection-groups } // grouping OPTIMAL-ROUTE-REFLECTION-GROUP-TABLE grouping SHUTDOWN { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf shutdown { type boolean; description "TRUE to shutdown this entity, FALSE to prevent this entity from being shutdown even if the parent is."; } } // grouping SHUTDOWN grouping BMP-ACTIVATE-TABLE { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container bmp-activates { description "Enable BMP logging for this neighbor"; list bmp-activate { key "server-id"; description "Enable BMP logging for this particular server"; leaf server-id { type uint32 { range "1..8"; } description "BMP Server ID"; } } // list bmp-activate } // container bmp-activates } // grouping BMP-ACTIVATE-TABLE grouping SLOW-PEER { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container slow-peer { description "Slow peer detection and update group splitting"; leaf detection { when "../static = 'true' or ../static = 'false'" { description "../Static = 'true' or ../Static = false"; } type boolean; description "Detection enable or disable"; } leaf static { type boolean; description "Static or dynamic split"; } leaf dynamic-type { when "../static = 'false'" { description "../Static = false"; } type Bgp-upd-dynamic; description "Dynamic or Permanent"; } } // container slow-peer } // grouping SLOW-PEER grouping ADVERTISE-VRF-IMP-DISABLE-V4 { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container advertise-vrf-imp-disable-v4 { description "Disable Advertise Of VRF ReImported Routes"; leaf af-name { type dt1:Bgp-address-family; description "Address family"; } leaf adv-option { type Bgp-reorg-opt; description "Advertise option"; } leaf rt-type { type Bgp-adv-rt; description "RT type"; } } // container advertise-vrf-imp-disable-v4 } // grouping ADVERTISE-VRF-IMP-DISABLE-V4 grouping ADVERTISE-VRF-IMP-DISABLE-V6 { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container advertise-vrf-imp-disable-v6 { description "Disable Advertise Of VRF ReImported Routes"; leaf af-name { type dt1:Bgp-address-family; description "Address family"; } leaf adv-option { type Bgp-reorg-opt; description "Advertise option"; } leaf rt-type { type Bgp-adv-rt; description "RT type"; } } // container advertise-vrf-imp-disable-v6 } // grouping ADVERTISE-VRF-IMP-DISABLE-V6 grouping SITE-OF-ORIGIN { description "Common node of neighbor-group-af, vrf-neighbor-af , af-group-af"; container site-of-origin { description "Site-of-Origin extended community associated with the neighbor"; leaf type { type Bgp-site-of-origin; description "Type of Extended community"; } leaf as-xx { when "../type = 'as' or ../type = 'four-byte-as'" { description "../Type = AS or ../Type = FourByteAS"; } type dt1:Bgp-as-range; description "AS number"; } leaf as { when "../type = 'as' or ../type = 'four-byte-as'" { description "../Type = AS or ../Type = FourByteAS"; } type dt1:Bgp-as-range; description "AS number"; } leaf as-index { when "../type = 'as' or ../type = 'four-byte-as'" { description "../Type = AS or ../Type = FourByteAS"; } type dt1:Bgp-extcomm-asn-index; description "AS number Index"; } leaf address { when "../type = 'ipv4-address'" { description "../Type = IPV4Address"; } type inet:ipv4-address-no-zone; description "IP address"; } leaf address-index { when "../type = 'ipv4-address'" { description "../Type = IPV4Address"; } type dt1:Bgp-extcomm-v4-addr-index; description "IP address Index"; } } // container site-of-origin } // grouping SITE-OF-ORIGIN grouping ROUTE-POLICY-OUT { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf route-policy-out { type string; description "Route policy name to apply to outbound routes"; } } // grouping ROUTE-POLICY-OUT grouping SEGMENT-ROUTING { description "Common node of global-af, vrf-global-af"; container segment-routing { description "Segment-routing Configurations"; container srv6 { description "SRv6 Configurations"; leaf enable { type empty; description "Enable SRv6 configuration submode"; } leaf srv6sid-allocation-mode { type string; description "SID allocation mode: per-ce Set per CE SID mode,per-vrf Set per VRF SID mode"; } leaf locator-name { type string; description "Configure Locator name for SID allocation"; } } // container srv6 } // container segment-routing } // grouping SEGMENT-ROUTING grouping ADVERTISE-V4 { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container advertise-v4 { description "Advertise Translated Routes to the peer"; leaf af-name { type dt1:Bgp-address-family; description "Address family"; } leaf reorg-option { type Bgp-reorg-opt; description "Reorigination option"; } leaf rt-type { type Bgp-adv-rt; description "RT type"; } } // container advertise-v4 } // grouping ADVERTISE-V4 grouping ADVERTISE-V6 { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container advertise-v6 { description "Advertise Translated Routes to the peer"; leaf af-name { type dt1:Bgp-address-family; description "Address family"; } leaf reorg-option { type Bgp-reorg-opt; description "Reorigination option"; } leaf rt-type { type Bgp-adv-rt; description "RT type"; } } // container advertise-v6 } // grouping ADVERTISE-V6 grouping NEXT-HOP-VAL-SRTE { description "Common node of global, vrf-global"; leaf next-hop-val-srte { type empty; description "Enable BGP next-hop SR Policy reachability validation for Extcom color paths"; } } // grouping NEXT-HOP-VAL-SRTE grouping DEFAULT-ORIGINATE { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container default-originate { description "Originate default route to this neighbor"; leaf enable { type boolean; default "false"; description "FALSE to prevent default-originate from, being inherited from a parent. TRUE otherwise."; } leaf route-policy-name { type string; description "Route policy name to specify criteria to originate default."; } } // container default-originate } // grouping DEFAULT-ORIGINATE grouping OPTIMAL-ROUTE-REFLECTION-GROUP-APPLY-TABLE { description "Common node of global-af, vrf-global-af"; container optimal-route-reflection-group-applies { description "Table of multiple ORR groups"; list optimal-route-reflection-group-apply { key "group-name"; description "Optimal Route Reffelction group. Each such group is equivalent to an IGP area"; leaf group-name { type xr:Cisco-ios-xr-string; description "Name of the ORR group"; } } // list optimal-route-reflection-group-apply } // container optimal-route-reflection-group-applies } // grouping OPTIMAL-ROUTE-REFLECTION-GROUP-APPLY-TABLE grouping IDLE-WATCH-TIME { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf idle-watch-time { type uint32 { range "30..1800"; } units "second"; description "Time to wait for deleteing IDLE state Dynamic peer"; } } // grouping IDLE-WATCH-TIME grouping TIMERS { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container timers { description "BGP per neighbor timers."; leaf keepalive-interval { type uint32 { range "0..65535"; } default "60"; description "Keepalive interval"; } leaf hold-time { type uint32 { range "0..65535"; } default "180"; description "Hold time. Specify 0 to disable keepalives/hold time"; } leaf min-accept-hold-time { type uint32 { range "0..65535"; } default "3"; description "Minimum acceptable hold time. Specify 0 to disable keepalives/hold time"; } } // container timers } // grouping TIMERS grouping NEXT-HOP-MPLS-FWD-IBGP { description "Common node of global, vrf-global"; leaf next-hop-mpls-fwd-ibgp { type empty; description "Enable mpls forwarding path for ibgp learnt nexthops"; } } // grouping NEXT-HOP-MPLS-FWD-IBGP grouping DISABLE-FAST-EXTERNAL-FALLOVER { description "Common node of global, vrf-global"; leaf disable-fast-external-fallover { type empty; description "Disable immediate reset session if a link to a directly connected external peer goes down"; } } // grouping DISABLE-FAST-EXTERNAL-FALLOVER grouping SEND-COMMUNITY-EBGP { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf send-community-ebgp { type boolean; description "TRUE to send communities to the external neighbor/neighbor-group/af-group. FALSE not to send and to prevent inheritance from a parent"; } } // grouping SEND-COMMUNITY-EBGP grouping ADDITIONAL-PATHS-RECEIVE-CAPABILITY { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf additional-paths-receive-capability { type dt1:Bgp-nbr-cap-additional-paths-cfg; description "Advertise additional paths Receive capability"; } } // grouping ADDITIONAL-PATHS-RECEIVE-CAPABILITY grouping SEND-EXT-COMMUNITY-EBGP { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf send-ext-community-ebgp { type boolean; description "TRUE to send extended communities to the external neighbor/neighbor-group/af-group. FALSE not to send and to prevent inheritance from a parent"; } } // grouping SEND-EXT-COMMUNITY-EBGP grouping AF-GROUP { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af"; leaf af-group { type string; description "Inherit configuration for this address-family from an AF-group"; } } // grouping AF-GROUP grouping NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM-IPV6 { description "Common node of global-af, vrf-global-af"; leaf next-hop-resolution-prefix-length-minimum-ipv6 { type uint32 { range "0..128"; } default "0"; description "Minimum prefix-length for nexthop resolution"; } } // grouping NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM-IPV6 grouping ROUTE-POLICY-IN { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf route-policy-in { type string; description "Route policy name to apply to inbound routes"; } } // grouping ROUTE-POLICY-IN grouping LABEL-MODE { description "Common node of global-af, vrf-global-af"; container label-mode { presence "enable label-mode"; description "BGP 6PE/MPLS-VPN label allocation mode"; leaf label-allocation-mode { type string; description "Label allocation mode: per-ce Set per CE label mode, per-vrf Set per VRF label mode, per-prefix Set per Prefix label mode (for MPLS-VPN only)"; } leaf route-policy-name { type string; description "Label mode route policy name"; } } // container label-mode } // grouping LABEL-MODE grouping APP-ROUTE-TABLE { description "Common node of global-af, vrf-global-af"; container application-routes { description "Redistribute information for Application routes."; list application-route { key "instance-name"; description "Redistribute application routes"; leaf instance-name { type xr:Cisco-ios-xr-string; description "OnePK application name"; } leaf default-metric { type Bgp-default-metric-range; description "Default metric"; } leaf route-policy-name { type string; description "Route policy name"; } leaf multipath { type boolean; description "Specify if Multipath, default is FALSE"; } } // list application-route } // container application-routes } // grouping APP-ROUTE-TABLE grouping NEXT-HOP-VAL-DISABLE { description "Common node of global, vrf-global"; leaf next-hop-val-disable { type empty; description "Disable BGP next-hop RIB reachability validation for Extcomm color paths"; } } // grouping NEXT-HOP-VAL-DISABLE grouping DEFAULT-INFO-ORIGINATE { description "Common node of global, vrf-global"; leaf default-info-originate { type empty; description "Control distribution of default information"; } } // grouping DEFAULT-INFO-ORIGINATE grouping ENFORCE-FIRST-AS { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf enforce-first-as { type boolean; description "TRUE to enforce first AS; FALSE to not enforce first AS."; } } // grouping ENFORCE-FIRST-AS grouping SOFT-RECONFIGURATION { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container soft-reconfiguration { description "Enable/disable inbound soft reconfiguration for this neighbor/neighbor-group/af-group"; leaf inbound-soft { type boolean; default "false"; description "FALSE to prohibit inbound soft reconfiguration. TRUE otherwise."; } leaf soft-always { type boolean; default "false"; description "TRUE to always use soft reconfig, even if route refresh is supported. FALSE otherwise."; } leaf rpki-options { type Bgp-rpki-soft-reconf-cfg; default "rpki-default-option"; description "Rpki tested ordropped paths should be stored"; } } // container soft-reconfiguration } // grouping SOFT-RECONFIGURATION grouping NEIGHBOR-GRACEFUL-RESTART { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf neighbor-graceful-restart { type Bgp-nbrgr; description "TRUE to Enable graceful restart supportfor neighbor. FALSE to disable graceful restart support for neighbor."; } } // grouping NEIGHBOR-GRACEFUL-RESTART grouping ADVERTISE-DEF-IMP-DISABLE-V4 { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container advertise-def-imp-disable-v4 { description "Disable Advertise Of Default VRF Imported Routes"; leaf af-name { type dt1:Bgp-address-family; description "Address family"; } leaf adv-option { type Bgp-reorg-opt; description "Advertise option"; } leaf rt-type { type Bgp-adv-rt; description "RT type"; } } // container advertise-def-imp-disable-v4 } // grouping ADVERTISE-DEF-IMP-DISABLE-V4 grouping ADVERTISE-DEF-IMP-DISABLE-V6 { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container advertise-def-imp-disable-v6 { description "Disable Advertise Of Default VRF Imported Routes"; leaf af-name { type dt1:Bgp-address-family; description "Address family"; } leaf adv-option { type Bgp-reorg-opt; description "Advertise option"; } leaf rt-type { type Bgp-adv-rt; description "RT type"; } } // container advertise-def-imp-disable-v6 } // grouping ADVERTISE-DEF-IMP-DISABLE-V6 grouping LOCAL-ADDRESS { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container local-address { description "Local ip address"; leaf local-address-disable { type boolean; description "TRUE to prevent this entity from having a local address if the parent has one.FALSE to specify local ip address"; } leaf local-ip-address { when "../local-address-disable = 'false'" { description "../LocalAddressDisable = false"; } type inet:ip-address-no-zone; description "Local ip address for neighbor"; } } // container local-address } // grouping LOCAL-ADDRESS grouping EVENT-PREFIX-ROUTE-POLICY { description "Common node of global-af, vrf-global-af"; leaf event-prefix-route-policy { type string; description "Route Policy to mark prefixes to be traced"; } } // grouping EVENT-PREFIX-ROUTE-POLICY grouping AS-OVERRIDE { description "Common node of global-af, vrf-global-afCommon node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf as-override { type boolean; default "true"; description "TRUE to override matching AS-number while sending update. FALSE to prevent as-override from being inherited from the parent"; } } // grouping AS-OVERRIDE grouping IGNORE-CONNECTED-CHECK-EBGP { description "Common node of global-af, vrf-global-afCommon node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-afCommon node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf ignore-connected-check-ebgp { type boolean; description "TRUE to disable the connected nexthop check for this peer.FALSE to enable the connected nexthop check for this peer."; } } // grouping IGNORE-CONNECTED-CHECK-EBGP grouping REMOTE-AS-LIST { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf remote-as-list { type string; description "Remote-as-list group name"; } } // grouping REMOTE-AS-LIST grouping SEND-MULTICAST-ATTR { description "Common node of neighbor-group-af, neighbor-af, af-group-af"; leaf send-multicast-attr { type Bgp-send-mcast-attr-cfg; description "Config send multicast attribute for this neighbor"; } } // grouping SEND-MULTICAST-ATTR grouping ENCAPSULATION-TYPE { description "Common node of neighbor-group-af, neighbor-af, af-group-afCommon node of neighbor-group-af, neighbor-af, af-group-af"; leaf encapsulation-type { type Bgp-af-encapsulation; description "Encapsulation type for this neighbor"; } } // grouping ENCAPSULATION-TYPE grouping LOCAL-ADDRESS-SUB-NET { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container local-address-sub-net { description "Local Address subnet of routing updates"; leaf local-addresss-subnet { type inet:ip-address-no-zone; description "local address subnet ip address "; } leaf prefix-len { type uint32 { range "0..128"; } description "prefix length"; } } // container local-address-sub-net } // grouping LOCAL-ADDRESS-SUB-NET grouping ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V4 { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container advertise-bridge-domain-imp-disable-v4 { description "Disable Advertise Of VRF EVPN Extranet Imported Routes"; leaf af-name { type dt1:Bgp-address-family; must "../adv-option and ../rt-type"; description "Address family"; } leaf adv-option { type Bgp-reorg-opt; must "../af-name and ../rt-type"; description "Advertise option"; } leaf rt-type { type Bgp-adv-rt; must "../af-name and ../adv-option"; description "RT type"; } } // container advertise-bridge-domain-imp-disable-v4 } // grouping ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V4 grouping ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V6 { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container advertise-bridge-domain-imp-disable-v6 { description "Disable Advertise Of VRF EVPN Extranet Imported Routes"; leaf af-name { type dt1:Bgp-address-family; must "../adv-option and ../rt-type"; description "Address family"; } leaf adv-option { type Bgp-reorg-opt; must "../af-name and ../rt-type"; description "Advertise option"; } leaf rt-type { type Bgp-adv-rt; must "../af-name and ../adv-option"; description "RT type"; } } // container advertise-bridge-domain-imp-disable-v6 } // grouping ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V6 grouping ADVERTISE-PERMANENT-NETWORK { description "Common node of neighbor-group-af, neighbor-af, af-group-af"; leaf advertise-permanent-network { type empty; description "Advertise Permanent Networks to the peer"; } } // grouping ADVERTISE-PERMANENT-NETWORK grouping BEST-PATH-COST-COMMUNITY { description "Common node of global, vrf-global"; leaf best-path-cost-community { type empty; description "Change default route selection criteria to ignore cost community comparison"; } } // grouping BEST-PATH-COST-COMMUNITY grouping RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf rpki-bestpath-origin-as-allow-invalid { type empty; description "RPKI bestpath origin-AS allow invalid"; } } // grouping RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID grouping BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-afCommon node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf rpki-bestpath-origin-as-allow-invalid { type empty; description "RPKI bestpath origin-AS allow invalid"; } } // grouping BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID grouping BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID-MP { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-afCommon node of neighbor-group, neighbor, vrf-neighbor, session-groupCommon node of global-af, vrf-global-af"; leaf rpki-bestpath-origin-as-allow-invalid { type empty; description "RPKI bestpath origin-AS allow invalid"; } } // grouping BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID-MP grouping NEIGHBOR-GRACEFUL-RESTART-TIME { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf neighbor-graceful-restart-time { type uint32 { range "1..4095"; } units "second"; default "120"; description "Restart time advertised to neighbor"; } } // grouping NEIGHBOR-GRACEFUL-RESTART-TIME grouping TOS { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container tos { description "TOS (Type Of Service)"; leaf type { type dt1:Bgp-tos; description "Set type of service"; } leaf value { type dt1:Bgp-precedence-dscp; description "TOS value to set"; } } // container tos } // grouping TOS grouping NEIGHBOR-CLUSTER-ID { description "Common node of neighbor-group, neighbor, session-group"; container neighbor-cluster-id { description "Neighbor Cluster-id"; leaf cluster-id-number { type uint32 { range "1..4294967295"; } description "Route-Reflector Cluster ID as 32 bit quantity"; } leaf cluster-id-address { type inet:ipv4-address-no-zone; description "Route-Reflector Cluster ID in IPV4 address format"; } } // container neighbor-cluster-id } // grouping NEIGHBOR-CLUSTER-ID grouping ACTIVATE { description "Common node of neighbor-af, vrf-neighbor-af, neighbor-group-af"; leaf activate { type empty; description "Activate an address family for this neighbor. Deletion of this object causes deletion of all the objects under NeighborAF/VRFNeighborAF/NeighborGroupAF associated with this object."; } } // grouping ACTIVATE grouping NEXT-HOP-SELF { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf next-hop-self { type boolean; description "Disable the next hop calculation and insert your own address in the nexthop field of advertised routes you learned from the neighbor."; } } // grouping NEXT-HOP-SELF grouping ALLOW-AS-IN { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf allow-as-in { type uint32 { range "1..10"; } default "3"; description "Allow as-path with my AS present in it"; } } // grouping ALLOW-AS-IN grouping ADVERTISE-LOCAL-V4 { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container advertise-local-v4 { description "Advertise Of Local Routes to the peer with different RT"; leaf af-name { type dt1:Bgp-address-family; description "Address family"; } leaf reorg-option { type Bgp-reorg-opt; description "Reorigination option"; } leaf rt-type { type Bgp-adv-rt; description "RT type"; } } // container advertise-local-v4 } // grouping ADVERTISE-LOCAL-V4 grouping ADVERTISE-LOCAL-V6 { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container advertise-local-v6 { description "Advertise Of Local Routes to the peer with different RT"; leaf af-name { type dt1:Bgp-address-family; description "Address family"; } leaf reorg-option { type Bgp-reorg-opt; description "Reorigination option"; } leaf rt-type { type Bgp-adv-rt; description "RT type"; } } // container advertise-local-v6 } // grouping ADVERTISE-LOCAL-V6 grouping BEST-EXTERNAL { description "Common node of global-af, vrf-global-af"; container best-external { description "Enable Bestexternal config"; leaf enable { type boolean; description "TRUE to enable BE FALSE to disable BE inheritance from a parent"; } leaf labeled-unicast { type boolean; description "Limit Best-External to Labeled-Unicast"; } } // container best-external } // grouping BEST-EXTERNAL grouping ATTRIBUTE-DOWNLOAD { description "Common node of global-af, vrf-global-af"; leaf attribute-download { type empty; description "Attribute download configuration"; } } // grouping ATTRIBUTE-DOWNLOAD grouping AO-KEYCHAIN { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container ao-keychain { description "Set or disable AO based authentication"; leaf ao-keychain-disable { type boolean; description "TRUE to prevent this entity from having AO keychain based authentication even if the parent has one.FALSE to enable AO keychain based authentication"; } leaf ao-keychain-name { when "../ao-keychain-disable = 'false'" { description "../AOKeychainDisable = false"; } type string; description "Name of the AO keychain associated with this neighbor"; } leaf ao-include-tcp-options { when "../ao-keychain-disable = 'false'" { description "../AOKeychainDisable = false"; } type boolean; description "Include TCP options header with AO"; } leaf ao-accept-mismatch-connection { when "../ao-keychain-disable = 'false'" { description "../AOKeychainDisable = false"; } type boolean; description "Accept new connections even though AO mismatched"; } } // container ao-keychain } // grouping AO-KEYCHAIN grouping BEST-PATH-SR-POLICY-ONLY-PATH { description "Common node of global, vrf-global"; leaf best-path-sr-policy-only-path { type empty; description "Consider only paths over SR Policy for bestpath selection"; } } // grouping BEST-PATH-SR-POLICY-ONLY-PATH grouping ADDITIONAL-PATHS-SELECTION { description "Common node of global-af, vrf-global-af"; container additional-paths-selection { description "Configure additional paths selection"; leaf selection { type dt1:Bgp-af-additional-paths-cfg; description "Enable/disable selection "; } leaf route-policy-name { type string; description "Route policy for selection"; } } // container additional-paths-selection } // grouping ADDITIONAL-PATHS-SELECTION grouping NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-CAPABLE { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf neighbor-af-long-lived-graceful-restart-capable { type boolean; default "false"; description "TRUE to treat neighbor as Long-lived Graceful-restart capable. FALSE to rely on capability negotiation."; } } // grouping NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-CAPABLE grouping BEST-PATH-AS-MULTIPATH-RELAX { description "Common node of global, vrf-global"; leaf best-path-as-multipath-relax { type empty; description "Change default multi-route selection criteria to relax as-path checking - only require same aspath length"; } } // grouping BEST-PATH-AS-MULTIPATH-RELAX grouping UNSAFE-EBGP-POLICY { description "Common node of global, vrf-global"; leaf unsafe-ebgp-policy { type empty; description "If eBGP neighbor is configured without a route-policy,the routes from that neighbor are not accepted by default.This knob overrides the default behavior. When configured,routes from the eBGP neighbors with no policy are accepted."; } } // grouping UNSAFE-EBGP-POLICY grouping GLOBAL-TIMERS { description "Common node of global, vrf-global"; container global-timers { description "Adjust routing timers."; leaf keepalive { type uint32 { range "0..65535"; } units "second"; default "60"; description "Keepalive interval (seconds)"; } leaf hold-time { type uint32 { range "0..65535"; } units "second"; default "180"; description "Hold time (seconds). Specify 0 to disable keepalives/hold time"; } leaf min-accept-hold-time { type uint32 { range "0..65535"; } units "second"; default "3"; description "Minimum acceptable hold time (seconds). Specify 0 to disable keepalives/hold time"; } } // container global-timers } // grouping GLOBAL-TIMERS grouping NEIGHBOR-GROUP-ADD-MEMBER { description "Common node of neighbor, vrf-neighbor"; leaf neighbor-group-add-member { type string; description "Inherit configuration from a neighbor-group"; } } // grouping NEIGHBOR-GROUP-ADD-MEMBER grouping MOBILE-ROUTES { description "Common node of global-af, vrf-global-af"; container mobile-routes { presence "enable mobile-routes"; description "Redistribute mobile routes"; leaf default-metric { type Bgp-default-metric-range; description "Default metric"; } leaf route-policy-name { type string; description "Route policy name"; } leaf multipath { type boolean; description "Specify if Multipath, default is FALSE"; } } // container mobile-routes } // grouping MOBILE-ROUTES grouping LOCAL-PREFERENCE { description "Common node of global, vrf-global"; leaf local-preference { type uint32 { range "0..4294967295"; } default "100"; description "Configure default local preference"; } } // grouping LOCAL-PREFERENCE grouping CREATE { description "Common node of neighbor-group, session-group"; leaf create { type empty; description "Create this group. Deletion of this object causes deletion of all the objects under NeighborGroup/SessionGroup associated with this object."; } } // grouping CREATE grouping CLUSTER-ID-ALLOW-EQUAL { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf cluster-id-allow-equal { type boolean; description "TRUE to disable cluster-id check for first id in the cluster-id-list. FALSE to enable check for all cluster-ids in the list."; } } // grouping CLUSTER-ID-ALLOW-EQUAL grouping EBGP-SEND-DMZ-ENABLE-MODES { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf ebgp-send-dmz-enable-modes { type Bgp-ebgp-send-dmz-enable-mode; description "Default mode, Cumulative mode or Disable to prevent inheritance from a parent"; } } // grouping EBGP-SEND-DMZ-ENABLE-MODES grouping SEND-SOCKET-BUFFER-SIZES { description "Common node of global, vrf-global"; container send-socket-buffer-sizes { description "set socket parameters"; leaf socket-send-size { type uint32 { range "4096..131072"; } units "byte"; default "24576"; description "Send socket buffer size in bytes"; } leaf bgp-send-size { type uint32 { range "4096..131072"; } units "byte"; default "4096"; description "BGP Write buffer size in bytes"; } } // container send-socket-buffer-sizes } // grouping SEND-SOCKET-BUFFER-SIZES grouping RECEIVE-SOCKET-BUFFER-SIZES { description "Common node of global, vrf-globalCommon node of global, vrf-global"; container receive-socket-buffer-sizes { description "Set socket and BGP receive buffer sizes"; leaf socket-receive-size { type uint32 { range "512..131072"; } units "byte"; default "32768"; description "Receive socket buffer size in bytes"; } leaf bgp-receive-size { type uint32 { range "512..131072"; } units "byte"; default "4096"; description "BGP Read buffer size in bytes"; } } // container receive-socket-buffer-sizes } // grouping RECEIVE-SOCKET-BUFFER-SIZES grouping SLOW-PEER-DETECTION-DISABLE { description "Common node of global, vrf-global"; leaf slow-peer-detection-disable { type empty; description "Disable slow peer detection."; } } // grouping SLOW-PEER-DETECTION-DISABLE grouping BFD-ENABLE-MODES { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf bfd-enable-modes { type Bgp-bfd-enable-mode; description "Strict mode, Default mode or Disable to prevent inheritance from a parent"; } } // grouping BFD-ENABLE-MODES grouping RESET-WEIGHT-ON-IMPORT { description "Common node of global-af, vrf-global-af"; leaf reset-weight-on-import { type boolean; description "TRUE to reset weight on import. FALSE to not reset and to prevent inheritance from a parent"; } } // grouping RESET-WEIGHT-ON-IMPORT grouping AGGREGATE-ADDRESS-TABLE { description "Common node of global-af, vrf-global-af"; container aggregate-addresses { description "Configure BGP aggregate entries"; list aggregate-address { key "aggregate-addr aggregate-prefix"; description "Aggregate address configuration"; leaf aggregate-addr { type inet:ip-address; description "Aggregate in prefix/length format (address part)"; } leaf aggregate-prefix { type uint16 { range "0..128"; } description "Aggregate in prefix/length format (prefix part)"; } leaf generate-set-info { type boolean; description "TRUE to generate AS set path information, FALSE otherwise"; } leaf generate-confederation-set-info { type boolean; description "TRUE to generate AS confederation set path information, FALSE otherwise"; } leaf summary-only { type boolean; description "TRUE to filter more specific routes from updates, FALSEotherwise"; } leaf route-policy-name { type string; description "Route policy on which to condition advertisement, suppression, and attributes"; } } // list aggregate-address } // container aggregate-addresses } // grouping AGGREGATE-ADDRESS-TABLE grouping EBGP-MULTIHOP { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container ebgp-multihop { presence "Contains mandatory nodes that used to set default values"; description "Allow EBGP neighbors not on directly connected networks"; leaf max-hop-count { type uint32 { range "1..255"; } mandatory true; description "Maximum hop count"; } leaf mpls-deactivation { type boolean; mandatory true; description "TRUE to not enable MPLS and NULL rewrite."; } } // container ebgp-multihop } // grouping EBGP-MULTIHOP grouping NEIGHBOR-GRACEFUL-RESTART-STALEPATH-TIME { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf neighbor-graceful-restart-stalepath-time { type uint32 { range "1..4095"; } units "second"; default "360"; description "Maximum time to wait for restart of GR capable peer"; } } // grouping NEIGHBOR-GRACEFUL-RESTART-STALEPATH-TIME grouping NEXT-HOP-RES-ALLOW-DEFAULT { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-groupCommon node of global, vrf-global"; leaf next-hop-res-allow-default { type empty; description "Enable path resolution for nexthops using default route"; } } // grouping NEXT-HOP-RES-ALLOW-DEFAULT grouping BEST-PATH-AIGP-IGNORE { description "Common node of global, vrf-global"; leaf best-path-aigp-ignore { type empty; description "Change default route selection criteria to ignore AIGP unless both paths whichare compared have AIGP attribute"; } } // grouping BEST-PATH-AIGP-IGNORE grouping SESSION-GROUP-ADD-MEMBER { description "Common node of neighbor-group, neighbor, vrf-neighbor"; leaf session-group-add-member { type string; description "Inherit address-family independent config from a session-group"; } } // grouping SESSION-GROUP-ADD-MEMBER grouping BFD-MULTIPLIER { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf bfd-multiplier { type uint32 { range "2..16"; } description "Detection multiplier for BFD sessions created by BGP"; } } // grouping BFD-MULTIPLIER grouping FLOWSPEC-VALIDATION { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf flowspec-validation { type Bgp-flowspec-validation-cfg; description "Config Flowspec validation for this neighbor"; } } // grouping FLOWSPEC-VALIDATION grouping TTL-SECURITY { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf ttl-security { type boolean; description "TRUE to enable BGP TTL Security. FALSE to not enable it and to prevent inheritance from a parent"; } } // grouping TTL-SECURITY grouping BEST-PATH-MED-ALWAYS { description "Common node of global, vrf-global"; leaf best-path-med-always { type empty; description "Change default route selection criteria and allow comparing of MED from different neighbors"; } } // grouping BEST-PATH-MED-ALWAYS grouping MAX-PEERS { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf max-peers { type uint32 { range "1..4096"; } description "Set Maximum Peers in Dynamic Range"; } } // grouping MAX-PEERS grouping SEND-COMMUNITY-EBGP-GRACEFUL-SHUTDOWN { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf send-community-ebgp-graceful-shutdown { type boolean; description "TRUE to send communities to the external neighbor/neighbor-group/af-group. FALSE not to send and to prevent inheritance from a parent"; } } // grouping SEND-COMMUNITY-EBGP-GRACEFUL-SHUTDOWN grouping DISABLE-MSG-LOG { description "Common node of global, vrf-global"; leaf disable-msg-log { type empty; description "Disable inbound and outbound messagelogging for all neighbors under the vrf"; } } // grouping DISABLE-MSG-LOG grouping LOCAL-AS { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container local-as { description "Specify a local-as number"; leaf as-xx { type dt1:Bgp-as-range; must "../as-yy and not(../disable)"; description "xx of AS number xx.yy"; } leaf as-yy { type dt1:Bgp-as-range; must "../as-xx and not(../disable)"; description "yy of AS number xx.yy"; } leaf no-prepend { type empty; must "../as-xx and ../as-yy and not(../disable)"; description "Do not prepend Local AS to announcements from this neighbor"; } leaf disable { type empty; must "not(../as-xx or ../as-yy or ../no-prepend or ../replace-as or ../dual-as)"; description "Disable Local AS and prevent it from being inherited from a parent"; } leaf replace-as { type empty; must "../as-xx and ../as-yy and ../no-prepend and not(../disable)"; description "Prepend only Local AS to announcements from this neighbor"; } leaf dual-as { type empty; must "../as-xx and ../as-yy and ../no-prepend and ../replace-as and not(../disable)"; description "Dual-AS mode"; } } // container local-as } // grouping LOCAL-AS grouping LISP-ROUTES { description "Common node of global-af, vrf-global-af"; container lisp-routes { presence "enable lisp-routes"; description "Redistribute lisp routes"; leaf default-metric { type Bgp-default-metric-range; description "Default metric"; } leaf route-policy-name { type string; description "Route policy name"; } leaf multipath { type boolean; description "Specify if Multipath, default is FALSE"; } } // container lisp-routes } // grouping LISP-ROUTES grouping SRV6VERSION4 { description "Common node of neighbor-group-af, neighbor-af, af-group-af"; leaf srv6version4 { type boolean; description "TRUE to enable SRv6 version 4,FALSE to disable SRv6 version 4"; } } // grouping SRV6VERSION4 grouping ADDITIONAL-PATHS-SEND-CAPABILITY { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf additional-paths-send-capability { type dt1:Bgp-nbr-cap-additional-paths-cfg; description "Advertise additional paths Send capability"; } } // grouping ADDITIONAL-PATHS-SEND-CAPABILITY grouping BEST-PATH-IGP-METRIC-IGNORE { description "Common node of global, vrf-global"; leaf best-path-igp-metric-ignore { type empty; description "Change default route selection criteria to ignore IGP Metric "; } } // grouping BEST-PATH-IGP-METRIC-IGNORE grouping L2VPN-SIGNALLING { description "Common node of neighbor-group-af, neighbor-af, af-group-af"; leaf l2vpn-signalling { type Bgp-signal; description "Disable signalling type on the peer"; } } // grouping L2VPN-SIGNALLING grouping DAMPENING { description "Common node of global-af, vrf-global-af"; container dampening { presence "enable dampening"; description "Enable route-flap dampening"; leaf half-life { type uint32 { range "1..45"; } units "minute"; description "Half-life time for the penalty (minutes)."; } leaf reuse-threshold { type uint32 { range "1..20000"; } description "Value to start reusing a route."; } leaf suppress-threshold { type uint32 { range "1..20000"; } description "Value to start suppressing a route."; } leaf suppress-time { type uint32 { range "1..255"; } units "second"; description "Maximum duration to suppress a stable route (seconds)."; } leaf route-policy-name { type string; description "Route policy to specify criteria for dampening. This cannot be specified if any other parameters are specified."; } } // container dampening } // grouping DAMPENING grouping ADVERTISE-LOCAL-LABELED-ROUTE-SAFI-UNICAST { description "Common node of global-af, vrf-global-af"; leaf advertise-local-labeled-route-safi-unicast { type dt1:Bgp-advertise-local-labeled-route-cfg; description "Enable/disable advertisement of routes with local-label via Unicast SAFI"; } } // grouping ADVERTISE-LOCAL-LABELED-ROUTE-SAFI-UNICAST grouping SUBSCRIBER-ROUTES { description "Common node of global-af, vrf-global-af"; container subscriber-routes { presence "enable subscriber-routes"; description "Redistribute subscriber routes"; leaf default-metric { type Bgp-default-metric-range; description "Default metric"; } leaf route-policy-name { type string; description "Route policy name"; } leaf multipath { type boolean; description "Specify if Multipath, default is FALSE"; } } // container subscriber-routes } // grouping SUBSCRIBER-ROUTES grouping INTERNAL-VPN-CLIENT-IBGP-CE { description "Common node of neighbor-group, vrf-neighbor, session-group"; leaf internal-vpn-client-ibgp-ce { type boolean; description "TRUE to preserve the CE path attributes.FALSE to override CE path attributes."; } } // grouping INTERNAL-VPN-CLIENT-IBGP-CE grouping ACCEPT-ROUTE-LEGACY-RT { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf accept-route-legacy-rt { type boolean; description "TRUE to configure as a accept-route-legacy-RT. FALSE to prevent accept-route-legacy-RT from being inherited."; } } // grouping ACCEPT-ROUTE-LEGACY-RT grouping PERMANENT-NETWORK { description "Common node of global-af, vrf-global-af"; leaf permanent-network { type string; description "Route policy for permanent networks"; } } // grouping PERMANENT-NETWORK grouping ENABLE { description "Common node of global-af, vrf-global-af"; leaf enable { type empty; description "Enable the address family. Deletion of this object causes deletion of all the objects under GlobalAF/VRFGlobalAF associated with this object ."; } } // grouping ENABLE grouping EBGP-RECV-DMZ { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf ebgp-recv-dmz { type boolean; description "TRUE to receive DMZ link bandwidth from ebgp peer. FALSE to not receive from ebgp peer and to prevent inheritance from a parent"; } } // grouping EBGP-RECV-DMZ grouping ADVERTISEMENT-INTERVAL { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container advertisement-interval { presence "Indicates a advertisement-interval node is configured."; description "Minimum interval between sending BGP routing updates"; leaf minimum-interval { type uint32 { range "0..600"; } units "second"; mandatory true; description "Minimum advertisement interval time, secs part"; } leaf minimum-interval-msecs { type uint32 { range "0..999"; } units "millisecond"; description "Minimum advertisement interval time, msecs part"; } } // container advertisement-interval } // grouping ADVERTISEMENT-INTERVAL grouping RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP { description "Common node of global-af, vrf-global-af"; leaf rpki-origin-as-validity-signal-ibgp { type empty; description "RPKI origin-AS validity signal ibgp"; } } // grouping RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP grouping BGP-CFG-RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP { description "Common node of global-af, vrf-global-afCommon node of global, vrf-global"; leaf rpki-origin-as-validity-signal-ibgp { type empty; description "RPKI origin-AS validity signal ibgp"; } } // grouping BGP-CFG-RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP grouping IMPORT { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container import { description "Import Reorigination options for Routes from the peer"; leaf import-stitching { type boolean; description "TRUE to Import with Stitching RTs, FALSE to Import with normal RTs"; } leaf import-reoriginate { type boolean; description "TRUE to Reoriginate imported routes, FALSE to not Reoriginate imported routes - not supported"; } leaf import-reoriginate-stitching { type boolean; description "TRUE to Reoriginate imported routes with Stitching RTs, FALSE to Reoriginate imported routes with normal RTs"; } } // container import } // grouping IMPORT grouping ACCEPT-OWN { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf accept-own { type boolean; description "Handle self-originated routes with Accept-Own community. Valid for following neighbor address-families: VPNv4Unicast, VPNv6Unicast."; } } // grouping ACCEPT-OWN grouping ADDITIONAL-PATHS-RECEIVE { description "Common node of global-af, vrf-global-af"; leaf additional-paths-receive { type dt1:Bgp-af-additional-paths-cfg; description "Advertise additional paths Receive capability"; } } // grouping ADDITIONAL-PATHS-RECEIVE grouping MPLS-ACTIVATED-INTERFACE-TABLE { description "Common node of global, vrf-global"; container mpls-activated-interfaces { description "Configure list of MPLS activated interfaces"; list mpls-activated-interface { key "interface-name"; description "Configure a MPLS activated interface"; leaf interface-name { type xr:Interface-name; description "Interface Name"; } } // list mpls-activated-interface } // container mpls-activated-interfaces } // grouping MPLS-ACTIVATED-INTERFACE-TABLE grouping MULTIPATH { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf multipath { type empty; description "Allow paths from this neighbor to be eligible for selective multipath"; } } // grouping MULTIPATH grouping EIGRP-ROUTE-TABLE { description "Common node of global-af, vrf-global-af"; container eigrp-routes { description "Redistribute information for EIGRP routes."; list eigrp-route { key "instance-name"; description "Redistribute EIGRP routes"; leaf instance-name { type xr:Cisco-ios-xr-string; description "EIGRP router tag"; } leaf default-metric { type Bgp-default-metric-range; description "Default metric"; } leaf route-policy-name { type string; description "Route policy name"; } leaf redist-type { type xr:Hex-integer; description "Redistribution type: 01 for internal routes, 02 for external routes, Logical combinations permitted."; } leaf multipath { type boolean; description "Specify if Multipath, default is FALSE"; } } // list eigrp-route } // container eigrp-routes } // grouping EIGRP-ROUTE-TABLE grouping OPTIMAL-ROUTE-REFLECTION-GROUP { description "Common node of global-af, vrf-global-afCommon node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf optimal-route-reflection-group { type string; description "Name of the ORR group this neighbor is going to be part of"; } } // grouping OPTIMAL-ROUTE-REFLECTION-GROUP grouping ROUTE-REFLECTOR-CLIENT { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf route-reflector-client { type boolean; description "TRUE to configure as a route-reflector-client. FALSE to prevent route-reflector-client from being inherited."; } } // grouping ROUTE-REFLECTOR-CLIENT grouping ADVERTISE-LOCAL-LABELED-ROUTE { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf advertise-local-labeled-route { type dt1:Bgp-advertise-local-labeled-route-cfg; description "Enable/disable advertisement of routes with local-label"; } } // grouping ADVERTISE-LOCAL-LABELED-ROUTE grouping BEST-PATH-IGP-METRIC-SR-POLICY { description "Common node of global, vrf-global"; leaf best-path-igp-metric-sr-policy { type empty; description "Enable BGP next-hop metric inheritance from SR policy"; } } // grouping BEST-PATH-IGP-METRIC-SR-POLICY grouping SESSION-OPEN-MODE { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf session-open-mode { type Bgp-tcp-mode; default "either"; description "TCP mode to be used to establish BGP session"; } } // grouping SESSION-OPEN-MODE grouping RPKI-ORIGIN-AS-VALIDATION-ENABLE { description "Common node of global-af, vrf-global-af"; leaf rpki-origin-as-validation-enable { type empty; description "RPKI origin-AS validation enable"; } } // grouping RPKI-ORIGIN-AS-VALIDATION-ENABLE grouping UPDATE-OUT-ORIG-LOOP-CHK-DISABLE { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf update-out-orig-loop-chk-disable { type empty; description "Enable/disable Originator loop check for this neighbor-group/af-group"; } } // grouping UPDATE-OUT-ORIG-LOOP-CHK-DISABLE grouping STATIC-ROUTES { description "Common node of global-af, vrf-global-af"; container static-routes { presence "enable static-routes"; description "Redistribute static routes"; leaf default-metric { type Bgp-default-metric-range; description "Default metric"; } leaf route-policy-name { type string; description "Route policy name"; } leaf multipath { type boolean; description "Specify if Multipath, default is FALSE"; } } // container static-routes } // grouping STATIC-ROUTES grouping PASSWORD { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container password { description "Set or disable a password"; leaf password-disable { type boolean; description "TRUE to prevent this entity from having a password even if the parent has one. FALSEto specify a password"; } leaf password { when "../password-disable = 'false'" { description "../PasswordDisable = false"; } type xr:Proprietary-password; description "The neighbor password. Leave unspecified when disabling the password."; } } // container password } // grouping PASSWORD grouping NEXT-HOP-UNCHANGED-MULTIPATH { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-groupCommon node of neighbor-group-af, neighbor-af, af-group-af"; leaf next-hop-unchanged-multipath { type boolean; description "TRUE to disable overwriting of next hop for multipaths. FALSE to prevent next-hop-unchanged for multipaths."; } } // grouping NEXT-HOP-UNCHANGED-MULTIPATH grouping SUPPRESS-EXTENDED-NEXTHOP-ENCODING-CAPABILITY { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf suppress-extended-nexthop-encoding-capability { type boolean; description "TRUE to suppress Extended Nexthop encoding capability. FALSE to not suppress and to prevent inheritance from a parent"; } } // grouping SUPPRESS-EXTENDED-NEXTHOP-ENCODING-CAPABILITY grouping NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM { description "Common node of global-af, vrf-global-af"; leaf next-hop-resolution-prefix-length-minimum { type uint32 { range "0..128"; } default "0"; description "Minimum prefix-length for nexthop resolution"; } } // grouping NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM grouping BEST-PATH-AS-PATH-LENGTH { description "Common node of global, vrf-global"; leaf best-path-as-path-length { type empty; description "Change default route selection criteria to ignore AS path length"; } } // grouping BEST-PATH-AS-PATH-LENGTH grouping MSG-LOG-OUT { description "Common node of global, vrf-globalCommon node of neighbor-group, neighbor, vrf-neighbor, session-group"; container msg-log-out { description "Message log outbound"; leaf msg-buf-count { type uint32 { range "1..500"; } description "Outbound message log buffer size"; } leaf msg-log-disable { type boolean; description "Disable inbound message logging"; } leaf msg-log-inherit-disable { type boolean; description "TRUE, to prevent this entity from having a outbound message logging if parent has one"; } } // container msg-log-out } // grouping MSG-LOG-OUT grouping EPE-PEER-SET-IDENTITY-TABLE { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container epe-peer-set-identities { description "Assign this neighbor to following peer-sets, used for egress peer engineering"; list epe-peer-set-identity { key "set-identity"; description "Assign this neighbor to mentioned peer-set"; leaf set-identity { type uint32 { range "1..255"; } description "Identity of this EPE Peer-set"; } } // list epe-peer-set-identity } // container epe-peer-set-identities } // grouping EPE-PEER-SET-IDENTITY-TABLE grouping ENFORCE-MULTIPLE-LABELS { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf enforce-multiple-labels { type boolean; description "TRUE to enforce multiple labels support."; } } // grouping ENFORCE-MULTIPLE-LABELS grouping PREFIX-ORF-POLICY { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-afCommon node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf prefix-orf-policy { type string; description "Prefix ORF policy name for incoming updates"; } } // grouping PREFIX-ORF-POLICY grouping SOURCED-NETWORK-TABLE { description "Common node of global-af, vrf-global-af"; container sourced-networks { description "Specify a network to announce via BGP"; list sourced-network { key "network-addr network-prefix"; description "Sourced network configuration"; leaf network-addr { type inet:ip-address; description "Network in prefix/length format (address part)"; } leaf network-prefix { type uint16 { range "0..128"; } description "Network in prefix/length format (prefix part)"; } leaf backdoor { type boolean; description "Specify a BGP backdoor route, default is FALSE"; } leaf route-policy-name { type string; description "Route policy name"; } leaf multipath { type boolean; description "Specify if Multipath, default is FALSE"; } } // list sourced-network } // container sourced-networks } // grouping SOURCED-NETWORK-TABLE grouping REMOVE-PRIVATE-AS-ENTIRE-AS-PATH { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container remove-private-as-entire-as-path { presence "Indicates a remove-private-as-entire-as-path node is configured."; description "Remove private AS number from outbound updates"; leaf enable { type boolean; mandatory true; description "TRUE to remove private AS from outbound updates . FALSE to prevent remove-private-AS from being inherited."; } leaf internal { type boolean; description "TRUE if we need to remove private AS from internal neighbors only. False to disable this knob"; } leaf entire { type boolean; description "TRUE to remove private AS from outbound updates if all ASes in aspath areprivate. FALSE to prevent remove-private-ASfrom being inherited."; } } // container remove-private-as-entire-as-path } // grouping REMOVE-PRIVATE-AS-ENTIRE-AS-PATH grouping GRACEFUL-MAINTENANCE { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container graceful-maintenance { description "Graceful Maintenance mode"; container graceful-maintenance-local-preference { description "Set Local Preference to advertise routes with"; leaf gshut-loc-pref-disable { type boolean; description "TRUE, to prevent inheritance of Local Pref value from its parents.FALSE, otherwise"; } leaf local-preference { type uint32 { range "0..4294967295"; } description "Local Preference Value"; } } // container graceful-maintenance-local-preference container graceful-maintenance-as-prepends { description "Number of times to prepend local AS number to the AS path"; leaf gshut-prepends-disable { type boolean; description "TRUE, to prevent inheritance of AS Prepends value from its parents.FALSE, otherwise"; } leaf as-prepends { type uint32 { range "0..6"; } description "number of times AS prepends"; } } // container graceful-maintenance-as-prepends leaf enable { type empty; description "Enter Graceful Maintenance mode to configure parametrs"; } leaf graceful-maintenance-activate { type boolean; description "Initiate the graceful shutdown procedure"; } } // container graceful-maintenance } // grouping GRACEFUL-MAINTENANCE grouping NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-STALE-TIME { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container neighbor-af-long-lived-graceful-restart-stale-time { description "Maximum time to wait before purging long lived routes"; leaf stale-time-send { type uint32 { range "0..16777215"; } units "second"; default "0"; description "Max time (seconds)"; } leaf stale-time-accept { type uint32 { range "0..16777215"; } units "second"; default "0"; description "Max time (seconds)"; } } // container neighbor-af-long-lived-graceful-restart-stale-time } // grouping NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-STALE-TIME grouping BFD { description "Common node of global, vrf-global"; container bfd { description "BFD configuration"; leaf detection-multiplier { type uint32 { range "2..16"; } description "Detection multiplier for BFD sessions created by BGP"; } leaf interval { type uint32 { range "3..30000"; } units "millisecond"; description "Hello interval for BFD sessions created by BGP"; } } // container bfd } // grouping BFD grouping ALLOCATE-LABEL { description "Common node of global-af, vrf-global-af"; container allocate-label { presence "enable allocate-label"; description "Label allocation policy"; leaf all { type boolean; description "Whether all nets should be labeled, default is FALSE"; } leaf route-policy-name { type string; description "Route policy name"; } leaf un-labeled-path { type boolean; must "../all or ../route-policy-name"; description "Allocate label for unlabeled paths too"; } } // container allocate-label } // grouping ALLOCATE-LABEL grouping SEND-BUFFER-SIZE { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container send-buffer-size { description "Set socket send buffer size and BGP write buffer size"; leaf socket-send-size { type uint32 { range "4096..131072"; } units "byte"; default "24576"; description "Send socket buffer size in bytes"; } leaf bgp-send-size { type uint32 { range "4096..131072"; } units "byte"; default "4096"; description "BGP write buffer size in bytes"; } } // container send-buffer-size } // grouping SEND-BUFFER-SIZE grouping BEST-PATH-MED-MISSING { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-groupCommon node of global, vrf-global"; leaf best-path-med-missing { type empty; description "Treat missing MED as the least preferred one"; } } // grouping BEST-PATH-MED-MISSING grouping SUPPRESS-ALL-CAPABILITIES { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf suppress-all-capabilities { type boolean; description "TRUE to suppress all capabilities. FALSE to not suppress and to prevent inheritance from a parent"; } } // grouping SUPPRESS-ALL-CAPABILITIES grouping DEFAULT-WEIGHT { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-groupCommon node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf default-weight { type uint32 { range "0..65535"; } description "Set default weight for routes from this neighbor/neighbor-group/af-group"; } } // grouping DEFAULT-WEIGHT grouping SUPPRESS-FOUR-BYTE-AS-CAPABILITY { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf suppress-four-byte-as-capability { type boolean; description "TRUE to suppress BGP 4-byte-as capability. FALSE to not suppress it and to prevent inheritance from a parent"; } } // grouping SUPPRESS-FOUR-BYTE-AS-CAPABILITY grouping LABELED-UNICAST-EQUIVALENT-FOR-INBOUND-UPDATES { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf labeled-unicast-equivalent-for-inbound-updates { type boolean; description "TRUE to merge updates FALSE to not merge updates and to prevent inheritance from a parent"; } } // grouping LABELED-UNICAST-EQUIVALENT-FOR-INBOUND-UPDATES grouping ADVERTISE-LOCAL-L2VPN-EVPN { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container advertise-local-l2vpn-evpn { description "Advertise Of Local Routes to the peer with different RT"; leaf af-name { type dt1:Bgp-address-family; description "Address family"; } leaf reorg-option { type Bgp-reorg-opt; description "Reorigination option"; } leaf rt-type { type Bgp-adv-rt; description "RT type"; } } // container advertise-local-l2vpn-evpn } // grouping ADVERTISE-LOCAL-L2VPN-EVPN grouping EGRESS-PEER-ENGINEERING { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf egress-peer-engineering { type boolean; description "TRUE to enable egress peer engineering FALSE to disable egress peer engineering and to prevent inheritance from a parent"; } } // grouping EGRESS-PEER-ENGINEERING grouping BEST-PATH-CONFEDERATION-PATHS { description "Common node of global, vrf-global"; leaf best-path-confederation-paths { type empty; description "Change default route selection criteria and allow the comparing of MED among confederation paths"; } } // grouping BEST-PATH-CONFEDERATION-PATHS grouping MULTI-PATH-USE-CLUSTER-LIST-LENGTH { description "Common node of global, vrf-global"; leaf multi-path-use-cluster-list-length { type empty; description "Change default multipath selection criteria to consider Cluster-list length"; } } // grouping MULTI-PATH-USE-CLUSTER-LIST-LENGTH grouping DYNAMIC-MED-INTERVAL { description "Common node of global-af, vrf-global-af"; leaf dynamic-med-interval { type uint32 { range "0..10"; } units "minute"; default "10"; description "Update generation delay (in minutes) after a MED change"; } } // grouping DYNAMIC-MED-INTERVAL grouping REMOVE-PRIVATE-AS-ENTIRE-AS-PATH-INBOUND { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container remove-private-as-entire-as-path-inbound { presence "Indicates a remove-private-as-entire-as-path-inbound node is configured."; description "Remove private AS number from inbound updates"; leaf enable { type boolean; mandatory true; description "TRUE to remove private AS from inbound updates. FALSE to prevent remove-private-AS from being inherited."; } leaf entire { type boolean; description "TRUE to remove private AS from inbound updates if all ASes in aspath areprivate. FALSE to prevent remove-private-ASfrom being inherited."; } } // container remove-private-as-entire-as-path-inbound } // grouping REMOVE-PRIVATE-AS-ENTIRE-AS-PATH-INBOUND grouping RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY { description "Common node of global-af, vrf-global-af"; leaf rpki-bestpath-use-origin-as-validity { type empty; description "RPKI bestpath use origin-AS validity"; } } // grouping RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY grouping BGP-CFG-RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY { description "Common node of global-af, vrf-global-afCommon node of global, vrf-global"; leaf rpki-bestpath-use-origin-as-validity { type empty; description "RPKI bestpath use origin-AS validity"; } } // grouping BGP-CFG-RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY grouping CONNECTED-ROUTES { description "Common node of global-af, vrf-global-af"; container connected-routes { presence "enable connected-routes"; description "Redistribute connected routes"; leaf default-metric { type Bgp-default-metric-range; description "Default metric"; } leaf route-policy-name { type string; description "Route policy name"; } leaf multipath { type boolean; description "Specify if Multipath, default is FALSE"; } } // container connected-routes } // grouping CONNECTED-ROUTES grouping IGP-REDIST-INTERNAL { description "Common node of global, vrf-global"; leaf igp-redist-internal { type empty; description "Allow redistribution of iBGP into IGPs (dangerous)"; } } // grouping IGP-REDIST-INTERNAL grouping AIGP-SEND-MED { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf aigp-send-med { type Bgp-aigp-cfg; description "Enable/Disable sending AIGP in MED "; } } // grouping AIGP-SEND-MED grouping AIGP { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf aigp { type Bgp-aigp-cfg; description "Enable Accumulated IGP Metric for this neighbor."; } } // grouping AIGP grouping ADVERTISE-ORF { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf advertise-orf { type Bgp-orf; default "none"; description "Advertise ORF capability to the peer"; } } // grouping ADVERTISE-ORF grouping BFD-MINIMUM-INTERVAL { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf bfd-minimum-interval { type uint32 { range "3..30000"; } units "millisecond"; description "Hello interval for BFD sessions created by BGP"; } } // grouping BFD-MINIMUM-INTERVAL grouping AIGP-COST-COMMUNITY { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container aigp-cost-community { description "Send AIGP value in Cost Community. "; leaf enable { type boolean; description "TRUE to enable sending cost community, FALSE otherwise "; } leaf cost-community-id { when "../enable = 'true'" { description "../Enable = 'true'"; } type uint32 { range "0..255"; } description "Cost Community ID"; } leaf transitive { when "../enable = 'true'" { description "../Enable = 'true'"; } type boolean; description "True to send transitive cost community FALSE otherwise"; } leaf cost-community-poi-type { when "../enable = 'true'" { description "../Enable = 'true'"; } type Bgp-aigp-cfg-poi; description "Cost Community POI"; } } // container aigp-cost-community } // grouping AIGP-COST-COMMUNITY grouping DISABLE-AS-PATH-LOOP-CHECK { description "Common node of global-af, vrf-global-af"; leaf disable-as-path-loop-check { type empty; description "Disable outbound AS Path loop check"; } } // grouping DISABLE-AS-PATH-LOOP-CHECK grouping BEST-PATH-ROUTER-ID { description "Common node of global, vrf-global"; leaf best-path-router-id { type empty; description "Change default route selection criteria and compare router-id for identical EBGP paths"; } } // grouping BEST-PATH-ROUTER-ID grouping RIP-ROUTES { description "Common node of global-af, vrf-global-af"; container rip-routes { presence "enable rip-routes"; description "Redistribute RIP routes"; leaf default-metric { type Bgp-default-metric-range; description "Default metric"; } leaf route-policy-name { type string; description "Route policy name"; } leaf multipath { type boolean; description "Specify if Multipath, default is FALSE"; } } // container rip-routes } // grouping RIP-ROUTES grouping DESCRIPTION { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf description { type string; description "Up to 80 characters describing this neighbor"; } } // grouping DESCRIPTION grouping ADVERTISE-L2VPN-EVPN { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; container advertise-l2vpn-evpn { description "Advertise Translated Routes to the peer"; leaf af-name { type dt1:Bgp-address-family; description "Address family"; } leaf reorg-option { type Bgp-reorg-opt; description "Reorigination option"; } leaf rt-type { type Bgp-adv-rt; description "RT type"; } } // container advertise-l2vpn-evpn } // grouping ADVERTISE-L2VPN-EVPN grouping KEYCHAIN { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container keychain { description "Set or disable keychain based authentication"; leaf keychain-disable { type boolean; description "TRUE to prevent this entity from having a keychain based authentication even if the parent has one.FALSE to specify a keychain name"; } leaf keychain-name { when "../keychain-disable = 'false'" { description "../KeychainDisable = false"; } type string; description "Name of the keychain associated with neighbor"; } } // container keychain } // grouping KEYCHAIN grouping RECEIVE-BUFFER-SIZE { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container receive-buffer-size { description "Set socket receive buffer size and BGP read buffer size"; leaf socket-receive-size { type uint32 { range "512..131072"; } units "byte"; default "32768"; description "Receive socket buffer size in bytes"; } leaf bgp-receive-size { type uint32 { range "512..131072"; } units "byte"; default "4096"; description "BGP read buffer size in bytes"; } } // container receive-buffer-size } // grouping RECEIVE-BUFFER-SIZE grouping NEXT-HOP-UNCHANGED { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf next-hop-unchanged { type boolean; description "TRUE to disable overwriting of next hop before advertising to eBGP peers. FALSE to prevent next-hop-unchanged from being inherited."; } } // grouping NEXT-HOP-UNCHANGED grouping OSPF-ROUTE-TABLE { description "Common node of global-af, vrf-global-af"; container ospf-routes { description "Redistribute information for OSPF routes."; list ospf-route { key "instance-name"; description "Redistribute OSPF routes"; leaf instance-name { type xr:Cisco-ios-xr-string; description "OSPF router tag"; } leaf default-metric { type Bgp-default-metric-range; description "Default metric"; } leaf route-policy-name { type string; description "Route policy name"; } leaf redist-type { type xr:Hex-integer; description "Redistribution type: 01 for internal routes, 02 for external routes of type 1, 04 for external routes of type 2, 08 for NSSA external routes of type 1, 10 for NSSA external routes of type 2, 20 for external routes, 40 for NSSA external routes. Logical combinations permitted."; } leaf multipath { type boolean; description "Specify if Multipath, default is FALSE"; } } // list ospf-route } // container ospf-routes } // grouping OSPF-ROUTE-TABLE grouping ROUTER-ID { description "Common node of global, vrf-global"; leaf router-id { type inet:ipv4-address-no-zone; default "0.0.0.0"; description "Configure Router-id"; } } // grouping ROUTER-ID grouping DEFAULT-METRIC { description "Common node of global, vrf-global"; leaf default-metric { type uint32 { range "1..4294967295"; } description "Default redistributed metric"; } } // grouping DEFAULT-METRIC grouping RPKI-ORIGIN-AS-VALIDATION-DISABLE { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-af"; leaf rpki-origin-as-validation-disable { type empty; description "RPKI origin-AS validation disable"; } } // grouping RPKI-ORIGIN-AS-VALIDATION-DISABLE grouping BGP-CFG-RPKI-ORIGIN-AS-VALIDATION-DISABLE { description "Common node of neighbor-group-af, neighbor-af, vrf-neighbor-af, af-group-afCommon node of neighbor-group, neighbor, vrf-neighbor, session-group"; leaf rpki-origin-as-validation-disable { type empty; description "RPKI origin-AS validation disable"; } } // grouping BGP-CFG-RPKI-ORIGIN-AS-VALIDATION-DISABLE grouping DISABLE-NEIGHBOR-LOGGING { description "Common node of global, vrf-global"; leaf disable-neighbor-logging { type empty; description "Disable neighbor change logging"; } } // grouping DISABLE-NEIGHBOR-LOGGING grouping TCPMSS { description "Common node of neighbor-group, neighbor, vrf-neighbor, session-group"; container tcpmss { description "TCP Maximum segment size"; leaf tcpmss-disable { type boolean; description "TRUE, to prevent inheritance ofTCP MSS valuefrom its parents.FALSE, otherwise"; } leaf mss { type uint32 { range "68..10000"; } description "Maximum Segment Size"; } } // container tcpmss } // grouping TCPMSS augment /a1:vrfs/a1:vrf { description "This augment extends the configuration data of 'Cisco-IOS-XR-infra-rsi-cfg'"; container bgp-global { status deprecated; description "This model is deprecated and is replaced by Cisco-IOS-XR-um-router-bgp-cfg.yang which will provide the compatible functionalities. BGP related VRF Global config"; container route-distinguisher { description "Route distinguisher"; leaf type { type Bgp-global-route-distinguisher; description "Type of RD"; } leaf as-xx { when "../type = 'as' or ../type = 'four-byte-as'" { description "../Type = AS or ../Type = FourByteAS"; } type Bgp-global-as-range; description "AS number"; } leaf as { when "../type = 'as' or ../type = 'four-byte-as'" { description "../Type = AS or ../Type = FourByteAS"; } type Bgp-global-as-range; description "AS number"; } leaf as-index { when "../type = 'as' or ../type = 'four-byte-as'" { description "../Type = AS or ../Type = FourByteAS"; } type Bgp-global-extcomm-asn-index; description "ASN Index"; } leaf address { when "../type = 'ipv4-address'" { description "../Type = IPV4Address"; } type inet:ipv4-address-no-zone; description "IP address"; } leaf address-index { when "../type = 'ipv4-address'" { description "../Type = IPV4Address"; } type Bgp-global-extcomm-v4-addr-index; description "IP address index"; } } // container route-distinguisher } // container bgp-global } augment /a2:snmp/a2:notification { description "This augment extends the configuration data of 'Cisco-IOS-XR-snmp-agent-cfg'"; container bgp { status deprecated; description "This model is deprecated and is replaced by Cisco-IOS-XR-um-router-bgp-cfg.yang which will provide the compatible functionalities. BGP4-MIB and CISCO-BGP4-MIB notification configuration"; container bgp4mib { description "Enable BGP4-MIB and CISCO-BGP4-MIB IPv4-only notifications: bgpEstablishedNotification, bgpBackwardTransNotification, cbgpFsmStateChange, cbgpBackwardTransition, cbgpPrefixThresholdExceeded, cbgpPrefixThresholdClear."; leaf enable { type empty; must "not(../up-down)"; description "Enable BGP4-MIB and CISCO-BGP4-MIB IPv4-only notifications"; } leaf up-down { type empty; must "not(../enable)"; description "Enable BGP4-MIB and CISCO-BGP4-MIB IPv4-only up/down notifications"; } } // container bgp4mib container cisco-bgp4mib { description "Enable CISCO-BGP4-MIB v2 notifications: cbgpPeer2EstablishedNotification, cbgpPeer2BackwardTransNotification, cbgpPeer2FsmStateChange, cbgpPeer2BackwardTransition, cbgpPeer2PrefixThresholdExceeded, cbgpPeer2PrefixThresholdClear."; leaf enable { type empty; must "not(../up-down)"; description "Enable CISCO-BGP4-MIB v2 notifications"; } leaf up-down { type empty; must "not(../enable)"; description "Enable CISCO-BGP4-MIB v2 up/down notifications"; } } // container cisco-bgp4mib } // container bgp } augment /a1:vrfs/a1:vrf/a1:afs/a1:af { description "This augment extends the configuration data of 'Cisco-IOS-XR-infra-rsi-cfg'"; container bgp { status deprecated; description "This model is deprecated and is replaced by Cisco-IOS-XR-um-router-bgp-cfg.yang which will provide the compatible functionalities. BGP AF VRF config"; container import-route-targets { description "Import Route targets"; uses ROUTE-TARGET-TABLE; } // container import-route-targets container export-route-targets { description "Export Route targets"; uses ROUTE-TARGET-TABLE; } // container export-route-targets container vrf-to-global-export-route-policy { presence "Indicates a vrf-to-global-export-route-policy node is configured."; description "Route policy for vrf to global export filtering"; leaf route-policy-name { type string; mandatory true; description "Vrf to global export route policy"; } leaf allow-imported-vpn { type boolean; description "TRUE Enable imported VPN paths to be exported to Default VRF.FALSE Disable imported VPN paths to be exported to Default VRF."; } } // container vrf-to-global-export-route-policy container export-vrf-options { description "Export VRF options"; leaf allow-imported-vpn { type boolean; description "TRUE Enable imported VPN paths to be exported to non-default VRFFALSE Disable imported VPN paths to be exported to non-default VRF"; } leaf import-stitching-rt { type boolean; description "TRUE Use stitchng RTs to import extranet pathsFALSE Use regular RTs to import extranet paths"; } leaf disable-adv-source-vrf-vni { type boolean; description "TRUE Disallow advertisement of source vrf vni for leaked pathsFALSE Allow advertisement of source vrf vni for leaked paths"; } } // container export-vrf-options container global-to-vrf-import-route-policy { presence "Indicates a global-to-vrf-import-route-policy node is configured."; description "Route policy for global to vrf import filtering"; leaf route-policy-name { type string; mandatory true; description "Global to vrf import route policy"; } leaf advertise-as-vpn { type boolean; description "TRUE Enable advertising imported paths to PEsFALSE Disable advertising imported paths to PEs"; } } // container global-to-vrf-import-route-policy leaf export-route-policy { type string; description "Route policy for export filtering"; } leaf import-route-policy { type string; description "Route policy for import filtering"; } leaf import-vrf-options { type boolean; description "TRUE Enable advertising imported paths to PEsFALSE Disable advertising imported paths to PEs"; } leaf import-from-bridge-domain { type boolean; description "TRUE Enable advertising local EVPN paths to PEs .FALSE Disable advertising local EVPN paths to PEs."; } } // container bgp } augment /a1:global-af/a1:afs/a1:af { description "This augment extends the configuration data of 'Cisco-IOS-XR-infra-rsi-cfg'"; container bgp { status deprecated; description "This model is deprecated and is replaced by Cisco-IOS-XR-um-router-bgp-cfg.yang which will provide the compatible functionalities. BGP AF VRF config"; container import-route-targets { description "Import Route targets"; uses ROUTE-TARGET-TABLE; } // container import-route-targets container export-route-targets { description "Export Route targets"; uses ROUTE-TARGET-TABLE; } // container export-route-targets container vrf-to-global-export-route-policy { presence "Indicates a vrf-to-global-export-route-policy node is configured."; description "Route policy for vrf to global export filtering"; leaf route-policy-name { type string; mandatory true; description "Vrf to global export route policy"; } leaf allow-imported-vpn { type boolean; description "TRUE Enable imported VPN paths to be exported to Default VRF.FALSE Disable imported VPN paths to be exported to Default VRF."; } } // container vrf-to-global-export-route-policy container export-vrf-options { description "Export VRF options"; leaf allow-imported-vpn { type boolean; description "TRUE Enable imported VPN paths to be exported to non-default VRFFALSE Disable imported VPN paths to be exported to non-default VRF"; } leaf import-stitching-rt { type boolean; description "TRUE Use stitchng RTs to import extranet pathsFALSE Use regular RTs to import extranet paths"; } leaf disable-adv-source-vrf-vni { type boolean; description "TRUE Disallow advertisement of source vrf vni for leaked pathsFALSE Allow advertisement of source vrf vni for leaked paths"; } } // container export-vrf-options container global-to-vrf-import-route-policy { presence "Indicates a global-to-vrf-import-route-policy node is configured."; description "Route policy for global to vrf import filtering"; leaf route-policy-name { type string; mandatory true; description "Global to vrf import route policy"; } leaf advertise-as-vpn { type boolean; description "TRUE Enable advertising imported paths to PEsFALSE Disable advertising imported paths to PEs"; } } // container global-to-vrf-import-route-policy leaf export-route-policy { type string; description "Route policy for export filtering"; } leaf import-route-policy { type string; description "Route policy for import filtering"; } leaf import-vrf-options { type boolean; description "TRUE Enable advertising imported paths to PEsFALSE Disable advertising imported paths to PEs"; } leaf import-from-bridge-domain { type boolean; description "TRUE Enable advertising local EVPN paths to PEs .FALSE Disable advertising local EVPN paths to PEs."; } } // container bgp } leaf asn-format { type Bgp-asn; default "as-plain"; description "Autonomous system number format"; } container bgp { status deprecated; description "This model is deprecated and is replaced by Cisco-IOS-XR-um-router-bgp-cfg.yang which will provide the compatible functionalities. BGP configuration commands"; list instance { must "instance-as" { description "must be set."; } key "instance-name"; description "BGP instance configuration commands"; leaf instance-name { type xr:Cisco-ios-xr-string; description "Instance Name. For Default instance use - default"; } list instance-as { must "four-byte-as" { description "must be set."; } key "as"; description "Autonomous system"; leaf as { type dt1:Bgp-as-range; description "Higher 16 bits of 4-byte Autonomous system number"; } list four-byte-as { key "as"; description "4-byte Autonomous system"; container vrfs { description "VRF config"; list vrf { key "vrf-name"; description "VRF config"; container vrf-global { description "VRF attribute config"; container route-distinguisher { description "Route distinguisher"; leaf type { type Bgp-route-distinguisher; description "Type of RD"; } leaf as-xx { when "../type = 'as' or ../type = 'four-byte-as'" { description "../Type = AS or ../Type = FourByteAS"; } type dt1:Bgp-as-range; description "AS number"; } leaf as { when "../type = 'as' or ../type = 'four-byte-as'" { description "../Type = AS or ../Type = FourByteAS"; } type dt1:Bgp-as-range; description "AS number"; } leaf as-index { when "../type = 'as' or ../type = 'four-byte-as'" { description "../Type = AS or ../Type = FourByteAS"; } type dt1:Bgp-extcomm-asn-index; description "ASN Index"; } leaf address { when "../type = 'ipv4-address'" { description "../Type = IPV4Address"; } type inet:ipv4-address-no-zone; description "IP address"; } leaf address-index { when "../type = 'ipv4-address'" { description "../Type = IPV4Address"; } type dt1:Bgp-extcomm-v4-addr-index; description "IP address index"; } } // container route-distinguisher container vrf-global-afs { description "Global VRF-specific configuration"; list vrf-global-af { key "af-name"; description "Global VRF AF-specific configuration"; container mvpn { description "MVPN configurations"; leaf single-forwarder-selection { type Bgp-mvpn-sfs-select; description "Select MVPN single forwarder selection"; } } // container mvpn container ebgp { presence "Indicates a ebgp node is configured."; description "Use eBGP multipaths"; leaf paths-value { type uint32 { range "2..32"; } mandatory true; description "Number of paths"; } leaf unequal-cost { type boolean; mandatory true; description "UNUSED"; } leaf selective { type boolean; mandatory true; description "Allow multipaths only from marked neighbors"; } leaf order-by-igp-metric { type boolean; mandatory true; description "Order candidate multipaths by IGP metric"; } } // container ebgp container eibgp { presence "Indicates a eibgp node is configured."; description "Use eiBGP multipaths"; leaf paths-value { type uint32 { range "2..32"; } mandatory true; description "Number of paths"; } leaf unequal-cost { type boolean; mandatory true; description "UNUSED"; } leaf selective { type boolean; mandatory true; description "Allow multipaths only from marked neighbors"; } leaf order-by-igp-metric { type boolean; mandatory true; description "Order candidate multipaths by IGP metric"; } } // container eibgp container ibgp { presence "Indicates a ibgp node is configured."; description "Use iBGP multipaths"; leaf paths-value { type uint32 { range "2..32"; } mandatory true; description "Number of paths"; } leaf unequal-cost { type boolean; mandatory true; description "Allow multipaths to have different IGP metrics"; } leaf selective { type boolean; mandatory true; description "Allow multipaths only from marked neighbors"; } leaf order-by-igp-metric { type boolean; mandatory true; description "Order candidate multipaths by IGP metric"; } } // container ibgp leaf mpls-alloc-enable { type boolean; description "MPLS alloc enable, use this for dual mode srv6 and mpls"; } leaf rt-download { type empty; description "Route-Target download configuration"; } leaf allow-vpn-default-originate { type boolean; description "TRUE to send default orig route to VPN neighborFALSE to not send default originate route "; } leaf af-name { type dt1:Bgp-address-family; description "Address family"; } uses RPKI-ORIGIN-AS-VALIDATION-ENABLE; uses AGGREGATE-ADDRESS-TABLE; uses DYNAMIC-MED-INTERVAL; uses EVENT-PREFIX-ROUTE-POLICY; uses DAMPENING; uses ENABLE; uses RIP-ROUTES; uses LISP-ROUTES; uses STATIC-ROUTES; uses DISTANCE; uses TABLE-POLICY; uses APP-ROUTE-TABLE; uses ATTRIBUTE-DOWNLOAD; uses LABEL-MODE; uses EIGRP-ROUTE-TABLE; uses BEST-EXTERNAL; uses SOURCED-NETWORK-TABLE; uses RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP; uses CONNECTED-ROUTES; uses ADDITIONAL-PATHS-RECEIVE; uses PERMANENT-NETWORK; uses RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY; uses ALLOCATE-LABEL; uses ADDITIONAL-PATHS-SELECTION; uses BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID-MP; uses NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM; uses RESET-WEIGHT-ON-IMPORT; uses OSPF-ROUTE-TABLE; uses ADDITIONAL-PATHS-SEND; uses OPTIMAL-ROUTE-REFLECTION-GROUP-APPLY-TABLE; uses ADVERTISE-LOCAL-LABELED-ROUTE-SAFI-UNICAST; uses MOBILE-ROUTES; uses DISABLE-AS-PATH-LOOP-CHECK; uses NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM-IPV6; uses OPTIMAL-ROUTE-REFLECTION-GROUP-TABLE; uses SUBSCRIBER-ROUTES; uses SEGMENT-ROUTING; } // list vrf-global-af } // container vrf-global-afs leaf exists { type empty; description "Create this VRF. Deletion of this object causes deletion of all the objects under VRF associated with this object."; } uses ROUTER-ID; uses SLOW-PEER-DETECTION-DISABLE; uses DISABLE-ENFORCE-FIRST-AS; uses BEST-PATH-COST-COMMUNITY; uses BEST-PATH-AIGP-IGNORE; uses BEST-PATH-IGP-METRIC-SR-POLICY; uses NEXT-HOP-VAL-SRTE; uses BEST-PATH-AS-PATH-LENGTH; uses NEXT-HOP-VAL-DISABLE; uses IGP-REDIST-INTERNAL; uses MULTI-PATH-AS-PATH-IGNORE-ONWARDS; uses DISABLE-FAST-EXTERNAL-FALLOVER; uses UNSAFE-EBGP-POLICY; uses DEFAULT-METRIC; uses DEFAULT-INFO-ORIGINATE; uses BGP-CFG-RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP; uses BGP-CFG-RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY; uses BEST-PATH-CONFEDERATION-PATHS; uses BEST-PATH-AS-MULTIPATH-RELAX; uses MPLS-ACTIVATED-INTERFACE-TABLE; uses DISABLE-AUTO-SOFT-RESET; uses DISABLE-MSG-LOG; uses MULTI-PATH-USE-CLUSTER-LIST-LENGTH; uses GLOBAL-TIMERS; uses BEST-PATH-IGP-METRIC-IGNORE; uses NEXT-HOP-RES-ALLOW-DEFAULT; uses BEST-PATH-SR-POLICY-ONLY-PATH; uses NEXT-HOP-MPLS-FWD-IBGP; uses BFD; uses DISABLE-NEIGHBOR-LOGGING; uses SEND-SOCKET-BUFFER-SIZES; uses BEST-PATH-MED-ALWAYS; uses RECEIVE-SOCKET-BUFFER-SIZES; uses BEST-PATH-ROUTER-ID; uses BEST-PATH-MED-MISSING; uses LOCAL-PREFERENCE; } // container vrf-global container vrf-neighbors { description "BGP VRF peer"; grouping VRF-NEIGHBOR-CONTENT { description "VRF NEIGHBOR CONTENT"; container vrf-neighbor-afs { description "Address family type of a VRF neighbor"; list vrf-neighbor-af { key "af-name"; description "Address family type of a VRF neighbor"; leaf af-name { type dt1:Bgp-address-family; description "BGP neighbor address family"; } uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-CAPABLE; uses SEND-EXT-COMMUNITY-EBGP; uses ACCEPT-ROUTE-LEGACY-RT; uses AIGP-COST-COMMUNITY; uses CLUSTER-ID-ALLOW-EQUAL; uses SEND-COMMUNITY-EBGP; uses ADVERTISE-DEF-IMP-DISABLE-V6; uses ADVERTISE-DISABLE; uses MAXIMUM-PREFIXES; uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V6; uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH-INBOUND; uses NEXT-HOP-UNCHANGED; uses ADVERTISE-LOCAL-LABELED-ROUTE; uses ADVERTISE-DEF-IMP-DISABLE-V4; uses RPKI-ORIGIN-AS-VALIDATION-DISABLE; uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V4; uses FLOWSPEC-VALIDATION; uses ADVERTISE-L2VPN-EVPN; uses ADVERTISE-LOCAL-L2VPN-EVPN; uses RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; uses ENFORCE-MULTIPLE-LABELS; uses AS-OVERRIDE; uses MULTIPATH; uses SEND-COMMUNITY-EBGP-GRACEFUL-SHUTDOWN; uses ACTIVATE; uses PREFIX-ORF-POLICY; uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-STALE-TIME; uses SITE-OF-ORIGIN; uses UPDATE-OUT-ORIG-LOOP-CHK-DISABLE; uses AIGP; uses AIGP-SEND-MED; uses ADVERTISE-V6; uses ALLOW-AS-IN; uses ADVERTISE-ORF; uses ROUTE-REFLECTOR-CLIENT; uses NEXT-HOP-SELF; uses ADVERTISE-LOCAL-V6; uses SLOW-PEER; uses ROUTE-POLICY-IN; uses IMPORT; uses DEFAULT-ORIGINATE; uses SOFT-RECONFIGURATION; uses ADVERTISE-VRF-IMP-DISABLE-V6; uses DEFAULT-WEIGHT; uses AF-GROUP; uses ADVERTISE-V4; uses OPTIMAL-ROUTE-REFLECTION-GROUP; uses ACCEPT-OWN; uses ROUTE-POLICY-OUT; uses ADVERTISE-LOCAL-V4; uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH; uses ADVERTISE-VRF-IMP-DISABLE-V4; } // list vrf-neighbor-af } // container vrf-neighbor-afs uses LOCAL-ADDRESS-SUB-NET; uses INTERNAL-VPN-CLIENT-IBGP-CE; uses LOCAL-ADDRESS; uses BMP-ACTIVATE-TABLE; uses EBGP-MULTIHOP; uses SESSION-GROUP-ADD-MEMBER; uses EGRESS-PEER-ENGINEERING; uses REMOTE-AS; uses LOCAL-AS; uses NEIGHBOR-GRACEFUL-RESTART-STALEPATH-TIME; uses SHUTDOWN; uses DESCRIPTION; uses SUPPRESS-EXTENDED-NEXTHOP-ENCODING-CAPABILITY; uses NEIGHBOR-GROUP-ADD-MEMBER; uses PASSWORD; uses EBGP-RECV-DMZ; uses ADVERTISEMENT-INTERVAL; uses NEIGHBOR-GRACEFUL-RESTART; uses ENFORCE-FIRST-AS; uses IDLE-WATCH-TIME; uses TCPMSS; uses SESSION-OPEN-MODE; uses BGP-CFG-RPKI-ORIGIN-AS-VALIDATION-DISABLE; uses TOS; uses UPDATE-IN-FILTERING; uses EBGP-SEND-DMZ-ENABLE-MODES; uses MSG-LOG-OUT; uses SUPPRESS-ALL-CAPABILITIES; uses MAX-PEERS; uses AO-KEYCHAIN; uses BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; uses RECEIVE-BUFFER-SIZE; uses MSG-LOG-IN; uses ADDITIONAL-PATHS-SEND-CAPABILITY; uses PROPAGATE-DMZ-LINK-BANDWIDTH; uses EPE-PEER-SET-IDENTITY-TABLE; uses BFD-ENABLE-MODES; uses SEND-BUFFER-SIZE; uses TTL-SECURITY; uses NEIGHBOR-GRACEFUL-RESTART-TIME; uses TIMERS; uses BFD-MULTIPLIER; uses BFD-MINIMUM-INTERVAL; uses REMOTE-AS-LIST; uses LABELED-UNICAST-EQUIVALENT-FOR-INBOUND-UPDATES; uses ADDITIONAL-PATHS-RECEIVE-CAPABILITY; uses KEYCHAIN; uses IGNORE-CONNECTED-CHECK-EBGP; uses SUPPRESS-FOUR-BYTE-AS-CAPABILITY; uses UPDATE-SOURCE-INTERFACE; uses GRACEFUL-MAINTENANCE; } // grouping VRF-NEIGHBOR-CONTENT list vrf-neighbor { key "neighbor-address"; description "A particular VRF peer"; leaf neighbor-address { type inet:ip-address-no-zone; description "Neighbor address"; } uses VRF-NEIGHBOR-CONTENT; } // list vrf-neighbor list vrf-neighbor-prefix-length { key "neighbor-address prefix-length"; description "A particular VRF peer"; leaf neighbor-address { type inet:ip-address-no-zone; description "Neighbor address"; } leaf prefix-length { type uint32 { range "0..127"; } description "Prefix length"; } uses VRF-NEIGHBOR-CONTENT; } // list vrf-neighbor-prefix-length } // container vrf-neighbors leaf vrf-name { type xr:Cisco-ios-xr-string; description "VRF name"; } } // list vrf } // container vrfs container default-vrf { description "Global default config"; container bgp-entity { description "Neighbor, neighbor-group, af-group and session-group configuration"; container neighbors { description "Neighbor configuration"; grouping NEIGHBOR-CONTENT { description "NEIGHBOR CONTENT"; container neighbor-afs { description "BGP neighbor AF configuration table"; list neighbor-af { key "af-name"; description "Address family type of neighbor"; leaf af-name { type dt1:Bgp-address-family; description "BGP neighbor address family"; } uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-CAPABLE; uses L2VPN-SIGNALLING; uses SEND-EXT-COMMUNITY-EBGP; uses ACCEPT-ROUTE-LEGACY-RT; uses AIGP-COST-COMMUNITY; uses CLUSTER-ID-ALLOW-EQUAL; uses SEND-COMMUNITY-EBGP; uses ADVERTISE-DEF-IMP-DISABLE-V6; uses ADVERTISE-DISABLE; uses SEND-MULTICAST-ATTR; uses MAXIMUM-PREFIXES; uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V6; uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH-INBOUND; uses NEXT-HOP-UNCHANGED; uses ADVERTISE-LOCAL-LABELED-ROUTE; uses ADVERTISE-DEF-IMP-DISABLE-V4; uses RPKI-ORIGIN-AS-VALIDATION-DISABLE; uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V4; uses FLOWSPEC-VALIDATION; uses ADVERTISE-L2VPN-EVPN; uses ADVERTISE-LOCAL-L2VPN-EVPN; uses ENCAPSULATION-TYPE; uses RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; uses ENFORCE-MULTIPLE-LABELS; uses AS-OVERRIDE; uses MULTIPATH; uses SEND-COMMUNITY-EBGP-GRACEFUL-SHUTDOWN; uses ACTIVATE; uses PREFIX-ORF-POLICY; uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-STALE-TIME; uses UPDATE-OUT-ORIG-LOOP-CHK-DISABLE; uses AIGP; uses AIGP-SEND-MED; uses ADVERTISE-V6; uses ALLOW-AS-IN; uses ADVERTISE-ORF; uses ROUTE-REFLECTOR-CLIENT; uses NEXT-HOP-SELF; uses ADVERTISE-LOCAL-V6; uses SRV6VERSION4; uses SLOW-PEER; uses ROUTE-POLICY-IN; uses IMPORT; uses DEFAULT-ORIGINATE; uses SOFT-RECONFIGURATION; uses ADVERTISE-VRF-IMP-DISABLE-V6; uses DEFAULT-WEIGHT; uses AF-GROUP; uses ADVERTISE-V4; uses NEXT-HOP-UNCHANGED-MULTIPATH; uses OPTIMAL-ROUTE-REFLECTION-GROUP; uses ACCEPT-OWN; uses ROUTE-POLICY-OUT; uses ADVERTISE-LOCAL-V4; uses ADVERTISE-PERMANENT-NETWORK; uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH; uses ADVERTISE-VRF-IMP-DISABLE-V4; } // list neighbor-af } // container neighbor-afs leaf epe-peer-node-sid { type uint32 { range "0..1033575"; } description "Manual Segment Index assigned to this peer for egress peer engineering"; } uses LOCAL-ADDRESS-SUB-NET; uses LOCAL-ADDRESS; uses BMP-ACTIVATE-TABLE; uses EBGP-MULTIHOP; uses SESSION-GROUP-ADD-MEMBER; uses EGRESS-PEER-ENGINEERING; uses REMOTE-AS; uses LOCAL-AS; uses NEIGHBOR-GRACEFUL-RESTART-STALEPATH-TIME; uses SHUTDOWN; uses DESCRIPTION; uses SUPPRESS-EXTENDED-NEXTHOP-ENCODING-CAPABILITY; uses NEIGHBOR-GROUP-ADD-MEMBER; uses PASSWORD; uses EBGP-RECV-DMZ; uses ADVERTISEMENT-INTERVAL; uses NEIGHBOR-CLUSTER-ID; uses NEIGHBOR-GRACEFUL-RESTART; uses ENFORCE-FIRST-AS; uses IDLE-WATCH-TIME; uses TCPMSS; uses SESSION-OPEN-MODE; uses BGP-CFG-RPKI-ORIGIN-AS-VALIDATION-DISABLE; uses TOS; uses UPDATE-IN-FILTERING; uses EBGP-SEND-DMZ-ENABLE-MODES; uses MSG-LOG-OUT; uses SUPPRESS-ALL-CAPABILITIES; uses MAX-PEERS; uses AO-KEYCHAIN; uses BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; uses RECEIVE-BUFFER-SIZE; uses MSG-LOG-IN; uses ADDITIONAL-PATHS-SEND-CAPABILITY; uses PROPAGATE-DMZ-LINK-BANDWIDTH; uses EPE-PEER-SET-IDENTITY-TABLE; uses BFD-ENABLE-MODES; uses SEND-BUFFER-SIZE; uses TTL-SECURITY; uses NEIGHBOR-GRACEFUL-RESTART-TIME; uses TIMERS; uses BFD-MULTIPLIER; uses BFD-MINIMUM-INTERVAL; uses REMOTE-AS-LIST; uses LABELED-UNICAST-EQUIVALENT-FOR-INBOUND-UPDATES; uses ADDITIONAL-PATHS-RECEIVE-CAPABILITY; uses KEYCHAIN; uses IGNORE-CONNECTED-CHECK-EBGP; uses SUPPRESS-FOUR-BYTE-AS-CAPABILITY; uses UPDATE-SOURCE-INTERFACE; uses GRACEFUL-MAINTENANCE; } // grouping NEIGHBOR-CONTENT list neighbor { key "neighbor-address"; description "A particular BGP peer"; leaf neighbor-address { type inet:ip-address-no-zone; description "Neighbor address"; } uses NEIGHBOR-CONTENT; } // list neighbor list neighbor-prefix-length { key "neighbor-address prefix-length"; description "A particular BGP peer"; leaf neighbor-address { type inet:ip-address-no-zone; description "Neighbor address"; } leaf prefix-length { type uint32 { range "0..127"; } description "Prefix length"; } uses NEIGHBOR-CONTENT; } // list neighbor-prefix-length } // container neighbors container neighbor-groups { description "Neighbor-group configuration"; list neighbor-group { key "neighbor-group-name"; description "A particular BGP neighbor group"; container neighbor-group-afs { description "BGP neighbor-group AF configuration table"; list neighbor-group-af { key "af-name"; description "Address family type of neighbor group"; leaf af-name { type dt1:Bgp-address-family; description "BGP neighbor group address family"; } uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-CAPABLE; uses L2VPN-SIGNALLING; uses SEND-EXT-COMMUNITY-EBGP; uses ACCEPT-ROUTE-LEGACY-RT; uses AIGP-COST-COMMUNITY; uses CLUSTER-ID-ALLOW-EQUAL; uses SEND-COMMUNITY-EBGP; uses ADVERTISE-DEF-IMP-DISABLE-V6; uses ADVERTISE-DISABLE; uses SEND-MULTICAST-ATTR; uses MAXIMUM-PREFIXES; uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V6; uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH-INBOUND; uses NEXT-HOP-UNCHANGED; uses ADVERTISE-LOCAL-LABELED-ROUTE; uses ADVERTISE-DEF-IMP-DISABLE-V4; uses RPKI-ORIGIN-AS-VALIDATION-DISABLE; uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V4; uses FLOWSPEC-VALIDATION; uses ADVERTISE-L2VPN-EVPN; uses ADVERTISE-LOCAL-L2VPN-EVPN; uses ENCAPSULATION-TYPE; uses RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; uses ENFORCE-MULTIPLE-LABELS; uses AS-OVERRIDE; uses MULTIPATH; uses SEND-COMMUNITY-EBGP-GRACEFUL-SHUTDOWN; uses ACTIVATE; uses PREFIX-ORF-POLICY; uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-STALE-TIME; uses SITE-OF-ORIGIN; uses UPDATE-OUT-ORIG-LOOP-CHK-DISABLE; uses AIGP; uses AIGP-SEND-MED; uses ADVERTISE-V6; uses ALLOW-AS-IN; uses ADVERTISE-ORF; uses ROUTE-REFLECTOR-CLIENT; uses NEXT-HOP-SELF; uses ADVERTISE-LOCAL-V6; uses SRV6VERSION4; uses SLOW-PEER; uses ROUTE-POLICY-IN; uses IMPORT; uses DEFAULT-ORIGINATE; uses SOFT-RECONFIGURATION; uses ADVERTISE-VRF-IMP-DISABLE-V6; uses DEFAULT-WEIGHT; uses AF-GROUP; uses ADVERTISE-V4; uses NEXT-HOP-UNCHANGED-MULTIPATH; uses OPTIMAL-ROUTE-REFLECTION-GROUP; uses ACCEPT-OWN; uses ROUTE-POLICY-OUT; uses ADVERTISE-LOCAL-V4; uses ADVERTISE-PERMANENT-NETWORK; uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH; uses ADVERTISE-VRF-IMP-DISABLE-V4; } // list neighbor-group-af } // container neighbor-group-afs leaf neighbor-group-add-member { type string; description "Inherit configuration from a neighbor-group"; } leaf neighbor-group-name { type xr:Cisco-ios-xr-string; description "BGP neighbor group name"; } uses LOCAL-ADDRESS-SUB-NET; uses INTERNAL-VPN-CLIENT-IBGP-CE; uses LOCAL-ADDRESS; uses BMP-ACTIVATE-TABLE; uses EBGP-MULTIHOP; uses SESSION-GROUP-ADD-MEMBER; uses EGRESS-PEER-ENGINEERING; uses REMOTE-AS; uses LOCAL-AS; uses NEIGHBOR-GRACEFUL-RESTART-STALEPATH-TIME; uses SHUTDOWN; uses DESCRIPTION; uses SUPPRESS-EXTENDED-NEXTHOP-ENCODING-CAPABILITY; uses PASSWORD; uses EBGP-RECV-DMZ; uses ADVERTISEMENT-INTERVAL; uses NEIGHBOR-CLUSTER-ID; uses NEIGHBOR-GRACEFUL-RESTART; uses ENFORCE-FIRST-AS; uses IDLE-WATCH-TIME; uses TCPMSS; uses SESSION-OPEN-MODE; uses BGP-CFG-RPKI-ORIGIN-AS-VALIDATION-DISABLE; uses TOS; uses UPDATE-IN-FILTERING; uses EBGP-SEND-DMZ-ENABLE-MODES; uses MSG-LOG-OUT; uses SUPPRESS-ALL-CAPABILITIES; uses MAX-PEERS; uses AO-KEYCHAIN; uses BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; uses RECEIVE-BUFFER-SIZE; uses MSG-LOG-IN; uses ADDITIONAL-PATHS-SEND-CAPABILITY; uses PROPAGATE-DMZ-LINK-BANDWIDTH; uses EPE-PEER-SET-IDENTITY-TABLE; uses BFD-ENABLE-MODES; uses SEND-BUFFER-SIZE; uses TTL-SECURITY; uses NEIGHBOR-GRACEFUL-RESTART-TIME; uses TIMERS; uses BFD-MULTIPLIER; uses BFD-MINIMUM-INTERVAL; uses REMOTE-AS-LIST; uses LABELED-UNICAST-EQUIVALENT-FOR-INBOUND-UPDATES; uses ADDITIONAL-PATHS-RECEIVE-CAPABILITY; uses KEYCHAIN; uses IGNORE-CONNECTED-CHECK-EBGP; uses SUPPRESS-FOUR-BYTE-AS-CAPABILITY; uses UPDATE-SOURCE-INTERFACE; uses CREATE; uses GRACEFUL-MAINTENANCE; } // list neighbor-group } // container neighbor-groups container af-groups { description "AF-group configuration"; list af-group { key "af-group-name"; description "A particular BGP AF group"; container af-group-afs { description "AF group configuration table"; list af-group-af { key "af-name"; description "Address family type of an AF group"; leaf af-group { type string; description "Inherit configuration for this address-family from an AF-group"; } leaf create { type empty; description "Create this address family group. Deletion of this object causes deletion of all the objects under AFGroup associated with this object."; } leaf af-name { type dt1:Bgp-address-family; description "BGP AF group address family"; } uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-CAPABLE; uses L2VPN-SIGNALLING; uses SEND-EXT-COMMUNITY-EBGP; uses ACCEPT-ROUTE-LEGACY-RT; uses AIGP-COST-COMMUNITY; uses CLUSTER-ID-ALLOW-EQUAL; uses SEND-COMMUNITY-EBGP; uses ADVERTISE-DEF-IMP-DISABLE-V6; uses ADVERTISE-DISABLE; uses SEND-MULTICAST-ATTR; uses MAXIMUM-PREFIXES; uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V6; uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH-INBOUND; uses NEXT-HOP-UNCHANGED; uses ADVERTISE-LOCAL-LABELED-ROUTE; uses ADVERTISE-DEF-IMP-DISABLE-V4; uses RPKI-ORIGIN-AS-VALIDATION-DISABLE; uses ADVERTISE-BRIDGE-DOMAIN-IMP-DISABLE-V4; uses FLOWSPEC-VALIDATION; uses ADVERTISE-L2VPN-EVPN; uses ADVERTISE-LOCAL-L2VPN-EVPN; uses ENCAPSULATION-TYPE; uses RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; uses ENFORCE-MULTIPLE-LABELS; uses AS-OVERRIDE; uses MULTIPATH; uses SEND-COMMUNITY-EBGP-GRACEFUL-SHUTDOWN; uses PREFIX-ORF-POLICY; uses NEIGHBOR-AF-LONG-LIVED-GRACEFUL-RESTART-STALE-TIME; uses SITE-OF-ORIGIN; uses UPDATE-OUT-ORIG-LOOP-CHK-DISABLE; uses AIGP; uses AIGP-SEND-MED; uses ADVERTISE-V6; uses ALLOW-AS-IN; uses ADVERTISE-ORF; uses ROUTE-REFLECTOR-CLIENT; uses NEXT-HOP-SELF; uses ADVERTISE-LOCAL-V6; uses SRV6VERSION4; uses SLOW-PEER; uses ROUTE-POLICY-IN; uses IMPORT; uses DEFAULT-ORIGINATE; uses SOFT-RECONFIGURATION; uses ADVERTISE-VRF-IMP-DISABLE-V6; uses DEFAULT-WEIGHT; uses ADVERTISE-V4; uses NEXT-HOP-UNCHANGED-MULTIPATH; uses OPTIMAL-ROUTE-REFLECTION-GROUP; uses ACCEPT-OWN; uses ROUTE-POLICY-OUT; uses ADVERTISE-LOCAL-V4; uses ADVERTISE-PERMANENT-NETWORK; uses REMOVE-PRIVATE-AS-ENTIRE-AS-PATH; uses ADVERTISE-VRF-IMP-DISABLE-V4; } // list af-group-af } // container af-group-afs leaf af-group-name { type xr:Cisco-ios-xr-string; description "BGP AF group name"; } } // list af-group } // container af-groups container session-groups { description "Session group configuration"; list session-group { key "session-group-name"; description "A particular BGP session group"; leaf session-group-add-member { type string; description "Inherit address-family independent config from a session-group"; } leaf session-group-name { type xr:Cisco-ios-xr-string; description "BGP session group name"; } uses LOCAL-ADDRESS-SUB-NET; uses INTERNAL-VPN-CLIENT-IBGP-CE; uses LOCAL-ADDRESS; uses BMP-ACTIVATE-TABLE; uses EBGP-MULTIHOP; uses EGRESS-PEER-ENGINEERING; uses REMOTE-AS; uses LOCAL-AS; uses NEIGHBOR-GRACEFUL-RESTART-STALEPATH-TIME; uses SHUTDOWN; uses DESCRIPTION; uses SUPPRESS-EXTENDED-NEXTHOP-ENCODING-CAPABILITY; uses PASSWORD; uses EBGP-RECV-DMZ; uses ADVERTISEMENT-INTERVAL; uses NEIGHBOR-CLUSTER-ID; uses NEIGHBOR-GRACEFUL-RESTART; uses ENFORCE-FIRST-AS; uses IDLE-WATCH-TIME; uses TCPMSS; uses SESSION-OPEN-MODE; uses BGP-CFG-RPKI-ORIGIN-AS-VALIDATION-DISABLE; uses TOS; uses UPDATE-IN-FILTERING; uses EBGP-SEND-DMZ-ENABLE-MODES; uses MSG-LOG-OUT; uses SUPPRESS-ALL-CAPABILITIES; uses MAX-PEERS; uses AO-KEYCHAIN; uses BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID; uses RECEIVE-BUFFER-SIZE; uses MSG-LOG-IN; uses ADDITIONAL-PATHS-SEND-CAPABILITY; uses PROPAGATE-DMZ-LINK-BANDWIDTH; uses EPE-PEER-SET-IDENTITY-TABLE; uses BFD-ENABLE-MODES; uses SEND-BUFFER-SIZE; uses TTL-SECURITY; uses NEIGHBOR-GRACEFUL-RESTART-TIME; uses TIMERS; uses BFD-MULTIPLIER; uses BFD-MINIMUM-INTERVAL; uses REMOTE-AS-LIST; uses LABELED-UNICAST-EQUIVALENT-FOR-INBOUND-UPDATES; uses ADDITIONAL-PATHS-RECEIVE-CAPABILITY; uses KEYCHAIN; uses IGNORE-CONNECTED-CHECK-EBGP; uses SUPPRESS-FOUR-BYTE-AS-CAPABILITY; uses UPDATE-SOURCE-INTERFACE; uses CREATE; uses GRACEFUL-MAINTENANCE; } // list session-group } // container session-groups } // container bgp-entity container global { description "Global default config"; container cluster-id { description "Configure Route-Reflector Cluster-id"; leaf cluster-id-number { type uint32 { range "1..4294967295"; } description "Route-Reflector Cluster ID as 32 bit quantity"; } leaf cluster-id-address { type inet:ipv4-address-no-zone; description "Route-Reflector Cluster ID in IPV4 address format"; } } // container cluster-id container write-limit { description "Set write-queue limit for each update group"; leaf formatted-messages { type uint32 { range "500..100000000"; } default "50000"; description "Number of messages to be formatted per update group"; } leaf enqueued-messages { type uint32 { range "500..100000000"; } default "250000"; description "Number of messages that can be enqueued in total"; } leaf desynchronize { type boolean; default "false"; description "TRUE to enable desynchronization, FALSE otherwise."; } } // container write-limit container update-delay { description "Set the max initial delay for sending updates"; leaf delay { type uint32 { range "0..3600"; } units "second"; default "120"; description "Delay value (seconds)"; } leaf always { type boolean; must "../delay"; default "false"; description "Set to TRUE to disable keepalive trigger bestpath and delay is enforced."; } } // container update-delay container optimal-route-reflection-group-global-afis { description "Global table of multiple ORR groups"; list optimal-route-reflection-group-global-afi { key "afi"; description "The afi of the ORR group"; leaf afi { type Bgp-orrafi; description "The AFI corresponds to root address"; } list optimal-route-reflection-group-global { key "group-name"; description "Global Optimal Route Reflector group. Each such group is equivalent to an IGP area"; leaf group-name { type xr:Cisco-ios-xr-string; description "Name of the ORR group"; } leaf primary-root-address { type inet:ip-address-no-zone; description "Primary Root for the ORR group"; } leaf secondary-root-address { type inet:ip-address-no-zone; description "Secondary Root for the ORR group"; } leaf tertiary-root-address { type inet:ip-address-no-zone; description "Tertiary Root for the ORR group"; } } // list optimal-route-reflection-group-global } // list optimal-route-reflection-group-global-afi } // container optimal-route-reflection-group-global-afis container as-league { description "AS League"; container peers { description "AS League Peers"; list peer { key "as-xx as-yy"; description "AS League Peer AS"; leaf as-xx { type dt1:Bgp-as-range; description "xx of peer AS xx.yy"; } leaf as-yy { type dt1:Bgp-as-range; description "yy of peer AS xx.yy"; } } // list peer } // container peers leaf enable { type empty; description "AS League creation"; } } // container as-league container rpki-servers { description "RPKI server configuration"; list rpki-server { key "server"; description "RPKI server configuration"; container bindsrc { description "RPKI server transport bind source"; leaf bindsrc-type { type Bgp-rpki-binssrc; description "Bind source type"; } leaf bind-src { type string; description "server bind source interface"; } } // container bindsrc container transport { description "RPKI server transport"; leaf transport { type Bgp-rpki-transport; default "ssh"; description "RPKI server transport"; } leaf port { type xr:Cisco-ios-xr-port-number; default "22"; description "port"; } } // container transport leaf enable { type empty; description "RPKI server configuration"; } leaf shutdown { type empty; description "RPKI server shutdown"; } leaf password { type xr:Proprietary-password; description "RPKI server password"; } leaf response-time { type Bgp-rpki-time-config; units "second"; description "RPKI server response-time(15-3600 seconds) or off"; } leaf username { type string; description "RPKI server username"; } leaf refresh-time { type Bgp-rpki-time-config; units "second"; description "RPKI server refresh-time(15-3600 seconds) or off"; } leaf purge-time { type uint32 { range "30..65535"; } units "second"; description "RPKI server purge-time (in seconds)"; } leaf server { type xr:Cisco-ios-xr-string; description "Server address (opaque string)"; } } // list rpki-server } // container rpki-servers container as-list-groups { description "AS-list group lists"; list as-list-group { key "as-list-group-name"; description "AS-List group"; container ases { description "AS list"; list as { key "as-xx as-yy"; description "AS-List group"; leaf as-xx { type dt1:Bgp-as-range; description "xx of AS number/confed peer xx.yy"; } leaf as-yy { type dt1:Bgp-as-range; description "yy of AS number/confed peer xx.yy"; } } // list as } // container ases leaf enable { type empty; description "AS-List group creation"; } leaf as-list-group-name { type xr:Cisco-ios-xr-string; description "Group name"; } } // list as-list-group } // container as-list-groups container limits { description "Maximum number that can be configured"; leaf maximum-neighbors { type uint32 { range "1..15000"; } default "10000"; description "Maximum number of neighbors that can be configured"; } } // container limits container confederation-domain { description "Set routing domain confederation AS"; leaf as-xx { type dt1:Bgp-as-range; description "xx of AS number xx.yy"; } leaf as-yy { type dt1:Bgp-as-range; description "yy of AS number xx.yy"; } } // container confederation-domain container confederation-peer-ases { description "Define peer ASes in BGP confederation"; list confederation-peer-as { key "as-xx as-yy"; description "Confederation peer AS"; leaf as-xx { type dt1:Bgp-as-range; description "xx of AS number/confed peer xx.yy"; } leaf as-yy { type dt1:Bgp-as-range; description "yy of AS number/confed peer xx.yy"; } } // list confederation-peer-as } // container confederation-peer-ases container attribute-filter-groups { description "Attribute-filter groups list"; list attribute-filter-group { key "attribute-filter-group-name"; description "Attribute-filter group"; container attribute-filters { description "Attribute-filter group attributes list"; list attribute-filter { key "attribute-start attribute-end"; description "Attribute-filter group attribute"; leaf attribute-start { type dt1:Bgp-attribute-range; description "Start of attribute range"; } leaf attribute-end { type dt1:Bgp-attribute-range; description "End of attribute range"; } leaf filter-action { type dt1:Bgp-update-filter-action; mandatory true; description "Filtering action"; } } // list attribute-filter } // container attribute-filters leaf enable { type empty; description "Attribute-filter group creation"; } leaf attribute-filter-group-name { type xr:Cisco-ios-xr-string; description "Group name"; } } // list attribute-filter-group } // container attribute-filter-groups container segment-routing-global { description "Segment-routing Gbl Configurations"; container srv6-global { description "SRv6 Configurations"; leaf enable { type empty; description "Enable SRv6 configuration submode"; } leaf locator-name { type string; description "Configure Locator name for SID allocation"; } } // container srv6-global } // container segment-routing-global container global-afs { description "Global AF-specific configuration"; list global-af { key "af-name"; description "Global AF-specific configuration"; container isis-routes { description "Redistribute information for IS-IS routes ."; list isis-route { key "instance-name"; description "Redistribute IS-IS routes"; leaf instance-name { type xr:Cisco-ios-xr-string; description "IS-IS instance name"; } leaf default-metric { type Bgp-default-metric-range; description "Default metric"; } leaf route-policy-name { type string; description "Route policy name"; } leaf redist-type { type xr:Hex-integer; description "Redistribution type: 01 for level 1 routes, 02 for level 2 routes, 04 for level 1 inter-area routes. Logical combinations permitted. 00 for all options together"; } leaf multipath { type boolean; description "Specify if Multipath, default is FALSE"; } } // list isis-route } // container isis-routes container domain-distinguisher { presence "Indicates a domain-distinguisher node is configured."; description "<ASN, router-id> tuple to use to identify the link-state domain"; leaf as { type dt1:Bgp-as-range; mandatory true; description "AS Number"; } leaf router-id { type inet:ipv4-address-no-zone; mandatory true; description "Router ID"; } } // container domain-distinguisher container vrf-all { description "Configurations to be inherited to all vrfs"; container segment-routing-vrf-all { description "Segment-routing Vrf All Configurations"; container srv6-vrf-all { description "SRv6 Configurations"; leaf enable { type empty; description "Enable SRv6 configuration submode"; } leaf srv6sid-allocation-mode { type string; description "SID allocation mode: per-ce Set per CE SID mode,per-vrf Set per VRF SID mode"; } leaf locator-name { type string; description "Configure Locator name for SID allocation"; } } // container srv6-vrf-all } // container segment-routing-vrf-all container label-mode { presence "Contains mandatory nodes that used to set default values"; description "MPLS-VPN label allocation mode"; leaf label-allocation-mode { type string; description "Label allocation mode: per-ce Set per CE label mode, per-vrf Set per VRF label mode"; } leaf route-policy-name { type string; description "Label mode route policy name"; } } // container label-mode leaf rnh-install-format { type Bgp-rnh-install-format; description "RNH install format type: extcomm - install rnh as opaque and extcomms, extcomm-only - install rnh as extcomms only"; } leaf enable { type empty; description "Enable vrf all configuration submode"; } leaf table-policy { type string; description "Configure policy for installation of routes to RIB"; } leaf source-rt-import-policy { type empty; description "Enable sourcing of import route-targets from import-policy"; } } // container vrf-all container export-vrf-allow { description "Allow export/leak to Vrf based on path-type"; leaf export-allow-backup { type boolean; description "TRUE Enable Leaking(export) of backup path, FALSE Disable Leaking(export) of backup path"; } } // container export-vrf-allow container disable-cluster-client-to-client-rrs { description "Disable client-to-client reflection for a cluster"; list disable-cluster-client-to-client-rr { must "number or ipv4-address" { description "Number or IPV4Address must be present."; } key "cluster-type"; description "Cluster ID for which reflection is to be disbled"; leaf cluster-type { type Bgp-cluster-id; description "Type of cluster-id"; } list number { when "../cluster-type = 'number'" { description "../ClusterType = Number"; } key "cluster-id-number"; description "number"; leaf cluster-id-number { type uint32 { range "0..4294967295"; } description "Cluster ID: if configured as a number"; } } // list number list ipv4-address { when "../cluster-type = 'ipv4-address'" { description "../ClusterType = IPV4Address"; } key "cluster-id-address"; description "ipv4 address"; leaf cluster-id-address { type inet:ip-address-no-zone; description "Cluster ID: if configured as an IP Address"; } } // list ipv4-address } // list disable-cluster-client-to-client-rr } // container disable-cluster-client-to-client-rrs container label-delay { presence "Indicates a label-delay node is configured."; description "Delay timer to batch label processing."; leaf seconds { type uint32 { range "0..10"; } units "second"; mandatory true; description "Delay, seconds part"; } leaf milliseconds { type uint32 { range "0..999"; } units "millisecond"; mandatory true; description "Delay, milliseconds part"; } } // container label-delay container ebgp { presence "Indicates a ebgp node is configured."; description "Use eBGP multipaths"; leaf paths-value { type uint32 { range "2..128"; } mandatory true; description "Number of paths"; } leaf unequal-cost { type boolean; mandatory true; description "UNUSED"; } leaf selective { type boolean; mandatory true; description "Allow multipaths only from marked neighbors"; } leaf order-by-igp-metric { type boolean; mandatory true; description "Order candidate multipaths by IGP metric"; } } // container ebgp container eibgp { presence "Indicates a eibgp node is configured."; description "Use eiBGP multipaths"; leaf paths-value { type uint32 { range "2..128"; } mandatory true; description "Number of paths"; } leaf unequal-cost { type boolean; mandatory true; description "UNUSED"; } leaf selective { type boolean; mandatory true; description "Allow multipaths only from marked neighbors"; } leaf order-by-igp-metric { type boolean; mandatory true; description "Order candidate multipaths by IGP metric"; } } // container eibgp container retain-rt { description "Accept received updates with the specified attributes"; leaf all { type boolean; description "Whether all RTs are to be retained, default is FALSE"; } leaf route-policy-name { type string; description "Route policy name"; } } // container retain-rt container ibgp { presence "Indicates a ibgp node is configured."; description "Use iBGP multipaths"; leaf paths-value { type uint32 { range "2..128"; } mandatory true; description "Number of paths"; } leaf unequal-cost { type boolean; mandatory true; description "Allow multipaths to have different IGP metrics"; } leaf selective { type boolean; mandatory true; description "Allow multipaths only from marked neighbors"; } leaf order-by-igp-metric { type boolean; mandatory true; description "Order candidate multipaths by IGP metric"; } } // container ibgp container import-delay { presence "Indicates a import-delay node is configured."; description "Delay timer to batch import processing."; leaf seconds { type uint32 { range "0..10"; } units "second"; mandatory true; description "Delay, seconds part"; } leaf milliseconds { type uint32 { range "0..999"; } units "millisecond"; mandatory true; description "Delay, milliseconds part"; } } // container import-delay container peer-set-ids { description "Table of Peer Set Identifiers"; list peer-set-id { key "peer-set"; description "Create Identifier for a Peer Set"; leaf peer-set-sid { type uint32 { range "0..1033575"; } description "Peer Set Label Index off SRLB to be assigned to this Peer Set"; } leaf enable { type empty; description "Peer Set Identifier creation"; } leaf peer-set { type uint32 { range "1..255"; } description "Identifier value"; } } // list peer-set-id } // container peer-set-ids leaf rnh-install-format { type Bgp-rnh-install-format; description "RNH install format type: extcomm - install rnh as opaque and extcomms, extcomm-only - install rnh as extcomms only"; } leaf option-basbr-only { type empty; description "This option makes the router an Option B ASBR for EVPN. Its assumed no DCI configs are present"; } leaf inter-as-install { type empty; description "Enable install remote MVPN routes to PIM in default VRF"; } leaf segmented-mcast { type empty; description "Enable segmented multicast"; } leaf implicit-import { type empty; description "Implicit import configuration"; } leaf disable-default-martian-check { type empty; description "Disable default Martian Check"; } leaf next-hop-critical-trigger-delay { type uint32 { range "0..4294967295"; } units "millisecond"; default "3000"; description "Next hop Critical Trigger Delay"; } leaf next-hop-non-critical-trigger-delay { type uint32 { range "0..4294967295"; } units "millisecond"; default "10000"; description "Next hop Non-critical Trigger Delay"; } leaf label-security-rpf { type empty; description "Calculate label-security RPF lists and install to RIB/LSD"; } leaf use-igpsr-label { type empty; description "Use IGP SR label for resolution configuration"; } leaf label-retain { type uint32 { range "3..60"; } units "minute"; description "Label retention time in minutes"; } leaf scan-time { type uint32 { range "5..3600"; } units "second"; default "60"; description "Configure background scanner interval for this address family"; } leaf source-route-target-policy { type string; description "Route policy name to apply to configure source route-target"; } leaf rpki-origin-as-validation-disable { type empty; description "RPKI origin-AS validation disable"; } leaf update-limit-sub-group-ebgp { type uint32 { range "1..512"; } units "megabyte"; default "32"; description "Upper bound on update generation transient memory usage for every EBGP Sub-group"; } leaf update-limit-address-family { type uint32 { range "4..2048"; } units "megabyte"; default "256"; description "Upper bound on update generation transient memory usage for the address-family"; } leaf update-limit-sub-group-ibgp { type uint32 { range "1..512"; } units "megabyte"; default "32"; description "Upper bound on update generation transient memory usage for every IBGP Sub-group"; } leaf optimal-route-reflection-default-bestpath { type boolean; description "Enable fallback to default table's bestpath when ORR bestpath is not available"; } leaf disable-client-to-client-rr { type empty; description "Disable client-to-client reflection"; } leaf next-hop-route-policy { type string; description "Next hop policy to filter out nexthop notification"; } leaf global-table-mcast { type empty; description "Enable global table multicast"; } leaf wait-rib-install { type empty; description "Wait for route install before sending updates to neighbors"; } leaf prefix-sid-map { type empty; description "Retrieve prefix sid mapping from SRMS"; } leaf af-name { type dt1:Bgp-address-family; description "Address family"; } uses RPKI-ORIGIN-AS-VALIDATION-ENABLE; uses AGGREGATE-ADDRESS-TABLE; uses DYNAMIC-MED-INTERVAL; uses EVENT-PREFIX-ROUTE-POLICY; uses DAMPENING; uses ENABLE; uses RIP-ROUTES; uses LISP-ROUTES; uses STATIC-ROUTES; uses DISTANCE; uses TABLE-POLICY; uses APP-ROUTE-TABLE; uses ATTRIBUTE-DOWNLOAD; uses LABEL-MODE; uses EIGRP-ROUTE-TABLE; uses BEST-EXTERNAL; uses SOURCED-NETWORK-TABLE; uses RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP; uses CONNECTED-ROUTES; uses ADDITIONAL-PATHS-RECEIVE; uses PERMANENT-NETWORK; uses RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY; uses ALLOCATE-LABEL; uses ADDITIONAL-PATHS-SELECTION; uses BGP-CFG-RPKI-BESTPATH-ORIGIN-AS-ALLOW-INVALID-MP; uses NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM; uses RESET-WEIGHT-ON-IMPORT; uses OSPF-ROUTE-TABLE; uses ADDITIONAL-PATHS-SEND; uses OPTIMAL-ROUTE-REFLECTION-GROUP-APPLY-TABLE; uses ADVERTISE-LOCAL-LABELED-ROUTE-SAFI-UNICAST; uses MOBILE-ROUTES; uses DISABLE-AS-PATH-LOOP-CHECK; uses NEXT-HOP-RESOLUTION-PREFIX-LENGTH-MINIMUM-IPV6; uses OPTIMAL-ROUTE-REFLECTION-GROUP-TABLE; uses SUBSCRIBER-ROUTES; uses SEGMENT-ROUTING; } // list global-af } // container global-afs container global-graceful-maintenance-activate { description "Graceful maintenance activate configurations"; container interfaces { description "BGP graceful maintenance interface table"; list interface { key "interface-name"; description "Enable graceful maintenance for e-bgp directly connected neighbors going over this interface"; leaf interface-name { type xr:Interface-name; description "Name of Interface"; } } // list interface } // container interfaces container locations { description "BGP graceful maintenance location table"; list location { key "location"; description "Enable graceful maintenance for e-bgp directly connected neighbors going over this line-card (location)"; leaf location { type xr:Node-id; description "Name of Location"; } } // list location } // container locations leaf retain-routes { type boolean; description "BGP graceful maintenance retain routes "; } leaf enable { type empty; description "Enable graceful maintenance activate configuration submode"; } leaf all-neighbors { type boolean; description "Enable graceful maintenance for all neighbors without graceful maintenance config"; } } // container global-graceful-maintenance-activate container rpki-static-routes { description "RPKI static route configuration"; list rpki-static-route { key "address minimum maximum as"; description "RPKI static route"; leaf address { type inet:ip-address-no-zone; description "Address"; } leaf minimum { type uint32 { range "0..128"; } description "Minimum Prefix Length"; } leaf maximum { type uint32 { range "1..128"; } description "Maximum Prefix Length"; } leaf as { type uint32 { range "1..4294967295"; } description "AS Number"; } } // list rpki-static-route } // container rpki-static-routes container adjacency-table { description "Table of Local Adjacencies"; container adjacency-first-hops { description "Table of Firsthop addresses that form the adjacencies"; list adjacency-first-hop { key "first-hop-address"; description "Configuration for a single adjacency"; container associated-peer-sets { description "Table of Peer sets this adjacency can be part of"; list associated-peer-set { key "peer-set"; description "Associate this peer-set with the adjacency"; leaf peer-set { type uint32 { range "1..255"; } description "Identifier value"; } } // list associated-peer-set } // container associated-peer-sets leaf adjacency-sid { type uint32 { range "0..1033575"; } description "Configure Segment Index value for this adjacency"; } leaf adjacency-first-hop-enable { type empty; description "Enable creation of this firsthop adjacency"; } leaf first-hop-address { type inet:ip-address-no-zone; description "IP Address of Firsthop"; } } // list adjacency-first-hop } // container adjacency-first-hops } // container adjacency-table leaf graceful-restart { type empty; description "Enable graceful restart support"; } leaf update-out-logging { type empty; description "Enables logging of update generation events"; } leaf install-diversion { type empty; description "Install diversion path to RIB/CEF"; } leaf next-hop-trigger-delay { type uint32 { range "0..300"; } units "second"; default "5"; description "Set the delay for triggering nexthop recalculations"; } leaf nsr { type boolean; description "TRUE to Enable non-stop routing supportFALSE to Disable non-stop routing support"; } leaf neighbor-logging-detail { type empty; description "Include extra detail in neighbor change messages"; } leaf mvpn { type empty; description "Connect to PIM/PIM6"; } leaf rpki-origin-as-validation-disable { type empty; description "RPKI origin-AS validation disable"; } leaf global-scan-time { type uint32 { range "5..3600"; } units "second"; default "60"; description "Configure background scanner interval for generic scanner"; } leaf rpki-origin-as-validation-time { type uint32 { range "0..60"; } units "second"; description "Prefix validation time (in seconds). Range : 5 - 60. Specify 0 to disable the timer"; } leaf rpki-bestpath-origin-as-allow-invalid { type empty; description "RPKI bestpath origin-AS allow invalid"; } leaf graceful-restart-purge-time { type uint32 { range "0..6000"; } units "second"; default "600"; description "Time before stale routes are purged."; } leaf enforce-ibgp-out-policy { type empty; description "Allow all attributes to be modified by outbound policy for iBGP peers"; } leaf update-limit-process { type uint32 { range "16..2048"; } units "megabyte"; default "512"; description "Upper bound on update generation transient memory usage for the process"; } leaf graceful-restart-time { type uint32 { range "1..4095"; } units "second"; default "120"; description "Restart time advertised to neighbors"; } leaf update-error-handling-basic-ibgp-disable { type empty; description "Inbound update basic error-handling for IBGP neighbors"; } leaf read-only { type empty; description "Allow duplicate table config and disable update generation"; } leaf graceful-restart-stalepath-time { type uint32 { range "1..4095"; } units "second"; default "360"; description "Maximum time to wait for restart of GR capable peers"; } leaf graceful-restart-neighbor-retain-disable { type empty; description "Do not retain neighbor routes when neighbor session resets if neighbor also has graceful restart disabled"; } leaf update-error-handling-extended-ebgp { type empty; description "Inbound update extended error-handling for EBGP neighbors"; } leaf update-error-handling-basic-ebgp-disable { type empty; description "Inbound update basic error-handling for EBGP neighbors"; } leaf graceful-reset { type empty; description "Reset gracefully if configuration change forces a peer reset"; } leaf igp-loop-check { type empty; description "Enable AS-path loop checking for iBGP peers"; } leaf update-error-handling-extended-ibgp { type empty; description "Inbound update extended error-handling for IBGP neighbors"; } uses ROUTER-ID; uses SLOW-PEER-DETECTION-DISABLE; uses DISABLE-ENFORCE-FIRST-AS; uses BEST-PATH-COST-COMMUNITY; uses BEST-PATH-AIGP-IGNORE; uses BEST-PATH-IGP-METRIC-SR-POLICY; uses NEXT-HOP-VAL-SRTE; uses BEST-PATH-AS-PATH-LENGTH; uses NEXT-HOP-VAL-DISABLE; uses IGP-REDIST-INTERNAL; uses MULTI-PATH-AS-PATH-IGNORE-ONWARDS; uses DISABLE-FAST-EXTERNAL-FALLOVER; uses UNSAFE-EBGP-POLICY; uses DEFAULT-METRIC; uses DEFAULT-INFO-ORIGINATE; uses BGP-CFG-RPKI-ORIGIN-AS-VALIDITY-SIGNAL-IBGP; uses BGP-CFG-RPKI-BESTPATH-USE-ORIGIN-AS-VALIDITY; uses BEST-PATH-CONFEDERATION-PATHS; uses BEST-PATH-AS-MULTIPATH-RELAX; uses MPLS-ACTIVATED-INTERFACE-TABLE; uses DISABLE-AUTO-SOFT-RESET; uses DISABLE-MSG-LOG; uses MULTI-PATH-USE-CLUSTER-LIST-LENGTH; uses GLOBAL-TIMERS; uses BEST-PATH-IGP-METRIC-IGNORE; uses NEXT-HOP-RES-ALLOW-DEFAULT; uses BEST-PATH-SR-POLICY-ONLY-PATH; uses NEXT-HOP-MPLS-FWD-IBGP; uses BFD; uses DISABLE-NEIGHBOR-LOGGING; uses SEND-SOCKET-BUFFER-SIZES; uses BEST-PATH-MED-ALWAYS; uses RECEIVE-SOCKET-BUFFER-SIZES; uses BEST-PATH-ROUTER-ID; uses BEST-PATH-MED-MISSING; uses LOCAL-PREFERENCE; } // container global } // container default-vrf leaf bgp-running { type empty; description "Enable BGP. Deletion of this object causes deletion of all the objects under FourByteAS associated with this object."; } leaf as { type dt1:Bgp-as-range; description "2-byte or 4-byte Autonomous system number"; } } // list four-byte-as } // list instance-as } // list instance } // container bgp container bmp-server-all { status deprecated; description "This model is deprecated and is replaced by Cisco-IOS-XR-um-router-bgp-cfg.yang which will provide the compatible functionalities. BGP BMP Server Common Configuration"; container route-monitoring { description "Enable Route Monitoring capability for the BMP servers. BGP update messages messages will be regenrated with a table walk "; leaf policy { type Bmp-policy-select; description "Specify if the routes packed in update messages should be before or after the application of route-policy"; } leaf direction { type Bmp-route-direction; description "Specify if the routes should be picked up at inbound or outbound direction"; } } // container route-monitoring leaf maximum-buffer-size { type uint32 { range "1..4294967295"; } units "megabyte"; description "Range in MegaBytes for the maximum buffer size of BMP message queue. The maximum buf-size is 20% and default buf-size is 15% of the platform virtual memory max-limit (aka rlimit). Please run show bgp process performance-statistics to see the individual values. Unit is in Megabytes"; } } // container bmp-server-all container bmp-servers { status deprecated; description "This model is deprecated and is replaced by Cisco-IOS-XR-um-router-bgp-cfg.yang which will provide the compatible functionalities. BGP BMP Server Configuration"; list bmp-server { key "server-id"; description "A particular BMP server"; container initial-refresh-delay { description "Initial refresh to generate BGP updates"; leaf delay { type uint32 { range "1..3600"; } units "second"; must "not(../skip)"; description "Delay in seconds before sending Refresh request to Peers"; } leaf spread { type uint32 { range "1..3600"; } must "../delay and not(../skip)"; description "Spread over which to send initial Refresh request to Peers"; } leaf skip { type empty; must "not(../delay or ../spread)"; description "Skip Route Refresh request to Peers"; } } // container initial-refresh-delay container host-port { description "Configure Host Name/Address and Port for BMP Server"; leaf host { type string; description "Name of the BMP server(accepts IPv4/IPv6 Address format too)"; } leaf port { type xr:Cisco-ios-xr-port-number; description "Port Number of listening BMP server"; } } // container host-port container tos { description "TOS (Type Of Service)"; leaf type { type dt1:Bgp-tos; description "Set type of service"; } leaf value { type dt1:Bgp-precedence-dscp; description "TOS value to set"; } } // container tos leaf create { type empty; description "BMP Server Creation"; } leaf maximum-buffer-size { type uint32 { range "1..4294967295"; } units "megabyte"; description "Range in MegaBytes for the maximum buffer size of BMP message queue. The maximum buf-size is 20% and default buf-size is 15% of the platform virtual memory max-limit (aka rlimit) . Please run show bgp process performance-statistics to see the individual values. Unit is in Megabytes"; } leaf initial-delay { type uint32 { range "1..3600"; } units "second"; description "Initial connect delay in seconds in sending updates"; } leaf flapping-delay { type uint32 { range "60..3600"; } units "second"; description "Delay in connecting to BMP Server after a flap had been detected."; } leaf status-report-interval { type uint32 { range "1..3600"; } units "second"; description "Stats reporting period for BMP server"; } leaf description { type string; description "String to describe the BMP server"; } leaf bmptcp-maximum-segment-size { type uint32 { range "68..10000"; } units "byte"; description "configure TCP maximum segment size. Default=16384."; } leaf bmptcp-keep-alive { type uint32 { range "0..7200"; } units "second"; description "configure TCP keep alives to be exchanged between client and server. Default=1000"; } leaf vrf { type string; description "VRF for BMP Server"; } leaf shutdown { type empty; description "Shutdown connection to BMP server"; } leaf update-source-interface { type xr:Interface-name; description "Select an interface to configure"; } leaf server-id { type uint32 { range "1..8"; } description "BMP Server ID"; } } // list bmp-server } // container bmp-servers } // module Cisco-IOS-XR-ipv4-bgp-cfg
© 2024 YumaWorks, Inc. All rights reserved.