Cisco-IOS-XE-dhcp-oper

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

    Cisco-IOS-XE-dhcp-oper@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";
        }
    
        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";
            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";
            }
    
            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";
              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
            }  // 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";
            }
          }  // list dhcpv4-server-oper
    
          list dhcpv4-client-oper {
            key "if-name client-addr vrf-name";
            description "List of DHCP clients";
            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";
            }
    
            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";
              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
            }  // 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";
            }
          }  // list dhcpv4-client-oper
    
          list dhcpv4-pool {
            key "pool-name";
            description "DHCP pool 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";
                container 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";
                  }
                }  // 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";
                  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";
                  }
                }  // list subnet
              }  // container subnet-info
              container relay-info {
                description
                  "DHCPv4 relay pool information";
                list source {
                  description
                    "Relay source information";
                  leaf address {
                    type inet:ipv4-address;
                    description
                      "Source IP address";
                  }
    
                  leaf mask {
                    type inet:ipv4-address;
                    description
                      "Source address mask";
                  }
                }  // list source
    
                list target {
                  description
                    "Relay destination information";
                  leaf address {
                    type inet:ipv4-address;
                    description
                      "Destination IP address";
                  }
    
                  leaf vrf {
                    type string;
                    description
                      "Destination VRF name";
                  }
                }  // list target
    
                list class-info {
                  description "Relay class info";
                  leaf class-name {
                    type string;
                    description
                      "Relay class name";
                  }
    
                  list class-target {
                    description
                      "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";
                    }
                  }  // list class-target
                }  // list class-info
              }  // container relay-info
            }  // choice pool-type-choice
          }  // list dhcpv4-pool
    
          list dhcpv6-binding-vrf-oper {
            key "v6-vrf";
            description "List of DHCP clients";
            leaf v6-vrf {
              type string;
              description
                "Query based on the VRF name";
            }
    
            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";
            }
          }  // list dhcpv6-binding-vrf-oper
    
          list dhcpv6-intf-at-relay-oper {
            key "v6-intf-at-relay";
            description "List of DHCP clients";
            leaf v6-intf-at-relay {
              type string;
              description "Interface name";
            }
    
            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";
            }
          }  // list dhcpv6-intf-at-relay-oper
    
          list dhcpv6-intf-at-srv-oper {
            key "v6-intf-at-srv";
            description "List of DHCP clients";
            leaf v6-intf-at-srv {
              type string;
              description
                "Query based on the interface name";
            }
    
            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";
            }
          }  // list dhcpv6-intf-at-srv-oper
    
          list dhcpv6-intf-at-client-oper {
            key "v6-intf-at-client";
            description "List of DHCP clients";
            leaf v6-intf-at-client {
              type string;
              description
                "Query based on the interface name";
            }
    
            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";
            }
          }  // list dhcpv6-intf-at-client-oper
    
          list dhcpv6-relay-binding-oper {
            key "v6-relay-vrf";
            description "List of DHCP clients";
            leaf v6-relay-vrf {
              type string;
              description
                "Query based on the VRF name";
            }
    
            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";
            }
          }  // list dhcpv6-relay-binding-oper
        }  // container dhcp-oper-data
      }  // module Cisco-IOS-XE-dhcp-oper
    

© 2023 YumaWorks, Inc. All rights reserved.