--- /dev/null
+<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-1">
+ <data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"><?xml version="1.0" encoding="UTF-8"?>
+<module name="ietf-interfaces"
+ xmlns="urn:ietf:params:xml:ns:yang:yin:1"
+ xmlns:if="urn:ietf:params:xml:ns:yang:ietf-interfaces"
+ xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types">
+ <yang-version value="1"/>
+ <namespace uri="urn:ietf:params:xml:ns:yang:ietf-interfaces"/>
+ <prefix value="if"/>
+ <import module="ietf-yang-types">
+ <prefix value="yang"/>
+ </import>
+ <organization>
+ <text>IETF NETMOD (NETCONF Data Modeling Language) Working Group</text>
+ </organization>
+ <contact>
+ <text>WG Web: &lt;http://tools.ietf.org/wg/netmod/&gt;
+WG List: &lt;mailto:netmod@ietf.org&gt;
+
+WG Chair: Thomas Nadeau
+ &lt;mailto:tnadeau@lucidvision.com&gt;
+
+WG Chair: Juergen Schoenwaelder
+ &lt;mailto:j.schoenwaelder@jacobs-university.de&gt;
+
+Editor: Martin Bjorklund
+ &lt;mailto:mbj@tail-f.com&gt;</text>
+ </contact>
+ <description>
+ <text>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.</text>
+ </description>
+ <revision date="2014-05-08">
+ <description>
+ <text>Initial revision.</text>
+ </description>
+ <reference>
+ <text>RFC 7223: A YANG Data Model for Interface Management</text>
+ </reference>
+ </revision>
+ <feature name="arbitrary-names">
+ <description>
+ <text>This feature indicates that the device allows user-controlled
+interfaces to be named arbitrarily.</text>
+ </description>
+ </feature>
+ <feature name="pre-provisioning">
+ <description>
+ <text>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.</text>
+ </description>
+ </feature>
+ <feature name="if-mib">
+ <description>
+ <text>This feature indicates that the device implements
+the IF-MIB.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB</text>
+ </reference>
+ </feature>
+ <identity name="interface-type">
+ <description>
+ <text>Base identity from which specific interface types are
+derived.</text>
+ </description>
+ </identity>
+ <typedef name="interface-ref">
+ <type name="leafref">
+ <path value="/if:interfaces/if:interface/if:name"/>
+ </type>
+ <description>
+ <text>This type is used by data models that need to reference
+configured interfaces.</text>
+ </description>
+ </typedef>
+ <typedef name="interface-state-ref">
+ <type name="leafref">
+ <path value="/if:interfaces-state/if:interface/if:name"/>
+ </type>
+ <description>
+ <text>This type is used by data models that need to reference
+the operationally present interfaces.</text>
+ </description>
+ </typedef>
+ <container name="interfaces">
+ <description>
+ <text>Interface configuration parameters.</text>
+ </description>
+ <list name="interface">
+ <key value="name"/>
+ <description>
+ <text>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.</text>
+ </description>
+ <leaf name="name">
+ <type name="string"/>
+ <description>
+ <text>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.</text>
+ </description>
+ </leaf>
+ <leaf name="description">
+ <type name="string"/>
+ <description>
+ <text>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.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifAlias</text>
+ </reference>
+ </leaf>
+ <leaf name="type">
+ <type name="identityref">
+ <base name="interface-type"/>
+ </type>
+ <mandatory value="true"/>
+ <description>
+ <text>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.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifType</text>
+ </reference>
+ </leaf>
+ <leaf name="enabled">
+ <type name="boolean"/>
+ <default value="true"/>
+ <description>
+ <text>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.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifAdminStatus</text>
+ </reference>
+ </leaf>
+ <leaf name="link-up-down-trap-enable">
+ <if-feature name="if-mib"/>
+ <type name="enumeration">
+ <enum name="enabled">
+ <value value="1"/>
+ </enum>
+ <enum name="disabled">
+ <value value="2"/>
+ </enum>
+ </type>
+ <description>
+ <text>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.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB -
+ ifLinkUpDownTrapEnable</text>
+ </reference>
+ </leaf>
+ </list>
+ </container>
+ <container name="interfaces-state">
+ <config value="false"/>
+ <description>
+ <text>Data nodes for the operational state of interfaces.</text>
+ </description>
+ <list name="interface">
+ <key value="name"/>
+ <description>
+ <text>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.</text>
+ </description>
+ <leaf name="name">
+ <type name="string"/>
+ <description>
+ <text>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.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifName</text>
+ </reference>
+ </leaf>
+ <leaf name="type">
+ <type name="identityref">
+ <base name="interface-type"/>
+ </type>
+ <mandatory value="true"/>
+ <description>
+ <text>The type of the interface.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifType</text>
+ </reference>
+ </leaf>
+ <leaf name="admin-status">
+ <if-feature name="if-mib"/>
+ <type name="enumeration">
+ <enum name="up">
+ <value value="1"/>
+ <description>
+ <text>Ready to pass packets.</text>
+ </description>
+ </enum>
+ <enum name="down">
+ <value value="2"/>
+ <description>
+ <text>Not ready to pass packets and not in some test mode.</text>
+ </description>
+ </enum>
+ <enum name="testing">
+ <value value="3"/>
+ <description>
+ <text>In some test mode.</text>
+ </description>
+ </enum>
+ </type>
+ <mandatory value="true"/>
+ <description>
+ <text>The desired state of the interface.
+
+This leaf has the same read semantics as ifAdminStatus.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifAdminStatus</text>
+ </reference>
+ </leaf>
+ <leaf name="oper-status">
+ <type name="enumeration">
+ <enum name="up">
+ <value value="1"/>
+ <description>
+ <text>Ready to pass packets.</text>
+ </description>
+ </enum>
+ <enum name="down">
+ <value value="2"/>
+ <description>
+ <text>The interface does not pass any packets.</text>
+ </description>
+ </enum>
+ <enum name="testing">
+ <value value="3"/>
+ <description>
+ <text>In some test mode. No operational packets can
+be passed.</text>
+ </description>
+ </enum>
+ <enum name="unknown">
+ <value value="4"/>
+ <description>
+ <text>Status cannot be determined for some reason.</text>
+ </description>
+ </enum>
+ <enum name="dormant">
+ <value value="5"/>
+ <description>
+ <text>Waiting for some external event.</text>
+ </description>
+ </enum>
+ <enum name="not-present">
+ <value value="6"/>
+ <description>
+ <text>Some component (typically hardware) is missing.</text>
+ </description>
+ </enum>
+ <enum name="lower-layer-down">
+ <value value="7"/>
+ <description>
+ <text>Down due to state of lower-layer interface(s).</text>
+ </description>
+ </enum>
+ </type>
+ <mandatory value="true"/>
+ <description>
+ <text>The current operational state of the interface.
+
+This leaf has the same semantics as ifOperStatus.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifOperStatus</text>
+ </reference>
+ </leaf>
+ <leaf name="last-change">
+ <type name="yang:date-and-time"/>
+ <description>
+ <text>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.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifLastChange</text>
+ </reference>
+ </leaf>
+ <leaf name="if-index">
+ <if-feature name="if-mib"/>
+ <type name="int32">
+ <range value="1..2147483647"/>
+ </type>
+ <mandatory value="true"/>
+ <description>
+ <text>The ifIndex value for the ifEntry represented by this
+interface.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifIndex</text>
+ </reference>
+ </leaf>
+ <leaf name="phys-address">
+ <type name="yang:phys-address"/>
+ <description>
+ <text>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.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifPhysAddress</text>
+ </reference>
+ </leaf>
+ <leaf-list name="higher-layer-if">
+ <type name="interface-state-ref"/>
+ <description>
+ <text>A list of references to interfaces layered on top of this
+interface.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifStackTable</text>
+ </reference>
+ </leaf-list>
+ <leaf-list name="lower-layer-if">
+ <type name="interface-state-ref"/>
+ <description>
+ <text>A list of references to interfaces layered underneath this
+interface.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifStackTable</text>
+ </reference>
+ </leaf-list>
+ <leaf name="speed">
+ <type name="yang:gauge64"/>
+ <units name="bits/second"/>
+ <description>
+ <text>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.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB -
+ ifSpeed, ifHighSpeed</text>
+ </reference>
+ </leaf>
+ <container name="statistics">
+ <description>
+ <text>A collection of interface-related statistics objects.</text>
+ </description>
+ <leaf name="discontinuity-time">
+ <type name="yang:date-and-time"/>
+ <mandatory value="true"/>
+ <description>
+ <text>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.</text>
+ </description>
+ </leaf>
+ <leaf name="in-octets">
+ <type name="yang:counter64"/>
+ <description>
+ <text>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'.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifHCInOctets</text>
+ </reference>
+ </leaf>
+ <leaf name="in-unicast-pkts">
+ <type name="yang:counter64"/>
+ <description>
+ <text>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'.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifHCInUcastPkts</text>
+ </reference>
+ </leaf>
+ <leaf name="in-broadcast-pkts">
+ <type name="yang:counter64"/>
+ <description>
+ <text>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'.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB -
+ ifHCInBroadcastPkts</text>
+ </reference>
+ </leaf>
+ <leaf name="in-multicast-pkts">
+ <type name="yang:counter64"/>
+ <description>
+ <text>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'.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB -
+ ifHCInMulticastPkts</text>
+ </reference>
+ </leaf>
+ <leaf name="in-discards">
+ <type name="yang:counter32"/>
+ <description>
+ <text>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'.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifInDiscards</text>
+ </reference>
+ </leaf>
+ <leaf name="in-errors">
+ <type name="yang:counter32"/>
+ <description>
+ <text>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'.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifInErrors</text>
+ </reference>
+ </leaf>
+ <leaf name="in-unknown-protos">
+ <type name="yang:counter32"/>
+ <description>
+ <text>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'.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifInUnknownProtos</text>
+ </reference>
+ </leaf>
+ <leaf name="out-octets">
+ <type name="yang:counter64"/>
+ <description>
+ <text>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'.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifHCOutOctets</text>
+ </reference>
+ </leaf>
+ <leaf name="out-unicast-pkts">
+ <type name="yang:counter64"/>
+ <description>
+ <text>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'.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifHCOutUcastPkts</text>
+ </reference>
+ </leaf>
+ <leaf name="out-broadcast-pkts">
+ <type name="yang:counter64"/>
+ <description>
+ <text>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'.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB -
+ ifHCOutBroadcastPkts</text>
+ </reference>
+ </leaf>
+ <leaf name="out-multicast-pkts">
+ <type name="yang:counter64"/>
+ <description>
+ <text>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'.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB -
+ ifHCOutMulticastPkts</text>
+ </reference>
+ </leaf>
+ <leaf name="out-discards">
+ <type name="yang:counter32"/>
+ <description>
+ <text>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'.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifOutDiscards</text>
+ </reference>
+ </leaf>
+ <leaf name="out-errors">
+ <type name="yang:counter32"/>
+ <description>
+ <text>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'.</text>
+ </description>
+ <reference>
+ <text>RFC 2863: The Interfaces Group MIB - ifOutErrors</text>
+ </reference>
+ </leaf>
+ </container>
+ </list>
+ </container>
+</module>
+</data>
+</rpc-reply>