Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR ipv6-new-dhcpv6d package configuration. This module cont...

  • Version: 2021-05-28

    Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg@2021-05-28


    
      module Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg";
    
        prefix ipv6-new-dhcpv6d-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 ipv6-new-dhcpv6d package configuration.
         
         This module contains definitions
         for the following management objects:
           dhcpv6: None
         
         Copyright (c) 2013-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-05-28" {
          description
            "Edit config issue seen in Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg model
           2021-03-19
             Added support for dynamic relay MAC address handling.
           2020-12-02
             Added relay-l2ac-route-add-disable cli
           2020-08-12
             Added support for configurable dhcp ipv6 packet size CLI.
           2020-04-24
             Added IPoE DHCPv6 client reboot interval config.";
        }
    
        revision "2020-04-19" {
          description
            "Added hop count seed CLI support";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2017-09-12" {
          description
            "Added Remote-id config for relay profile";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2017-05-01" {
          description
            "Fixing backward compatibility error in module.";
        }
    
        revision "2016-10-10" {
          description
            "Moved augment statement to a separate file";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.1.0";
        semver:module-version "1.0.0";
    
        typedef Ipv6dhcp-mode {
          type enumeration {
            enum "server" {
              value 1;
              description
                "Specify mode-class based Server option";
            }
            enum "proxy" {
              value 2;
              description
                "Specify mode-class based Proxy option";
            }
          }
          description "Ipv6dhcp mode";
        }
    
        typedef Insert {
          type enumeration {
            enum "local" {
              value 0;
              description
                "Insert locally generated/configured Interface
               ID value";
            }
            enum "received" {
              value 1;
              description
                "Insert received Interface ID value";
            }
            enum "pppoe" {
              value 2;
              description
                "Insert received Interface ID value from SADB";
            }
            enum "received-nodefault" {
              value 3;
              description
                "No default Interface ID";
            }
          }
          description "Insert";
        }
    
        typedef Ipv6dhcp-default-mode {
          type enumeration {
            enum "server" {
              value 1;
              description
                "Specify mode-class based Server option";
            }
          }
          description "Ipv6dhcp default mode";
        }
    
        typedef Subscriber-id {
          type enumeration {
            enum "pppoe" {
              value 3;
              description
                "Insert Received Subscriber-ID Value from SADB";
            }
          }
          description "Subscriber id";
        }
    
        typedef Action {
          type enumeration {
            enum "allow" {
              value 0;
              description
                "Allow vendor specific DHCP Solicit";
            }
            enum "drop" {
              value 1;
              description
                "Drop vendor specific DHCP Solicit";
            }
          }
          description "Action";
        }
    
        typedef Link-layer-addr {
          type enumeration {
            enum "set" {
              value 4;
              description
                "Insert Received LinkLayerAddr Value from SADB";
            }
          }
          description "Link layer addr";
        }
    
        container dhcpv6 {
          presence
            "Indicates a dhcpv6 node is configured.";
          description "None";
          container database {
            description
              "Enable DHCP binding database storage to file
             system";
            leaf proxy {
              type empty;
              description
                "Enable DHCP proxy binding database storage to
               file system";
            }
    
            leaf server {
              type empty;
              description
                "Enable DHCP server binding database storage to
               file system";
            }
    
            leaf relay {
              type empty;
              description
                "Enable DHCP relay binding database storage to
               file system";
            }
    
            leaf full-write-interval {
              type uint32 {
                range "1..1440";
              }
              default "10";
              description
                "Full file write interval (default 10 minutes)";
            }
    
            leaf incremental-write-interval {
              type uint32 {
                range "1..1440";
              }
              default "1";
              description
                "Incremental file write interval (default 1
               minutes)";
            }
          }  // container database
    
          container rate-limit-solicit {
            description
              "Rate limit ingress packets";
            leaf num-period {
              type uint32 {
                range "1..1000";
              }
              description
                "Period in msec (Default: 200 msec)";
            }
    
            leaf num-solicit {
              type uint32 {
                range "0..1000";
              }
              description
                "Number of Solicit packets (Default: 100, 0: No
               limit)";
            }
          }  // container rate-limit-solicit
    
          container profiles {
            description "Table of Profile";
            list profile {
              key "profile-name";
              description "None";
              container cnbng {
                presence
                  "Indicates a cnbng node is configured.";
                description "None";
                leaf enable {
                  type empty;
                  mandatory true;
                  description
                    "Enable None. Deletion of this object also
                   causes deletion of all associated objects
                   under Cnbng.";
                }
              }  // container cnbng
    
              container relay {
                presence
                  "Indicates a relay node is configured.";
                description "None";
                container helper-addresses {
                  description
                    "Table of HelperAddress";
                  list helper-address {
                    key "vrf-name helper-address";
                    description
                      "Specify the server helper address";
                    leaf vrf-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description "VRF name";
                    }
    
                    leaf helper-address {
                      type inet:ipv6-address-no-zone;
                      description
                        "Server Global unicast address";
                    }
    
                    leaf enable {
                      type empty;
                      mandatory true;
                      description "Enable";
                    }
    
                    leaf src-intf-name {
                      type xr:Interface-name;
                      description
                        "Helper-address Specific Source Interface";
                    }
                  }  // list helper-address
                }  // container helper-addresses
    
                container option {
                  description
                    "Specify relay option configuration";
                  leaf remote-id {
                    type string {
                      length "1..256";
                    }
                    description
                      "Enter remote-id value";
                  }
                }  // container option
    
                leaf link-address {
                  type inet:ip-address-no-zone;
                  description
                    "IPv6 address to be filled in link-address";
                }
    
                leaf relay-l2ac-route-add-disable {
                  type empty;
                  description
                    "Disable l2ac route add if interface is down";
                }
    
                leaf src-intf-name {
                  type xr:Interface-name;
                  description
                    "Relay profile Source Interface Name";
                }
    
                leaf enable {
                  type empty;
                  mandatory true;
                  description
                    "Enable None. Deletion of this object also
                   causes deletion of all associated objects
                   under Relay.";
                }
    
                leaf iana-route-add {
                  type empty;
                  description
                    "Enable route addition for IANA";
                }
    
                leaf relay-route-add-disable {
                  type empty;
                  description "RouteDisable";
                }
              }  // container relay
    
              container base {
                presence
                  "Indicates a base node is configured.";
                description "None";
                container dhcpv6-to-aaa {
                  description
                    "Enable to provide the list of options need to
                   send to aaa";
                  container base-option {
                    description "option type";
                    container list {
                      description
                        "List of options";
                      leaf option-all {
                        type uint32;
                        description
                          "Set constant integer";
                      }
    
                      leaf-list option-number {
                        type uint32;
                        max-elements 12;
                        description
                          "Option number";
                      }
                    }  // container list
                  }  // container base-option
                }  // container dhcpv6-to-aaa
    
                container match-default {
                  description
                    "Default match option";
                  container profile {
                    description "None";
                    leaf profile-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..64";
                      }
                      description "Profile name";
                    }
    
                    leaf default-mode {
                      type Ipv6dhcp-default-mode;
                      description
                        "Set constant integer";
                    }
                  }  // container profile
                }  // container match-default
    
                container match {
                  description
                    "Enter match option";
                  container mode-classes {
                    description
                      "Table of ModeClass";
                    list mode-class {
                      key "class-name";
                      description
                        "Specify PPP/IPoE class option";
                      container profile {
                        description
                          "Enter proxy or server profile";
                        leaf profile-name {
                          type xr:Cisco-ios-xr-string {
                            length "1..64";
                          }
                          description
                            "Profile name";
                        }
    
                        leaf mode {
                          type Ipv6dhcp-mode;
                          description
                            "Set constant integer";
                        }
                      }  // container profile
    
                      leaf class-name {
                        type xr:Cisco-ios-xr-string {
                          length "1..64";
                        }
                        description "Class name";
                      }
                    }  // list mode-class
                  }  // container mode-classes
                }  // container match
    
                leaf enable {
                  type empty;
                  mandatory true;
                  description
                    "Enable None. Deletion of this object also
                   causes deletion of all associated objects
                   under Base.";
                }
              }  // container base
    
              container proxy {
                presence
                  "Indicates a proxy node is configured.";
                description "None";
                container interfaces {
                  description
                    "Table of Interface";
                  list interface {
                    key "interface-name";
                    description "None";
                    leaf interface-id {
                      type string;
                      description
                        "Physical interface ID";
                    }
    
                    leaf interface-name {
                      type xr:Interface-name;
                      description
                        "Interface to configure";
                    }
                  }  // list interface
                }  // container interfaces
    
                container relay {
                  description
                    "Specify relay configuration";
                  container option {
                    description
                      "Specify relay option configuration";
                    container interface-id {
                      description
                        "Interface Id option";
                      leaf insert {
                        type Insert;
                        description
                          "Configure InterfaceID insert type";
                      }
                    }  // container interface-id
    
                    leaf subscriber-id {
                      type Subscriber-id;
                      description
                        "Configure Received SubscriberID";
                    }
    
                    leaf link-layer-addr {
                      type Link-layer-addr;
                      description
                        "Configure Received link-layer-Addr";
                    }
    
                    leaf remote-i-dreceived {
                      type uint32;
                      description
                        "Set remote-id value from SADB";
                    }
    
                    leaf remote-id {
                      type string {
                        length "1..256";
                      }
                      description
                        "Enter remote-id value";
                    }
                  }  // container option
                }  // container relay
    
                container authentication {
                  description
                    "Authentication username format";
                  leaf username {
                    type empty;
                    description
                      "Set username as DUID";
                  }
                }  // container authentication
    
                container classes {
                  description "Table of Class";
                  list class {
                    key "class-name";
                    description "None";
                    container helper-addresses {
                      description
                        "Table of HelperAddress";
                      list helper-address {
                        key "vrf-name helper-address";
                        description
                          "Specify the server helper address";
                        leaf vrf-name {
                          type xr:Cisco-ios-xr-string {
                            length "1..32";
                          }
                          description "VRF name";
                        }
    
                        leaf helper-address {
                          type inet:ipv6-address-no-zone;
                          description
                            "Server address";
                        }
                      }  // list helper-address
                    }  // container helper-addresses
    
                    leaf link-address {
                      type inet:ip-address-no-zone;
                      description
                        "IPv6 address to be filled in link-address";
                    }
    
                    leaf class-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..64";
                      }
                      description "Class name";
                    }
                  }  // list class
                }  // container classes
    
                container sessions {
                  description
                    "Change sessions configuration";
                  container mac {
                    description
                      "Throttle DHCP sessions based on MAC address";
                    container throttle {
                      description
                        "Throttle DHCP sessions from any one MAC
                       address";
                      leaf limit {
                        type uint32 {
                          range "1..65535";
                        }
                        description
                          "Number of solicits at which to throttle";
                      }
    
                      leaf request {
                        type uint32 {
                          range "1..100";
                        }
                        units "second";
                        description
                          "Throttle request period (in secs)";
                      }
    
                      leaf block {
                        type uint32 {
                          range "1..100";
                        }
                        units "second";
                        description
                          "Throttle blocking period (in secs)";
                      }
                    }  // container throttle
                  }  // container mac
                }  // container sessions
    
                container helper-addresses {
                  description
                    "Table of HelperAddress";
                  list helper-address {
                    key "vrf-name helper-address";
                    description
                      "DHCPv6 Helper Address";
                    leaf out-interface {
                      type xr:Interface-name;
                      description
                        "DHCPv6 HelperAddress Specific Output
                       Interface";
                    }
    
                    leaf any-out-interface {
                      type empty;
                      description
                        "DHCPv6 HelperAddress Output Interface";
                    }
    
                    leaf vrf-name {
                      type xr:Cisco-ios-xr-string;
                      description "VRF name";
                    }
    
                    leaf helper-address {
                      type inet:ipv6-address-no-zone;
                      description
                        "DHCPv6 Helper Address";
                    }
                  }  // list helper-address
                }  // container helper-addresses
    
                leaf linkaddress-from-ra-enable {
                  type empty;
                  description
                    "Fill linkaddress in Relay fwd msg with Prefix
                   from Router Advertisement for PPPoE sessions";
                }
    
                leaf route-add-disable {
                  type empty;
                  description "RouteDisable";
                }
    
                leaf link-address {
                  type inet:ip-address-no-zone;
                  description
                    "IPv6 address to be filled in link-address";
                }
    
                leaf src-intf-name {
                  type xr:Interface-name;
                  description
                    "Create or enter proxy profile Source
                   Interface Name";
                }
    
                leaf enable {
                  type empty;
                  mandatory true;
                  description
                    "Enable None. Deletion of this object also
                   causes deletion of all associated objects
                   under Proxy.";
                }
    
                leaf l2ac-route-add-disable {
                  type empty;
                  description
                    "Disable l2ac route add if interface is down";
                }
              }  // container proxy
    
              container server {
                presence
                  "Indicates a server node is configured.";
                description "None";
                container sessions {
                  description
                    "Change sessions configuration";
                  container mac {
                    description
                      "Throttle DHCP sessions based on MAC address";
                    container throttle {
                      description
                        "Throttle DHCP sessions from any one MAC
                       address";
                      leaf limit {
                        type uint32 {
                          range "1..65535";
                        }
                        description
                          "Number of solicits at which to throttle";
                      }
    
                      leaf request {
                        type uint32 {
                          range "1..100";
                        }
                        units "second";
                        description
                          "Throttle request period (in secs)";
                      }
    
                      leaf block {
                        type uint32 {
                          range "1..100";
                        }
                        units "second";
                        description
                          "Throttle blocking period (in secs)";
                      }
                    }  // container throttle
                  }  // container mac
                }  // container sessions
    
                container dns-servers {
                  description "DNS servers";
                  leaf-list dns-server {
                    type inet:ip-address-no-zone;
                    max-elements 8;
                    description
                      "Server's IPv6 address";
                  }
                }  // container dns-servers
    
                container classes {
                  description "Table of Class";
                  list class {
                    key "class-name";
                    description "None";
                    container dns-servers {
                      description "DNS servers";
                      leaf-list dns-server {
                        type inet:ip-address-no-zone;
                        max-elements 8;
                        description
                          "Server's IPv6 address";
                      }
                    }  // container dns-servers
    
                    container lease {
                      description "lease";
                      leaf infinite {
                        type string;
                        description "Set string";
                      }
    
                      leaf days {
                        type uint32 {
                          range "0..365";
                        }
                        units "day";
                        description "Days";
                      }
    
                      leaf hours {
                        type uint32 {
                          range "0..23";
                        }
                        units "hour";
                        description "Hours";
                      }
    
                      leaf minutes {
                        type uint32 {
                          range "0..59";
                        }
                        units "minute";
                        description "Minutes";
                      }
                    }  // container lease
    
                    leaf address-pool {
                      type string {
                        length "1..64";
                      }
                      description
                        "Address pool name";
                    }
    
                    leaf domain-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..64";
                      }
                      description "Domain name";
                    }
    
                    leaf preference {
                      type uint32 {
                        range "1..255";
                      }
                      description
                        "DHCP Server Preference";
                    }
    
                    leaf prefix-pool {
                      type string {
                        length "1..64";
                      }
                      description
                        "Prefix pool name";
                    }
    
                    leaf class-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..64";
                      }
                      description "class name";
                    }
                  }  // list class
                }  // container classes
    
                container lease {
                  description "lease";
                  leaf days {
                    type uint32 {
                      range "0..365";
                    }
                    units "day";
                    description "Days";
                  }
    
                  leaf hours {
                    type uint32 {
                      range "0..23";
                    }
                    units "hour";
                    description "Hours";
                  }
    
                  leaf minutes {
                    type uint32 {
                      range "0..59";
                    }
                    units "minute";
                    description "Minutes";
                  }
    
                  leaf infinite {
                    type string;
                    description "Set string";
                  }
                }  // container lease
    
                container dhcpv6duid {
                  description "Client DUID";
                  leaf allowed-type {
                    type uint32 {
                      range "1..4";
                    }
                    description
                      "Type of DUID to be allowed";
                  }
                }  // container dhcpv6duid
    
                container aaa-server {
                  description
                    "Enable aaa dhcpv6 option force-insert";
                  container dhcpv6-option {
                    description
                      "Enable aaa dhcpv6 option force-insert";
                    leaf force-insert {
                      type empty;
                      description
                        "Enable aaa dhcpv6 option force-insert";
                    }
                  }  // container dhcpv6-option
                }  // container aaa-server
    
                container options {
                  description "DHCPv6 match";
                  list option {
                    key "type format value";
                    description
                      "DHCPv6 match option";
                    container enterprise-id {
                      description
                        "match enterprise number";
                      container hex-enterprise-id {
                        description
                          "defaut action for enterprise number";
                        leaf action {
                          type Action;
                          description
                            "Configure Action to be take on match";
                        }
                      }  // container hex-enterprise-id
    
                      container default-enterprise-id {
                        description
                          "defaut action for enterprise number";
                        leaf action {
                          type Action;
                          description
                            "Configure Action to be take on match";
                        }
                      }  // container default-enterprise-id
                    }  // container enterprise-id
    
                    container vendor-class {
                      description
                        "match vendor class";
                      container str-vendor-class {
                        description
                          "string action for vendor number";
                        leaf action {
                          type Action;
                          description
                            "Configure Action to be take on match";
                        }
                      }  // container str-vendor-class
    
                      container default-vendor-class {
                        description
                          "default action for enterprise number";
                        leaf action {
                          type Action;
                          description
                            "Configure Action to be take on match";
                        }
                      }  // container default-vendor-class
                    }  // container vendor-class
    
                    leaf type {
                      type xr:Cisco-ios-xr-string;
                      description "Set string";
                    }
    
                    leaf format {
                      type uint32;
                      description
                        "Set constant integer";
                    }
    
                    leaf value {
                      type xr:Cisco-ios-xr-string;
                      description "Set string";
                    }
                  }  // list option
                }  // container options
    
                container dhcpv6-options {
                  description "DHCPv6 options";
                  container vendor-options {
                    description "Vendor options";
                    leaf type {
                      type string;
                      description "Set string";
                    }
    
                    leaf vendor-options {
                      type string {
                        length "1..512";
                      }
                      description
                        "Vendor options";
                    }
                  }  // container vendor-options
                }  // container dhcpv6-options
    
                leaf address-pool {
                  type string {
                    length "1..64";
                  }
                  description
                    "Address pool name";
                }
    
                leaf aftr-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..64";
                  }
                  description "AFTR name";
                }
    
                leaf domain-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..64";
                  }
                  description "Domain name";
                }
    
                leaf preference {
                  type uint32 {
                    range "0..255";
                  }
                  description
                    "DHCP Server Preference";
                }
    
                leaf rapid-commit {
                  type empty;
                  description
                    "Allow RAPID Commit";
                }
    
                leaf enable {
                  type empty;
                  mandatory true;
                  description
                    "Enable None. Deletion of this object also
                   causes deletion of all associated objects
                   under Server.";
                }
    
                leaf enable-session-limit {
                  type empty;
                  description
                    "Enable vlan or interface session limit";
                }
    
                leaf prefix-pool {
                  type string {
                    length "1..64";
                  }
                  description "Prefix pool name";
                }
    
                leaf dynamic-relay-mac-addr {
                  type empty;
                  description
                    "Handle Relay-Fwd pkts from relay whose
                   mac-addr has changed";
                }
              }  // container server
    
              leaf profile-name {
                type xr:Cisco-ios-xr-string;
                description "Profile name";
              }
            }  // list profile
          }  // container profiles
    
          container interfaces {
            description "Table of Interface";
            list interface {
              key "interface-name";
              description "None";
              container pppoe {
                description
                  "PPPoE subscriber interface";
                leaf profile {
                  type xr:Cisco-ios-xr-string {
                    length "1..64";
                  }
                  description
                    "Enter profile name";
                }
              }  // container pppoe
    
              container cnbng {
                description
                  "Assign a cnbng profile to interface";
                leaf profile {
                  type xr:Cisco-ios-xr-string {
                    length "1..64";
                  }
                  description
                    "Enter profile name";
                }
              }  // container cnbng
    
              container proxy {
                description
                  "Assign a proxy profile to interface";
                leaf profile {
                  type xr:Cisco-ios-xr-string {
                    length "1..64";
                  }
                  description
                    "Enter profile name";
                }
              }  // container proxy
    
              container base {
                description
                  "Assign a base profile to interface";
                leaf profile {
                  type xr:Cisco-ios-xr-string {
                    length "1..64";
                  }
                  description
                    "Enter profile name";
                }
              }  // container base
    
              container server {
                description
                  "Assign a server profile to interface";
                leaf profile {
                  type xr:Cisco-ios-xr-string {
                    length "1..64";
                  }
                  description
                    "Enter profile name";
                }
              }  // container server
    
              container relay {
                description
                  "Assign a relay profile to interface";
                leaf profile {
                  type xr:Cisco-ios-xr-string {
                    length "1..64";
                  }
                  description
                    "Enter profile name";
                }
              }  // container relay
    
              leaf interface-name {
                type xr:Interface-name;
                description
                  "Interface to configure";
              }
            }  // list interface
          }  // container interfaces
    
          leaf inner-cos {
            type uint32 {
              range "0..7";
            }
            description
              "Inner cos values for DHCPv6 packets to wards
             clients";
          }
    
          leaf handle-jumbo-packet {
            type empty;
            description
              "Handle packets of huge size";
          }
    
          leaf enable {
            type empty;
            mandatory true;
            description
              "Enable None. Deletion of this object also causes
             deletion of all associated objects under DHCPv6.";
          }
    
          leaf hop-count-seed {
            type empty;
            description
              "Start hop count to 0 in relay-forward msg for
             SOLICIT";
          }
    
          leaf ipoe-dhcp-client-reboot {
            type uint32 {
              range "10..30";
            }
            units "second";
            description
              "For BNG, timed wait for term a session";
          }
    
          leaf allow-duid-change {
            type empty;
            description
              "For BNG session, allow duid change for a client
             MAC";
          }
    
          leaf outer-cos {
            type uint32 {
              range "0..7";
            }
            description
              "Configure outer cos values for DHCPv6 packet to
             wards client";
          }
        }  // container dhcpv6
      }  // module Cisco-IOS-XR-ipv6-new-dhcpv6d-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.