Cisco-IOS-XR-ipv6-nd-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR ipv6-nd package configuration. This module contains defi...

  • Version: 2019-10-31

    Cisco-IOS-XR-ipv6-nd-cfg@2019-10-31


    
      module Cisco-IOS-XR-ipv6-nd-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-nd-cfg";
    
        prefix ipv6-nd-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-ifmgr-cfg {
          prefix a1;
        }
    
        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 ipv6-nd package configuration.
         
         This module contains definitions
         for the following management objects:
           ipv6-neighbor: IPv6 neighbor or neighbor discovery
             configuration
         
         This YANG module augments the
           Cisco-IOS-XR-ifmgr-cfg
         module with 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-05-01" {
          description
            "Fixing backward compatibility error in module.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        typedef Ipv6srp-encapsulation {
          type enumeration {
            enum "srpa" {
              value 5;
              description
                "Encapsulation type SRP, prefer side A";
            }
            enum "srpb" {
              value 6;
              description
                "Encapsulation type SRP, prefer side B";
            }
          }
          description "Ipv6srp encapsulation";
        }
    
        typedef Ipv6nd-month {
          type enumeration {
            enum "january" {
              value 0;
              description "January";
            }
            enum "february" {
              value 1;
              description "February";
            }
            enum "march" {
              value 2;
              description "March";
            }
            enum "april" {
              value 3;
              description "April";
            }
            enum "may" {
              value 4;
              description "May";
            }
            enum "june" {
              value 5;
              description "June";
            }
            enum "july" {
              value 6;
              description "July";
            }
            enum "august" {
              value 7;
              description "August";
            }
            enum "september" {
              value 8;
              description "September";
            }
            enum "october" {
              value 9;
              description "October";
            }
            enum "november" {
              value 10;
              description "November";
            }
            enum "december" {
              value 11;
              description "December";
            }
          }
          description "Ipv6nd month";
        }
    
        typedef Ipv6-nd-router-pref {
          type enumeration {
            enum "high" {
              value 1;
              description "High preference";
            }
            enum "medium" {
              value 2;
              description "Medium preference";
            }
            enum "low" {
              value 3;
              description "Low preference";
            }
          }
          description "Ipv6 nd router pref";
        }
    
        augment /a1:interface-configurations/a1:interface-configuration {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-ifmgr-cfg'";
          container ipv6-neighbor {
            description
              "IPv6 interface neighbor or neighbor discovery
             configuration";
            container raspecific-route-s {
              description
                "IPv6 Router Advertisement (RA) Specific Route";
              list raspecific-route {
                key "specific-route";
                description
                  "IPv6 Router Advertisement (RA) Specific Route";
                leaf specific-route {
                  type inet:ipv6-address-no-zone;
                  description "IPv6 Address";
                }
    
                leaf prefix-length {
                  type xr:Ipv6-prefix-length;
                  description
                    "Prefix mask length";
                }
    
                leaf lifetime {
                  type uint32 {
                    range "0..4294967295";
                  }
                  description
                    "Lifetime (seconds)";
                }
    
                leaf preference {
                  type Ipv6-nd-router-pref;
                  description "Preference";
                }
              }  // list raspecific-route
            }  // container raspecific-route-s
    
            container radns-searches {
              description
                "IPv6 Router Advertisement (RA) DNS Search List";
              list radns-search {
                key "dns-search-list";
                description
                  "IPv6 Router Advertisement (RA) DNS Search List";
                leaf dns-search-list {
                  type xr:Cisco-ios-xr-string;
                  description "Search List";
                }
    
                leaf lifetime {
                  type uint32 {
                    range "0..4294967295";
                  }
                  mandatory true;
                  description
                    "Lifetime value in seconds";
                }
              }  // list radns-search
            }  // container radns-searches
    
            container radns-servers {
              description
                "IPv6 Router Advertisement (RA) DNS Servre";
              list radns-server {
                key "dns-server";
                description
                  "IPv6 Router Advertisement (RA) DNS Servre";
                leaf dns-server {
                  type inet:ipv6-address-no-zone;
                  description "IPv6 Address";
                }
    
                leaf lifetime {
                  type uint32 {
                    range "0..4294967295";
                  }
                  mandatory true;
                  description
                    "Lifetime value in seconds";
                }
              }  // list radns-server
            }  // container radns-servers
    
            container ra-interval {
              presence
                "Indicates a ra-interval node is configured.";
              description
                "Set IPv6 Router Advertisement (RA) interval in
               seconds";
              leaf maximum {
                type uint32 {
                  range "4..1800";
                }
                mandatory true;
                description
                  "Maximum RA interval in seconds";
              }
    
              leaf minimum {
                type uint32 {
                  range "3..1800";
                }
                description
                  "Minimum RA interval in seconds. Must be less
                 than 0.75 * maximum interval";
              }
            }  // container ra-interval
    
            container ipv6-prefixes {
              description "Prefixes ";
              list ipv6-prefix {
                key "prefix";
                description
                  "Configure prefix with paramemters";
                leaf prefix {
                  type inet:ipv6-address-no-zone;
                  description "IPv6 prefix";
                }
    
                leaf prefix-zone {
                  type string {
                    length "1..9";
                  }
                  mandatory true;
                  description "Prefix zone";
                }
    
                leaf prefix-length {
                  type xr:Ipv6-prefix-length;
                  mandatory true;
                  description
                    "Prefix mask length";
                }
    
                leaf valid-lifetime {
                  type uint32 {
                    range "0..4294967295";
                  }
                  description
                    "Valid Lifetime (seconds)";
                }
    
                leaf preferred-lifetime {
                  type uint32 {
                    range "0..4294967295";
                  }
                  description
                    "Preferred Lifetime (seconds) must be <= Valid
                   Lifetime";
                }
    
                leaf off-link {
                  type boolean;
                  description
                    "If set, prefix will not be used for onlink
                   determination";
                }
    
                leaf no-auto-config {
                  type boolean;
                  description
                    "If set, prefix will not be used for auto
                   configuration";
                }
    
                leaf no-advertize {
                  type boolean;
                  description
                    "If set, prefix will not be advertized";
                }
    
                leaf expiry-month {
                  type Ipv6nd-month;
                  description
                    "Month to expire valid lifetime";
                }
    
                leaf expiry-date {
                  type uint32 {
                    range "1..31";
                  }
                  description
                    "Date to expire valid lifetime";
                }
    
                leaf expiry-year {
                  type uint32 {
                    range "2003..2035";
                  }
                  description
                    "Year to expire valid lifetime";
                }
    
                leaf expiry-hour {
                  type uint32 {
                    range "0..23";
                  }
                  description
                    "Hour to expire valid lifetime";
                }
    
                leaf expiry-minute {
                  type uint32 {
                    range "0..59";
                  }
                  description
                    "Minute to expire valid lifetime";
                }
    
                leaf pref-expiry-month {
                  type Ipv6nd-month;
                  description
                    "Month to expire preferred lifetime";
                }
    
                leaf pref-expiry-date {
                  type uint32 {
                    range "1..31";
                  }
                  description
                    "Date to expire preferred lifetime";
                }
    
                leaf pref-expiry-year {
                  type uint32 {
                    range "2003..2035";
                  }
                  description
                    "Year to expire preferred lifetime";
                }
    
                leaf pref-expiry-hour {
                  type uint32 {
                    range "0..23";
                  }
                  description
                    "Hour to expire preferred lifetime";
                }
    
                leaf pref-expiry-minute {
                  type uint32 {
                    range "0..59";
                  }
                  description
                    "Minute to expire preferred lifetime";
                }
              }  // list ipv6-prefix
            }  // container ipv6-prefixes
    
            leaf reachable-time {
              type uint32 {
                range "0..3600000";
              }
              units "millisecond";
              description
                "Set advertised reachability time in
               milliseconds";
            }
    
            leaf ra-unspecify-hoplimit {
              type empty;
              description
                "Unspecify IPv6 Router Advertisement (RA)
               hop-limit";
            }
    
            leaf dad-attempts {
              type uint32 {
                range "0..600";
              }
              description
                "Set IPv6 duplicate address detection transmits";
            }
    
            leaf srp-multicast-encapsulation {
              type Ipv6srp-encapsulation;
              description
                "Set SRP multicast prefer encapsulation";
            }
    
            leaf ns-interval {
              type uint32 {
                range "1000..4294967295";
              }
              units "millisecond";
              description
                "Set advertised NS retransmission interval in
               milliseconds";
            }
    
            leaf cache-limit {
              type uint32 {
                range "0..128000";
              }
              description
                "Set the cache limit for neighbor entries";
            }
    
            leaf redirect {
              type empty;
              description
                "Enable sending of ICMP Redirect messages";
            }
    
            leaf srp-unicast-encapsulation {
              type Ipv6srp-encapsulation;
              description
                "Set SRP unicast prefer encapsulation";
            }
    
            leaf ramtu-suppress {
              type empty;
              description
                "Enable suppress MTU in IPv6 router
               advertisement";
            }
    
            leaf managed-config {
              type empty;
              description
                "Host to use stateful protocol for address
               configuration";
            }
    
            leaf ra-unicast {
              type empty;
              description
                "Enable unicast IPv6 router advertisement";
            }
    
            leaf ra-lifetime {
              type uint32 {
                range "0..9000";
              }
              units "second";
              description
                "Set IPv6 Router Advertisement (RA) lifetime in
               seconds";
            }
    
            leaf other-config {
              type empty;
              description
                "Host to use stateful protocol for non-address
               configuration";
            }
    
            leaf ra-suppress {
              type empty;
              description
                "Enable suppress IPv6 router advertisement";
            }
    
            leaf router-preference {
              type Ipv6-nd-router-pref;
              description "RA Router Preference";
            }
          }  // container ipv6-neighbor
        }
    
        container ipv6-neighbor {
          description
            "IPv6 neighbor or neighbor discovery configuration";
          container neighbors {
            description "IPv6 neighbors";
            list neighbor {
              key "neighbor-address interface-name";
              description
                "IPv6 neighbor configuration";
              leaf neighbor-address {
                type inet:ipv6-address-no-zone;
                description "IPv6 address";
              }
    
              leaf interface-name {
                type xr:Interface-name;
                description "Interface name";
              }
    
              leaf zone {
                type string;
                mandatory true;
                description "IPv6 address zone";
              }
    
              leaf mac-address {
                type yang:mac-address;
                mandatory true;
                description
                  "48-bit hardware address H.H.H";
              }
    
              leaf encapsulation {
                type Ipv6srp-encapsulation;
                description
                  "Encapsulation type only if interface type is
                 SRP";
              }
            }  // list neighbor
          }  // container neighbors
    
          leaf scavenge-timeout {
            type uint32 {
              range "1..43200";
            }
            units "second";
            description
              "Set lifetime for stale neighbor";
          }
    
          leaf cos {
            type uint32 {
              range "0..7";
            }
            description
              "Set cos value for both outer vlan and inner vlan
             (if present) in all ougoing ND control packets";
          }
        }  // container ipv6-neighbor
      }  // module Cisco-IOS-XR-ipv6-nd-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.