submodule openconfig-bgp-common-structure {

  belongs-to openconfig-bgp {
    prefix "oc-bgp";
  }

  import openconfig-extensions { prefix oc-ext; }

  include openconfig-bgp-common-multiprotocol;
  include openconfig-bgp-common;

  // meta
  organization
    "OpenConfig working group";

  contact
    "OpenConfig working group
    netopenconfig@googlegroups.com";

  description
    "This sub-module contains groupings that are common across multiple BGP
    contexts and provide structure around other primitive groupings.";


  oc-ext:openconfig-version "4.0.1";

  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";
  }

  grouping bgp-common-structure-neighbor-group-logging-options {
    description
      "Structural grouping used to include error handling configuration and
      state for both BGP neighbors and groups";

    container logging-options {
      description
        "Logging options for events related to the BGP neighbor or
        group";
      container config {
        description
          "Configuration parameters enabling or modifying logging
          for events relating to the BGPgroup";
        uses bgp-common-neighbor-group-logging-options-config;
      }
      container state {
        config false;
        description
          "State information relating to logging for the BGP neighbor
          or group";
        uses bgp-common-neighbor-group-logging-options-config;
      }
    }
  }

  grouping bgp-common-structure-neighbor-group-ebgp-multihop {
    description
      "Structural grouping used to include eBGP multihop configuration and
      state for both BGP neighbors and peer groups";

    container ebgp-multihop {
      description
        "eBGP multi-hop parameters for the BGPgroup";
      container config {
        description
          "Configuration parameters relating to eBGP multihop for the
          BGP group";
        uses bgp-common-neighbor-group-multihop-config;
      }
      container state {
        config false;
        description
          "State information for eBGP multihop, for the BGP neighbor
          or group";
        uses bgp-common-neighbor-group-multihop-config;
      }
    }
  }

  grouping bgp-common-structure-neighbor-group-route-reflector {
    description
      "Structural grouping used to include route reflector configuration and
      state for both BGP neighbors and peer groups";

    container route-reflector {
      description
        "Route reflector parameters for the BGPgroup";
      container config {
        description
          "Configuraton parameters relating to route reflection
          for the BGPgroup";
        uses bgp-common-neighbor-group-route-reflector-config;
      }
      container state {
        config false;
        description
          "State information relating to route reflection for the
          BGPgroup";
        uses bgp-common-neighbor-group-route-reflector-config;
      }
    }
  }

  grouping bgp-common-structure-neighbor-group-as-path-options {
    description
      "Structural grouping used to include AS_PATH manipulation configuration
      and state for both BGP neighbors and peer groups";

    container as-path-options {
      description
        "AS_PATH manipulation parameters for the BGP neighbor or
        group";
      container config {
        description
          "Configuration parameters relating to AS_PATH manipulation
          for the BGP peer or group";
        uses bgp-common-neighbor-group-as-path-options-config;
      }
      container state {
        config false;
        description
          "State information relating to the AS_PATH manipulation
          mechanisms for the BGP peer or group";
        uses bgp-common-neighbor-group-as-path-options-config;
      }
    }
  }

  grouping bgp-common-structure-neighbor-group-add-paths {
    description
      "Structural grouping used to include ADD-PATHs configuration and state
      for both BGP neighbors and peer groups";

    container add-paths {
      description
        "Parameters relating to the advertisement and receipt of
        multiple paths for a single NLRI (add-paths)";
      container config {
        description
          "Configuration parameters relating to ADD_PATHS";
        uses bgp-common-neighbor-group-add-paths-config;
      }
      container state {
        config false;
        description
          "State information associated with ADD_PATHS";
        uses bgp-common-neighbor-group-add-paths-config;
      }
    }
  }

}
