--- /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-netconf-monitoring"
+ xmlns="urn:ietf:params:xml:ns:yang:yin:1"
+ xmlns:ncm="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"
+ xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types"
+ xmlns:inet="urn:ietf:params:xml:ns:yang:ietf-inet-types">
+ <namespace uri="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"/>
+ <prefix value="ncm"/>
+ <import module="ietf-yang-types">
+ <prefix value="yang"/>
+ </import>
+ <import module="ietf-inet-types">
+ <prefix value="inet"/>
+ </import>
+ <organization>
+ <text>IETF NETCONF (Network Configuration) Working Group</text>
+ </organization>
+ <contact>
+ <text>WG Web: &lt;http://tools.ietf.org/wg/netconf/&gt;
+WG List: &lt;mailto:netconf@ietf.org&gt;
+
+WG Chair: Mehmet Ersue
+ &lt;mailto:mehmet.ersue@nsn.com&gt;
+
+WG Chair: Bert Wijnen
+ &lt;mailto:bertietf@bwijnen.net&gt;
+
+Editor: Mark Scott
+ &lt;mailto:mark.scott@ericsson.com&gt;
+
+Editor: Martin Bjorklund
+ &lt;mailto:mbj@tail-f.com&gt;</text>
+ </contact>
+ <description>
+ <text>NETCONF Monitoring Module.
+All elements in this module are read-only.
+
+Copyright (c) 2010 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 6022; see
+the RFC itself for full legal notices.</text>
+ </description>
+ <revision date="2010-10-04">
+ <description>
+ <text>Initial revision.</text>
+ </description>
+ <reference>
+ <text>RFC 6022: YANG Module for NETCONF Monitoring</text>
+ </reference>
+ </revision>
+ <identity name="transport">
+ <description>
+ <text>Base identity for NETCONF transport types.</text>
+ </description>
+ </identity>
+ <identity name="netconf-ssh">
+ <base name="transport"/>
+ <description>
+ <text>NETCONF over Secure Shell (SSH).</text>
+ </description>
+ <reference>
+ <text>RFC 4742: Using the NETCONF Configuration Protocol
+ over Secure SHell (SSH)</text>
+ </reference>
+ </identity>
+ <identity name="netconf-soap-over-beep">
+ <base name="transport"/>
+ <description>
+ <text>NETCONF over Simple Object Access Protocol (SOAP) over
+Blocks Extensible Exchange Protocol (BEEP).</text>
+ </description>
+ <reference>
+ <text>RFC 4743: Using NETCONF over the Simple Object
+ Access Protocol (SOAP)</text>
+ </reference>
+ </identity>
+ <identity name="netconf-soap-over-https">
+ <base name="transport"/>
+ <description>
+ <text>NETCONF over Simple Object Access Protocol (SOAP)
+over Hypertext Transfer Protocol Secure (HTTPS).</text>
+ </description>
+ <reference>
+ <text>RFC 4743: Using NETCONF over the Simple Object
+ Access Protocol (SOAP)</text>
+ </reference>
+ </identity>
+ <identity name="netconf-beep">
+ <base name="transport"/>
+ <description>
+ <text>NETCONF over Blocks Extensible Exchange Protocol (BEEP).</text>
+ </description>
+ <reference>
+ <text>RFC 4744: Using the NETCONF Protocol over the
+ Blocks Extensible Exchange Protocol (BEEP)</text>
+ </reference>
+ </identity>
+ <identity name="netconf-tls">
+ <base name="transport"/>
+ <description>
+ <text>NETCONF over Transport Layer Security (TLS).</text>
+ </description>
+ <reference>
+ <text>RFC 5539: NETCONF over Transport Layer Security (TLS)</text>
+ </reference>
+ </identity>
+ <identity name="schema-format">
+ <description>
+ <text>Base identity for data model schema languages.</text>
+ </description>
+ </identity>
+ <identity name="xsd">
+ <base name="schema-format"/>
+ <description>
+ <text>W3C XML Schema Definition.</text>
+ </description>
+ <reference>
+ <text>W3C REC REC-xmlschema-1-20041028:
+ XML Schema Part 1: Structures</text>
+ </reference>
+ </identity>
+ <identity name="yang">
+ <base name="schema-format"/>
+ <description>
+ <text>The YANG data modeling language for NETCONF.</text>
+ </description>
+ <reference>
+ <text>RFC 6020: YANG - A Data Modeling Language for the
+ Network Configuration Protocol (NETCONF)</text>
+ </reference>
+ </identity>
+ <identity name="yin">
+ <base name="schema-format"/>
+ <description>
+ <text>The YIN syntax for YANG.</text>
+ </description>
+ <reference>
+ <text>RFC 6020: YANG - A Data Modeling Language for the
+ Network Configuration Protocol (NETCONF)</text>
+ </reference>
+ </identity>
+ <identity name="rng">
+ <base name="schema-format"/>
+ <description>
+ <text>Regular Language for XML Next Generation (RELAX NG).</text>
+ </description>
+ <reference>
+ <text>ISO/IEC 19757-2:2008: RELAX NG</text>
+ </reference>
+ </identity>
+ <identity name="rnc">
+ <base name="schema-format"/>
+ <description>
+ <text>Relax NG Compact Syntax</text>
+ </description>
+ <reference>
+ <text>ISO/IEC 19757-2:2008: RELAX NG</text>
+ </reference>
+ </identity>
+ <typedef name="netconf-datastore-type">
+ <type name="enumeration">
+ <enum name="running"/>
+ <enum name="candidate"/>
+ <enum name="startup"/>
+ </type>
+ <description>
+ <text>Enumeration of possible NETCONF datastore types.</text>
+ </description>
+ <reference>
+ <text>RFC 4741: NETCONF Configuration Protocol</text>
+ </reference>
+ </typedef>
+ <grouping name="common-counters">
+ <description>
+ <text>Counters that exist both per session, and also globally,
+accumulated from all sessions.</text>
+ </description>
+ <leaf name="in-rpcs">
+ <type name="yang:zero-based-counter32"/>
+ <description>
+ <text>Number of correct &lt;rpc&gt; messages received.</text>
+ </description>
+ </leaf>
+ <leaf name="in-bad-rpcs">
+ <type name="yang:zero-based-counter32"/>
+ <description>
+ <text>Number of messages received when an &lt;rpc&gt; message was expected,
+that were not correct &lt;rpc&gt; messages. This includes XML parse
+errors and errors on the rpc layer.</text>
+ </description>
+ </leaf>
+ <leaf name="out-rpc-errors">
+ <type name="yang:zero-based-counter32"/>
+ <description>
+ <text>Number of &lt;rpc-reply&gt; messages sent that contained an
+&lt;rpc-error&gt; element.</text>
+ </description>
+ </leaf>
+ <leaf name="out-notifications">
+ <type name="yang:zero-based-counter32"/>
+ <description>
+ <text>Number of &lt;notification&gt; messages sent.</text>
+ </description>
+ </leaf>
+ </grouping>
+ <container name="netconf-state">
+ <config value="false"/>
+ <description>
+ <text>The netconf-state container is the root of the monitoring
+data model.</text>
+ </description>
+ <container name="capabilities">
+ <description>
+ <text>Contains the list of NETCONF capabilities supported by the
+server.</text>
+ </description>
+ <leaf-list name="capability">
+ <type name="inet:uri"/>
+ <description>
+ <text>List of NETCONF capabilities supported by the server.</text>
+ </description>
+ </leaf-list>
+ </container>
+ <container name="datastores">
+ <description>
+ <text>Contains the list of NETCONF configuration datastores.</text>
+ </description>
+ <list name="datastore">
+ <key value="name"/>
+ <description>
+ <text>List of NETCONF configuration datastores supported by
+the NETCONF server and related information.</text>
+ </description>
+ <leaf name="name">
+ <type name="netconf-datastore-type"/>
+ <description>
+ <text>Name of the datastore associated with this list entry.</text>
+ </description>
+ </leaf>
+ <container name="locks">
+ <presence value="This container is present only if the datastore
+is locked."/>
+ <description>
+ <text>The NETCONF &lt;lock&gt; and &lt;partial-lock&gt; operations allow
+a client to lock specific resources in a datastore. The
+NETCONF server will prevent changes to the locked
+resources by all sessions except the one that acquired
+the lock(s).
+
+Monitoring information is provided for each datastore
+entry including details such as the session that acquired
+the lock, the type of lock (global or partial) and the
+list of locked resources. Multiple locks per datastore
+are supported.</text>
+ </description>
+ <grouping name="lock-info">
+ <description>
+ <text>Lock related parameters, common to both global and
+partial locks.</text>
+ </description>
+ <leaf name="locked-by-session">
+ <type name="uint32"/>
+ <mandatory value="true"/>
+ <description>
+ <text>The session ID of the session that has locked
+this resource. Both a global lock and a partial
+lock MUST contain the NETCONF session-id.
+
+If the lock is held by a session that is not managed
+by the NETCONF server (e.g., a CLI session), a session
+id of 0 (zero) is reported.</text>
+ </description>
+ <reference>
+ <text>RFC 4741: NETCONF Configuration Protocol</text>
+ </reference>
+ </leaf>
+ <leaf name="locked-time">
+ <type name="yang:date-and-time"/>
+ <mandatory value="true"/>
+ <description>
+ <text>The date and time of when the resource was
+locked.</text>
+ </description>
+ </leaf>
+ </grouping>
+ <choice name="lock-type">
+ <description>
+ <text>Indicates if a global lock or a set of partial locks
+are set.</text>
+ </description>
+ <container name="global-lock">
+ <description>
+ <text>Present if the global lock is set.</text>
+ </description>
+ <uses name="lock-info"/>
+ </container>
+ <list name="partial-lock">
+ <key value="lock-id"/>
+ <description>
+ <text>List of partial locks.</text>
+ </description>
+ <reference>
+ <text>RFC 5717: Partial Lock Remote Procedure Call (RPC) for
+ NETCONF</text>
+ </reference>
+ <leaf name="lock-id">
+ <type name="uint32"/>
+ <description>
+ <text>This is the lock id returned in the &lt;partial-lock&gt;
+response.</text>
+ </description>
+ </leaf>
+ <uses name="lock-info"/>
+ <leaf-list name="select">
+ <type name="yang:xpath1.0"/>
+ <min-elements value="1"/>
+ <description>
+ <text>The xpath expression that was used to request
+the lock. The select expression indicates the
+original intended scope of the lock.</text>
+ </description>
+ </leaf-list>
+ <leaf-list name="locked-node">
+ <type name="instance-identifier"/>
+ <description>
+ <text>The list of instance-identifiers (i.e., the
+locked nodes).
+
+The scope of the partial lock is defined by the list
+of locked nodes.</text>
+ </description>
+ </leaf-list>
+ </list>
+ </choice>
+ </container>
+ </list>
+ </container>
+ <container name="schemas">
+ <description>
+ <text>Contains the list of data model schemas supported by the
+server.</text>
+ </description>
+ <list name="schema">
+ <key value="identifier version format"/>
+ <description>
+ <text>List of data model schemas supported by the server.</text>
+ </description>
+ <leaf name="identifier">
+ <type name="string"/>
+ <description>
+ <text>Identifier to uniquely reference the schema. The
+identifier is used in the &lt;get-schema&gt; operation and may
+be used for other purposes such as file retrieval.
+
+For modeling languages that support or require a data
+model name (e.g., YANG module name) the identifier MUST
+match that name. For YANG data models, the identifier is
+the name of the module or submodule. In other cases, an
+identifier such as a filename MAY be used instead.</text>
+ </description>
+ </leaf>
+ <leaf name="version">
+ <type name="string"/>
+ <description>
+ <text>Version of the schema supported. Multiple versions MAY be
+supported simultaneously by a NETCONF server. Each
+version MUST be reported individually in the schema list,
+i.e., with same identifier, possibly different location,
+but different version.
+
+For YANG data models, version is the value of the most
+recent YANG 'revision' statement in the module or
+submodule, or the empty string if no 'revision' statement
+is present.</text>
+ </description>
+ </leaf>
+ <leaf name="format">
+ <type name="identityref">
+ <base name="schema-format"/>
+ </type>
+ <description>
+ <text>The data modeling language the schema is written
+in (currently xsd, yang, yin, rng, or rnc).
+For YANG data models, 'yang' format MUST be supported and
+'yin' format MAY also be provided.</text>
+ </description>
+ </leaf>
+ <leaf name="namespace">
+ <type name="inet:uri"/>
+ <mandatory value="true"/>
+ <description>
+ <text>The XML namespace defined by the data model.
+
+For YANG data models, this is the module's namespace.
+If the list entry describes a submodule, this field
+contains the namespace of the module to which the
+submodule belongs.</text>
+ </description>
+ </leaf>
+ <leaf-list name="location">
+ <type name="union">
+ <type name="enumeration">
+ <enum name="NETCONF"/>
+ </type>
+ <type name="inet:uri"/>
+ </type>
+ <description>
+ <text>One or more locations from which the schema can be
+retrieved. This list SHOULD contain at least one
+entry per schema.
+
+A schema entry may be located on a remote file system
+(e.g., reference to file system for ftp retrieval) or
+retrieved directly from a server supporting the
+&lt;get-schema&gt; operation (denoted by the value 'NETCONF').</text>
+ </description>
+ </leaf-list>
+ </list>
+ </container>
+ <container name="sessions">
+ <description>
+ <text>The sessions container includes session-specific data for
+NETCONF management sessions. The session list MUST include
+all currently active NETCONF sessions.</text>
+ </description>
+ <list name="session">
+ <key value="session-id"/>
+ <description>
+ <text>All NETCONF sessions managed by the NETCONF server
+MUST be reported in this list.</text>
+ </description>
+ <leaf name="session-id">
+ <type name="uint32">
+ <range value="1..max"/>
+ </type>
+ <description>
+ <text>Unique identifier for the session. This value is the
+NETCONF session identifier, as defined in RFC 4741.</text>
+ </description>
+ <reference>
+ <text>RFC 4741: NETCONF Configuration Protocol</text>
+ </reference>
+ </leaf>
+ <leaf name="transport">
+ <type name="identityref">
+ <base name="transport"/>
+ </type>
+ <mandatory value="true"/>
+ <description>
+ <text>Identifies the transport for each session, e.g.,
+'netconf-ssh', 'netconf-soap', etc.</text>
+ </description>
+ </leaf>
+ <leaf name="username">
+ <type name="string"/>
+ <mandatory value="true"/>
+ <description>
+ <text>The username is the client identity that was authenticated
+by the NETCONF transport protocol. The algorithm used to
+derive the username is NETCONF transport protocol specific
+and in addition specific to the authentication mechanism
+used by the NETCONF transport protocol.</text>
+ </description>
+ </leaf>
+ <leaf name="source-host">
+ <type name="inet:host"/>
+ <description>
+ <text>Host identifier of the NETCONF client. The value
+returned is implementation specific (e.g., hostname,
+IPv4 address, IPv6 address)</text>
+ </description>
+ </leaf>
+ <leaf name="login-time">
+ <type name="yang:date-and-time"/>
+ <mandatory value="true"/>
+ <description>
+ <text>Time at the server at which the session was established.</text>
+ </description>
+ </leaf>
+ <uses name="common-counters">
+ <description>
+ <text>Per-session counters. Zero based with following reset
+behaviour:
+ - at start of a session
+ - when max value is reached</text>
+ </description>
+ </uses>
+ </list>
+ </container>
+ <container name="statistics">
+ <description>
+ <text>Statistical data pertaining to the NETCONF server.</text>
+ </description>
+ <leaf name="netconf-start-time">
+ <type name="yang:date-and-time"/>
+ <description>
+ <text>Date and time at which the management subsystem was
+started.</text>
+ </description>
+ </leaf>
+ <leaf name="in-bad-hellos">
+ <type name="yang:zero-based-counter32"/>
+ <description>
+ <text>Number of sessions silently dropped because an
+invalid &lt;hello&gt; message was received. This includes &lt;hello&gt;
+messages with a 'session-id' attribute, bad namespace, and
+bad capability declarations.</text>
+ </description>
+ </leaf>
+ <leaf name="in-sessions">
+ <type name="yang:zero-based-counter32"/>
+ <description>
+ <text>Number of sessions started. This counter is incremented
+when a &lt;hello&gt; message with a &lt;session-id&gt; is sent.
+
+'in-sessions' - 'in-bad-hellos' =
+ 'number of correctly started netconf sessions'</text>
+ </description>
+ </leaf>
+ <leaf name="dropped-sessions">
+ <type name="yang:zero-based-counter32"/>
+ <description>
+ <text>Number of sessions that were abnormally terminated, e.g.,
+due to idle timeout or transport close. This counter is not
+incremented when a session is properly closed by a
+&lt;close-session&gt; operation, or killed by a &lt;kill-session&gt;
+operation.</text>
+ </description>
+ </leaf>
+ <uses name="common-counters">
+ <description>
+ <text>Global counters, accumulated from all sessions.
+Zero based with following reset behaviour:
+ - re-initialization of NETCONF server
+ - when max value is reached</text>
+ </description>
+ </uses>
+ </container>
+ </container>
+ <rpc name="get-schema">
+ <description>
+ <text>This operation is used to retrieve a schema from the
+NETCONF server.
+
+Positive Response:
+ The NETCONF server returns the requested schema.
+
+Negative Response:
+ If requested schema does not exist, the &lt;error-tag&gt; is
+ 'invalid-value'.
+
+ If more than one schema matches the requested parameters, the
+ &lt;error-tag&gt; is 'operation-failed', and &lt;error-app-tag&gt; is
+ 'data-not-unique'.</text>
+ </description>
+ <input>
+ <leaf name="identifier">
+ <type name="string"/>
+ <mandatory value="true"/>
+ <description>
+ <text>Identifier for the schema list entry.</text>
+ </description>
+ </leaf>
+ <leaf name="version">
+ <type name="string"/>
+ <description>
+ <text>Version of the schema requested. If this parameter is not
+present, and more than one version of the schema exists on
+the server, a 'data-not-unique' error is returned, as
+described above.</text>
+ </description>
+ </leaf>
+ <leaf name="format">
+ <type name="identityref">
+ <base name="schema-format"/>
+ </type>
+ <description>
+ <text>The data modeling language of the schema. If this
+parameter is not present, and more than one formats of
+the schema exists on the server, a 'data-not-unique' error
+is returned, as described above.</text>
+ </description>
+ </leaf>
+ </input>
+ <output>
+ <anyxml name="data">
+ <description>
+ <text>Contains the schema content.</text>
+ </description>
+ </anyxml>
+ </output>
+ </rpc>
+</module>
+</data>
+</rpc-reply>