openconfig-mpls-static

Defines static LSP configuration

  • Version: 2024-06-19

    openconfig-mpls-static@2024-06-19


    
      submodule openconfig-mpls-static {
    
        yang-version 1;
    
        belongs-to openconfig-mpls {
            prefix mpls;
        }
    
        import openconfig-mpls-types {
          prefix oc-mplst;
        }
        import openconfig-inet-types {
          prefix inet;
        }
        import openconfig-extensions {
          prefix oc-ext;
        }
        import openconfig-interfaces {
          prefix oc-if;
        }
    
        organization "OpenConfig working group";
    
        contact
          "OpenConfig working group
        netopenconfig@googlegroups.com";
    
        description
          "Defines static LSP configuration";
    
        revision "2024-06-19" {
          description
            "Added support with backward compatibility to configure ECMP
          of next-hops for the same LSP name. Also marked attributes
          push-label, next-hop and interface as deprecated under egress,
          transit and ingress config";
          reference
            "3.6.0";
    
        }
    
        revision "2023-12-14" {
          description
            "Added additional attributes oc-if:interface-ref
          and metric attributes to static lsp";
          reference
            "3.5.0";
    
        }
    
        revision "2023-07-25" {
          description
            "Added record-route-enabled to MPLS p2p tunnel config";
          reference
            "3.4.0";
    
        }
    
        revision "2023-04-28" {
          description
            "Fixed typo in cspf-tiebreaker leaf description";
          reference
            "3.3.2";
    
        }
    
        revision "2023-02-03" {
          description
            "Clarify usage of interface-ref.";
          reference
            "3.3.1";
    
        }
    
        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";
    
        }
    
        oc-ext:openconfig-version "3.6.0";
    
        grouping static-lsp-nexthop-index {
          description
            "Next hop index definition for static LSPs";
          leaf index {
            type uint32;
            description
              "An user-specified identifier utilised to uniquely reference
            the next-hop entry in the next-hop list. The value of this
            index has no semantic meaning other than for referencing
            the entry.";
          }
        }  // grouping static-lsp-nexthop-index
    
        grouping static-lsp-nexthop-common-config {
          description
            "Common definition of next hop configuration for static LSPs";
          leaf ip-address {
            type inet:ip-address;
            description
              "Next hop IP address for the LSP";
          }
    
          leaf push-label {
            type oc-mplst:mpls-label;
            description
              "Label value to push at the current hop for the
            LSP";
          }
    
          uses oc-if:interface-ref-common;
        }  // grouping static-lsp-nexthop-common-config
    
        grouping static-lsp-common-config {
          description
            "Common definitions for static LSPs";
          leaf incoming-label {
            type oc-mplst:mpls-label;
            description
              "Label value on the incoming packet";
          }
    
          leaf next-hop {
            type inet:ip-address;
            status deprecated;
            description
              "Next hop IP address for the LSP";
          }
    
          leaf push-label {
            type oc-mplst:mpls-label;
            status deprecated;
            description
              "Label value to push at the current hop for the
            LSP";
          }
    
          uses oc-if:interface-ref-common {
            status deprecated;
          }
    
          leaf metric {
            type uint8;
            description
              "Specifies metric value used for the MPLS route.";
          }
        }  // grouping static-lsp-common-config
    
        grouping static-lsp-nexthops-common {
          description
            "MPLS Static LSP next-hops configuration";
          container lsp-next-hops {
            description
              "Configuration and state parameters relating to the
            next-hops that are to be utilised for the MPLS static
            route being specified";
            list lsp-next-hop {
              key "index";
              description
                "A list of next-hops to be utilised for the MPLS
              static route being specified.";
              leaf index {
                type leafref {
                  path "../config/index";
                }
                description
                  "A reference to the index of the current next-hop.
                The index is intended to be a user-specified value
                which can be used to reference the next-hop in
                question, without any other semantics being
                assigned to it.";
              }
    
              container config {
                description
                  "Configuration parameters relating to the next-hop
                entry";
                uses static-lsp-nexthop-index;
    
                uses static-lsp-nexthop-common-config;
              }  // container config
    
              container state {
                config false;
                description
                  "Operational state parameters relating to the
                next-hop entry";
                uses static-lsp-nexthop-index;
    
                uses static-lsp-nexthop-common-config;
              }  // container state
            }  // list lsp-next-hop
          }  // container lsp-next-hops
        }  // grouping static-lsp-nexthops-common
    
        grouping static-lsp-ingress-config {
          description
            "Configuration data for ingress LSPs";
          uses static-lsp-common-config;
        }  // grouping static-lsp-ingress-config
    
        grouping static-lsp-ingress-state {
          description
            "Operational state data for ingress LSPs";
        }  // grouping static-lsp-ingress-state
    
        grouping static-lsp-ingress-top {
          description
            "Top-level grouping for ingress LSP data";
          container ingress {
            description
              "Static LSPs for which the router is an
              ingress node";
            container config {
              description
                "Configuration data for ingress LSPs";
              uses static-lsp-ingress-config;
            }  // container config
    
            container state {
              config false;
              description
                "Operational state data for ingress LSPs";
              uses static-lsp-ingress-config;
    
              uses static-lsp-ingress-state;
            }  // container state
    
            uses static-lsp-nexthops-common;
          }  // container ingress
        }  // grouping static-lsp-ingress-top
    
        grouping static-lsp-transit-config {
          description
            "Configuration data for transit LSPs";
          uses static-lsp-common-config;
        }  // grouping static-lsp-transit-config
    
        grouping static-lsp-transit-state {
          description
            "Operational state data for transit LSPs";
        }  // grouping static-lsp-transit-state
    
        grouping static-lsp-transit-top {
          description
            "Top-level grouping for transit LSP data";
          container transit {
            description
              "Static LSPs for which the router is an
              transit node";
            container config {
              description
                "Configuration data for transit LSPs";
              uses static-lsp-transit-config;
            }  // container config
    
            container state {
              config false;
              description
                "Operational state data for transit LSPs";
              uses static-lsp-transit-config;
    
              uses static-lsp-transit-state;
            }  // container state
    
            uses static-lsp-nexthops-common;
          }  // container transit
        }  // grouping static-lsp-transit-top
    
        grouping static-lsp-egress-config {
          description
            "Configuration data for egress LSPs";
          uses static-lsp-common-config;
        }  // grouping static-lsp-egress-config
    
        grouping static-lsp-egress-state {
          description
            "Operational state data for egress LSPs";
        }  // grouping static-lsp-egress-state
    
        grouping static-lsp-egress-top {
          description
            "Top-level grouping for egress LSP data";
          container egress {
            description
              "Static LSPs for which the router is an
              egress node";
            container config {
              description
                "Configuration data for egress LSPs";
              uses static-lsp-egress-config;
            }  // container config
    
            container state {
              config false;
              description
                "Operational state data for egress LSPs";
              uses static-lsp-egress-config;
    
              uses static-lsp-egress-state;
            }  // container state
    
            uses static-lsp-nexthops-common;
          }  // container egress
        }  // grouping static-lsp-egress-top
    
        grouping static-lsp-config {
          description
            "Configuration data for static LSPs";
          leaf name {
            type string;
            description
              "name to identify the LSP";
          }
        }  // grouping static-lsp-config
    
        grouping static-lsp-state {
          description
            "Operational state data for static LSPs";
        }  // grouping static-lsp-state
    
        grouping static-lsp-top {
          description
            "grouping for top level list of static LSPs";
          list static-lsp {
            key "name";
            description
              "list of defined static LSPs";
            leaf name {
              type leafref {
                path "../config/name";
              }
              description
                "Reference the name list key";
            }
    
            container config {
              description
                "Configuration data for the static lsp";
              uses static-lsp-config;
            }  // container config
    
            container state {
              config false;
              description
                "Operational state data for the static lsp";
              uses static-lsp-config;
    
              uses static-lsp-state;
            }  // container state
    
            uses static-lsp-ingress-top;
    
            uses static-lsp-transit-top;
    
            uses static-lsp-egress-top;
          }  // list static-lsp
        }  // grouping static-lsp-top
      }  // submodule openconfig-mpls-static
    

© 2024 YumaWorks, Inc. All rights reserved.