]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[433-update-yang-models] Updated modules (todo update code)
authorFrancis Dupont <fdupont@isc.org>
Fri, 9 Aug 2019 14:59:02 +0000 (16:59 +0200)
committerTomek Mrugalski <tomek@isc.org>
Tue, 13 Aug 2019 21:43:06 +0000 (17:43 -0400)
26 files changed:
src/share/yang/modules/Makefile.am
src/share/yang/modules/hashes/ietf-interfaces@2014-05-08.hash [deleted file]
src/share/yang/modules/hashes/ietf-interfaces@2018-02-20.hash [new file with mode: 0644]
src/share/yang/modules/hashes/kea-ctrl-agent@2018-11-20.hash [deleted file]
src/share/yang/modules/hashes/kea-ctrl-agent@2019-08-09.hash [new file with mode: 0644]
src/share/yang/modules/hashes/kea-dhcp-ddns@2018-11-20.hash [deleted file]
src/share/yang/modules/hashes/kea-dhcp-ddns@2019-08-09.hash [new file with mode: 0644]
src/share/yang/modules/hashes/kea-dhcp-types@2018-11-20.hash [deleted file]
src/share/yang/modules/hashes/kea-dhcp-types@2019-08-09.hash [new file with mode: 0644]
src/share/yang/modules/hashes/kea-dhcp4-server@2018-11-20.hash [deleted file]
src/share/yang/modules/hashes/kea-dhcp4-server@2019-08-09.hash [new file with mode: 0644]
src/share/yang/modules/hashes/kea-dhcp6-server@2018-11-20.hash [deleted file]
src/share/yang/modules/hashes/kea-dhcp6-server@2019-08-09.hash [new file with mode: 0644]
src/share/yang/modules/hashes/kea-logging@2018-11-20.hash [deleted file]
src/share/yang/modules/hashes/kea-types@2018-11-20.hash [deleted file]
src/share/yang/modules/hashes/kea-types@2019-08-09.hash [new file with mode: 0644]
src/share/yang/modules/ietf-interfaces@2014-05-08.yang [deleted file]
src/share/yang/modules/ietf-interfaces@2018-02-20.yang [new file with mode: 0644]
src/share/yang/modules/kea-ctrl-agent@2019-08-09.yang [moved from src/share/yang/modules/kea-ctrl-agent@2018-11-20.yang with 88% similarity]
src/share/yang/modules/kea-dhcp-ddns@2019-08-09.yang [moved from src/share/yang/modules/kea-dhcp-ddns@2018-11-20.yang with 95% similarity]
src/share/yang/modules/kea-dhcp-types@2019-08-09.yang [moved from src/share/yang/modules/kea-dhcp-types@2018-11-20.yang with 90% similarity]
src/share/yang/modules/kea-dhcp4-server@2019-08-09.yang [moved from src/share/yang/modules/kea-dhcp4-server@2018-11-20.yang with 94% similarity]
src/share/yang/modules/kea-dhcp6-server@2019-08-09.yang [moved from src/share/yang/modules/kea-dhcp6-server@2018-11-20.yang with 90% similarity]
src/share/yang/modules/kea-types@2018-11-20.yang [deleted file]
src/share/yang/modules/kea-types@2019-08-09.yang [moved from src/share/yang/modules/kea-logging@2018-11-20.yang with 60% similarity]
src/share/yang/modules/utils/gen-revisions.sh

index b17b4c1962728dd11004bb25eb4945a9df857291..484389e0f3a677239e47402f402f352f6a5ec258 100644 (file)
@@ -15,7 +15,6 @@ yangmodules_list += kea-dhcp-ddns@2018-11-20.yang
 yangmodules_list += kea-dhcp-types@2018-11-20.yang
 yangmodules_list += kea-dhcp4-server@2018-11-20.yang
 yangmodules_list += kea-dhcp6-server@2018-11-20.yang
-yangmodules_list += kea-logging@2018-11-20.yang
 yangmodules_list += kea-types@2018-11-20.yang
 yangmodules_list += keatest-module@2018-11-20.yang
 
diff --git a/src/share/yang/modules/hashes/ietf-interfaces@2014-05-08.hash b/src/share/yang/modules/hashes/ietf-interfaces@2014-05-08.hash
deleted file mode 100644 (file)
index 371aced..0000000
+++ /dev/null
@@ -1 +0,0 @@
-89386b4a0f7d8b7b56c402b61f577667bf6372c51040cae77a7aa569f63a5b1a
diff --git a/src/share/yang/modules/hashes/ietf-interfaces@2018-02-20.hash b/src/share/yang/modules/hashes/ietf-interfaces@2018-02-20.hash
new file mode 100644 (file)
index 0000000..1445fe1
--- /dev/null
@@ -0,0 +1 @@
+990663408339f40c7a68e73920a3d65b18a08eeb87bf788712aec2520aedc475
diff --git a/src/share/yang/modules/hashes/kea-ctrl-agent@2018-11-20.hash b/src/share/yang/modules/hashes/kea-ctrl-agent@2018-11-20.hash
deleted file mode 100644 (file)
index 7ca2956..0000000
+++ /dev/null
@@ -1 +0,0 @@
-a3e7356b8de165c21ef9bcbc068327cd31e97b59117f93bb18b795e6fdc20dbd
diff --git a/src/share/yang/modules/hashes/kea-ctrl-agent@2019-08-09.hash b/src/share/yang/modules/hashes/kea-ctrl-agent@2019-08-09.hash
new file mode 100644 (file)
index 0000000..462dd36
--- /dev/null
@@ -0,0 +1 @@
+e29c0b34abc0a747e258a30a636b2b53b41bdaaecfc199801221acbddc303ce4
diff --git a/src/share/yang/modules/hashes/kea-dhcp-ddns@2018-11-20.hash b/src/share/yang/modules/hashes/kea-dhcp-ddns@2018-11-20.hash
deleted file mode 100644 (file)
index e48c447..0000000
+++ /dev/null
@@ -1 +0,0 @@
-672e04e624c8f346981c55bd4ea80fd959af29dbfb6d2e42585376424e4a63f7
diff --git a/src/share/yang/modules/hashes/kea-dhcp-ddns@2019-08-09.hash b/src/share/yang/modules/hashes/kea-dhcp-ddns@2019-08-09.hash
new file mode 100644 (file)
index 0000000..c7b557e
--- /dev/null
@@ -0,0 +1 @@
+8aef84678c3520ed4bb4025c5be2053ced2b58bf4d47b21a3e2bf35c40c1e9b9
diff --git a/src/share/yang/modules/hashes/kea-dhcp-types@2018-11-20.hash b/src/share/yang/modules/hashes/kea-dhcp-types@2018-11-20.hash
deleted file mode 100644 (file)
index 39d69d5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-2dbc45c8947755ebdf0d3922367c0d4b0becc53c9def5befa8a550fed76b9e3c
diff --git a/src/share/yang/modules/hashes/kea-dhcp-types@2019-08-09.hash b/src/share/yang/modules/hashes/kea-dhcp-types@2019-08-09.hash
new file mode 100644 (file)
index 0000000..c5a96d0
--- /dev/null
@@ -0,0 +1 @@
+d9a216058f557cb379da3022f74fee56fbd1fb60828e8c5791fbbf8b5ed9cb57
diff --git a/src/share/yang/modules/hashes/kea-dhcp4-server@2018-11-20.hash b/src/share/yang/modules/hashes/kea-dhcp4-server@2018-11-20.hash
deleted file mode 100644 (file)
index 471a910..0000000
+++ /dev/null
@@ -1 +0,0 @@
-5ab378fcd3acc72e5e63b06b05f67533da9650c7b4839933d026befb82bd34a5
diff --git a/src/share/yang/modules/hashes/kea-dhcp4-server@2019-08-09.hash b/src/share/yang/modules/hashes/kea-dhcp4-server@2019-08-09.hash
new file mode 100644 (file)
index 0000000..12058d3
--- /dev/null
@@ -0,0 +1 @@
+bd90f2b341a0f5502231dff061f2c2fc0a52558ad8d9375533c4195719c206fd
diff --git a/src/share/yang/modules/hashes/kea-dhcp6-server@2018-11-20.hash b/src/share/yang/modules/hashes/kea-dhcp6-server@2018-11-20.hash
deleted file mode 100644 (file)
index 126f821..0000000
+++ /dev/null
@@ -1 +0,0 @@
-c7cff2bcfc5bf43ac4dbaabe675475ec95b2a98782d96d84221b92f2ba9e59fb
diff --git a/src/share/yang/modules/hashes/kea-dhcp6-server@2019-08-09.hash b/src/share/yang/modules/hashes/kea-dhcp6-server@2019-08-09.hash
new file mode 100644 (file)
index 0000000..f6be616
--- /dev/null
@@ -0,0 +1 @@
+e73af99c9b7e6bb865bc9b3df4f04ae3de5d472c8bba8dbc1b9bbda90e1383b1
diff --git a/src/share/yang/modules/hashes/kea-logging@2018-11-20.hash b/src/share/yang/modules/hashes/kea-logging@2018-11-20.hash
deleted file mode 100644 (file)
index d623536..0000000
+++ /dev/null
@@ -1 +0,0 @@
-d1ade30ec0ebee3106d0fd5ae6e6754909b6f94bd1fdd74b141541d31f71bd50
diff --git a/src/share/yang/modules/hashes/kea-types@2018-11-20.hash b/src/share/yang/modules/hashes/kea-types@2018-11-20.hash
deleted file mode 100644 (file)
index 085c56f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-3652d2e7e441450c625e66e7c8d0dc25dd9883748fe0559590d8a9c0c9906cd9
diff --git a/src/share/yang/modules/hashes/kea-types@2019-08-09.hash b/src/share/yang/modules/hashes/kea-types@2019-08-09.hash
new file mode 100644 (file)
index 0000000..f7dad34
--- /dev/null
@@ -0,0 +1 @@
+04a8d8a75027d109ae85fd6bea368d15056dc4a64fb75cb4da9be62c1dca1d98
diff --git a/src/share/yang/modules/ietf-interfaces@2014-05-08.yang b/src/share/yang/modules/ietf-interfaces@2014-05-08.yang
deleted file mode 100644 (file)
index a0eb30e..0000000
+++ /dev/null
@@ -1,707 +0,0 @@
-module ietf-interfaces {
-
-    yang-version 1;
-
-    namespace
-      "urn:ietf:params:xml:ns:yang:ietf-interfaces";
-
-    prefix if;
-
-    import ietf-yang-types {
-      prefix yang;
-    }
-
-    organization
-      "IETF NETMOD (NETCONF Data Modeling Language) Working Group";
-
-    contact
-      "WG Web:   <http://tools.ietf.org/wg/netmod/>
-     WG List:  <mailto:netmod@ietf.org>
-
-     WG Chair: Thomas Nadeau
-               <mailto:tnadeau@lucidvision.com>
-
-     WG Chair: Juergen Schoenwaelder
-               <mailto:j.schoenwaelder@jacobs-university.de>
-
-     Editor:   Martin Bjorklund
-               <mailto:mbj@tail-f.com>";
-
-    description
-      "This module contains a collection of YANG definitions for
-     managing network interfaces.
-
-     Copyright (c) 2014 IETF Trust and the persons identified as
-     authors of the code.  All rights reserved.
-
-     Redistribution and use in source and binary forms, with or
-     without modification, is permitted pursuant to, and subject
-     to the license terms contained in, the Simplified BSD License
-     set forth in Section 4.c of the IETF Trust's Legal Provisions
-     Relating to IETF Documents
-     (http://trustee.ietf.org/license-info).
-
-     This version of this YANG module is part of RFC 7223; see
-     the RFC itself for full legal notices.";
-
-    revision "2014-05-08" {
-      description "Initial revision.";
-      reference
-        "RFC 7223: A YANG Data Model for Interface Management";
-
-    }
-
-
-    typedef interface-ref {
-      type leafref {
-        path "/if:interfaces/if:interface/if:name";
-      }
-      description
-        "This type is used by data models that need to reference
-       configured interfaces.";
-    }
-
-    typedef interface-state-ref {
-      type leafref {
-        path "/if:interfaces-state/if:interface/if:name";
-      }
-      description
-        "This type is used by data models that need to reference
-       the operationally present interfaces.";
-    }
-
-    identity interface-type {
-      description
-        "Base identity from which specific interface types are
-       derived.";
-    }
-
-    feature arbitrary-names {
-      description
-        "This feature indicates that the device allows user-controlled
-       interfaces to be named arbitrarily.";
-    }
-
-    feature pre-provisioning {
-      description
-        "This feature indicates that the device supports
-       pre-provisioning of interface configuration, i.e., it is
-       possible to configure an interface whose physical interface
-       hardware is not present on the device.";
-    }
-
-    feature if-mib {
-      description
-        "This feature indicates that the device implements
-       the IF-MIB.";
-      reference
-        "RFC 2863: The Interfaces Group MIB";
-
-    }
-
-    container interfaces {
-      description
-        "Interface configuration parameters.";
-      list interface {
-        key "name";
-        description
-          "The list of configured interfaces on the device.
-
-         The operational state of an interface is available in the
-         /interfaces-state/interface list.  If the configuration of a
-         system-controlled interface cannot be used by the system
-         (e.g., the interface hardware present does not match the
-         interface type), then the configuration is not applied to
-         the system-controlled interface shown in the
-         /interfaces-state/interface list.  If the configuration
-         of a user-controlled interface cannot be used by the system,
-         the configured interface is not instantiated in the
-         /interfaces-state/interface list.";
-        leaf name {
-          type string;
-          description
-            "The name of the interface.
-
-           A device MAY restrict the allowed values for this leaf,
-           possibly depending on the type of the interface.
-           For system-controlled interfaces, this leaf is the
-           device-specific name of the interface.  The 'config false'
-           list /interfaces-state/interface contains the currently
-           existing interfaces on the device.
-
-           If a client tries to create configuration for a
-           system-controlled interface that is not present in the
-           /interfaces-state/interface list, the server MAY reject
-           the request if the implementation does not support
-           pre-provisioning of interfaces or if the name refers to
-           an interface that can never exist in the system.  A
-           NETCONF server MUST reply with an rpc-error with the
-           error-tag 'invalid-value' in this case.
-
-           If the device supports pre-provisioning of interface
-           configuration, the 'pre-provisioning' feature is
-           advertised.
-
-           If the device allows arbitrarily named user-controlled
-           interfaces, the 'arbitrary-names' feature is advertised.
-
-           When a configured user-controlled interface is created by
-           the system, it is instantiated with the same name in the
-           /interface-state/interface list.";
-        }
-
-        leaf description {
-          type string;
-          description
-            "A textual description of the interface.
-
-           A server implementation MAY map this leaf to the ifAlias
-           MIB object.  Such an implementation needs to use some
-           mechanism to handle the differences in size and characters
-           allowed between this leaf and ifAlias.  The definition of
-           such a mechanism is outside the scope of this document.
-
-           Since ifAlias is defined to be stored in non-volatile
-           storage, the MIB implementation MUST map ifAlias to the
-           value of 'description' in the persistently stored
-           datastore.
-
-           Specifically, if the device supports ':startup', when
-           ifAlias is read the device MUST return the value of
-           'description' in the 'startup' datastore, and when it is
-           written, it MUST be written to the 'running' and 'startup'
-           datastores.  Note that it is up to the implementation to
-
-           decide whether to modify this single leaf in 'startup' or
-           perform an implicit copy-config from 'running' to
-           'startup'.
-
-           If the device does not support ':startup', ifAlias MUST
-           be mapped to the 'description' leaf in the 'running'
-           datastore.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifAlias";
-
-        }
-
-        leaf type {
-          type identityref {
-            base interface-type;
-          }
-          mandatory true;
-          description
-            "The type of the interface.
-
-           When an interface entry is created, a server MAY
-           initialize the type leaf with a valid value, e.g., if it
-           is possible to derive the type from the name of the
-           interface.
-
-           If a client tries to set the type of an interface to a
-           value that can never be used by the system, e.g., if the
-           type is not supported or if the type does not match the
-           name of the interface, the server MUST reject the request.
-           A NETCONF server MUST reply with an rpc-error with the
-           error-tag 'invalid-value' in this case.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifType";
-
-        }
-
-        leaf enabled {
-          type boolean;
-          default "true";
-          description
-            "This leaf contains the configured, desired state of the
-           interface.
-
-           Systems that implement the IF-MIB use the value of this
-           leaf in the 'running' datastore to set
-           IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
-           has been initialized, as described in RFC 2863.
-
-
-
-           Changes in this leaf in the 'running' datastore are
-           reflected in ifAdminStatus, but if ifAdminStatus is
-           changed over SNMP, this leaf is not affected.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
-
-        }
-
-        leaf link-up-down-trap-enable {
-          if-feature if-mib;
-          type enumeration {
-            enum "enabled" {
-              value 1;
-            }
-            enum "disabled" {
-              value 2;
-            }
-          }
-          description
-            "Controls whether linkUp/linkDown SNMP notifications
-           should be generated for this interface.
-
-           If this node is not configured, the value 'enabled' is
-           operationally used by the server for interfaces that do
-           not operate on top of any other interface (i.e., there are
-           no 'lower-layer-if' entries), and 'disabled' otherwise.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                  ifLinkUpDownTrapEnable";
-
-        }
-      }  // list interface
-    }  // container interfaces
-
-    container interfaces-state {
-      config false;
-      description
-        "Data nodes for the operational state of interfaces.";
-      list interface {
-        key "name";
-        description
-          "The list of interfaces on the device.
-
-         System-controlled interfaces created by the system are
-         always present in this list, whether they are configured or
-         not.";
-        leaf name {
-          type string;
-          description
-            "The name of the interface.
-
-           A server implementation MAY map this leaf to the ifName
-           MIB object.  Such an implementation needs to use some
-           mechanism to handle the differences in size and characters
-           allowed between this leaf and ifName.  The definition of
-           such a mechanism is outside the scope of this document.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifName";
-
-        }
-
-        leaf type {
-          type identityref {
-            base interface-type;
-          }
-          mandatory true;
-          description
-            "The type of the interface.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifType";
-
-        }
-
-        leaf admin-status {
-          if-feature if-mib;
-          type enumeration {
-            enum "up" {
-              value 1;
-              description
-                "Ready to pass packets.";
-            }
-            enum "down" {
-              value 2;
-              description
-                "Not ready to pass packets and not in some test mode.";
-            }
-            enum "testing" {
-              value 3;
-              description
-                "In some test mode.";
-            }
-          }
-          mandatory true;
-          description
-            "The desired state of the interface.
-
-           This leaf has the same read semantics as ifAdminStatus.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
-
-        }
-
-        leaf oper-status {
-          type enumeration {
-            enum "up" {
-              value 1;
-              description
-                "Ready to pass packets.";
-            }
-            enum "down" {
-              value 2;
-              description
-                "The interface does not pass any packets.";
-            }
-            enum "testing" {
-              value 3;
-              description
-                "In some test mode.  No operational packets can
-               be passed.";
-            }
-            enum "unknown" {
-              value 4;
-              description
-                "Status cannot be determined for some reason.";
-            }
-            enum "dormant" {
-              value 5;
-              description
-                "Waiting for some external event.";
-            }
-            enum "not-present" {
-              value 6;
-              description
-                "Some component (typically hardware) is missing.";
-            }
-            enum "lower-layer-down" {
-              value 7;
-              description
-                "Down due to state of lower-layer interface(s).";
-            }
-          }
-          mandatory true;
-          description
-            "The current operational state of the interface.
-
-           This leaf has the same semantics as ifOperStatus.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifOperStatus";
-
-        }
-
-        leaf last-change {
-          type yang:date-and-time;
-          description
-            "The time the interface entered its current operational
-           state.  If the current state was entered prior to the
-           last re-initialization of the local network management
-           subsystem, then this node is not present.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifLastChange";
-
-        }
-
-        leaf if-index {
-          if-feature if-mib;
-          type int32 {
-            range "1..2147483647";
-          }
-          mandatory true;
-          description
-            "The ifIndex value for the ifEntry represented by this
-           interface.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifIndex";
-
-        }
-
-        leaf phys-address {
-          type yang:phys-address;
-          description
-            "The interface's address at its protocol sub-layer.  For
-           example, for an 802.x interface, this object normally
-           contains a Media Access Control (MAC) address.  The
-           interface's media-specific modules must define the bit
-
-
-           and byte ordering and the format of the value of this
-           object.  For interfaces that do not have such an address
-           (e.g., a serial line), this node is not present.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifPhysAddress";
-
-        }
-
-        leaf-list higher-layer-if {
-          type interface-state-ref;
-          description
-            "A list of references to interfaces layered on top of this
-           interface.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifStackTable";
-
-        }
-
-        leaf-list lower-layer-if {
-          type interface-state-ref;
-          description
-            "A list of references to interfaces layered underneath this
-           interface.";
-          reference
-            "RFC 2863: The Interfaces Group MIB - ifStackTable";
-
-        }
-
-        leaf speed {
-          type yang:gauge64;
-          units "bits/second";
-          description
-            "An estimate of the interface's current bandwidth in bits
-             per second.  For interfaces that do not vary in
-             bandwidth or for those where no accurate estimation can
-             be made, this node should contain the nominal bandwidth.
-             For interfaces that have no concept of bandwidth, this
-             node is not present.";
-          reference
-            "RFC 2863: The Interfaces Group MIB -
-                  ifSpeed, ifHighSpeed";
-
-        }
-
-        container statistics {
-          description
-            "A collection of interface-related statistics objects.";
-          leaf discontinuity-time {
-            type yang:date-and-time;
-            mandatory true;
-            description
-              "The time on the most recent occasion at which any one or
-             more of this interface's counters suffered a
-             discontinuity.  If no such discontinuities have occurred
-             since the last re-initialization of the local management
-             subsystem, then this node contains the time the local
-             management subsystem re-initialized itself.";
-          }
-
-          leaf in-octets {
-            type yang:counter64;
-            description
-              "The total number of octets received on the interface,
-             including framing characters.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system, and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-            reference
-              "RFC 2863: The Interfaces Group MIB - ifHCInOctets";
-
-          }
-
-          leaf in-unicast-pkts {
-            type yang:counter64;
-            description
-              "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were not addressed to a
-             multicast or broadcast address at this sub-layer.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system, and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-            reference
-              "RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
-
-          }
-
-          leaf in-broadcast-pkts {
-            type yang:counter64;
-            description
-              "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were addressed to a broadcast
-             address at this sub-layer.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system, and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-            reference
-              "RFC 2863: The Interfaces Group MIB -
-                  ifHCInBroadcastPkts";
-
-          }
-
-          leaf in-multicast-pkts {
-            type yang:counter64;
-            description
-              "The number of packets, delivered by this sub-layer to a
-             higher (sub-)layer, that were addressed to a multicast
-             address at this sub-layer.  For a MAC-layer protocol,
-             this includes both Group and Functional addresses.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system, and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-            reference
-              "RFC 2863: The Interfaces Group MIB -
-                  ifHCInMulticastPkts";
-
-          }
-
-          leaf in-discards {
-            type yang:counter32;
-            description
-              "The number of inbound packets that were chosen to be
-             discarded even though no errors had been detected to
-             prevent their being deliverable to a higher-layer
-             protocol.  One possible reason for discarding such a
-             packet could be to free up buffer space.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system, and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-            reference
-              "RFC 2863: The Interfaces Group MIB - ifInDiscards";
-
-          }
-
-          leaf in-errors {
-            type yang:counter32;
-            description
-              "For packet-oriented interfaces, the number of inbound
-             packets that contained errors preventing them from being
-             deliverable to a higher-layer protocol.  For character-
-             oriented or fixed-length interfaces, the number of
-             inbound transmission units that contained errors
-             preventing them from being deliverable to a higher-layer
-             protocol.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system, and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-            reference
-              "RFC 2863: The Interfaces Group MIB - ifInErrors";
-
-          }
-
-          leaf in-unknown-protos {
-            type yang:counter32;
-            description
-              "For packet-oriented interfaces, the number of packets
-             received via the interface that were discarded because
-             of an unknown or unsupported protocol.  For
-             character-oriented or fixed-length interfaces that
-             support protocol multiplexing, the number of
-             transmission units received via the interface that were
-             discarded because of an unknown or unsupported protocol.
-             For any interface that does not support protocol
-             multiplexing, this counter is not present.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system, and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-            reference
-              "RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
-
-          }
-
-          leaf out-octets {
-            type yang:counter64;
-            description
-              "The total number of octets transmitted out of the
-             interface, including framing characters.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system, and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-            reference
-              "RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
-
-          }
-
-          leaf out-unicast-pkts {
-            type yang:counter64;
-            description
-              "The total number of packets that higher-level protocols
-             requested be transmitted, and that were not addressed
-             to a multicast or broadcast address at this sub-layer,
-             including those that were discarded or not sent.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system, and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-            reference
-              "RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
-
-          }
-
-          leaf out-broadcast-pkts {
-            type yang:counter64;
-            description
-              "The total number of packets that higher-level protocols
-             requested be transmitted, and that were addressed to a
-             broadcast address at this sub-layer, including those
-             that were discarded or not sent.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system, and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-            reference
-              "RFC 2863: The Interfaces Group MIB -
-                  ifHCOutBroadcastPkts";
-
-          }
-
-          leaf out-multicast-pkts {
-            type yang:counter64;
-            description
-              "The total number of packets that higher-level protocols
-             requested be transmitted, and that were addressed to a
-             multicast address at this sub-layer, including those
-             that were discarded or not sent.  For a MAC-layer
-             protocol, this includes both Group and Functional
-             addresses.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system, and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-            reference
-              "RFC 2863: The Interfaces Group MIB -
-                  ifHCOutMulticastPkts";
-
-          }
-
-          leaf out-discards {
-            type yang:counter32;
-            description
-              "The number of outbound packets that were chosen to be
-             discarded even though no errors had been detected to
-             prevent their being transmitted.  One possible reason
-             for discarding such a packet could be to free up buffer
-             space.
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system, and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-            reference
-              "RFC 2863: The Interfaces Group MIB - ifOutDiscards";
-
-          }
-
-          leaf out-errors {
-            type yang:counter32;
-            description
-              "For packet-oriented interfaces, the number of outbound
-             packets that could not be transmitted because of errors.
-             For character-oriented or fixed-length interfaces, the
-             number of outbound transmission units that could not be
-             transmitted because of errors.
-
-
-
-
-             Discontinuities in the value of this counter can occur
-             at re-initialization of the management system, and at
-             other times as indicated by the value of
-             'discontinuity-time'.";
-            reference
-              "RFC 2863: The Interfaces Group MIB - ifOutErrors";
-
-          }
-        }  // container statistics
-      }  // list interface
-    }  // container interfaces-state
-  }  // module ietf-interfaces
diff --git a/src/share/yang/modules/ietf-interfaces@2018-02-20.yang b/src/share/yang/modules/ietf-interfaces@2018-02-20.yang
new file mode 100644 (file)
index 0000000..f66c205
--- /dev/null
@@ -0,0 +1,1123 @@
+module ietf-interfaces {
+  yang-version 1.1;
+  namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces";
+  prefix if;
+
+  import ietf-yang-types {
+    prefix yang;
+  }
+
+  organization
+    "IETF NETMOD (Network Modeling) Working Group";
+
+  contact
+    "WG Web:   <https://datatracker.ietf.org/wg/netmod/>
+     WG List:  <mailto:netmod@ietf.org>
+
+     Editor:   Martin Bjorklund
+               <mailto:mbj@tail-f.com>";
+
+  description
+    "This module contains a collection of YANG definitions for
+     managing network interfaces.
+
+     Copyright (c) 2018 IETF Trust and the persons identified as
+     authors of the code.  All rights reserved.
+
+     Redistribution and use in source and binary forms, with or
+     without modification, is permitted pursuant to, and subject
+     to the license terms contained in, the Simplified BSD License
+     set forth in Section 4.c of the IETF Trust's Legal Provisions
+     Relating to IETF Documents
+     (https://trustee.ietf.org/license-info).
+
+     This version of this YANG module is part of RFC 8343; see
+     the RFC itself for full legal notices.";
+
+  revision 2018-02-20 {
+    description
+      "Updated to support NMDA.";
+    reference
+      "RFC 8343: A YANG Data Model for Interface Management";
+  }
+
+  revision 2014-05-08 {
+    description
+      "Initial revision.";
+    reference
+      "RFC 7223: A YANG Data Model for Interface Management";
+  }
+
+  /*
+   * Typedefs
+   */
+
+  typedef interface-ref {
+    type leafref {
+      path "/if:interfaces/if:interface/if:name";
+    }
+    description
+      "This type is used by data models that need to reference
+       interfaces.";
+  }
+
+  /*
+   * Identities
+   */
+
+  identity interface-type {
+    description
+      "Base identity from which specific interface types are
+       derived.";
+  }
+
+  /*
+   * Features
+   */
+
+  feature arbitrary-names {
+    description
+      "This feature indicates that the device allows user-controlled
+       interfaces to be named arbitrarily.";
+  }
+  feature pre-provisioning {
+    description
+      "This feature indicates that the device supports
+       pre-provisioning of interface configuration, i.e., it is
+       possible to configure an interface whose physical interface
+       hardware is not present on the device.";
+  }
+  feature if-mib {
+    description
+      "This feature indicates that the device implements
+       the IF-MIB.";
+    reference
+      "RFC 2863: The Interfaces Group MIB";
+  }
+
+  /*
+   * Data nodes
+   */
+
+  container interfaces {
+    description
+      "Interface parameters.";
+
+    list interface {
+      key "name";
+
+      description
+        "The list of interfaces on the device.
+
+         The status of an interface is available in this list in the
+         operational state.  If the configuration of a
+         system-controlled interface cannot be used by the system
+         (e.g., the interface hardware present does not match the
+         interface type), then the configuration is not applied to
+         the system-controlled interface shown in the operational
+         state.  If the configuration of a user-controlled interface
+         cannot be used by the system, the configured interface is
+         not instantiated in the operational state.
+
+         System-controlled interfaces created by the system are
+         always present in this list in the operational state,
+         whether or not they are configured.";
+
+     leaf name {
+        type string;
+        description
+          "The name of the interface.
+
+           A device MAY restrict the allowed values for this leaf,
+           possibly depending on the type of the interface.
+           For system-controlled interfaces, this leaf is the
+           device-specific name of the interface.
+
+           If a client tries to create configuration for a
+           system-controlled interface that is not present in the
+           operational state, the server MAY reject the request if
+           the implementation does not support pre-provisioning of
+           interfaces or if the name refers to an interface that can
+           never exist in the system.  A Network Configuration
+           Protocol (NETCONF) server MUST reply with an rpc-error
+           with the error-tag 'invalid-value' in this case.
+
+           If the device supports pre-provisioning of interface
+           configuration, the 'pre-provisioning' feature is
+           advertised.
+
+           If the device allows arbitrarily named user-controlled
+           interfaces, the 'arbitrary-names' feature is advertised.
+
+           When a configured user-controlled interface is created by
+           the system, it is instantiated with the same name in the
+           operational state.
+
+           A server implementation MAY map this leaf to the ifName
+           MIB object.  Such an implementation needs to use some
+           mechanism to handle the differences in size and characters
+           allowed between this leaf and ifName.  The definition of
+           such a mechanism is outside the scope of this document.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifName";
+      }
+
+      leaf description {
+        type string;
+        description
+          "A textual description of the interface.
+
+           A server implementation MAY map this leaf to the ifAlias
+           MIB object.  Such an implementation needs to use some
+           mechanism to handle the differences in size and characters
+           allowed between this leaf and ifAlias.  The definition of
+           such a mechanism is outside the scope of this document.
+
+           Since ifAlias is defined to be stored in non-volatile
+           storage, the MIB implementation MUST map ifAlias to the
+           value of 'description' in the persistently stored
+           configuration.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifAlias";
+      }
+
+      leaf type {
+        type identityref {
+          base interface-type;
+        }
+        mandatory true;
+        description
+          "The type of the interface.
+
+           When an interface entry is created, a server MAY
+           initialize the type leaf with a valid value, e.g., if it
+           is possible to derive the type from the name of the
+           interface.
+
+           If a client tries to set the type of an interface to a
+           value that can never be used by the system, e.g., if the
+           type is not supported or if the type does not match the
+           name of the interface, the server MUST reject the request.
+           A NETCONF server MUST reply with an rpc-error with the
+           error-tag 'invalid-value' in this case.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifType";
+      }
+
+      leaf enabled {
+        type boolean;
+        default "true";
+        description
+          "This leaf contains the configured, desired state of the
+           interface.
+
+           Systems that implement the IF-MIB use the value of this
+           leaf in the intended configuration to set
+           IF-MIB.ifAdminStatus to 'up' or 'down' after an ifEntry
+           has been initialized, as described in RFC 2863.
+
+           Changes in this leaf in the intended configuration are
+           reflected in ifAdminStatus.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
+      }
+
+      leaf link-up-down-trap-enable {
+        if-feature if-mib;
+        type enumeration {
+          enum enabled {
+            value 1;
+            description
+              "The device will generate linkUp/linkDown SNMP
+               notifications for this interface.";
+          }
+          enum disabled {
+            value 2;
+            description
+              "The device will not generate linkUp/linkDown SNMP
+               notifications for this interface.";
+          }
+        }
+        description
+          "Controls whether linkUp/linkDown SNMP notifications
+           should be generated for this interface.
+
+           If this node is not configured, the value 'enabled' is
+           operationally used by the server for interfaces that do
+           not operate on top of any other interface (i.e., there are
+           no 'lower-layer-if' entries), and 'disabled' otherwise.";
+        reference
+          "RFC 2863: The Interfaces Group MIB -
+                     ifLinkUpDownTrapEnable";
+      }
+
+      leaf admin-status {
+        if-feature if-mib;
+        type enumeration {
+          enum up {
+            value 1;
+            description
+              "Ready to pass packets.";
+          }
+          enum down {
+            value 2;
+            description
+              "Not ready to pass packets and not in some test mode.";
+          }
+          enum testing {
+            value 3;
+            description
+              "In some test mode.";
+          }
+        }
+        config false;
+        mandatory true;
+        description
+          "The desired state of the interface.
+
+           This leaf has the same read semantics as ifAdminStatus.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
+      }
+
+      leaf oper-status {
+        type enumeration {
+          enum up {
+            value 1;
+            description
+              "Ready to pass packets.";
+          }
+          enum down {
+            value 2;
+
+            description
+              "The interface does not pass any packets.";
+          }
+          enum testing {
+            value 3;
+            description
+              "In some test mode.  No operational packets can
+               be passed.";
+          }
+          enum unknown {
+            value 4;
+            description
+              "Status cannot be determined for some reason.";
+          }
+          enum dormant {
+            value 5;
+            description
+              "Waiting for some external event.";
+          }
+          enum not-present {
+            value 6;
+            description
+              "Some component (typically hardware) is missing.";
+          }
+          enum lower-layer-down {
+            value 7;
+            description
+              "Down due to state of lower-layer interface(s).";
+          }
+        }
+        config false;
+        mandatory true;
+        description
+          "The current operational state of the interface.
+
+           This leaf has the same semantics as ifOperStatus.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifOperStatus";
+      }
+
+      leaf last-change {
+        type yang:date-and-time;
+        config false;
+        description
+          "The time the interface entered its current operational
+           state.  If the current state was entered prior to the
+           last re-initialization of the local network management
+           subsystem, then this node is not present.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifLastChange";
+      }
+
+      leaf if-index {
+        if-feature if-mib;
+        type int32 {
+          range "1..2147483647";
+        }
+        config false;
+        mandatory true;
+        description
+          "The ifIndex value for the ifEntry represented by this
+           interface.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifIndex";
+      }
+
+      leaf phys-address {
+        type yang:phys-address;
+        config false;
+        description
+          "The interface's address at its protocol sub-layer.  For
+           example, for an 802.x interface, this object normally
+           contains a Media Access Control (MAC) address.  The
+           interface's media-specific modules must define the bit
+           and byte ordering and the format of the value of this
+           object.  For interfaces that do not have such an address
+           (e.g., a serial line), this node is not present.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifPhysAddress";
+      }
+
+      leaf-list higher-layer-if {
+        type interface-ref;
+        config false;
+        description
+          "A list of references to interfaces layered on top of this
+           interface.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifStackTable";
+      }
+
+      leaf-list lower-layer-if {
+        type interface-ref;
+        config false;
+
+        description
+          "A list of references to interfaces layered underneath this
+           interface.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifStackTable";
+      }
+
+      leaf speed {
+        type yang:gauge64;
+        units "bits/second";
+        config false;
+        description
+            "An estimate of the interface's current bandwidth in bits
+             per second.  For interfaces that do not vary in
+             bandwidth or for those where no accurate estimation can
+             be made, this node should contain the nominal bandwidth.
+             For interfaces that have no concept of bandwidth, this
+             node is not present.";
+        reference
+          "RFC 2863: The Interfaces Group MIB -
+                     ifSpeed, ifHighSpeed";
+      }
+
+      container statistics {
+        config false;
+        description
+          "A collection of interface-related statistics objects.";
+
+        leaf discontinuity-time {
+          type yang:date-and-time;
+          mandatory true;
+          description
+            "The time on the most recent occasion at which any one or
+             more of this interface's counters suffered a
+             discontinuity.  If no such discontinuities have occurred
+             since the last re-initialization of the local management
+             subsystem, then this node contains the time the local
+             management subsystem re-initialized itself.";
+        }
+
+        leaf in-octets {
+          type yang:counter64;
+          description
+            "The total number of octets received on the interface,
+             including framing characters.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifHCInOctets";
+        }
+
+        leaf in-unicast-pkts {
+          type yang:counter64;
+          description
+            "The number of packets, delivered by this sub-layer to a
+             higher (sub-)layer, that were not addressed to a
+             multicast or broadcast address at this sub-layer.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
+        }
+
+        leaf in-broadcast-pkts {
+          type yang:counter64;
+          description
+            "The number of packets, delivered by this sub-layer to a
+             higher (sub-)layer, that were addressed to a broadcast
+             address at this sub-layer.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB -
+                       ifHCInBroadcastPkts";
+        }
+
+        leaf in-multicast-pkts {
+          type yang:counter64;
+          description
+            "The number of packets, delivered by this sub-layer to a
+             higher (sub-)layer, that were addressed to a multicast
+             address at this sub-layer.  For a MAC-layer protocol,
+             this includes both Group and Functional addresses.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB -
+                       ifHCInMulticastPkts";
+        }
+
+        leaf in-discards {
+          type yang:counter32;
+          description
+            "The number of inbound packets that were chosen to be
+             discarded even though no errors had been detected to
+             prevent their being deliverable to a higher-layer
+             protocol.  One possible reason for discarding such a
+             packet could be to free up buffer space.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifInDiscards";
+        }
+
+        leaf in-errors {
+          type yang:counter32;
+          description
+            "For packet-oriented interfaces, the number of inbound
+             packets that contained errors preventing them from being
+             deliverable to a higher-layer protocol.  For character-
+             oriented or fixed-length interfaces, the number of
+             inbound transmission units that contained errors
+             preventing them from being deliverable to a higher-layer
+             protocol.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifInErrors";
+        }
+
+        leaf in-unknown-protos {
+          type yang:counter32;
+
+          description
+            "For packet-oriented interfaces, the number of packets
+             received via the interface that were discarded because
+             of an unknown or unsupported protocol.  For
+             character-oriented or fixed-length interfaces that
+             support protocol multiplexing, the number of
+             transmission units received via the interface that were
+             discarded because of an unknown or unsupported protocol.
+             For any interface that does not support protocol
+             multiplexing, this counter is not present.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
+        }
+
+        leaf out-octets {
+          type yang:counter64;
+          description
+            "The total number of octets transmitted out of the
+             interface, including framing characters.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
+        }
+
+        leaf out-unicast-pkts {
+          type yang:counter64;
+          description
+            "The total number of packets that higher-level protocols
+             requested be transmitted and that were not addressed
+             to a multicast or broadcast address at this sub-layer,
+             including those that were discarded or not sent.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
+        }
+
+        leaf out-broadcast-pkts {
+          type yang:counter64;
+          description
+            "The total number of packets that higher-level protocols
+             requested be transmitted and that were addressed to a
+             broadcast address at this sub-layer, including those
+             that were discarded or not sent.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB -
+                       ifHCOutBroadcastPkts";
+        }
+
+        leaf out-multicast-pkts {
+          type yang:counter64;
+          description
+            "The total number of packets that higher-level protocols
+             requested be transmitted and that were addressed to a
+             multicast address at this sub-layer, including those
+             that were discarded or not sent.  For a MAC-layer
+             protocol, this includes both Group and Functional
+             addresses.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB -
+                       ifHCOutMulticastPkts";
+        }
+
+        leaf out-discards {
+          type yang:counter32;
+          description
+            "The number of outbound packets that were chosen to be
+             discarded even though no errors had been detected to
+             prevent their being transmitted.  One possible reason
+             for discarding such a packet could be to free up buffer
+             space.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifOutDiscards";
+        }
+
+        leaf out-errors {
+          type yang:counter32;
+          description
+            "For packet-oriented interfaces, the number of outbound
+             packets that could not be transmitted because of errors.
+             For character-oriented or fixed-length interfaces, the
+             number of outbound transmission units that could not be
+             transmitted because of errors.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifOutErrors";
+        }
+      }
+
+    }
+  }
+
+  /*
+   * Legacy typedefs
+   */
+
+  typedef interface-state-ref {
+    type leafref {
+      path "/if:interfaces-state/if:interface/if:name";
+    }
+    status deprecated;
+    description
+      "This type is used by data models that need to reference
+       the operationally present interfaces.";
+  }
+
+  /*
+   * Legacy operational state data nodes
+   */
+
+  container interfaces-state {
+    config false;
+    status deprecated;
+    description
+      "Data nodes for the operational state of interfaces.";
+
+    list interface {
+      key "name";
+      status deprecated;
+
+      description
+        "The list of interfaces on the device.
+
+         System-controlled interfaces created by the system are
+         always present in this list, whether or not they are
+         configured.";
+
+      leaf name {
+        type string;
+        status deprecated;
+        description
+          "The name of the interface.
+
+           A server implementation MAY map this leaf to the ifName
+           MIB object.  Such an implementation needs to use some
+           mechanism to handle the differences in size and characters
+           allowed between this leaf and ifName.  The definition of
+           such a mechanism is outside the scope of this document.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifName";
+      }
+
+      leaf type {
+        type identityref {
+          base interface-type;
+        }
+        mandatory true;
+        status deprecated;
+        description
+          "The type of the interface.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifType";
+      }
+
+      leaf admin-status {
+        if-feature if-mib;
+        type enumeration {
+          enum up {
+            value 1;
+            description
+              "Ready to pass packets.";
+          }
+          enum down {
+            value 2;
+            description
+              "Not ready to pass packets and not in some test mode.";
+          }
+          enum testing {
+            value 3;
+            description
+              "In some test mode.";
+          }
+        }
+        mandatory true;
+        status deprecated;
+        description
+          "The desired state of the interface.
+
+           This leaf has the same read semantics as ifAdminStatus.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifAdminStatus";
+      }
+
+      leaf oper-status {
+        type enumeration {
+          enum up {
+            value 1;
+            description
+              "Ready to pass packets.";
+          }
+          enum down {
+            value 2;
+            description
+              "The interface does not pass any packets.";
+          }
+          enum testing {
+            value 3;
+            description
+              "In some test mode.  No operational packets can
+               be passed.";
+          }
+          enum unknown {
+            value 4;
+            description
+              "Status cannot be determined for some reason.";
+          }
+          enum dormant {
+            value 5;
+            description
+              "Waiting for some external event.";
+          }
+          enum not-present {
+            value 6;
+            description
+              "Some component (typically hardware) is missing.";
+          }
+          enum lower-layer-down {
+            value 7;
+            description
+              "Down due to state of lower-layer interface(s).";
+          }
+        }
+        mandatory true;
+        status deprecated;
+        description
+          "The current operational state of the interface.
+
+           This leaf has the same semantics as ifOperStatus.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifOperStatus";
+      }
+
+      leaf last-change {
+        type yang:date-and-time;
+        status deprecated;
+        description
+          "The time the interface entered its current operational
+           state.  If the current state was entered prior to the
+           last re-initialization of the local network management
+           subsystem, then this node is not present.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifLastChange";
+      }
+
+      leaf if-index {
+        if-feature if-mib;
+        type int32 {
+          range "1..2147483647";
+        }
+        mandatory true;
+        status deprecated;
+        description
+          "The ifIndex value for the ifEntry represented by this
+           interface.";
+
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifIndex";
+      }
+
+      leaf phys-address {
+        type yang:phys-address;
+        status deprecated;
+        description
+          "The interface's address at its protocol sub-layer.  For
+           example, for an 802.x interface, this object normally
+           contains a Media Access Control (MAC) address.  The
+           interface's media-specific modules must define the bit
+           and byte ordering and the format of the value of this
+           object.  For interfaces that do not have such an address
+           (e.g., a serial line), this node is not present.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifPhysAddress";
+      }
+
+      leaf-list higher-layer-if {
+        type interface-state-ref;
+        status deprecated;
+        description
+          "A list of references to interfaces layered on top of this
+           interface.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifStackTable";
+      }
+
+      leaf-list lower-layer-if {
+        type interface-state-ref;
+        status deprecated;
+        description
+          "A list of references to interfaces layered underneath this
+           interface.";
+        reference
+          "RFC 2863: The Interfaces Group MIB - ifStackTable";
+      }
+
+      leaf speed {
+        type yang:gauge64;
+        units "bits/second";
+        status deprecated;
+        description
+            "An estimate of the interface's current bandwidth in bits
+             per second.  For interfaces that do not vary in
+             bandwidth or for those where no accurate estimation can
+
+             be made, this node should contain the nominal bandwidth.
+             For interfaces that have no concept of bandwidth, this
+             node is not present.";
+        reference
+          "RFC 2863: The Interfaces Group MIB -
+                     ifSpeed, ifHighSpeed";
+      }
+
+      container statistics {
+        status deprecated;
+        description
+          "A collection of interface-related statistics objects.";
+
+        leaf discontinuity-time {
+          type yang:date-and-time;
+          mandatory true;
+          status deprecated;
+          description
+            "The time on the most recent occasion at which any one or
+             more of this interface's counters suffered a
+             discontinuity.  If no such discontinuities have occurred
+             since the last re-initialization of the local management
+             subsystem, then this node contains the time the local
+             management subsystem re-initialized itself.";
+        }
+
+        leaf in-octets {
+          type yang:counter64;
+          status deprecated;
+          description
+            "The total number of octets received on the interface,
+             including framing characters.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifHCInOctets";
+        }
+
+        leaf in-unicast-pkts {
+          type yang:counter64;
+          status deprecated;
+          description
+            "The number of packets, delivered by this sub-layer to a
+             higher (sub-)layer, that were not addressed to a
+             multicast or broadcast address at this sub-layer.
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts";
+        }
+
+        leaf in-broadcast-pkts {
+          type yang:counter64;
+          status deprecated;
+          description
+            "The number of packets, delivered by this sub-layer to a
+             higher (sub-)layer, that were addressed to a broadcast
+             address at this sub-layer.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB -
+                       ifHCInBroadcastPkts";
+        }
+
+        leaf in-multicast-pkts {
+          type yang:counter64;
+          status deprecated;
+          description
+            "The number of packets, delivered by this sub-layer to a
+             higher (sub-)layer, that were addressed to a multicast
+             address at this sub-layer.  For a MAC-layer protocol,
+             this includes both Group and Functional addresses.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB -
+                       ifHCInMulticastPkts";
+        }
+
+        leaf in-discards {
+          type yang:counter32;
+          status deprecated;
+
+          description
+            "The number of inbound packets that were chosen to be
+             discarded even though no errors had been detected to
+             prevent their being deliverable to a higher-layer
+             protocol.  One possible reason for discarding such a
+             packet could be to free up buffer space.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifInDiscards";
+        }
+
+        leaf in-errors {
+          type yang:counter32;
+          status deprecated;
+          description
+            "For packet-oriented interfaces, the number of inbound
+             packets that contained errors preventing them from being
+             deliverable to a higher-layer protocol.  For character-
+             oriented or fixed-length interfaces, the number of
+             inbound transmission units that contained errors
+             preventing them from being deliverable to a higher-layer
+             protocol.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifInErrors";
+        }
+
+        leaf in-unknown-protos {
+          type yang:counter32;
+          status deprecated;
+          description
+            "For packet-oriented interfaces, the number of packets
+             received via the interface that were discarded because
+             of an unknown or unsupported protocol.  For
+             character-oriented or fixed-length interfaces that
+             support protocol multiplexing, the number of
+             transmission units received via the interface that were
+             discarded because of an unknown or unsupported protocol.
+             For any interface that does not support protocol
+             multiplexing, this counter is not present.
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifInUnknownProtos";
+        }
+
+        leaf out-octets {
+          type yang:counter64;
+          status deprecated;
+          description
+            "The total number of octets transmitted out of the
+             interface, including framing characters.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifHCOutOctets";
+        }
+
+        leaf out-unicast-pkts {
+          type yang:counter64;
+          status deprecated;
+          description
+            "The total number of packets that higher-level protocols
+             requested be transmitted and that were not addressed
+             to a multicast or broadcast address at this sub-layer,
+             including those that were discarded or not sent.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts";
+        }
+
+        leaf out-broadcast-pkts {
+          type yang:counter64;
+          status deprecated;
+
+          description
+            "The total number of packets that higher-level protocols
+             requested be transmitted and that were addressed to a
+             broadcast address at this sub-layer, including those
+             that were discarded or not sent.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB -
+                       ifHCOutBroadcastPkts";
+        }
+
+        leaf out-multicast-pkts {
+          type yang:counter64;
+          status deprecated;
+          description
+            "The total number of packets that higher-level protocols
+             requested be transmitted and that were addressed to a
+             multicast address at this sub-layer, including those
+             that were discarded or not sent.  For a MAC-layer
+             protocol, this includes both Group and Functional
+             addresses.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB -
+                       ifHCOutMulticastPkts";
+        }
+
+        leaf out-discards {
+          type yang:counter32;
+          status deprecated;
+          description
+            "The number of outbound packets that were chosen to be
+             discarded even though no errors had been detected to
+             prevent their being transmitted.  One possible reason
+             for discarding such a packet could be to free up buffer
+             space.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifOutDiscards";
+        }
+
+        leaf out-errors {
+          type yang:counter32;
+          status deprecated;
+          description
+            "For packet-oriented interfaces, the number of outbound
+             packets that could not be transmitted because of errors.
+             For character-oriented or fixed-length interfaces, the
+             number of outbound transmission units that could not be
+             transmitted because of errors.
+
+             Discontinuities in the value of this counter can occur
+             at re-initialization of the management system and at
+             other times as indicated by the value of
+             'discontinuity-time'.";
+          reference
+            "RFC 2863: The Interfaces Group MIB - ifOutErrors";
+        }
+      }
+    }
+  }
+}
similarity index 88%
rename from src/share/yang/modules/kea-ctrl-agent@2018-11-20.yang
rename to src/share/yang/modules/kea-ctrl-agent@2019-08-09.yang
index a51e6bb75c64a3b2f57bbb207d04072f28d1b6da..f6e2e9e5e004e1c850466ea75618731dee7014d9 100644 (file)
@@ -8,11 +8,7 @@ module kea-ctrl-agent {
   }
   import kea-types {
     prefix kea;
-    revision-date 2018-11-20;
-  }
-  import kea-logging {
-    prefix logging;
-    revision-date 2018-11-20;
+    revision-date 2019-08-09;
   }
 
   organization "Internet Systems Consortium";
@@ -20,7 +16,7 @@ module kea-ctrl-agent {
   description "This model defines a YANG data model that can be
                used to configure and manage a Kea control agent.";
 
-  revision 2018-11-20 {
+  revision 2019-08-09 {
     description "Initial revision";
     reference "";
   }
@@ -65,7 +61,7 @@ module kea-ctrl-agent {
         }
         container control-socket {
           description "Control socket information.";
-          uses kea:control-socket;
+          uses kea:control-socket-info;
         }
       }
     }
@@ -77,7 +73,6 @@ module kea-ctrl-agent {
       description "Control agent user context.";
     }
 
-    // Moved from logging
-    uses logging:loggers;
+    uses kea:loggers;
   }
 }
similarity index 95%
rename from src/share/yang/modules/kea-dhcp-ddns@2018-11-20.yang
rename to src/share/yang/modules/kea-dhcp-ddns@2019-08-09.yang
index 3e92fc5b7fd41fe18df9e8fb43b02343b0fd0f54..6749972d321caf3f45fa35c2d3c002c7147f04a2 100644 (file)
@@ -8,11 +8,7 @@ module kea-dhcp-ddns {
   }
   import kea-types {
     prefix kea;
-    revision-date 2018-11-20;
-  }
-  import kea-logging {
-    prefix logging;
-    revision-date 2018-11-20;
+    revision-date 2019-08-09;
   }
 
   organization "Internet Systems Consortium";
@@ -20,7 +16,7 @@ module kea-dhcp-ddns {
   description "This model defines a YANG data model that can be
     used to configure and manage a Kea DHCP-DDNS server.";
 
-  revision 2018-11-20 {
+  revision 2019-08-09 {
     description "Initial revision";
     reference "";
   }
@@ -125,6 +121,8 @@ module kea-dhcp-ddns {
       description "Packet format to use when sending requests to the server.";
     }
 
+    uses kea:control-socket;
+
     container forward-ddns {
       description "Forward DNS zones.";
       uses managed-domains;
@@ -171,7 +169,6 @@ module kea-dhcp-ddns {
       description "DHCP-DDNS server user context.";
     }
 
-    // Moved from logging
-    uses logging:loggers;
+    uses kea:loggers;
   }
 }
similarity index 90%
rename from src/share/yang/modules/kea-dhcp-types@2018-11-20.yang
rename to src/share/yang/modules/kea-dhcp-types@2019-08-09.yang
index 2bfc96f8e8e3d13f16c749e4cc35bf2ae7244de8..5fc5afa3632b78b13565c83a1a541807521beae0 100644 (file)
@@ -8,14 +8,14 @@ module kea-dhcp-types {
   }
   import kea-types {
     prefix kea;
-    revision-date 2018-11-20;
+    revision-date 2019-08-09;
   }
 
   organization "Internet Systems Consortium";
   contact "kea-dev@lists.isc.org";
   description "This file defines some commonly used Kea DHCP types and
                groupings.";
-  revision 2018-11-20 {
+  revision 2019-08-09 {
     description "Initial revision";
     reference "";
   }
@@ -68,6 +68,24 @@ module kea-dhcp-types {
     }
   }
 
+  grouping min-valid-lifetime {
+    description "Minimum valid lifetime grouping.";
+    leaf min-valid-lifetime {
+      type uint32;
+      units "seconds";
+      description "Minimum valid lifetime entry.";
+    }
+  }
+
+  grouping max-valid-lifetime {
+    description "Maximum valid lifetime grouping.";
+    leaf max-valid-lifetime {
+      type uint32;
+      units "seconds";
+      description "Maximum valid lifetime entry.";
+    }
+  }
+
   grouping renew-timer {
     description "Renew timer grouping.";
     leaf renew-timer {
@@ -86,6 +104,36 @@ module kea-dhcp-types {
     }
   }
 
+  grouping calculate-tee-times {
+    description "Calculate T1/T2 grouping.";
+    leaf calculate-tee-times {
+      type boolean;
+      description "Calculate T1/T2 entry.";
+    }
+  }
+
+  grouping t1-percent {
+    description "T1 timer grouping.";
+    leaf t1-percent {
+      type decimal64 {
+        fraction-digits 18;
+        range "0 .. 1";
+      }
+      description "T1 timer entry.";
+    }
+  }
+
+  grouping t2-percent {
+    description "T2 timer grouping.";
+    leaf t2-percent {
+      type decimal64 {
+        fraction-digits 18;
+        range "0 .. 1";
+      }
+      description "T2 timer entry.";
+    }
+  }
+
   grouping database {
     description "Database grouping.";
     leaf database-type {
@@ -168,6 +216,14 @@ module kea-dhcp-types {
       type boolean;
       description "TCP nodelay for the database connection.";
     }
+    leaf consistency {
+      type string;
+      description "Consistency level.";
+    }
+    leaf serial-consistency {
+      type string;
+      description "Serial consistency level.";
+    }
     uses kea:user-context {
       refine user-context {
         description "Database user context. Arbitrary JSON data can be
@@ -225,12 +281,21 @@ module kea-dhcp-types {
     }
   }
 
-  grouping control-socket {
-    description "Control socket grouping.";
-    container control-socket {
-      presence "Have control socket.";
-      description "Control socket container.";
-      uses kea:control-socket;
+  grouping hostname-char-set {
+    description "Hostname character set grouping.";
+    leaf hostname-char-set {
+      type string;
+      description "A regex defining invalid characters. If detected, those
+                   will be replaced by hostname-char-replacement.";
+    }
+  }
+
+  grouping hostname-char-replacement {
+    description "Hostname character replacement grouping.";
+    leaf hostname-char-replacement {
+      type string;
+      description "Replacement for invalid charaters. See
+                   hostname-char-set.";
     }
   }
 
@@ -315,16 +380,8 @@ module kea-dhcp-types {
         type string;
         description "DHCP-DDNS generated prefix.";
       }
-      leaf hostname-char-set {
-        type string;
-        description "A regex defining invalid characters. If detected, those
-                     will be replaced by hostname-char-replacement.";
-      }
-      leaf hostname-char-replacement {
-        type string;
-        description "Replacement for invalid charaters. See
-                     hostname-char-set.";
-      }
+      uses hostname-char-set;
+      uses hostname-char-replacement;
       uses kea:user-context {
         refine user-context {
           description "DHCP-DDNS user context. Arbitrary JSON data can
@@ -744,6 +801,11 @@ module kea-dhcp-types {
     description "Config control grouping.";
     container config-control {
       description "Config control.";
+      leaf config-fetch-wait-time {
+        type uint32;
+        units "seconds";
+        description "Configuration fetch wait time entry.";
+      }
       list config-database {
         key database-type;
         description "List of databases.";
similarity index 94%
rename from src/share/yang/modules/kea-dhcp4-server@2018-11-20.yang
rename to src/share/yang/modules/kea-dhcp4-server@2019-08-09.yang
index fae5328750ea2036dcb8119b10d0c1c0de44a596..4aeef0fa52da74c1119fbf77042073a2801ee9a1 100644 (file)
@@ -8,15 +8,11 @@ module kea-dhcp4-server {
   }
   import kea-types {
     prefix kea;
-    revision-date 2018-11-20;
+    revision-date 2019-08-09;
   }
   import kea-dhcp-types {
     prefix dhcp;
-    revision-date 2018-11-20;
-  }
-  import kea-logging {
-    prefix logging;
-    revision-date 2018-11-20;
+    revision-date 2019-08-09;
   }
 
   organization "Internet Systems Consortium";
@@ -24,7 +20,7 @@ module kea-dhcp4-server {
   description "This model defines a YANG data model that can be
                used to configure and manage a Kea DHCPv4 server.";
 
-  revision 2018-11-20 {
+  revision 2019-08-09 {
     description "Initial revision";
     reference "";
   }
@@ -144,8 +140,13 @@ module kea-dhcp4-server {
       ordered-by user;
       description "List of IPv4 subnets.";
       uses dhcp:valid-lifetime;
+      uses dhcp:min-valid-lifetime;
+      uses dhcp:max-valid-lifetime;
       uses dhcp:renew-timer;
       uses dhcp:rebind-timer;
+      uses dhcp:calculate-tee-times;
+      uses dhcp:t1-percent;
+      uses dhcp:t2-percent;
       uses option-data-list;
       list pool {
         key "start-address end-address";
@@ -285,9 +286,14 @@ module kea-dhcp4-server {
     description "Contains DHCPv4 server configuration.";
 
     uses dhcp:valid-lifetime;
+    uses dhcp:min-valid-lifetime;
+    uses dhcp:max-valid-lifetime;
     uses dhcp:renew-timer;
     uses dhcp:rebind-timer;
     uses dhcp:decline-probation-period;
+    uses dhcp:calculate-tee-times;
+    uses dhcp:t1-percent;
+    uses dhcp:t2-percent;
     uses subnet4-list;
 
     list shared-network {
@@ -312,6 +318,11 @@ module kea-dhcp4-server {
       uses dhcp:network-client-class;
       uses dhcp:network-require-client-classes;
       uses dhcp:valid-lifetime;
+      uses dhcp:min-valid-lifetime;
+      uses dhcp:max-valid-lifetime;
+      uses dhcp:calculate-tee-times;
+      uses dhcp:t1-percent;
+      uses dhcp:t2-percent;
       uses dhcp:network-user-context;
     }
 
@@ -362,7 +373,9 @@ module kea-dhcp4-server {
     uses kea:hooks-libraries;
     uses dhcp:expired-leases-processing;
     uses dhcp:dhcp4o6-port;
-    uses dhcp:control-socket;
+    uses kea:control-socket;
+    uses dhcp:hostname-char-set;
+    uses dhcp:hostname-char-replacement;
     uses dhcp:dhcp-ddns;
 
     leaf echo-client-id {
@@ -393,8 +406,7 @@ module kea-dhcp4-server {
     uses dhcp:config-control;
     uses dhcp:server-tag;
     uses dhcp:dhcp-queue-control;
-    // Moved from logging
-    uses logging:loggers;
+    uses kea:loggers;
   }
 
   /*
similarity index 90%
rename from src/share/yang/modules/kea-dhcp6-server@2018-11-20.yang
rename to src/share/yang/modules/kea-dhcp6-server@2019-08-09.yang
index 069ef29f48715e560ba3b56864e9c85b1df31551..15185a3f15e2a5b563745f1e28d4b480e049d3e3 100644 (file)
@@ -8,15 +8,11 @@ module kea-dhcp6-server {
   }
   import kea-types {
     prefix kea;
-    revision-date 2018-11-20;
+    revision-date 2019-08-09;
   }
   import kea-dhcp-types {
     prefix dhcp;
-    revision-date 2018-11-20;
-  }
-  import kea-logging {
-    prefix logging;
-    revision-date 2018-11-20;
+    revision-date 2019-08-09;
   }
 
   organization "Internet Systems Consortium";
@@ -24,7 +20,7 @@ module kea-dhcp6-server {
   description "This model defines a YANG data model that can be
                used to configure and manage a Kea DHCPv6 server.";
 
-  revision 2018-11-20 {
+  revision 2019-08-09 {
     description "Initial revision";
     reference "";
   }
@@ -50,6 +46,14 @@ module kea-dhcp6-server {
   /*
   * Groupings
   */
+  grouping data-directory {
+    description "Data directory grouping.";
+    leaf data-directory {
+      type string;
+      description "Server data directory.";
+    }
+  }
+
   grouping preferred-lifetime {
     description "Preferred lifetime grouping.";
     leaf preferred-lifetime {
@@ -59,6 +63,24 @@ module kea-dhcp6-server {
     }
   }
 
+  grouping min-preferred-lifetime {
+    description "Minimum preferred lifetime grouping.";
+    leaf min-preferred-lifetime {
+      type uint32;
+      units "seconds";
+      description "Minimum preferred lifetime.";
+    }
+  }
+
+  grouping max-preferred-lifetime {
+    description "Maximum preferred lifetime grouping.";
+    leaf max-preferred-lifetime {
+      type uint32;
+      units "seconds";
+      description "Maximum preferred lifetime.";
+    }
+  }
+
   grouping interface-id {
     description "Interface ID grouping.";
     leaf interface-id {
@@ -121,9 +143,16 @@ module kea-dhcp6-server {
       ordered-by user;
       description "List of IPv6 subnets.";
       uses preferred-lifetime;
+      uses min-preferred-lifetime;
+      uses max-preferred-lifetime;
       uses dhcp:valid-lifetime;
+      uses dhcp:min-valid-lifetime;
+      uses dhcp:max-valid-lifetime;
       uses dhcp:renew-timer;
       uses dhcp:rebind-timer;
+      uses dhcp:calculate-tee-times;
+      uses dhcp:t1-percent;
+      uses dhcp:t2-percent;
       uses option-data-list;
       list pool {
         key "start-address end-address";
@@ -287,10 +316,18 @@ module kea-dhcp6-server {
     // config true;
     description "Contains DHCPv6 server configuration.";
 
+    uses data-directory;
     uses preferred-lifetime;
+    uses min-preferred-lifetime;
+    uses max-preferred-lifetime;
     uses dhcp:valid-lifetime;
+    uses dhcp:min-valid-lifetime;
+    uses dhcp:max-valid-lifetime;
     uses dhcp:renew-timer;
     uses dhcp:rebind-timer;
+    uses dhcp:calculate-tee-times;
+    uses dhcp:t1-percent;
+    uses dhcp:t2-percent;
     uses dhcp:decline-probation-period;
     uses subnet6-list;
 
@@ -316,12 +353,19 @@ module kea-dhcp6-server {
       uses dhcp:network-client-class;
       uses dhcp:require-client-classes;
       uses preferred-lifetime;
+      uses min-preferred-lifetime;
+      uses max-preferred-lifetime;
       uses rapid-commit {
         refine rapid-commit {
           description "Shared network rapid commit flag.";
         }
       }
       uses dhcp:valid-lifetime;
+      uses dhcp:min-valid-lifetime;
+      uses dhcp:max-valid-lifetime;
+      uses dhcp:calculate-tee-times;
+      uses dhcp:t1-percent;
+      uses dhcp:t2-percent;
       uses dhcp:network-user-context;
     }
 
@@ -403,7 +447,9 @@ module kea-dhcp6-server {
     }
 
     uses dhcp:dhcp4o6-port;
-    uses dhcp:control-socket;
+    uses kea:control-socket;
+    uses dhcp:hostname-char-set;
+    uses dhcp:hostname-char-replacement;
     uses dhcp:dhcp-ddns;
     uses kea:user-context {
       refine user-context {
@@ -421,8 +467,7 @@ module kea-dhcp6-server {
     uses dhcp:config-control;
     uses dhcp:server-tag;
     uses dhcp:dhcp-queue-control;
-    // Moved from logging
-    uses logging:loggers;
+    uses kea:loggers;
   }
 
   /*
diff --git a/src/share/yang/modules/kea-types@2018-11-20.yang b/src/share/yang/modules/kea-types@2018-11-20.yang
deleted file mode 100644 (file)
index 6ac0748..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-module kea-types {
-  yang-version 1.1;
-  namespace "urn:ietf:params:xml:ns:yang:kea-types";
-  prefix "kea-types";
-
-  organization "Internet Systems Consortium";
-  contact "kea-dev@lists.isc.org";
-  description "This file defines some commonly used Kea types and groupings.";
-
-  revision 2018-11-20 {
-    description "Initial revision";
-    reference "";
-  }
-
-  /*
-  * Typedef
-  */
-  typedef user-context {
-    type string;
-    description "User context (JSON map).";
-  }
-
-  /*
-  * Grouping
-  */
-  grouping user-context {
-    description "User context grouping.";
-    leaf user-context {
-      type user-context;
-      description "User context entry.";
-    }
-  }
-
-  grouping control-socket {
-    description "Control socket.";
-    leaf socket-name {
-      type string;
-      mandatory true;
-      description "Path to the UNIX socket.";
-    }
-    leaf socket-type {
-      type enumeration {
-        enum "unix" {
-          description "Unix socket type.";
-        }
-      }
-      mandatory true;
-      description "Socket type.";
-    }
-    leaf user-context {
-      type user-context;
-      description "Control socket user context.";
-    }
-  }
-
-  grouping hooks-libraries {
-    description "Hooks libraries grouping.";
-    list hook-library {
-      key library;
-      description "List of hook library.";
-      leaf library {
-        type string;
-        mandatory true;
-        description "Path to the DSO.";
-      }
-      leaf parameters {
-        type string;
-        description "Parameters (JSON value).";
-      }
-    }
-  }
-}
similarity index 60%
rename from src/share/yang/modules/kea-logging@2018-11-20.yang
rename to src/share/yang/modules/kea-types@2019-08-09.yang
index 31dd1951761f7e796a297e473a8d8d0cc990f2be..ec10b54e9be644b448262a32533f9dca45c21c2e 100644 (file)
@@ -1,26 +1,83 @@
-module kea-logging {
+module kea-types {
   yang-version 1.1;
-  namespace "urn:ietf:params:xml:ns:yang:kea-logging";
-  prefix "kea-logging";
-
-  import kea-types {
-    prefix kea;
-    revision-date 2018-11-20;
-  }
+  namespace "urn:ietf:params:xml:ns:yang:kea-types";
+  prefix "kea-types";
 
   organization "Internet Systems Consortium";
   contact "kea-dev@lists.isc.org";
-  description "This model defines a YANG data model that can be
-    used to configure and manage logging of a Kea server.";
+  description "This file defines some commonly used Kea types and groupings.";
 
-  revision 2018-11-20 {
+  revision 2019-08-09 {
     description "Initial revision";
     reference "";
   }
 
   /*
-  * Groupings
+  * Typedef
   */
+  typedef user-context {
+    type string;
+    description "User context (JSON map).";
+  }
+
+  /*
+  * Grouping
+  */
+  grouping user-context {
+    description "User context grouping.";
+    leaf user-context {
+      type user-context;
+      description "User context entry.";
+    }
+  }
+
+  grouping control-socket-info {
+    description "Control socket parameters.";
+    leaf socket-name {
+      type string;
+      mandatory true;
+      description "Path to the UNIX socket.";
+    }
+    leaf socket-type {
+      type enumeration {
+        enum "unix" {
+          description "Unix socket type.";
+        }
+      }
+      mandatory true;
+      description "Socket type.";
+    }
+    leaf user-context {
+      type user-context;
+      description "Control socket user context.";
+    }
+  }
+
+  grouping control-socket {
+    description "Control socket grouping.";
+    container control-socket {
+      presence "Have control socket.";
+      description "Control socket container.";
+      uses control-socket-info;
+    }
+  }
+
+  grouping hooks-libraries {
+    description "Hooks libraries grouping.";
+    list hook-library {
+      key library;
+      description "List of hook library.";
+      leaf library {
+        type string;
+        mandatory true;
+        description "Path to the DSO.";
+      }
+      leaf parameters {
+        type string;
+        description "Parameters (JSON value).";
+      }
+    }
+  }
 
   grouping loggers {
     description "Loggers.";
@@ -91,14 +148,9 @@ module kea-logging {
         description "Category of messages logged.";
       }
       leaf user-context {
-        type kea:user-context;
+        type user-context;
         description "Logger user context.";
       }
     }
   }
-
-  grouping configuration {
-    description "Contains parameters for logging configuration.";
-    uses loggers;
-  }
 }
index 95b71fb9ed8a3c822fe433dcd7ac197461598686..f591fd3f953a491fa3517512d75a8f956e603097 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2018-2019 Internet Systems Consortium, Inc. ("ISC")
 #
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -20,7 +20,6 @@ for m in keatest-module*.yang \
          ietf-dhcpv6-options*.yang \
          ietf-dhcpv6-server*.yang \
          kea-types*.yang \
-         kea-logging*.yang \
          kea-dhcp-types*.yang \
          kea-dhcp4-server*.yang \
          kea-dhcp6-server*.yang \