This module contains a collection of YANG definitions for DHCP Server and Client operational data. Copyright (c) 2017-2019 by Ci...
Version: 2021-07-01
module Cisco-IOS-XE-dhcp-oper { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XE-dhcp-oper"; prefix dhcp-ios-xe-oper; import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import cisco-semver { prefix cisco-semver; } organization "Cisco Systems, Inc."; contact "Cisco Systems, Inc. Customer Service Postal: 170 W Tasman Drive San Jose, CA 95134 Tel: +1 1800 553-NETS E-mail: cs-yang@cisco.com"; description "This module contains a collection of YANG definitions for DHCP Server and Client operational data. Copyright (c) 2017-2019 by Cisco Systems, Inc. All rights reserved."; revision "2021-07-01" { description "Added DHCPv4 pool operational data"; reference "2.4.0"; } revision "2019-05-01" { description "Added semantic version"; reference "2.3.0"; } revision "2018-10-29" { description "- Adding DHCPv6 oper model. - Cleaned up spelling errors in descriptions."; reference "2.2.0"; } revision "2018-07-11" { description "change in description."; reference "2.1.0"; } revision "2018-02-13" { description "dns name changes."; reference "2.0.0"; } revision "2017-11-01" { description "Initial revision"; reference "1.0.0"; } cisco-semver:module-version "2.4.0"; cisco-semver:module-version "2.3.0"; cisco-semver:module-version "2.2.0"; cisco-semver:module-version "2.1.0"; cisco-semver:module-version "2.0.0"; cisco-semver:module-version "1.0.0"; typedef dhcp-server-binding-state { type enumeration { enum "dhcp-server-binding-state-selecting" { value 0; description "Server state is in Selecting mode"; } enum "dhcp-server-binding-state-active" { value 1; description "Server state Active new address provided"; } enum "dhcp-server-binding-state-terminated" { value 2; description "Server terminated the connection with a client"; } enum "dhcp-server-binding-state-unknown" { value 3; description "Server state unknown"; } } description "DHCP server binding states "; } typedef dhcp-server-binding-type { type enumeration { enum "dhcp-server-binding-type-manual" { value 0; description "Server binding Type Manual"; } enum "dhcp-server-binding-type-static" { value 1; description "Sever binding type Static"; } enum "dhcp-server-binding-type-relay" { value 2; description "Server binding type relay"; } enum "dhcp-server-binding-type-automatic" { value 3; description "Server binding type automatic"; } enum "dhcp-server-binding-type-odap" { value 4; description "Server binding Type ODAP"; } enum "dhcp-server-binding-type-from-aaa" { value 5; description "Sever binding type from AAA"; } enum "dhcp-server-binding-type-remembered" { value 6; description "Server binding type remembered"; } } description "DHCP server binding type"; } typedef dhcp-client-state { type enumeration { enum "dhcp-client-state-temp-from-client" { value 0; description "Client state address/sync from other client"; } enum "dhcp-client-state-temp-from-sync" { value 1; description "Client state Sync"; } enum "dhcp-client-state-initial" { value 2; description "Client initial state "; } enum "dhcp-client-state-selecting" { value 3; description "Client state Selecting"; } enum "dhcp-client-state-requesting" { value 4; description "Client state Requesting"; } enum "dhcp-client-state-bound" { value 5; description "Client state bound"; } enum "dhcp-client-state-rebinding" { value 6; description "Client state rebinding"; } enum "dhcp-client-state-renewing" { value 7; description "Client state renewing"; } enum "dhcp-client-state-holdtime" { value 8; description "Client state holdtime"; } enum "dhcp-client-state-ddns-wait" { value 9; description "Client state DDNS wait"; } enum "dhcp-client-state-releasing" { value 10; description "Client state releasing"; } enum "dhcp-client-state-purging" { value 11; description "Client state purging"; } enum "dhcp-client-state-leasequery" { value 12; description "Client state leasequery"; } enum "dhcp-client-state-unknown" { value 13; description "Client state unknown"; } } description "DHCP Client state"; } typedef dhcp-expiry-option { type enumeration { enum "dhcp-expiration-time" { value 0; description "Expiration option time"; } enum "dhcp-expiration-infinite" { value 1; description "Expiration option infinite"; } } description "DHCP expiration option "; } typedef dhcp-client-id-type { type enumeration { enum "dhcp-htype-ethernet" { value 0; description "DHCP Client hardware type Ethernet"; } enum "dhcp-htype-ieee802" { value 1; description "DHCP Client hardware type 802"; } enum "dhcp-htype-rfclimit" { value 2; description "DHCP Client hardware type RFCLIMIT"; } enum "dhcp-htype-clientid" { value 3; description "DHCP Client hardware type CLIENTID"; } } description "DHCP Client id hardware types "; } typedef dhcpv6-interface-mode { type enumeration { enum "dhcpv6-interface-mode-client" { value 0; description "DHCPv6 interface mode client"; } enum "dhcpv6-interafce-mode-server" { value 1; description "DHCPv6 interface mode server"; } enum "dhcpv6-interafce-mode-relay" { value 2; description "DHCPv6 interface mode relay"; } enum "dhcpv6-interafce-mode-unknown" { value 3; description "DHCPv6 interface mode unknown"; } } description "DHCPv6 interface mode"; } typedef dhcpv6-client-state { type enumeration { enum "dhcpv6-client-state-idle" { value 0; description "DHCPv6 client state idle"; } enum "dhcpv6-client-state-solicit" { value 1; description "DHCPv6 client state solicit"; } enum "dhcpv6-client-state-request" { value 2; description "DHCPv6 client state request"; } enum "dhcpv6-client-state-confirm" { value 3; description "DHCPv6 client state confirm"; } enum "dhcpv6-client-state-inforeq" { value 4; description "DHCPv6 client state info request"; } enum "dhcpv6-client-state-open" { value 5; description "DHCPv6 client state open"; } enum "dhcpv6-client-state-renew" { value 6; description "DHCPv6 client state renew"; } enum "dhcpv6-client-state-rebind" { value 7; description "DHCPv6 client state rebind"; } enum "dhcpv6-client-state-release" { value 8; description "DHCPv6 client state release"; } enum "dhcpv6-client-state-verify" { value 9; description "DHCPv6 client state verify"; } enum "dhcpv6-client-state-decline" { value 10; description "DHCPv6 client state decline"; } enum "dhcpv6-client-state-unknown" { value 11; description "DHCPv6 client state unknown"; } } description "DHCPv6 client state"; } typedef dhcpv4-ddns-updates { type enumeration { enum "pool-dynamic-update-off" { value 0; description "Dynamic update off"; } enum "pool-forward-and-backward" { value 1; description "Dynamic update forward and backward"; } enum "pool-over-ride" { value 2; description "Dynamic update override"; } enum "pool-dynamic-update-ack" { value 3; description "Dynamic update acknowledgment"; } } description "DHCPv4 dynamic DNS update information"; } typedef dhcpv4-pending-event { type enumeration { enum "pending-subnet-request" { value 0; description "Pending subnet request"; } enum "pending-subnet-release" { value 1; description "Pending subnet release"; } enum "no-pending-operation" { value 2; description "No pending operation"; } } description "DHCPv4 pending event"; } typedef dhcpv4-pool-type { type enumeration { enum "server" { value 0; description "Pool has subnet information"; } enum "relay" { value 1; description "Pool has relay information"; } } description "DHCPv4 pool type"; } grouping dhcp-expiry { description "Type describes whether it is time or never"; choice expiration-time-choice { description "Choice of the expiration time"; leaf time { type yang:date-and-time; description "Date and time of expiry "; } leaf infinite { type empty; description "Expiry time infinite"; } } // choice expiration-time-choice } // grouping dhcp-expiry grouping dhcpv4-server-key { description "Key for DHCP Server information table"; leaf pool-name { type string; description "Server Pool name from where the Client IP address is provided"; } leaf client-ip { type inet:ip-address; description "IP address released for a specific Client from Server"; } leaf vrf-name { type string; description "Query based on the VRF name specific to that pool and Client ip address as key"; } } // grouping dhcpv4-server-key grouping dhcpv4-server-oper { description "DHCP Server data for binding"; leaf client-id-type { type dhcp-client-id-type; description "Client identification Hardware types"; } leaf client-id { type string; description "Client identification can be based on Hardware types/Mac"; } container expiration { description "Expiration time information"; uses dhcp-ios-xe-oper:dhcp-expiry; } // container expiration leaf type { type dhcp-server-binding-type; description "Server binding type."; } leaf state { type dhcp-server-binding-state; description "Server binding states"; } leaf interface { type string; description "interface name of the pool"; } } // grouping dhcpv4-server-oper grouping dhcpv4-client-key { description "Key for DHCP Server information table"; leaf if-name { type string; description "Interface information where dhcp Client is configured"; } leaf client-addr { type inet:ip-address; description "Client IP address Allocated from Server"; } leaf vrf-name { type string; description "VRF Name information related to Client"; } } // grouping dhcpv4-client-key grouping dhcpv4-client-oper { description "DHCP Client data for binding"; leaf state { type dhcp-client-state; description "DHCP Client States "; } leaf lease-server-addr { type inet:ip-address; description "IP address of Server from where we got IP"; } leaf gateway-addr { type inet:ip-address; description "Gateway Address we got from Server"; } leaf lease-time { type uint32; units "seconds"; description "Total Lease Time in Seconds"; } container lease-expiry { description "Lease Expiry time for the IP address we got"; uses dhcp-ios-xe-oper:dhcp-expiry; } // container lease-expiry leaf lease-remaining { type uint32; description "Lease remaining time for the IP address"; } leaf dns-address { type inet:ip-address; description "First DNS address"; } leaf dns-address-secondary { type inet:ip-address; description "Secondary DNS address"; } leaf subnet-mask { type inet:ip-address; description "Subnet mask address"; } } // grouping dhcpv4-client-oper grouping dhcpv6-relay-binding-key { description "Key for DHCP Server information table"; leaf v6-relay-vrf { type string; description "Query based on the VRF name"; } } // grouping dhcpv6-relay-binding-key grouping dhcpv6-relay-binding-oper { description "DHCPv6 binding relay"; leaf num-binding { type uint32; description "DHCPv6 number binding"; } leaf iapd-binding { type uint32; description "DHCPv6 IAPD binding"; } leaf iana-binding { type uint32; description "DHCPv6 IANA binding"; } leaf binding-bulk-lease-query { type uint32; description "DHCPv6 BULK LEASE QUERY"; } leaf addr { type inet:ipv6-address; description "DHCPv6 binding Address"; } leaf prefix { type inet:ipv6-address; description "DHCPv6 prefix"; } leaf prefix-len { type uint32; description "DHCPv6 prefix length"; } leaf duid { type string; description "DHCPv6 DUID"; } leaf iaid { type uint32; description "DHCPv6 IAID"; } leaf lifetime { type uint32; description "DHCPv6 lifetime"; } leaf expiration { type uint32; description "DHCPv6 expiration"; } } // grouping dhcpv6-relay-binding-oper grouping dhcpv6-intf-at-client-key { description "Key for DHCP binding vrf information table"; leaf v6-intf-at-client { type string; description "Query based on the interface name"; } } // grouping dhcpv6-intf-at-client-key grouping dhcpv6-intf-at-client-oper { description "DHCPv6 binding relay"; leaf mode { type dhcpv6-interface-mode; description "DHCPv6 Interface Mode"; } leaf prefix-state { type dhcpv6-client-state; description "DHCPv6 Interface prefix state"; } leaf address-state { type dhcpv6-client-state; description "DHCPv6 Interface address state"; } leaf renew-time { type uint32; description "DHCPv6 Interface renew time"; } leaf refersh-time { type uint32; description "DHCPv6 Interface refresh time"; } leaf retransmission-time { type uint32; description "DHCPv6 Interface retransmission time"; } leaf rebind-time { type uint32; description "DHCPv6 Interface rebind time"; } leaf reachable-via-addr { type inet:ipv6-address; description "DHCPv6 Interface reachable via address"; } leaf duid { type string; description "DHCPv6 Interface DUID"; } leaf preference { type uint8; description "DHCPv6 Interface preference"; } leaf dns { type inet:ipv6-address; description "DHCPv6 Interface dns"; } leaf domain { type string; description "DHCPv6 Interface domain"; } leaf sip-dns { type inet:ipv6-address; description "DHCPv6 Interface SIP DNS"; } leaf sip-domain { type string; description "DHCPv6 Interface SIP Domain"; } leaf nis-dns { type inet:ipv6-address; description "DHCPv6 Interface NIS DNS"; } leaf nis-domain { type string; description "DHCPv6 Interface NIS Domain"; } leaf bootf-url { type string; description "DHCPv6 Interface boot file URL"; } leaf nsip-dns { type inet:ipv6-address; description "DHCPv6 Interface NSIP DNS"; } leaf nsip-domain { type string; description "DHCPv6 Interface NSIP Domain"; } leaf sntp-dns { type inet:ipv6-address; description "DHCPv6 Interface SNTP DNS"; } leaf info-refresh-time { type uint32; description "DHCPv6 Interface info refresh time"; } leaf vendor-ent-id { type uint32; description "DHCPv6 Interface Vendor Enterprise ID"; } leaf prefix-name { type string; description "DHCPv6 Interface prefix name"; } leaf prefix-rapid-commit { type boolean; description "DHCPv6 Interface Prefix Rapid commit"; } leaf address-rapid-commit { type boolean; description "DHCPv6 Interface Address Rapid Commit"; } leaf prefix { type inet:ipv6-address; description "DHCPv6 Interface prefix"; } leaf prefix-len { type uint8; description "DHCPv6 Interface prefix length"; } } // grouping dhcpv6-intf-at-client-oper grouping dhcpv6-intf-at-srv-key { description "Key for DHCP binding vrf information table"; leaf v6-intf-at-srv { type string; description "Query based on the interface name"; } } // grouping dhcpv6-intf-at-srv-key grouping dhcpv6-intf-at-srv-oper { description "DHCPv6 binding relay"; leaf mode { type dhcpv6-interface-mode; description "DHCPv6 Mode"; } leaf poolname { type string; description "DHCPv6 Pool name"; } leaf preference { type uint8; description "DHCPv6 Preference"; } leaf hint { type uint8; description "DHCPv6 Hint"; } leaf rapid-commit { type uint8; description "DHCPv6 Rapid Commit Enabled/Disabled"; } leaf pending-aaa-req { type uint8; description "DHCPv6 AAA Request"; } leaf prefix { type inet:ipv6-address; description "DHCPv6 prefix"; } leaf prefix-len { type uint8; description "DHCPv6 prefix length"; } } // grouping dhcpv6-intf-at-srv-oper grouping dhcpv6-intf-at-relay-key { description "Key for DHCP binding vrf information table"; leaf v6-intf-at-relay { type string; description "Interface name"; } } // grouping dhcpv6-intf-at-relay-key grouping dhcpv6-intf-at-relay-oper { description "DHCPv6 binding relay"; leaf mode { type dhcpv6-interface-mode; description "DHCPv6 Mode"; } leaf ipv6-dhcp-intf-addr { type inet:ipv6-address; description "DHCPv6 interface address"; } leaf via-intf { type string; description "DHCPv6 IP Address via Interface"; } } // grouping dhcpv6-intf-at-relay-oper grouping dhcpv6-binding-vrf-key { description "Key for DHCP binding vrf information table"; leaf v6-vrf { type string; description "Query based on the VRF name"; } } // grouping dhcpv6-binding-vrf-key grouping dhcpv6-binding-vrf-oper { description "DHCPv6 binding relay"; leaf client-addr { type inet:ipv6-address; description "DHCPv6 client Address"; } leaf duid { type string; description "DHCPv6 DUID "; } leaf ppp-username { type string; description "DHCPv6 PPP username"; } leaf interface { type string; description "DHCPv6 interface"; } leaf iaid { type uint32; description "DHCPv6 IAID(Identity Association Identifier)"; } leaf t1 { type uint32; description "DHCPv6 T1"; } leaf t2 { type uint32; description "DHCPv6 T2"; } leaf preferred-lifetime { type uint32; description "DHCPv6 Preferred lifetime"; } leaf valid-lifetime { type uint32; description "DHCPv6 valid lifetime"; } leaf expiring-time { type yang:date-and-time; description "DHCPv6 expiring time"; } } // grouping dhcpv6-binding-vrf-oper grouping dhcpv4-subnet { description "DHCPv4 pools subnet information"; leaf current-index { type inet:ipv4-address; description "Current address index"; } leaf first-address { type inet:ipv4-address; description "First subnet address"; } leaf last-address { type inet:ipv4-address; description "Last subnet address"; } leaf excluded-addresses { type uint32; description "Number of excluded addresses in subnet"; } leaf leased-addresses { type uint32; description "Number of leased addresses in subnet"; } leaf total-addresses { type uint32; description "Total number of addresses in subnet"; } } // grouping dhcpv4-subnet grouping dhcpv4-relay-source { description "DHCPv4 relay source information"; leaf address { type inet:ipv4-address; description "Source IP address"; } leaf mask { type inet:ipv4-address; description "Source address mask"; } } // grouping dhcpv4-relay-source grouping dhcpv4-relay-target { description "DHCPv4 destination information"; leaf address { type inet:ipv4-address; description "Destination IP address"; } leaf vrf { type string; description "Destination VRF name"; } } // grouping dhcpv4-relay-target grouping dhcpv4-class-target { description "DHCPv4 class destination information"; leaf target-address { type inet:ipv4-address; description "Class destination IP address"; } leaf target-vrf { type string; description "Class destination VRF name"; } } // grouping dhcpv4-class-target grouping dhcpv4-class { description "DHCPv4 relay class information"; leaf class-name { type string; description "Relay class name"; } list class-target { description "Class destination information"; uses dhcp-ios-xe-oper:dhcpv4-class-target; } // list class-target } // grouping dhcpv4-class grouping dhcpv4-pool-stats { description "DHCPv4 pool statistics"; leaf total-addresses { type uint32; description "Total number of addresses in pool"; } leaf leased-addresses { type uint32; description "Number of leased addresses in pool"; } leaf excluded-addresses { type uint32; description "Number of excluded addresses in pool"; } leaf first-subnet-size { type uint16; description "Size of first subnet requested"; } leaf next-subnet-size { type uint16; description "Size of next subnet request"; } leaf high-util-mark { type uint16; description "DHCPv4 pool high utilization percentage"; } leaf low-util-mark { type uint16; description "DHCPv4 pool low utilization percentage"; } leaf auto-grow { type boolean; description "DHCPv4 auto grow is enabled"; } leaf autogrow-pool-size { type uint16; description "Auto grow the pool by this size"; } leaf pending-event { type dhcpv4-pending-event; description "DHCPv4 pending event"; } } // grouping dhcpv4-pool-stats grouping dhcpv4-relay-info { description "DHCPv4 pool relay information"; list source { description "Relay source information"; uses dhcp-ios-xe-oper:dhcpv4-relay-source; } // list source list target { description "Relay destination information"; uses dhcp-ios-xe-oper:dhcpv4-relay-target; } // list target list class-info { description "Relay class info"; uses dhcp-ios-xe-oper:dhcpv4-class; } // list class-info } // grouping dhcpv4-relay-info grouping dhcpv4-subnet-info { description "DHCPv4 pool info"; container stats { description "DHCPv4 pool statistics"; uses dhcp-ios-xe-oper:dhcpv4-pool-stats; } // container stats leaf ddns-updates { type dhcpv4-ddns-updates; description "DHCPv4 dynamic DNS updates"; } leaf subnet-count { type uint32; description "Number of subnet in list"; } list subnet { description "DHCPv4 subnet information"; uses dhcp-ios-xe-oper:dhcpv4-subnet; } // list subnet } // grouping dhcpv4-subnet-info grouping dhcpv4-pool { description "DHCPv4 server pool subnet information"; leaf pool-name { type string; description "DHCPv4 pool name, maximum supported pool name length is 128 characters"; } leaf vrf { type string; description "DHCPv4 pool VRF name, maximum supported vrf name length is 128 characters"; } choice pool-type-choice { description "DHCPv4 pool can support either subnet or relay information"; container subnet-info { description "DHCPv4 pool info"; uses dhcp-ios-xe-oper:dhcpv4-subnet-info; } // container subnet-info container relay-info { description "DHCPv4 relay pool information"; uses dhcp-ios-xe-oper:dhcpv4-relay-info; } // container relay-info } // choice pool-type-choice } // grouping dhcpv4-pool container dhcp-oper-data { config false; description "Operational state of DHCP"; list dhcpv4-server-oper { key "pool-name client-ip vrf-name"; description "List of DHCP server bindings"; uses dhcp-ios-xe-oper:dhcpv4-server-key; uses dhcp-ios-xe-oper:dhcpv4-server-oper; } // list dhcpv4-server-oper list dhcpv4-client-oper { key "if-name client-addr vrf-name"; description "List of DHCP clients"; uses dhcp-ios-xe-oper:dhcpv4-client-key; uses dhcp-ios-xe-oper:dhcpv4-client-oper; } // list dhcpv4-client-oper list dhcpv4-pool { key "pool-name"; description "DHCP pool information"; uses dhcp-ios-xe-oper:dhcpv4-pool; } // list dhcpv4-pool list dhcpv6-binding-vrf-oper { key "v6-vrf"; description "List of DHCP clients"; uses dhcp-ios-xe-oper:dhcpv6-binding-vrf-key; uses dhcp-ios-xe-oper:dhcpv6-binding-vrf-oper; } // list dhcpv6-binding-vrf-oper list dhcpv6-intf-at-relay-oper { key "v6-intf-at-relay"; description "List of DHCP clients"; uses dhcp-ios-xe-oper:dhcpv6-intf-at-relay-key; uses dhcp-ios-xe-oper:dhcpv6-intf-at-relay-oper; } // list dhcpv6-intf-at-relay-oper list dhcpv6-intf-at-srv-oper { key "v6-intf-at-srv"; description "List of DHCP clients"; uses dhcp-ios-xe-oper:dhcpv6-intf-at-srv-key; uses dhcp-ios-xe-oper:dhcpv6-intf-at-srv-oper; } // list dhcpv6-intf-at-srv-oper list dhcpv6-intf-at-client-oper { key "v6-intf-at-client"; description "List of DHCP clients"; uses dhcp-ios-xe-oper:dhcpv6-intf-at-client-key; uses dhcp-ios-xe-oper:dhcpv6-intf-at-client-oper; } // list dhcpv6-intf-at-client-oper list dhcpv6-relay-binding-oper { key "v6-relay-vrf"; description "List of DHCP clients"; uses dhcp-ios-xe-oper:dhcpv6-relay-binding-key; uses dhcp-ios-xe-oper:dhcpv6-relay-binding-oper; } // list dhcpv6-relay-binding-oper } // container dhcp-oper-data } // module Cisco-IOS-XE-dhcp-oper
© 2023 YumaWorks, Inc. All rights reserved.