This module contains a collection of YANG definitions for Cisco IOS-XR ipv6-new-dhcpv6d package configuration. This module cont...
Version: 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.