netconfcentral logo

ietf-bgp-peer-group@2020-06-28



  submodule ietf-bgp-peer-group {

    yang-version 1.1;

    belongs-to ietf-bgp {
        prefix bgp;
    }

    import ietf-routing-policy {
      prefix rpol;
    }
    import ietf-bgp-types {
      prefix bt;
      reference
        "RFC XXXX, BGP Model for Service Provider Network.";


    }

    include ietf-bgp-common;
    include ietf-bgp-common-multiprotocol;
    include ietf-bgp-common-structure;

    organization "IETF IDR Working Group";

    contact
      "WG Web:   <http://tools.ietf.org/wg/idr>
     WG List:  <idr@ietf.org>

     Authors: Mahesh Jethanandani (mjethanandani at gmail.com),
              Keyur Patel (keyur at arrcus.com),
              Susan Hares (shares at ndzh.com),
              Jeffrey Haas (jhaas at pfrc.org).";

    description
      "This sub-module contains groupings that are specific to the
     peer-group context of the BGP module.

     Copyright (c) 2019 IETF Trust and the persons identified as
     authors of the code. All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject to
     the license terms contained in, the Simplified BSD License set
     forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX
     (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
     for full legal notices.

     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
     NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
     'MAY', and 'OPTIONAL' in this document are to be interpreted as
     described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
     they appear in all capitals, as shown here.";

    revision "2020-06-28" {
      description "Initial Version";
      reference
        "RFC XXX, BGP Model for Service Provider Network.";

    }


    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";
        uses mp-afi-safi-config;

        container graceful-restart {
          if-feature bt:graceful-restart;
          description
            "Parameters relating to BGP graceful-restart";
          uses mp-afi-safi-graceful-restart-config;
        }  // container graceful-restart

        uses route-selection-options;

        uses global-group-use-multiple-paths;

        uses mp-all-afi-safi-list-contents;
      }  // list afi-safi
    }  // grouping bgp-peer-group-afi-safi-list

    grouping bgp-peer-group-base {
      description
        "Parameters related to a BGP group.";
      leaf peer-group-name {
        type string;
        description
          "Name of the BGP peer-group";
      }

      uses neighbor-group-config;

      container timers {
        description
          "Timers related to a BGP peer-group.";
        uses neighbor-group-timers-config;
      }  // container timers

      container transport {
        description
          "Transport session parameters for the BGP peer-group.";
        uses neighbor-group-transport-config;
      }  // container transport

      container graceful-restart {
        if-feature bt:graceful-restart;
        description
          "Parameters relating the graceful restart mechanism for BGP.";
        uses graceful-restart-config;
      }  // container graceful-restart

      uses structure-neighbor-group-ebgp-multihop;

      uses structure-neighbor-group-route-reflector;

      uses structure-neighbor-group-as-path-options;

      uses structure-neighbor-group-add-paths;

      uses global-group-use-multiple-paths;

      uses rpol:apply-policy-group;

      container afi-safis {
        description
          "Per-address-family configuration parameters associated with
         the group.";
        uses bgp-peer-group-afi-safi-list;
      }  // container afi-safis
    }  // grouping bgp-peer-group-base

    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";
        uses bgp-peer-group-base;
      }  // list peer-group
    }  // grouping bgp-peer-group-list
  }  // submodule ietf-bgp-peer-group