From: Francis Dupont Date: Fri, 9 Aug 2019 14:59:02 +0000 (+0200) Subject: [433-update-yang-models] Updated modules (todo update code) X-Git-Tag: Kea-1.6.0~41^2~118 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7344aca1d11132db78bfca047fe7702afcea551b;p=thirdparty%2Fkea.git [433-update-yang-models] Updated modules (todo update code) --- diff --git a/src/share/yang/modules/Makefile.am b/src/share/yang/modules/Makefile.am index b17b4c1962..484389e0f3 100644 --- a/src/share/yang/modules/Makefile.am +++ b/src/share/yang/modules/Makefile.am @@ -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 index 371aced718..0000000000 --- a/src/share/yang/modules/hashes/ietf-interfaces@2014-05-08.hash +++ /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 index 0000000000..1445fe15c1 --- /dev/null +++ b/src/share/yang/modules/hashes/ietf-interfaces@2018-02-20.hash @@ -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 index 7ca29562aa..0000000000 --- a/src/share/yang/modules/hashes/kea-ctrl-agent@2018-11-20.hash +++ /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 index 0000000000..462dd3625d --- /dev/null +++ b/src/share/yang/modules/hashes/kea-ctrl-agent@2019-08-09.hash @@ -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 index e48c447f45..0000000000 --- a/src/share/yang/modules/hashes/kea-dhcp-ddns@2018-11-20.hash +++ /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 index 0000000000..c7b557eaa1 --- /dev/null +++ b/src/share/yang/modules/hashes/kea-dhcp-ddns@2019-08-09.hash @@ -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 index 39d69d5c95..0000000000 --- a/src/share/yang/modules/hashes/kea-dhcp-types@2018-11-20.hash +++ /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 index 0000000000..c5a96d0b97 --- /dev/null +++ b/src/share/yang/modules/hashes/kea-dhcp-types@2019-08-09.hash @@ -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 index 471a91087f..0000000000 --- a/src/share/yang/modules/hashes/kea-dhcp4-server@2018-11-20.hash +++ /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 index 0000000000..12058d39d1 --- /dev/null +++ b/src/share/yang/modules/hashes/kea-dhcp4-server@2019-08-09.hash @@ -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 index 126f821c61..0000000000 --- a/src/share/yang/modules/hashes/kea-dhcp6-server@2018-11-20.hash +++ /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 index 0000000000..f6be616a0d --- /dev/null +++ b/src/share/yang/modules/hashes/kea-dhcp6-server@2019-08-09.hash @@ -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 index d623536249..0000000000 --- a/src/share/yang/modules/hashes/kea-logging@2018-11-20.hash +++ /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 index 085c56f09f..0000000000 --- a/src/share/yang/modules/hashes/kea-types@2018-11-20.hash +++ /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 index 0000000000..f7dad34528 --- /dev/null +++ b/src/share/yang/modules/hashes/kea-types@2019-08-09.hash @@ -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 index a0eb30e99a..0000000000 --- a/src/share/yang/modules/ietf-interfaces@2014-05-08.yang +++ /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: - WG List: - - WG Chair: Thomas Nadeau - - - WG Chair: Juergen Schoenwaelder - - - Editor: Martin Bjorklund - "; - - 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 index 0000000000..f66c205ce0 --- /dev/null +++ b/src/share/yang/modules/ietf-interfaces@2018-02-20.yang @@ -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: + WG List: + + Editor: Martin Bjorklund + "; + + 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"; + } + } + } + } +} diff --git a/src/share/yang/modules/kea-ctrl-agent@2018-11-20.yang b/src/share/yang/modules/kea-ctrl-agent@2019-08-09.yang 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 a51e6bb75c..f6e2e9e5e0 100644 --- a/src/share/yang/modules/kea-ctrl-agent@2018-11-20.yang +++ b/src/share/yang/modules/kea-ctrl-agent@2019-08-09.yang @@ -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; } } diff --git a/src/share/yang/modules/kea-dhcp-ddns@2018-11-20.yang b/src/share/yang/modules/kea-dhcp-ddns@2019-08-09.yang 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 3e92fc5b7f..6749972d32 100644 --- a/src/share/yang/modules/kea-dhcp-ddns@2018-11-20.yang +++ b/src/share/yang/modules/kea-dhcp-ddns@2019-08-09.yang @@ -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; } } diff --git a/src/share/yang/modules/kea-dhcp-types@2018-11-20.yang b/src/share/yang/modules/kea-dhcp-types@2019-08-09.yang 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 2bfc96f8e8..5fc5afa363 100644 --- a/src/share/yang/modules/kea-dhcp-types@2018-11-20.yang +++ b/src/share/yang/modules/kea-dhcp-types@2019-08-09.yang @@ -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."; diff --git a/src/share/yang/modules/kea-dhcp4-server@2018-11-20.yang b/src/share/yang/modules/kea-dhcp4-server@2019-08-09.yang 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 fae5328750..4aeef0fa52 100644 --- a/src/share/yang/modules/kea-dhcp4-server@2018-11-20.yang +++ b/src/share/yang/modules/kea-dhcp4-server@2019-08-09.yang @@ -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; } /* diff --git a/src/share/yang/modules/kea-dhcp6-server@2018-11-20.yang b/src/share/yang/modules/kea-dhcp6-server@2019-08-09.yang 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 069ef29f48..15185a3f15 100644 --- a/src/share/yang/modules/kea-dhcp6-server@2018-11-20.yang +++ b/src/share/yang/modules/kea-dhcp6-server@2019-08-09.yang @@ -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 index 6ac07485a5..0000000000 --- a/src/share/yang/modules/kea-types@2018-11-20.yang +++ /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)."; - } - } - } -} diff --git a/src/share/yang/modules/kea-logging@2018-11-20.yang b/src/share/yang/modules/kea-types@2019-08-09.yang 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 31dd195176..ec10b54e9b 100644 --- a/src/share/yang/modules/kea-logging@2018-11-20.yang +++ b/src/share/yang/modules/kea-types@2019-08-09.yang @@ -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; - } } diff --git a/src/share/yang/modules/utils/gen-revisions.sh b/src/share/yang/modules/utils/gen-revisions.sh index 95b71fb9ed..f591fd3f95 100755 --- a/src/share/yang/modules/utils/gen-revisions.sh +++ b/src/share/yang/modules/utils/gen-revisions.sh @@ -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 \