Interface OpenconfigBgpMultiprotocolData

  • All Superinterfaces:
    org.opendaylight.yangtools.yang.binding.DataRoot

    @Generated("mdsal-binding-generator")
    public interface OpenconfigBgpMultiprotocolData
    extends org.opendaylight.yangtools.yang.binding.DataRoot
    This module is part of a YANG model for BGP protocol configuration, focusing on configuration of multiprotocol BGP, in particular various relevant address families (AFI) and sub-address families (SAFI). Identities (rather than enumerated types) are used to identify each AFI / SAFI type to make it easier for users to extend to pre-standard or custom AFI/SAFI types. This module is only intended to capture the most

    This class represents the following YANG schema fragment defined in module openconfig-bgp-multiprotocol

     module openconfig-bgp-multiprotocol {
       yang-version 1;
       namespace "http://openconfig.net/yang/bgp-multiprotocol";
       prefix bgp-mp;
       import openconfig-routing-policy {
         prefix rpol;
       }
       import openconfig-bgp-types {
         prefix bgp-types;
       }
       import openconfig-bgp-operational {
         prefix bgp-op;
       }
       import openconfig-types {
         prefix oc-types;
       }
       import openconfig-extensions {
         prefix oc-ext;
       }
       oc-ext:openconfig-version 1.1.0;
       revision 2015-10-09 {
       }
       revision 2015-05-15 {
       }
       grouping ipv4-unicast-group {
         container ipv4-unicast {
           when "../afi-safi-name = 'bgp-mp:ipv4-unicast'" {
           }
           uses ipv4-ipv6-unicast-common;
         }
       }
       grouping ipv6-unicast-group {
         container ipv6-unicast {
           when "../afi-safi-name = 'bgp-mp:ipv6-unicast'" {
           }
           uses ipv4-ipv6-unicast-common;
         }
       }
       grouping ipv4-labelled-unicast-group {
         container ipv4-labelled-unicast {
           when "../afi-safi-name = 'bgp-mp:ipv4-labelled-unicast'" {
           }
           uses all-afi-safi-common;
         }
       }
       grouping ipv6-labelled-unicast-group {
         container ipv6-labelled-unicast {
           when "../afi-safi-name = 'bgp-mp:ipv6-labelled-unicast'" {
           }
           uses all-afi-safi-common;
         }
       }
       grouping l3vpn-ipv4-unicast-group {
         container l3vpn-ipv4-unicast {
           when "../afi-safi-name = 'bgp-mp:l3vpn-ipv4-unicast'" {
           }
           uses l3vpn-ipv4-ipv6-unicast-common;
         }
       }
       grouping l3vpn-ipv6-unicast-group {
         container l3vpn-ipv6-unicast {
           when "../afi-safi-name = 'bgp-mp:l3vpn-ipv6-unicast'" {
           }
           uses l3vpn-ipv4-ipv6-unicast-common;
         }
       }
       grouping l3vpn-ipv4-multicast-group {
         container l3vpn-ipv4-multicast {
           when "../afi-safi-name = 'bgp-mp:l3vpn-ipv4-multicast'" {
           }
           uses l3vpn-ipv4-ipv6-multicast-common;
         }
       }
       grouping l3vpn-ipv6-multicast-group {
         container l3vpn-ipv6-multicast {
           when "../afi-safi-name = 'bgp-mp:l3vpn-ipv6-multicast'" {
           }
           uses l3vpn-ipv4-ipv6-multicast-common;
         }
       }
       grouping l2vpn-vpls-group {
         container l2vpn-vpls {
           when "../afi-safi-name = 'bgp-mp:l2vpn-vpls'" {
           }
           uses l2vpn-common;
         }
       }
       grouping l2vpn-evpn-group {
         container l2vpn-evpn {
           when "../afi-safi-name = 'bgp-mp:l2vpn-evpn'" {
           }
           uses l2vpn-common;
         }
       }
       grouping bgp-route-selection-options_config {
         leaf always-compare-med {
           type boolean;
           default false;
         }
         leaf ignore-as-path-length {
           type boolean;
           default false;
         }
         leaf external-compare-router-id {
           type boolean;
           default true;
         }
         leaf advertise-inactive-routes {
           type boolean;
           default false;
         }
         leaf enable-aigp {
           type boolean;
           default false;
         }
         leaf ignore-next-hop-igp-metric {
           type boolean;
           default false;
         }
       }
       grouping bgp-use-multiple-paths-ebgp-as-options_config {
         leaf allow-multiple-as {
           type boolean;
           default false;
         }
       }
       grouping bgp-use-multiple-paths-ebgp_config {
         uses bgp-use-multiple-paths-ebgp-as-options_config;
         leaf maximum-paths {
           type uint32;
           default 1;
         }
       }
       grouping bgp-use-multiple-paths-ibgp_config {
         leaf maximum-paths {
           type uint32;
           default 1;
         }
       }
       grouping bgp-use-multiple-paths {
         container use-multiple-paths {
           container config {
             uses bgp-use-multiple-paths_config;
           }
           container state {
             uses bgp-use-multiple-paths_config;
           }
           container ebgp {
             container config {
               uses bgp-use-multiple-paths-ebgp_config;
             }
             container state {
               config false;
               uses bgp-use-multiple-paths-ebgp_config;
             }
           }
           container ibgp {
             container config {
               uses bgp-use-multiple-paths-ibgp_config;
             }
             container state {
               config false;
               uses bgp-use-multiple-paths-ibgp_config;
             }
           }
         }
       }
       grouping bgp-use-multiple-paths-neighbor {
         container use-multiple-paths {
           container config {
             uses bgp-use-multiple-paths_config;
           }
           container state {
             uses bgp-use-multiple-paths_config;
           }
           container ebgp {
             container config {
               uses bgp-use-multiple-paths-ebgp-as-options_config;
             }
             container state {
               config false;
               uses bgp-use-multiple-paths-ebgp-as-options_config;
             }
           }
         }
       }
       grouping bgp-use-multiple-paths_config {
         leaf enabled {
           type boolean;
           default false;
         }
       }
       grouping bgp-afi-safi-graceful-restart_config {
         leaf enabled {
           type boolean;
           default false;
         }
       }
       grouping bgp-afi-safi_config {
         leaf afi-safi-name {
           type identityref {
             base afi-safi-type;
           }
         }
         leaf enabled {
           type boolean;
           default false;
         }
       }
       grouping all-afi-safi-common-prefix-limit_config {
         leaf max-prefixes {
           type uint32;
         }
         leaf shutdown-threshold-pct {
           type oc-types:percentage;
         }
         leaf restart-timer {
           type decimal64 {
             fraction-digits 2;
           }
           units seconds;
         }
       }
       grouping ipv4-ipv6-unicast-common_config {
         leaf send-default-route {
           type boolean;
           default false;
         }
       }
       grouping all-afi-safi-common {
         container prefix-limit {
           container config {
             uses all-afi-safi-common-prefix-limit_config;
           }
           container state {
             config false;
             uses all-afi-safi-common-prefix-limit_config;
           }
         }
       }
       grouping ipv4-ipv6-unicast-common {
         uses all-afi-safi-common;
         container config {
           uses ipv4-ipv6-unicast-common_config;
         }
         container state {
           config false;
           uses ipv4-ipv6-unicast-common_config;
         }
       }
       grouping l3vpn-ipv4-ipv6-unicast-common {
         uses all-afi-safi-common;
       }
       grouping l3vpn-ipv4-ipv6-multicast-common {
         uses all-afi-safi-common;
       }
       grouping l2vpn-common {
         uses all-afi-safi-common;
       }
       grouping bgp-route-selection-options {
         container route-selection-options {
           container config {
             uses bgp-route-selection-options_config;
           }
           container state {
             config false;
             uses bgp-route-selection-options_config;
           }
         }
       }
       grouping bgp-global-afi-safi {
         uses bgp-route-selection-options;
       }
       grouping bgp-group-afi-safi {
         uses bgp-route-selection-options;
       }
       grouping bgp-common-afi-safi-list {
         list afi-safi {
           key afi-safi-name;
           leaf afi-safi-name {
             type leafref {
               path ../config/afi-safi-name;
             }
           }
           container graceful-restart {
             container config {
               uses bgp-afi-safi-graceful-restart_config;
             }
             container state {
               config false;
               uses bgp-afi-safi-graceful-restart_config;
             }
           }
           container config {
             uses bgp-afi-safi_config;
           }
           container state {
             config false;
             uses bgp-afi-safi_config;
             uses bgp-op:bgp-afi-safi_state;
           }
           uses rpol:apply-policy-group;
           uses ipv4-unicast-group;
           uses ipv6-unicast-group;
           uses ipv4-labelled-unicast-group;
           uses ipv6-labelled-unicast-group;
           uses l3vpn-ipv4-unicast-group;
           uses l3vpn-ipv6-unicast-group;
           uses l3vpn-ipv4-multicast-group;
           uses l3vpn-ipv6-multicast-group;
           uses l2vpn-vpls-group;
           uses l2vpn-evpn-group;
         }
       }
     }