module frr-bgp { yang-version 1.1; namespace "http://frrouting.org/yang/bgp"; prefix frr-bgp; import frr-routing { prefix frr-rt; } import ietf-inet-types { prefix inet; } import ietf-routing-types { prefix rt-types; } import frr-interface { prefix frr-interface; } import frr-bgp-types { prefix frr-bt; } include "frr-bgp-common"; include "frr-bgp-common-structure"; include "frr-bgp-common-multiprotocol"; include "frr-bgp-neighbor"; include "frr-bgp-peer-group"; include "frr-bgp-bmp"; organization "FRRouting"; contact "FRR Users List: FRR Development List: "; description "This module defines a model for managing FRR bgpd daemon. Copyright 2020 FRRouting Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."; revision 2019-12-03 { description "Initial revision."; } identity bgp { base frr-rt:routing-protocol; description "BGP protocol."; } grouping mp-afi-unicast-common { uses global-group-use-multiple-paths; uses global-redistribute; uses admin-distance; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol" { container bgp { when "../frr-rt:type = 'frr-bgp:bgp'" { description "BGP protocol augmentation of ietf-routing module control-plane-protocol."; } presence "Enables configuration of BGP"; description "Top-level configuration for the BGP router."; container global { description "Global configuration for the BGP router."; leaf local-as { type inet:as-number; mandatory true; description "Local autonomous system number of the router. Uses the 32-bit as-number type from the model in RFC 6991."; } uses frr-rt:router-id; container confederation { description "Configuration options specifying parameters when the local router is within an autonomous system which is part of a BGP confederation."; leaf identifier { type inet:as-number; description "Confederation identifier for the autonomous system."; } leaf-list member-as { type inet:as-number; description "Remote autonomous systems that are to be treated as part of the local confederation."; } } uses med-config; uses route-reflector-config; uses route-selection-options; uses global-neighbor-config; container graceful-restart { description "Parameters relating the graceful restart mechanism for BGP."; uses graceful-restart-config; } uses global-update-group-config; uses global-config-timers; uses global-bgp-config; uses global-network-config; uses global-graceful-shutdown; uses global-bmp-config; container afi-safis { description "List of address-families associated with the BGP instance."; list afi-safi { key "afi-safi-name"; description "AFI, SAFI configuration available for the neighbour or group."; uses mp-afi-safi-config; uses mp-all-afi-safi-list-contents; } } } container neighbors { description "Configuration for BGP neighbors."; list neighbor { key "remote-address"; description "List of BGP neighbors configured on the local system, uniquely identified by remote IPv[46] address."; leaf remote-address { type inet:ip-address; description "The remote IP address of this entry's BGP peer."; } leaf local-interface { type frr-interface:interface-ref { require-instance false; } description "Neighbor's interface name."; } leaf local-port { type inet:port-number { range "0..65535"; } description "Neighbor's BGP TCP port number."; } leaf peer-group { type leafref { path "../../../peer-groups/peer-group/peer-group-name"; } description "The peer-group with which this neighbor is associated."; } container neighbor-remote-as { leaf remote-as-type { type frr-bt:as-type; mandatory true; description "Remote AS type."; } leaf remote-as { when "../remote-as-type = 'as-specified'"; type inet:as-number; description "The remote autonomous system number received in the BGP OPEN message."; reference "RFC 4271"; } } uses neighbor-parameters; } list unnumbered-neighbor { key "interface"; description "List of BGP neighbors configured on the local system, uniquely identified by interfaces."; leaf interface { type frr-interface:interface-ref { require-instance false; } description "The local interface of this entry's BGP peer."; } leaf v6only { type boolean; default "false"; description "When set to 'true' it will create a neighbor with v6 link local only."; } leaf peer-group { type leafref { path "../../../peer-groups/peer-group/peer-group-name"; } description "The peer-group with which this neighbor is associated."; } uses neighbor-remote-as; uses neighbor-parameters; } } container peer-groups { description "Configuration for BGP peer-groups."; uses bgp-peer-group-list; } } } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv4-unicast" { list network-config { key "prefix"; description "A list of network routes."; leaf prefix { type inet:ipv4-prefix; description "IPv4 destination prefix."; } leaf backdoor { type boolean; default "false"; description "Specify a BGP backdoor route."; } uses mp-afi-safi-network-config; } list aggregate-route { key "prefix"; description "A list of aggregated routes."; leaf prefix { type inet:ipv4-prefix; description "IPv4 destination prefix."; } uses mp-afi-safi-agg-route-config; } list admin-distance-route { key "prefix"; description "A list of routes with a particular admin distance."; leaf prefix { type inet:ipv4-prefix; description "IPv4 destination prefix."; } uses distance-per-route-config; } uses route-flap-dampening; uses mp-afi-unicast-common; uses global-filter-config; uses global-afi-safi-vpn-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv6-unicast" { list network-config { key "prefix"; description "A list of network routes."; leaf prefix { type inet:ipv6-prefix; description "IPv6 destination prefix."; } leaf backdoor { type boolean; default "false"; description "Specify a BGP backdoor route."; } uses mp-afi-safi-network-config; } list aggregate-route { key "prefix"; description "A list of aggregated routes."; leaf prefix { type inet:ipv6-prefix; description "IPv6 destination prefix."; } uses mp-afi-safi-agg-route-config; } list admin-distance-route { key "prefix"; description "A list of routes with a particular admin distance."; leaf prefix { type inet:ipv6-prefix; description "IPv6 destination prefix."; } uses distance-per-route-config; } uses route-flap-dampening; uses mp-afi-unicast-common; uses global-filter-config; uses global-afi-safi-vpn-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv4-labeled-unicast" { uses global-group-use-multiple-paths; uses route-flap-dampening; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv6-labeled-unicast" { uses global-group-use-multiple-paths; uses route-flap-dampening; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv4-multicast" { list network-config { key "prefix"; description "A list of network routes."; leaf prefix { type rt-types:ipv4-multicast-group-address; description "IPv4 multicast destination prefix."; } leaf backdoor { type boolean; default "false"; description "Specify a BGP backdoor route."; } uses mp-afi-safi-network-config; } list aggregate-route { key "prefix"; description "A list of aggregated routes."; leaf prefix { type rt-types:ipv4-multicast-group-address; description "IPv4 multicast destination prefix."; } uses mp-afi-safi-agg-route-config; } list admin-distance-route { key "prefix"; description "A list of routes with a particular admin distance."; leaf prefix { type rt-types:ipv4-multicast-group-address; description "IPv4 multicast destination prefix."; } uses distance-per-route-config; } uses admin-distance; uses route-flap-dampening; uses global-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv6-multicast" { list network-config { key "prefix"; description "A list of network routes."; leaf prefix { type rt-types:ipv6-multicast-group-address; description "IPv6 multicast destination prefix."; } leaf backdoor { type boolean; default "false"; description "Specify a BGP backdoor route."; } uses mp-afi-safi-network-config; } list aggregate-route { key "prefix"; description "A list of aggregated routes."; leaf prefix { type rt-types:ipv6-multicast-group-address; description "IPv6 multicast destination prefix."; } uses mp-afi-safi-agg-route-config; } list admin-distance-route { key "prefix"; description "A list of routes with a particular admin distance."; leaf prefix { type rt-types:ipv6-multicast-group-address; description "IPv6 multicast destination prefix."; } uses distance-per-route-config; } uses route-flap-dampening; uses admin-distance; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv4-flowspec" { uses flow-spec-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/l3vpn-ipv4-unicast" { uses global-afi-safi-vpn-network-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/l3vpn-ipv6-unicast" { uses global-afi-safi-vpn-network-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/bmp-config/target-list/afi-safis/afi-safi/ipv4-unicast" { uses bmp-afi-safi-common-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/bmp-config/target-list/afi-safis/afi-safi/ipv4-multicast" { uses bmp-afi-safi-common-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/bmp-config/target-list/afi-safis/afi-safi/ipv6-unicast" { uses bmp-afi-safi-common-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/bmp-config/target-list/afi-safis/afi-safi/ipv6-multicast" { uses bmp-afi-safi-common-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-weight; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-unicast" { leaf nexthop-local-unchanged { type boolean; default "false"; description "Configure treatment of outgoing link-local nexthop attribute. When set to 'true' it leaves link-local nexthop unchanged for this peer."; } uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-multicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-multicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-labeled-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-labeled-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/l3vpn-ipv4-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/l3vpn-ipv6-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/l2vpn-evpn" { uses structure-neighbor-group-as-path-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-nexthop-self; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-flowspec" { uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-flowspec" { uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-weight; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-unicast" { leaf nexthop-local-unchanged { type boolean; default "false"; description "Configure treatment of outgoing link-local nexthop attribute. When set to 'true' it leaves link-local nexthop unchanged for this peer."; } uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-multicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-multicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-labeled-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-labeled-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/l3vpn-ipv4-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/l3vpn-ipv6-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/l2vpn-evpn" { uses structure-neighbor-group-as-path-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-nexthop-self; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-flowspec" { uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-flowspec" { uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-weight; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-unicast" { leaf nexthop-local-unchanged { type boolean; default "false"; description "Configure treatment of outgoing link-local nexthop attribute. When set to 'true' it leaves link-local nexthop unchanged for this peer."; } uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-multicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-multicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-labeled-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-labeled-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-default-originate-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-group-orf-capability; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/l3vpn-ipv4-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/l3vpn-ipv6-unicast" { uses structure-neighbor-group-add-paths; uses structure-neighbor-group-as-path-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-prefix-limit; uses structure-neighbor-nexthop-self; uses structure-neighbor-private-as; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-send-community; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-weight; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/l2vpn-evpn" { uses structure-neighbor-group-as-path-options; uses structure-neighbor-group-attr-unchanged; uses structure-neighbor-nexthop-self; uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-flowspec" { uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-group-filter-config; } augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-flowspec" { uses structure-neighbor-route-reflector; uses structure-neighbor-route-server; uses structure-neighbor-group-soft-reconfiguration; uses structure-neighbor-group-filter-config; } }