submodule openconfig-mpls-igp {

  yang-version "1";

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

  // import some basic types
  import openconfig-mpls-ldp { prefix oc-ldp; }
  import openconfig-extensions { prefix oc-ext; }

  // meta
  organization "OpenConfig working group";

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

  description
    "Configuration generic configuration parameters for IGP-congruent
    LSPs";

  oc-ext:openconfig-version "3.3.0";

  revision "2022-02-11" {
    description
      "Add lsp-path PCE control mode";
    reference "3.3.0";
  }

  revision "2021-07-28" {
    description
      "Add prefix to qualify when statements.";
    reference "3.2.2";
  }

  revision "2021-06-16" {
    description
      "Remove trailing whitespace";
    reference "3.2.1";
  }

  revision "2021-03-24" {
    description
      "Add Metric bounds constraints for LSPs.";
    reference "3.2.0";
  }

  revision "2019-03-26" {
    description
      "Add Pseudowire encapsulation.";
    reference "3.1.0";
  }

  revision "2018-11-21" {
    description
      "Add OpenConfig module metadata extensions.";
    reference "3.0.1";
  }

  revision "2018-07-02" {
    description
      "Add new RSVP-TE statistics, remove associated-rsvp-session
      leaf. Remove use of date-and-time.";
    reference "3.0.0";
  }

  revision "2018-06-16" {
    description
      "Included attributes for base LDP configuration.";
     reference "2.6.0";
  }

  revision "2018-06-13" {
    description
      "Add ttl-propagation to global MPLS config";
    reference "2.5.0";
  }

  revision "2018-06-05" {
    description
      "Fixed bugs in when statements on RSVP-TE attributes";
    reference "2.4.2";
  }

  revision "2017-08-24" {
    description
      "Minor formatting fixes.";
    reference "2.4.1";
  }

  revision "2017-06-21" {
    description
      "Add TC bits typedef.";
    reference "2.4.0";
  }

  revision "2017-03-22" {
    description
      "Add RSVP calculated-absolute-subscription-bw";
    reference "2.3.0";
  }

  revision "2017-01-26" {
    description
      "Add RSVP Tspec, clarify units for RSVP, remove unused LDP";
    reference "2.2.0";
  }

  revision "2016-12-15" {
    description
      "Add additional MPLS parameters";
    reference "2.1.0";
  }

  revision "2016-09-01" {
    description
      "Revisions based on implementation feedback";
    reference "2.0.0";
  }

  revision "2016-08-08" {
    description
      "Public release of MPLS models";
    reference "1.0.1";
  }

  // grouping statements

  grouping igp-lsp-common {
    description
      "common definitions for IGP-congruent LSPs";

  }


  grouping igp-lsp-setup {
    description
      "signaling protocol definitions for IGP-based LSPs";

    container path-setup-protocol {
      description
        "select and configure the signaling method for
          the LSP";

      // uses path-setup-common;
      uses oc-ldp:igp-lsp-ldp-setup;
    }
  }


  // data definition statements

  // augment statements

  // rpc statements

  // notification statements

}