Cisco-IOS-XR-ip-rip-cfg

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

  • Version: 2019-04-05

    Cisco-IOS-XR-ip-rip-cfg@2019-04-05


    
      module Cisco-IOS-XR-ip-rip-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-ip-rip-cfg";
    
        prefix ip-rip-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-rip package configuration.
         
         This module contains definitions
         for the following management objects:
           rip: RIP configuration
         
         Copyright (c) 2013-2019 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "1.0.0";
    
        typedef Rip-ext-community {
          type enumeration {
            enum "as" {
              value 0;
              description "AS:nn format";
            }
            enum "ipv4-address" {
              value 1;
              description
                "IPV4Address:nn format";
            }
            enum "four-byte-as" {
              value 2;
              description "4-byte ASN format";
            }
          }
          description "Rip ext community";
        }
    
        typedef Default-redist-route {
          type enumeration {
            enum "all" {
              value 0;
              description "All routes";
            }
          }
          description "Default redist route";
        }
    
        typedef Default-information-option {
          type enumeration {
            enum "always" {
              value 0;
              description "Always";
            }
            enum "policy" {
              value 1;
              description "Use route-policy";
            }
          }
          description
            "Default information option";
        }
    
        typedef Isis-redist-route {
          type enumeration {
            enum "level1" {
              value 1;
              description "Level-1 routes only";
            }
            enum "level2" {
              value 2;
              description "Level-1 routes only";
            }
            enum "level1-and2" {
              value 3;
              description
                "Level-1 and level-2 routes";
            }
          }
          description "Isis redist route";
        }
    
        typedef Bgp-redist-route {
          type enumeration {
            enum "all" {
              value 0;
              description "All routes";
            }
            enum "internal" {
              value 512;
              description "Internal routes only";
            }
            enum "external" {
              value 1024;
              description "External routes only";
            }
            enum "local" {
              value 2048;
              description "Local routes only";
            }
          }
          description "Bgp redist route";
        }
    
        typedef Rip-auth-mode {
          type enumeration {
            enum "text" {
              value 2;
              description "Text mode";
            }
            enum "md5" {
              value 3;
              description "MD5 mode";
            }
          }
          description "Rip auth mode";
        }
    
        grouping DISTANCE {
          description
            "Common node of default-vrf, vrf";
          leaf distance {
            type uint32 {
              range "0..255";
            }
            default "120";
            description
              "Administrative distance";
          }
        }  // grouping DISTANCE
    
        grouping VALIDATE-SOURCE-DISABLE {
          description
            "Common node of default-vrf, vrf";
          leaf validate-source-disable {
            type empty;
            description
              "Disable validation of source address of routing
             updates";
          }
        }  // grouping VALIDATE-SOURCE-DISABLE
    
        grouping AUTO-SUMMARY {
          description
            "Common node of default-vrf, vrf";
          leaf auto-summary {
            type empty;
            description
              "Enable automatic network number summarization";
          }
        }  // grouping AUTO-SUMMARY
    
        grouping TIMERS {
          description
            "Common node of default-vrf, vrf";
          container timers {
            presence
              "Indicates a timers node is configured.";
            description "Various routing timers";
            leaf update-timer {
              type uint32 {
                range "5..50000";
              }
              mandatory true;
              description
                "Interval between updates";
            }
    
            leaf invalid-timer {
              type uint32 {
                range "15..200000";
              }
              mandatory true;
              description "Invalid";
            }
    
            leaf holddown-timer {
              type uint32 {
                range "15..200000";
              }
              mandatory true;
              description "Holddown";
            }
    
            leaf flush-timer {
              type uint32 {
                range "16..250000";
              }
              mandatory true;
              description "Flush";
            }
          }  // container timers
        }  // grouping TIMERS
    
        grouping REDISTRIBUTION {
          description
            "Common node of default-vrf, vrf";
          container redistribution {
            description
              "Redistribute information from another routing
             protocol";
            container connected {
              presence "enable connected";
              description
                "Redistribute connected routes";
              leaf route-policy-name {
                type string;
                description "Route Policy name";
              }
    
              leaf route-type {
                type Default-redist-route;
                description "Route type";
              }
            }  // container connected
    
            container bgps {
              description
                "Redistribute BGP routes";
              list bgp {
                key "asnxx asnyy";
                description
                  "Autonomous system number";
                leaf asnxx {
                  type uint32 {
                    range "0..65535";
                  }
                  description
                    "Higher 16 bits of 4-byte BGP AS number";
                }
    
                leaf asnyy {
                  type uint32 {
                    range "0..4294967295";
                  }
                  description
                    "2-byte or 4-byte BGP AS number";
                }
    
                leaf policy {
                  type string;
                  description
                    "Route Policy name";
                }
    
                leaf type {
                  type Bgp-redist-route;
                  description "Route type";
                }
              }  // list bgp
            }  // container bgps
    
            container isises {
              description
                "Redistribute IS-IS routes";
              list isis {
                key "isis-name";
                description
                  "Redistribute IS-IS routes";
                leaf isis-name {
                  type xr:Cisco-ios-xr-string;
                  description
                    "IS-IS instance name";
                }
    
                leaf route-policy-name {
                  type string;
                  description
                    "Route Policy name";
                }
    
                leaf route-type {
                  type Isis-redist-route;
                  description "Route type";
                }
              }  // list isis
            }  // container isises
    
            container eigrp-s {
              description
                "Redistribute EIGRP routes";
              list eigrp {
                key "as";
                description
                  "Redistribute EIGRP routes";
                leaf as {
                  type uint32 {
                    range "1..65535";
                  }
                  description
                    "Autonomous system number";
                }
    
                leaf route-policy-name {
                  type string;
                  description
                    "Route Policy name";
                }
    
                leaf route-type {
                  type Default-redist-route;
                  description "Route type";
                }
              }  // list eigrp
            }  // container eigrp-s
    
            container static {
              presence "enable static";
              description
                "Redistribute static routes";
              leaf route-policy-name {
                type string;
                description "Route Policy name";
              }
    
              leaf route-type {
                type Default-redist-route;
                description "Route type";
              }
            }  // container static
    
            container ospfs {
              description
                "Redistribute OSPF routes";
              list ospf {
                key "ospf-name";
                description
                  "Redistribute OSPF routes";
                leaf ospf-name {
                  type xr:Cisco-ios-xr-string;
                  description
                    "Process ID for the OSPF instance";
                }
    
                leaf route-policy-name {
                  type string;
                  description
                    "Route Policy name";
                }
    
                leaf internal {
                  type boolean;
                  description "Internal routes";
                }
    
                leaf external {
                  type boolean;
                  description "External routes";
                }
    
                leaf external-type {
                  type uint32 {
                    range "0..2";
                  }
                  description
                    "External route type";
                }
    
                leaf nssa-external {
                  type boolean;
                  description
                    "NSSA External routes";
                }
    
                leaf nssa-external-type {
                  type uint32 {
                    range "0..2";
                  }
                  description
                    "NSSA External route type";
                }
              }  // list ospf
            }  // container ospfs
          }  // container redistribution
        }  // grouping REDISTRIBUTION
    
        grouping DEFAULT-INFORMATION {
          description
            "Common node of default-vrf, vrf";
          container default-information {
            presence
              "Indicates a default-information node is configured.";
            description
              "Controls default information origination";
            leaf route-policy-name {
              type string;
              description "Route policy name";
            }
    
            leaf option {
              type Default-information-option;
              mandatory true;
              description "Origination option";
            }
          }  // container default-information
        }  // grouping DEFAULT-INFORMATION
    
        grouping IP-DISTANCE-TABLE {
          description
            "Common node of default-vrf, vrf";
          container ip-distances {
            description
              "Table of IP specific administrative distances";
            list ip-distance {
              key "address netmask";
              description
                "IP specific administrative distance";
              leaf address {
                type inet:ipv4-address-no-zone;
                description "IP Source address";
              }
    
              leaf netmask {
                type inet:ipv4-address-no-zone;
                description "IP address mask";
              }
    
              leaf distance {
                type uint32 {
                  range "0..255";
                }
                mandatory true;
                description
                  "Administrative distance";
              }
            }  // list ip-distance
          }  // container ip-distances
        }  // grouping IP-DISTANCE-TABLE
    
        grouping MAXIMUM-PATHS {
          description
            "Common node of default-vrf, vrf";
          leaf maximum-paths {
            type uint32 {
              range "1..128";
            }
            default "4";
            description
              "Maximum number of paths allowed per route";
          }
        }  // grouping MAXIMUM-PATHS
    
        grouping POLICY-IN {
          description
            "Common node of default-vrf, vrf";
          leaf policy-in {
            type string;
            description
              "Route Policy for inbbound routing updates";
          }
        }  // grouping POLICY-IN
    
        grouping POLICY-OUT {
          description
            "Common node of default-vrf, vrf";
          leaf policy-out {
            type string;
            description
              "Route Policy for outbound routing updates";
          }
        }  // grouping POLICY-OUT
    
        grouping INTERFACE-TABLE {
          description
            "Common node of default-vrf, vrf";
          container interfaces {
            description
              "Table of RIP interfaces";
            list interface {
              key "interface-name";
              description "RIP interface name";
              container authentication {
                presence
                  "Indicates a authentication node is configured.";
                description
                  "Authentication keychain and mode";
                leaf keychain {
                  type string;
                  mandatory true;
                  description "Name of keychain";
                }
    
                leaf mode {
                  type Rip-auth-mode;
                  mandatory true;
                  description
                    "Authentication mode";
                }
              }  // container authentication
    
              container site-of-origin {
                description
                  "SOO community for prefixes learned over this
                 interface";
                leaf type {
                  type Rip-ext-community;
                  description
                    "Extended community type";
                }
    
                leaf as-xx {
                  when
                    "../type != 'as' and ../type != 'ipv4-address'" {
                    description
                      "../Type != AS and ../Type != IPV4Address";
                  }
                  type uint32 {
                    range "0..65535";
                  }
                  description
                    "AS Number for AS:nn format";
                }
    
                leaf as-yy {
                  when
                    "../type != 'ipv4-address'" {
                    description
                      "../Type != IPV4Address";
                  }
                  type uint32 {
                    range "0..4294967295";
                  }
                  description
                    "32 bit value for AS:nn format";
                }
    
                leaf as-index {
                  when
                    "../type != 'ipv4-address'" {
                    description
                      "../Type != IPV4Address";
                  }
                  type uint32 {
                    range "0..4294967295";
                  }
                  description "AS Number Index";
                }
    
                leaf address {
                  when
                    "../type = 'ipv4-address'" {
                    description
                      "../Type = IPV4Address";
                  }
                  type inet:ipv4-address-no-zone;
                  description
                    "IPV4 address for IPV4Address:nn format";
                }
    
                leaf address-index {
                  when
                    "../type = 'ipv4-address'" {
                    description
                      "../Type = IPV4Address";
                  }
                  type uint32 {
                    range "0..65535";
                  }
                  description
                    "16bit value for IPV4Address:nn format";
                }
              }  // container site-of-origin
    
              container receive-version {
                description
                  "RIP versions supported for receiving
                 advertisements";
                leaf version1 {
                  type boolean;
                  description
                    "Support RIP version 1";
                }
    
                leaf version2 {
                  type boolean;
                  default "true";
                  description
                    "Support RIP version 2";
                }
              }  // container receive-version
    
              container send-version {
                description
                  "RIP versions supported for sending
                 advertisements";
                leaf version1 {
                  type boolean;
                  description
                    "Support RIP version 1";
                }
    
                leaf version2 {
                  type boolean;
                  default "true";
                  description
                    "Support RIP version 2";
                }
              }  // container send-version
    
              leaf broadcast-for-v2 {
                type empty;
                description
                  "Send RIP v2 output packets to broadcast
                 address";
              }
    
              leaf poison-reverse {
                type empty;
                description
                  "Enable poison reverse";
              }
    
              leaf passive {
                type empty;
                description
                  "Suppress routing updates on this interface";
              }
    
              leaf enable {
                type empty;
                description
                  "Starts RIP interface configuration";
              }
    
              leaf policy-out {
                type string;
                description
                  "Route Policy for outbound routing updates";
              }
    
              leaf accept-metric-zero {
                type empty;
                description
                  "Accept RIP updates with metric 0";
              }
    
              leaf policy-in {
                type string;
                description
                  "Route Policy for inbound routing updates";
              }
    
              leaf split-horizon-disable {
                type empty;
                description
                  "Disable split horizon";
              }
    
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
            }  // list interface
          }  // container interfaces
        }  // grouping INTERFACE-TABLE
    
        grouping BROADCAST-FOR-V2 {
          description
            "Common node of default-vrf, vrf";
          leaf broadcast-for-v2 {
            type empty;
            description
              "Send RIP v2 output packets to broadcast address";
          }
        }  // grouping BROADCAST-FOR-V2
    
        grouping NSF {
          description
            "Common node of default-vrf, vrf";
          leaf nsf {
            type empty;
            description
              "Enable Cisco Non Stop Forwarding";
          }
        }  // grouping NSF
    
        grouping NEIGHBOR-TABLE {
          description
            "Common node of default-vrf, vrf";
          container neighbors {
            description
              "Configure RIP Neighbors";
            list neighbor {
              key "neighbor-address";
              description "Neighbor address";
              leaf neighbor-address {
                type inet:ipv4-address-no-zone;
                description "IPv4 address";
              }
            }  // list neighbor
          }  // container neighbors
        }  // grouping NEIGHBOR-TABLE
    
        grouping OUTPUT-DELAY {
          description
            "Common node of default-vrf, vrf";
          leaf output-delay {
            type uint32 {
              range "8..50";
            }
            units "millisecond";
            description
              "Inter-packet delay for RIP updates";
          }
        }  // grouping OUTPUT-DELAY
    
        grouping DEFAULT-METRIC {
          description
            "Common node of default-vrf, vrf";
          leaf default-metric {
            type uint32 {
              range "0..16";
            }
            description
              "Default metric of redistributed routes";
          }
        }  // grouping DEFAULT-METRIC
    
        container rip {
          description "RIP configuration";
          container default-vrf {
            description
              "RIP configuration for Default VRF";
            leaf enable {
              type empty;
              description
                "Starts RIP configuration for Default VRF";
            }
    
            uses BROADCAST-FOR-V2;
    
            uses DISTANCE;
    
            uses DEFAULT-INFORMATION;
    
            uses DEFAULT-METRIC;
    
            uses OUTPUT-DELAY;
    
            uses AUTO-SUMMARY;
    
            uses REDISTRIBUTION;
    
            uses IP-DISTANCE-TABLE;
    
            uses POLICY-OUT;
    
            uses INTERFACE-TABLE;
    
            uses NEIGHBOR-TABLE;
    
            uses VALIDATE-SOURCE-DISABLE;
    
            uses MAXIMUM-PATHS;
    
            uses NSF;
    
            uses POLICY-IN;
    
            uses TIMERS;
          }  // container default-vrf
    
          container vrfs {
            description
              "VRF related RIP configuration";
            list vrf {
              key "vrf-name";
              description
                "RIP configuration for a particular VRF";
              leaf enable {
                type empty;
                description
                  "Starts RIP configuration for a particular VRF";
              }
    
              leaf vrf-name {
                type xr:Cisco-ios-xr-string;
                description "VRF Name";
              }
    
              uses BROADCAST-FOR-V2;
    
              uses DISTANCE;
    
              uses DEFAULT-INFORMATION;
    
              uses DEFAULT-METRIC;
    
              uses OUTPUT-DELAY;
    
              uses AUTO-SUMMARY;
    
              uses REDISTRIBUTION;
    
              uses IP-DISTANCE-TABLE;
    
              uses POLICY-OUT;
    
              uses INTERFACE-TABLE;
    
              uses NEIGHBOR-TABLE;
    
              uses VALIDATE-SOURCE-DISABLE;
    
              uses MAXIMUM-PATHS;
    
              uses NSF;
    
              uses POLICY-IN;
    
              uses TIMERS;
            }  // list vrf
          }  // container vrfs
        }  // container rip
      }  // module Cisco-IOS-XR-ip-rip-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.