submodule openconfig-bgp-peer-group { belongs-to openconfig-bgp { prefix "oc-bgp"; } import openconfig-extensions { prefix oc-ext; } import openconfig-routing-policy { prefix oc-rpol; } // Include the common submodule include openconfig-bgp-common; include openconfig-bgp-common-multiprotocol; include openconfig-bgp-common-structure; // meta organization "OpenConfig working group"; contact "OpenConfig working group netopenconfig@googlegroups.com"; description "This sub-module contains groupings that are specific to the peer-group context of the OpenConfig BGP module."; oc-ext:openconfig-version "5.0.1"; revision "2018-08-20" { description "Correct description of AFI-SAFI enabled leaf."; reference "5.0.1"; } revision "2018-04-11" { description "Correct naming of BGP maximum prefix warning percentage leaf."; reference "5.0.0"; } revision "2018-03-20" { description "Added SR-TE policy SAFI"; reference "4.1.0"; } revision "2017-07-10" { description "Add error notifications; moved add-paths config; add AS prepend policy features; removed unneeded config leaves"; reference "4.0.0"; } revision "2017-02-02" { description "Bugfix to remove remaining global-level policy data"; reference "3.0.1"; } revision "2017-01-26" { description "Add dynamic neighbor support, migrate to OpenConfig types"; reference "3.0.0"; } revision "2016-06-21" { description "OpenConfig BGP refactor"; reference "2.1.1"; } grouping bgp-peer-group-config { description "Configuration parameters relating to a base BGP peer group that are not also applicable to any other context (e.g., neighbor)"; leaf peer-group-name { type string; description "Name of the BGP peer-group"; } } grouping bgp-peer-group-afi-safi-list { description "List of address-families associated with the BGP peer-group"; list afi-safi { key "afi-safi-name"; description "AFI,SAFI configuration available for the neighbour or group"; leaf afi-safi-name { type leafref { path "../config/afi-safi-name"; } description "Reference to the AFI-SAFI name used as a key for the AFI-SAFI list"; } container config { description "Configuration parameters for the AFI-SAFI"; uses bgp-common-mp-afi-safi-config; } container state { config false; description "State information relating to the AFI-SAFI"; uses bgp-common-mp-afi-safi-config; } container graceful-restart { description "Parameters relating to BGP graceful-restart"; container config { description "Configuration options for BGP graceful-restart"; uses bgp-common-mp-afi-safi-graceful-restart-config; } container state { config false; description "State information for BGP graceful-restart"; uses bgp-common-mp-afi-safi-graceful-restart-config; } } uses bgp-common-structure-neighbor-group-add-paths; uses bgp-common-global-group-use-multiple-paths; uses bgp-common-mp-all-afi-safi-list-contents; } } grouping bgp-peer-group-base { description "Parameters related to a BGP group"; container config { description "Configuration parameters relating to the BGP neighbor or group"; uses bgp-peer-group-config; uses bgp-common-neighbor-group-config; } container state { config false; description "State information relating to the BGP peer-group"; uses bgp-peer-group-config; uses bgp-common-neighbor-group-config; uses bgp-common-state; } container timers { description "Timers related to a BGP peer-group"; container config { description "Configuration parameters relating to timers used for the BGP neighbor or peer group"; uses bgp-common-neighbor-group-timers-config; } container state { config false; description "State information relating to the timers used for the BGP group"; uses bgp-common-neighbor-group-timers-config; } } container transport { description "Transport session parameters for the BGP peer-group"; container config { description "Configuration parameters relating to the transport session(s) used for the BGP neighbor or group"; uses bgp-common-neighbor-group-transport-config; } container state { config false; description "State information relating to the transport session(s) used for the BGP neighbor or group"; uses bgp-common-neighbor-group-transport-config; } } container error-handling { description "Error handling parameters used for the BGP peer-group"; container config { description "Configuration parameters enabling or modifying the behavior or enhanced error handling mechanisms for the BGP group"; uses bgp-common-neighbor-group-error-handling-config; } container state { config false; description "State information relating to enhanced error handling mechanisms for the BGP group"; uses bgp-common-neighbor-group-error-handling-config; } } container graceful-restart { description "Parameters relating the graceful restart mechanism for BGP"; container config { description "Configuration parameters relating to graceful-restart"; uses bgp-common-graceful-restart-config; } container state { config false; description "State information associated with graceful-restart"; uses bgp-common-graceful-restart-config; } } uses bgp-common-structure-neighbor-group-logging-options; uses bgp-common-structure-neighbor-group-ebgp-multihop; uses bgp-common-structure-neighbor-group-route-reflector; uses bgp-common-structure-neighbor-group-as-path-options; uses bgp-common-global-group-use-multiple-paths; uses oc-rpol:apply-policy-group; container afi-safis { description "Per-address-family configuration parameters associated with thegroup"; uses bgp-peer-group-afi-safi-list; } } grouping bgp-peer-group-list { description "The list of BGP peer groups"; list peer-group { key "peer-group-name"; description "List of BGP peer-groups configured on the local system - uniquely identified by peer-group name"; leaf peer-group-name { type leafref { path "../config/peer-group-name"; } description "Reference to the name of the BGP peer-group used as a key in the peer-group list"; } uses bgp-peer-group-base; } } }