This sub-module contains groupings that are related to support for multiple protocols in BGP. The groupings are common across mu...
Version: 2023-12-28
submodule openconfig-bgp-common-multiprotocol { yang-version 1; belongs-to openconfig-bgp { prefix oc-bgp; } import openconfig-extensions { prefix oc-ext; } import openconfig-bgp-types { prefix oc-bgp-types; } import openconfig-routing-policy { prefix oc-rpol; } import openconfig-types { prefix oc-types; } include openconfig-bgp-common; organization "OpenConfig working group"; contact "OpenConfig working group netopenconfig@googlegroups.com"; description "This sub-module contains groupings that are related to support for multiple protocols in BGP. The groupings are common across multiple contexts."; revision "2023-12-28" { description "Clarification to last-prefix-limit-exceeded in description"; reference "9.7.1"; } revision "2023-12-28" { description "Add support for controling use of link-bandwidth extended community for BGP multipath."; reference "9.7.0"; } revision "2023-11-02" { description "Fix revision '2023-03-31': send-community-type was added to the wrong grouping. Allow configuring send-community per AFI-SAFI at neighbor/peer-group."; reference "9.6.0"; } revision "2023-11-01" { description "Add default apply policy to global and per afi-safi config."; reference "9.5.0"; } revision "2023-06-27" { description "Clarify bgp remote-port description"; reference "9.4.1"; } revision "2023-04-01" { description "Add support for BGP large communities [rfc8092] in send-community. Leaf send-community was replaced by the leaf-list send-community-type to allow the combination of different community types"; reference "9.4.0"; } revision "2023-03-31" { description "Allow configuring send-community per AFI-SAFI at neighbor/peer-group."; reference "9.3.0"; } revision "2022-12-12" { description "Removed the default of enabled leaf of AFI-SAFI at neighbor/peer-group to support BGP inheritance model."; reference "9.2.0"; } revision "2022-05-21" { description "Added extended-next-hop-encoding leaf."; reference "9.1.0"; } revision "2022-04-26" { description "Transition decimal64 types to uint16 for various BGP timers"; reference "9.0.0"; } revision "2022-03-21" { description "Add BGP port"; reference "8.1.0"; } revision "2021-12-01" { description "Add prefix-limit-received, add prefix-limit state nodes, change/relocate restart-timer"; reference "8.0.0"; } revision "2021-10-21" { description "Removal of top-level /bgp container"; reference "7.0.0"; } revision "2021-06-16" { description "Remove trailing whitespace"; reference "6.1.1"; } revision "2021-03-17" { description "Add bfd support without augmentation."; reference "6.1.0"; } revision "2019-07-10" { description "Normalise timestamp units to nanoseconds."; reference "6.0.0"; } revision "2019-05-28" { description "Clarify prefix counter descriptions, add received-pre-policy counter."; reference "5.2.0"; } revision "2019-04-16" { description "Add BGP RIB to the top-level BGP container"; reference "5.1.0"; } revision "2018-11-21" { description "Add OpenConfig module metadata extensions."; reference "5.0.2"; } 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-30" { description "Clarification of add-paths send-max leaf"; reference "4.0.1"; } revision "2017-07-10" { description "Add error notifications; moved add-paths config; add AS prepend policy features; removed unneeded config leaves"; reference "4.0.0"; } 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"; } oc-ext:openconfig-version "9.7.1"; grouping bgp-common-mp-afi-safi-graceful-restart-config { description "BGP graceful restart parameters that apply on a per-AFI-SAFI basis"; leaf enabled { type boolean; default 'false'; description "This leaf indicates whether graceful-restart is enabled for this AFI-SAFI"; } } // grouping bgp-common-mp-afi-safi-graceful-restart-config grouping bgp-common-mp-afi-safi-extended-next-hop-encoding-config { description "BGP extended next-hop encoding parameters that apply on a per-AFI-SAFI basis"; leaf extended-next-hop-encoding { type boolean; default 'false'; description "This leaf indicates whether extended next-hop encoding is enabled for this AFI-SAFI"; } } // grouping bgp-common-mp-afi-safi-extended-next-hop-encoding-config grouping bgp-common-mp-global-afi-safi-config { description "Configuration parameters used for all BGP global AFI-SAFIs"; leaf afi-safi-name { type identityref { base oc-bgp-types:AFI_SAFI_TYPE; } description "AFI,SAFI"; } leaf enabled { type boolean; default 'false'; description "This leaf indicates whether the AFI-SAFI is enabled for all neighbors or groups."; } leaf-list send-community-type { type oc-bgp-types:community-type; description "Specify which types of community should be sent to the neighbor or group. The default is to not send the community attribute. This takes precedence over the neighbor or group configuration"; } } // grouping bgp-common-mp-global-afi-safi-config grouping bgp-common-mp-afi-safi-config { description "Configuration parameters used for all BGP neighbors or groups AFI-SAFIs"; leaf afi-safi-name { type identityref { base oc-bgp-types:AFI_SAFI_TYPE; } description "AFI,SAFI"; } leaf enabled { type boolean; description "This leaf indicates whether the AFI-SAFI is enabled for the neighbor or group"; } leaf-list send-community-type { type oc-bgp-types:community-type; description "Specify which types of community should be sent to the neighbor or group. The default is to not send the community attribute. This takes precedence over the neighbor or group configuration"; } } // grouping bgp-common-mp-afi-safi-config grouping bgp-common-mp-all-afi-safi-list-contents { description "A common grouping used for contents of the list that is used for AFI-SAFI entries"; uses oc-rpol:apply-policy-group; uses bgp-common-mp-ipv4-unicast-group; uses bgp-common-mp-ipv6-unicast-group; uses bgp-common-mp-ipv4-labeled-unicast-group; uses bgp-common-mp-ipv6-labeled-unicast-group; uses bgp-common-mp-l3vpn-ipv4-unicast-group; uses bgp-common-mp-l3vpn-ipv6-unicast-group; uses bgp-common-mp-l3vpn-ipv4-multicast-group; uses bgp-common-mp-l3vpn-ipv6-multicast-group; uses bgp-common-mp-l2vpn-vpls-group; uses bgp-common-mp-l2vpn-evpn-group; uses bgp-common-mp-srte-policy-ipv4-group; uses bgp-common-mp-srte-policy-ipv6-group; } // grouping bgp-common-mp-all-afi-safi-list-contents grouping bgp-common-mp-ipv4-unicast-group { description "Group for IPv4 Unicast configuration options"; container ipv4-unicast { when "../afi-safi-name = 'oc-bgp-types:IPV4_UNICAST'" { description "Include this container for IPv4 Unicast specific configuration"; } description "IPv4 unicast configuration options"; uses bgp-common-mp-ipv4-unicast-common; } // container ipv4-unicast } // grouping bgp-common-mp-ipv4-unicast-group grouping bgp-common-mp-ipv6-unicast-group { description "Group for IPv6 Unicast configuration options"; container ipv6-unicast { when "../afi-safi-name = 'oc-bgp-types:IPV6_UNICAST'" { description "Include this container for IPv6 Unicast specific configuration"; } description "IPv6 unicast configuration options"; uses bgp-common-mp-ipv6-unicast-common; } // container ipv6-unicast } // grouping bgp-common-mp-ipv6-unicast-group grouping bgp-common-mp-ipv4-labeled-unicast-group { description "Group for IPv4 Labeled Unicast configuration options"; container ipv4-labeled-unicast { when "../afi-safi-name = 'oc-bgp-types:IPV4_LABELED_UNICAST'" { description "Include this container for IPv4 Labeled Unicast specific configuration"; } description "IPv4 Labeled Unicast configuration options"; uses bgp-common-mp-all-afi-safi-common; } // container ipv4-labeled-unicast } // grouping bgp-common-mp-ipv4-labeled-unicast-group grouping bgp-common-mp-ipv6-labeled-unicast-group { description "Group for IPv6 Labeled Unicast configuration options"; container ipv6-labeled-unicast { when "../afi-safi-name = 'oc-bgp-types:IPV6_LABELED_UNICAST'" { description "Include this container for IPv6 Labeled Unicast specific configuration"; } description "IPv6 Labeled Unicast configuration options"; uses bgp-common-mp-all-afi-safi-common; } // container ipv6-labeled-unicast } // grouping bgp-common-mp-ipv6-labeled-unicast-group grouping bgp-common-mp-l3vpn-ipv4-unicast-group { description "Group for IPv4 Unicast L3VPN configuration options"; container l3vpn-ipv4-unicast { when "../afi-safi-name = 'oc-bgp-types:L3VPN_IPV4_UNICAST'" { description "Include this container for IPv4 Unicast L3VPN specific configuration"; } description "Unicast IPv4 L3VPN configuration options"; uses bgp-common-mp-l3vpn-ipv4-ipv6-unicast-common; } // container l3vpn-ipv4-unicast } // grouping bgp-common-mp-l3vpn-ipv4-unicast-group grouping bgp-common-mp-l3vpn-ipv6-unicast-group { description "Group for IPv6 Unicast L3VPN configuration options"; container l3vpn-ipv6-unicast { when "../afi-safi-name = 'oc-bgp-types:L3VPN_IPV6_UNICAST'" { description "Include this container for unicast IPv6 L3VPN specific configuration"; } description "Unicast IPv6 L3VPN configuration options"; uses bgp-common-mp-l3vpn-ipv4-ipv6-unicast-common; } // container l3vpn-ipv6-unicast } // grouping bgp-common-mp-l3vpn-ipv6-unicast-group grouping bgp-common-mp-l3vpn-ipv4-multicast-group { description "Group for IPv4 L3VPN multicast configuration options"; container l3vpn-ipv4-multicast { when "../afi-safi-name = 'oc-bgp-types:L3VPN_IPV4_MULTICAST'" { description "Include this container for multicast IPv6 L3VPN specific configuration"; } description "Multicast IPv4 L3VPN configuration options"; uses bgp-common-mp-l3vpn-ipv4-ipv6-multicast-common; } // container l3vpn-ipv4-multicast } // grouping bgp-common-mp-l3vpn-ipv4-multicast-group grouping bgp-common-mp-l3vpn-ipv6-multicast-group { description "Group for IPv6 L3VPN multicast configuration options"; container l3vpn-ipv6-multicast { when "../afi-safi-name = 'oc-bgp-types:L3VPN_IPV6_MULTICAST'" { description "Include this container for multicast IPv6 L3VPN specific configuration"; } description "Multicast IPv6 L3VPN configuration options"; uses bgp-common-mp-l3vpn-ipv4-ipv6-multicast-common; } // container l3vpn-ipv6-multicast } // grouping bgp-common-mp-l3vpn-ipv6-multicast-group grouping bgp-common-mp-l2vpn-vpls-group { description "Group for BGP-signalled VPLS configuration options"; container l2vpn-vpls { when "../afi-safi-name = 'oc-bgp-types:L2VPN_VPLS'" { description "Include this container for BGP-signalled VPLS specific configuration"; } description "BGP-signalled VPLS configuration options"; uses bgp-common-mp-l2vpn-common; } // container l2vpn-vpls } // grouping bgp-common-mp-l2vpn-vpls-group grouping bgp-common-mp-l2vpn-evpn-group { description "Group for BGP EVPN configuration options"; container l2vpn-evpn { when "../afi-safi-name = 'oc-bgp-types:L2VPN_EVPN'" { description "Include this container for BGP EVPN specific configuration"; } description "BGP EVPN configuration options"; uses bgp-common-mp-l2vpn-common; } // container l2vpn-evpn } // grouping bgp-common-mp-l2vpn-evpn-group grouping bgp-common-mp-all-afi-safi-common { description "Grouping for configuration common to all AFI,SAFI"; container prefix-limit { description "Configure the maximum number of prefixes that will be accepted from a peer"; container config { description "Configuration parameters relating to the prefix limit for the AFI-SAFI"; uses bgp-common-mp-all-afi-safi-common-prefix-limit-config; } // container config container state { config false; description "State information relating to the prefix-limit for the AFI-SAFI"; uses bgp-common-mp-all-afi-safi-common-prefix-limit-config; uses bgp-common-mp-all-afi-safi-common-prefix-limit-state; } // container state } // container prefix-limit container prefix-limit-received { description "Configure the maximum number of prefixes that will be received from a peer"; container config { description "Configuration parameters relating to the prefix limit for the AFI-SAFI"; uses bgp-common-mp-all-afi-safi-common-prefix-limit-config; } // container config container state { config false; description "State information relating to the prefix-limit for the AFI-SAFI"; uses bgp-common-mp-all-afi-safi-common-prefix-limit-config; uses bgp-common-mp-all-afi-safi-common-prefix-limit-state; } // container state } // container prefix-limit-received } // grouping bgp-common-mp-all-afi-safi-common grouping bgp-common-mp-ipv4-unicast-common { description "Configuration that is applicable for IPv4 unicast"; uses bgp-common-mp-all-afi-safi-common; container config { description "Configuration parameters for IPv4 unicast AFI-SAFI options"; uses bgp-common-mp-ipv4-ipv6-unicast-common-config; uses bgp-common-mp-afi-safi-extended-next-hop-encoding-config; } // container config container state { config false; description "State information for IPv4 parameters"; uses bgp-common-mp-ipv4-ipv6-unicast-common-config; uses bgp-common-mp-afi-safi-extended-next-hop-encoding-config; } // container state } // grouping bgp-common-mp-ipv4-unicast-common grouping bgp-common-mp-ipv6-unicast-common { description "Configuration that is applicable for IPv6 unicast"; uses bgp-common-mp-all-afi-safi-common; container config { description "Configuration parameters for IPv6 unicast AFI-SAFI options"; uses bgp-common-mp-ipv4-ipv6-unicast-common-config; } // container config container state { config false; description "State information for IPv6 unicast parameters"; uses bgp-common-mp-ipv4-ipv6-unicast-common-config; } // container state } // grouping bgp-common-mp-ipv6-unicast-common grouping bgp-common-mp-l3vpn-ipv4-ipv6-unicast-common { description "Common configuration applied across L3VPN for IPv4 and IPv6"; uses bgp-common-mp-all-afi-safi-common; } // grouping bgp-common-mp-l3vpn-ipv4-ipv6-unicast-common grouping bgp-common-mp-l3vpn-ipv4-ipv6-multicast-common { description "Common configuration applied across L3VPN for IPv4 and IPv6"; uses bgp-common-mp-all-afi-safi-common; } // grouping bgp-common-mp-l3vpn-ipv4-ipv6-multicast-common grouping bgp-common-mp-l2vpn-common { description "Common configuration applied across L2VPN address families"; uses bgp-common-mp-all-afi-safi-common; } // grouping bgp-common-mp-l2vpn-common grouping bgp-common-mp-srte-policy-ipv4-group { description "Grouping for SR-TE for AFI 1"; container srte-policy-ipv4 { when "../afi-safi-name = 'oc-bgp-types:SRTE_POLICY_IPV4'" { description "Only include this container when the address family is specified to be SR-TE Policy SAFI for the IPv4 unicast address family."; } description "Configuration and operational state parameters relating to the SR-TE Policy SAFI for IPv4 Unicast."; uses bgp-common-mp-all-afi-safi-common; } // container srte-policy-ipv4 } // grouping bgp-common-mp-srte-policy-ipv4-group grouping bgp-common-mp-srte-policy-ipv6-group { description "Grouping for SR-TE for AFI 2"; container srte-policy-ipv6 { when "../afi-safi-name = 'oc-bgp-types:SRTE_POLICY_IPV6'" { description "Only include this container when the address family is specified to be SR-TE Policy SAFI for the IPv6 unicast address family."; } description "Configuration and operational state parameters relating to the SR-TE Policy SAFI for IPv6 Unicast."; uses bgp-common-mp-all-afi-safi-common; } // container srte-policy-ipv6 } // grouping bgp-common-mp-srte-policy-ipv6-group grouping bgp-common-mp-all-afi-safi-common-prefix-limit-config { description "Configuration parameters relating to prefix-limits for an AFI-SAFI"; leaf max-prefixes { type uint32; description "Maximum number of prefixes that will be accepted from the neighbor"; } leaf prevent-teardown { type boolean; default 'false'; description "Do not tear down the BGP session when the maximum prefix limit is exceeded, but rather only log a warning. The default of this leaf is false, such that when it is not specified, the session is torn down."; } leaf warning-threshold-pct { type oc-types:percentage; description "Threshold on number of prefixes that can be received from a neighbor before generation of warning messages or log entries. Expressed as a percentage of max-prefixes"; } } // grouping bgp-common-mp-all-afi-safi-common-prefix-limit-config grouping bgp-common-mp-all-afi-safi-common-prefix-limit-state { description "State parameters relating to prefix-limits for an AFI-SAFI"; leaf prefix-limit-exceeded { type boolean; description "If set to true, the prefix-limit has been exceeded. When the prefix-limit has been exceeded, the value of true must be retained until the restart-time has expired. Prior to session re-establishment, the value must be reset to false"; } } // grouping bgp-common-mp-all-afi-safi-common-prefix-limit-state grouping bgp-common-mp-ipv4-ipv6-unicast-common-config { description "Common configuration parameters for IPv4 and IPv6 Unicast address families"; leaf send-default-route { type boolean; default "false"; description "If set to true, send the default-route to the neighbor(s)"; } } // grouping bgp-common-mp-ipv4-ipv6-unicast-common-config } // submodule openconfig-bgp-common-multiprotocol
© 2023 YumaWorks, Inc. All rights reserved.