Cisco-IOS-XR-ip-iep-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR ip-iep package configuration. This module contains defin...

  • Version: 2019-10-31

    Cisco-IOS-XR-ip-iep-cfg@2019-10-31


    
      module Cisco-IOS-XR-ip-iep-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-iep-cfg";
    
        prefix ip-iep-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 ip-iep package configuration.
         
         This module contains definitions
         for the following management objects:
           ip-explicit-paths: IP Explicit Path config 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 "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        typedef Ip-iep-num {
          type enumeration {
            enum "unnumbered" {
              value 1;
              description "Unnumbered";
            }
            enum "numbered" {
              value 2;
              description "Numbered";
            }
          }
          description "Ip iep num";
        }
    
        typedef Ip-iep-hop {
          type enumeration {
            enum "next-strict" {
              value 2;
              description "NextStrict";
            }
            enum "next-loose" {
              value 3;
              description "NextLoose";
            }
            enum "exclude" {
              value 4;
              description "Exclude";
            }
            enum "exclude-srlg" {
              value 5;
              description
                "Exclude Shared Risk Link Group";
            }
            enum "next-label" {
              value 6;
              description "NextLabel";
            }
          }
          description "Ip iep hop";
        }
    
        typedef Ip-iep-path {
          type enumeration {
            enum "identifier" {
              value 1;
              description "Identifier";
            }
            enum "name" {
              value 2;
              description "Name";
            }
          }
          description "Ip iep path";
        }
    
        container ip-explicit-paths {
          description
            "IP Explicit Path config data";
          container paths {
            description
              "A list of explicit paths";
            list path {
              must "name or identifier" {
                description
                  "Name or Identifier must be present.";
              }
              key "type";
              description
                "Config data for a specific explicit path";
              leaf type {
                type Ip-iep-path;
                description "Path type";
              }
    
              list name {
                when "../type = 'name'" {
                  description "../Type = Name";
                }
                key "name";
                description "name";
                leaf name {
                  type xr:Cisco-ios-xr-string;
                  description "Path name";
                }
    
                container hops {
                  description "List of Hops";
                  list hop {
                    key "index-number";
                    description
                      "Hop Information";
                    leaf index-number {
                      type uint32 {
                        range "1..65535";
                      }
                      description "Index number";
                    }
    
                    leaf ip-address {
                      when
                        "../hop-type != 'next-label'" {
                        description
                          "../HopType != NextLabel";
                      }
                      type inet:ipv4-address-no-zone;
                      mandatory true;
                      description
                        "IP address of the hop";
                    }
    
                    leaf hop-type {
                      type Ip-iep-hop;
                      mandatory true;
                      description
                        "Include or exclude this hop in the path";
                    }
    
                    leaf if-index {
                      when
                        "../hop-type != 'next-label'" {
                        description
                          "../HopType != NextLabel";
                      }
                      type uint32;
                      mandatory true;
                      description
                        "Ifindex value";
                    }
    
                    leaf num-type {
                      when
                        "../hop-type != 'next-label'" {
                        description
                          "../HopType != NextLabel";
                      }
                      type Ip-iep-num;
                      mandatory true;
                      description
                        "Number type Numbered or Unnumbered";
                    }
    
                    leaf mpls-label {
                      when
                        "../hop-type = 'next-label'" {
                        description
                          "../HopType = NextLabel";
                      }
                      type uint32 {
                        range "0..1048575";
                      }
                      description "MPLS Label";
                    }
                  }  // list hop
                }  // container hops
    
                leaf disable {
                  type empty;
                  description
                    "Disable the explicit path";
                }
              }  // list name
    
              list identifier {
                when "../type = 'identifier'" {
                  description
                    "../Type = Identifier";
                }
                key "id";
                description "identifier";
                leaf id {
                  type uint32 {
                    range "1..65535";
                  }
                  description "Path identifier";
                }
    
                container hops {
                  description "List of Hops";
                  list hop {
                    key "index-number";
                    description
                      "Hop Information";
                    leaf index-number {
                      type uint32 {
                        range "1..65535";
                      }
                      description "Index number";
                    }
    
                    leaf ip-address {
                      when
                        "../hop-type != 'next-label'" {
                        description
                          "../HopType != NextLabel";
                      }
                      type inet:ipv4-address-no-zone;
                      mandatory true;
                      description
                        "IP address of the hop";
                    }
    
                    leaf hop-type {
                      type Ip-iep-hop;
                      mandatory true;
                      description
                        "Include or exclude this hop in the path";
                    }
    
                    leaf if-index {
                      when
                        "../hop-type != 'next-label'" {
                        description
                          "../HopType != NextLabel";
                      }
                      type uint32;
                      mandatory true;
                      description
                        "Ifindex value";
                    }
    
                    leaf num-type {
                      when
                        "../hop-type != 'next-label'" {
                        description
                          "../HopType != NextLabel";
                      }
                      type Ip-iep-num;
                      mandatory true;
                      description
                        "Number type Numbered or Unnumbered";
                    }
    
                    leaf mpls-label {
                      when
                        "../hop-type = 'next-label'" {
                        description
                          "../HopType = NextLabel";
                      }
                      type uint32 {
                        range "0..1048575";
                      }
                      description "MPLS Label";
                    }
                  }  // list hop
                }  // container hops
    
                leaf disable {
                  type empty;
                  description
                    "Disable the explicit path";
                }
              }  // list identifier
            }  // list path
          }  // container paths
        }  // container ip-explicit-paths
      }  // module Cisco-IOS-XR-ip-iep-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.