Cisco-IOS-XR-mpls-static-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR mpls-static package configuration. This model is depreca...

  • Version: 2019-10-31

    Cisco-IOS-XR-mpls-static-cfg@2019-10-31


    
      module Cisco-IOS-XR-mpls-static-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-static-cfg";
    
        prefix mpls-static-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for Cisco IOS-XR mpls-static package configuration.
         
         This model is deprecated and is replaced by
         Cisco-IOS-XR-um-mpls-static-cfg.yang which will provide the
         compatible functionalities.
         
         This module contains definitions
         for the following management objects:
           mpls-static: MPLS Static Configuration Data
         
         Copyright (c) 2013-2019 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2019-10-31" {
          description "Added mandatory nodes";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2017-05-01" {
          description
            "Fixing backward compatibility error in module.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "3.0.0";
        semver:module-version "1.0.0";
    
        typedef Mpls-static-path {
          type enumeration {
            enum "pop-and-lookup" {
              value 1;
              description "Pop and Lookup";
            }
            enum "cross-connect" {
              value 2;
              description "Crossconnect";
            }
          }
          description "Mpls static path";
        }
    
        typedef Mpls-static-address-family {
          type enumeration {
            enum "ipv4-unicast" {
              value 1;
              description "IPv4 Unicast";
            }
          }
          description
            "Mpls static address family";
        }
    
        typedef Mpls-static-label-mode {
          type enumeration {
            enum "per-vrf" {
              value 1;
              description "Per VRF";
            }
            enum "per-prefix" {
              value 2;
              description "Per Prefix";
            }
            enum "lsp" {
              value 3;
              description "Cross connect";
            }
          }
          description "Mpls static label mode";
        }
    
        typedef Mpls-static-path-role {
          type enumeration {
            enum "primary" {
              value 0;
              description
                "Path is only for primary traffic";
            }
            enum "backup" {
              value 1;
              description
                "Path is only for backup traffic";
            }
            enum "primary-backup" {
              value 2;
              description
                "Path is for primary and backup traffic";
            }
          }
          description "Mpls static path role";
        }
    
        typedef Mpls-static-nh-address-family {
          type enumeration {
            enum "none" {
              value 0;
              description "No Next Hop";
            }
            enum "ipv4" {
              value 1;
              description "IPv4 Next Hop";
            }
            enum "ipv6" {
              value 2;
              description "IPv6 Next Hop";
            }
          }
          description
            "Mpls static nh address family";
        }
    
        typedef Mpls-static-nh-mode {
          type enumeration {
            enum "configured" {
              value 0;
              description
                "Explicitly configured next hop path";
            }
            enum "resolve" {
              value 1;
              description
                "Resolvable next hop which will result in a path
               set";
            }
          }
          description "Mpls static nh mode";
        }
    
        typedef Mpls-static-out-label-types {
          type enumeration {
            enum "none" {
              value 0;
              description "None";
            }
            enum "out-label" {
              value 1;
              description "OutLabel";
            }
            enum "pop" {
              value 2;
              description "Pop";
            }
            enum "exp-null" {
              value 3;
              description "IPv4 explicit-null";
            }
            enum "ipv6-explicit-null" {
              value 4;
              description "IPv6 explicit-null";
            }
          }
          description
            "Mpls static out label types";
        }
    
        grouping PATH {
          description
            "Common node of paths, backup-paths";
          list path {
            key "path-id";
            description "Path Information";
            leaf path-id {
              type uint32 {
                range "1..16";
              }
              description "Number of paths";
            }
    
            leaf path-type {
              type Mpls-static-path;
              mandatory true;
              description
                "Type of Path (PopAndLookup, CrossConnect)";
            }
    
            leaf label-type {
              type Mpls-static-out-label-types;
              mandatory true;
              description
                "Type of label (Outlabel, ExpNull or Pop)";
            }
    
            leaf next-hop-label {
              type uint32 {
                range "16..1048575";
              }
              description "Outgoing/NH Label";
            }
    
            leaf next-hop-address {
              type inet:ip-address-no-zone;
              description "Next Hop IP Address";
            }
    
            leaf interface-name {
              type xr:Interface-name;
              description
                "Next hop Interface with form <Interface>R/S/I/P";
            }
    
            leaf afi {
              type Mpls-static-nh-address-family;
              mandatory true;
              description
                "Next hop Address Family";
            }
    
            leaf metric {
              type uint32 {
                range "0..254";
              }
              mandatory true;
              description "NH Path Metric";
            }
    
            leaf nh-mode {
              type Mpls-static-nh-mode;
              mandatory true;
              description "Next hop mode";
            }
    
            leaf path-role {
              type Mpls-static-path-role;
              description "Path Role";
            }
    
            leaf backup-id {
              type uint32 {
                range "0..16";
              }
              description "Backup ID";
            }
          }  // list path
        }  // grouping PATH
    
        grouping LOCAL-LABEL-TABLE {
          description
            "Common node of af, top-label-hash";
          container local-labels {
            description "Local Label";
            list local-label {
              key "local-label-id";
              description "Specify Local Label";
              container label-type {
                description
                  "MPLS Static Local Label Value";
                leaf label-mode {
                  type Mpls-static-label-mode;
                  description
                    "Label Mode (PerVRF, PerPrefix or LSP)";
                }
    
                leaf prefix {
                  type inet:ip-address-no-zone;
                  description
                    "Address (IPv4/6 depending on AFI)";
                }
    
                leaf prefix-length {
                  type uint32;
                  description "Prefix length";
                }
              }  // container label-type
    
              leaf local-label-id {
                type uint32 {
                  range "16..1048575";
                }
                description "Local Label";
              }
    
              uses PATH-TABLE;
            }  // list local-label
          }  // container local-labels
        }  // grouping LOCAL-LABEL-TABLE
    
        grouping LABEL-SWITCHED-PATH-TABLE {
          description
            "Common node of default-vrf, vrf";
          container label-switched-paths {
            description
              "Table of the Label Switched Paths";
            list label-switched-path {
              key "lsp-name";
              description "Label Switched Path";
              container backup-paths {
                description
                  "Backup Path Parameters";
                uses PATH;
              }  // container backup-paths
    
              container in-label {
                description
                  "MPLS Static Local Label Value";
                leaf in-label-value {
                  type uint32 {
                    range "16..1048575";
                  }
                  description "Local Label";
                }
    
                leaf label-mode {
                  type Mpls-static-label-mode;
                  description
                    "Label Mode (PerVRF, PerPrefix or LSP)";
                }
    
                leaf prefix {
                  type inet:ip-address-no-zone;
                  description
                    "Address (IPv4/6 depending on AFI)";
                }
    
                leaf prefix-length {
                  type uint32;
                  description "Prefix length";
                }
    
                leaf tlh-mode {
                  type boolean;
                  description
                    "Top Label Hashing Mode";
                }
              }  // container in-label
    
              leaf lsp-name {
                type xr:Cisco-ios-xr-string;
                description "LSP Name";
              }
    
              uses PATH-TABLE;
            }  // list label-switched-path
          }  // container label-switched-paths
        }  // grouping LABEL-SWITCHED-PATH-TABLE
    
        grouping PATH-TABLE {
          description
            "Common node of local-label, label-switched-path";
          container paths {
            description
              "Forward Path Parameters";
            uses PATH;
          }  // container paths
        }  // grouping PATH-TABLE
    
        grouping AF-TABLE {
          description
            "Common node of default-vrf, vrf";
          container afs {
            description "Address Family Table";
            list af {
              key "afi";
              description "Address Family";
              container top-label-hash {
                description "Top Label Hash";
                uses LOCAL-LABEL-TABLE;
              }  // container top-label-hash
    
              leaf afi {
                type Mpls-static-address-family;
                description "Address Family";
              }
    
              uses LOCAL-LABEL-TABLE;
            }  // list af
          }  // container afs
        }  // grouping AF-TABLE
    
        container mpls-static {
          presence "CLI submode compatibility.";
          status deprecated;
          description
            "This model is deprecated and is replaced by
           Cisco-IOS-XR-um-mpls-static-cfg.yang which will
           provide the compatible functionalities.  MPLS
           Static Configuration Data";
          container vrfs {
            description "VRF table";
            list vrf {
              key "vrf-name";
              description "VRF Name";
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF Name";
              }
    
              uses LABEL-SWITCHED-PATH-TABLE;
    
              uses AF-TABLE;
            }  // list vrf
          }  // container vrfs
    
          container interfaces {
            description
              "MPLS Static Interface Table";
            list interface {
              key "interface-name";
              description
                "MPLS Static Interface Enable";
              leaf interface-name {
                type xr:Interface-name;
                description "Name of Interface";
              }
            }  // list interface
          }  // container interfaces
    
          container default-vrf {
            description "Default VRF";
            uses LABEL-SWITCHED-PATH-TABLE;
    
            uses AF-TABLE;
          }  // container default-vrf
        }  // container mpls-static
      }  // module Cisco-IOS-XR-mpls-static-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.