netconfcentral logo

openconfig-aft-mpls@2019-11-07



  submodule openconfig-aft-mpls {

    yang-version 1;

    belongs-to openconfig-aft {
        prefix oc-aft;
    }

    import openconfig-extensions {
      prefix oc-ext;
    }
    import openconfig-mpls-types {
      prefix oc-mplst;
    }

    include openconfig-aft-common;

    organization "OpenConfig working group";

    contact
      "OpenConfig working group
    www.openconfig.net";

    description
      "Submodule containing definitions of groupings for the abstract
    forwarding table for MPLS label forwarding.";

    revision "2019-11-07" {
      description
        "Move lsp-name leaf out of aft-common-entry-nexthop-state group.";
      reference
        "0.4.1";

    }

    revision "2019-08-02" {
      description
        "Add installing protocol for IPv[46] unicast entries.
      Add the ability to describe conditional next-hop groups
      outside of the policy forwarding module to allow for efficient
      handling of CBTS, where many prefixes may share the same next-hop
      criteria.";
      reference
        "0.4.0";

    }

    revision "2019-08-01" {
      description
        "Add lsp-name leaf to AFT next-hop.";
      reference
        "0.3.3";

    }

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

    }

    revision "2017-08-24" {
      description "Formatting fixes";
      reference
        "0.3.1";

    }

    revision "2017-05-10" {
      description
        "Refactor to provide concretised per-AF schemas per AFT.";
      reference
        "0.3.0";

    }

    oc-ext:openconfig-version "0.4.1";

    grouping aft-mpls-structural {
      description
        "Structural grouping defining the schema for the MPLS
      abstract forwarding table.";
      list label-entry {
        key "label";
        description
          "List of the MPLS entries within the abstract
        forwarding table. This list is keyed by the top-most MPLS
        label.";
        leaf label {
          type leafref {
            path "../config/label";
          }
          description
            "Reference to the top-most MPLS label matched by the
          entry.";
        }

        container config {
          description
            "Configuration parameters for the MPLS AFT entry.";
          uses aft-mpls-entry-config;
        }  // container config

        container state {
          config false;
          description
            "Operational state parameters for the MPLS AFT
          entry.";
          uses aft-mpls-entry-config;

          uses aft-mpls-entry-state;
        }  // container state
      }  // list label-entry
    }  // grouping aft-mpls-structural

    grouping aft-mpls-entry-config {
      description
        "Configuration parameters for the MPLS entry.";
      leaf label {
        type oc-mplst:mpls-label;
        description
          "The top-most MPLS label that should be matched to
          utilise the AFT entry.";
      }
    }  // grouping aft-mpls-entry-config

    grouping aft-mpls-entry-state {
      description
        "Operational state parameters for the MPLS entry.";
      uses aft-common-entry-state;

      leaf-list popped-mpls-label-stack {
        type oc-mplst:mpls-label;
        description
          "The MPLS label stack to be popped from the packet when
        switched by the system. The stack is encoded as a leaf-list
        such that the first entry is the label that is outer-most (i.e.,
        furthest from the bottom of the stack).

        If the local system pops the outer-most label 400, then the
        value of this list is [400,]. If the local system removes two
        labels, the outer-most being 500, and the second of which is
        400, then the value of the list is [500, 400].

        A swap operation is reflected by entries in the
        popped-mpls-label-stack and pushed-mpls-label-stack nodes.";
      }
    }  // grouping aft-mpls-entry-state
  }  // submodule openconfig-aft-mpls