1 <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-1">
2 <data xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring">module ietf-netconf-monitoring {
3 namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring";
6 import ietf-yang-types {
10 import ietf-inet-types {
15 "IETF NETCONF (Network Configuration) Working Group";
17 "WG Web: <http://tools.ietf.org/wg/netconf/>
18 WG List: <mailto:netconf@ietf.org>
20 WG Chair: Mehmet Ersue
21 <mailto:mehmet.ersue@nsn.com>
24 <mailto:bertietf@bwijnen.net>
27 <mailto:mark.scott@ericsson.com>
29 Editor: Martin Bjorklund
30 <mailto:mbj@tail-f.com>";
32 "NETCONF Monitoring Module.
33 All elements in this module are read-only.
35 Copyright (c) 2010 IETF Trust and the persons identified as
36 authors of the code. All rights reserved.
38 Redistribution and use in source and binary forms, with or
39 without modification, is permitted pursuant to, and subject
40 to the license terms contained in, the Simplified BSD
41 License set forth in Section 4.c of the IETF Trust's
42 Legal Provisions Relating to IETF Documents
43 (http://trustee.ietf.org/license-info).
45 This version of this YANG module is part of RFC 6022; see
46 the RFC itself for full legal notices.";
52 "RFC 6022: YANG Module for NETCONF Monitoring";
57 "Base identity for NETCONF transport types.";
60 identity netconf-ssh {
63 "NETCONF over Secure Shell (SSH).";
65 "RFC 4742: Using the NETCONF Configuration Protocol
66 over Secure SHell (SSH)";
69 identity netconf-soap-over-beep {
72 "NETCONF over Simple Object Access Protocol (SOAP) over
73 Blocks Extensible Exchange Protocol (BEEP).";
75 "RFC 4743: Using NETCONF over the Simple Object
76 Access Protocol (SOAP)";
79 identity netconf-soap-over-https {
82 "NETCONF over Simple Object Access Protocol (SOAP)
83 over Hypertext Transfer Protocol Secure (HTTPS).";
85 "RFC 4743: Using NETCONF over the Simple Object
86 Access Protocol (SOAP)";
89 identity netconf-beep {
92 "NETCONF over Blocks Extensible Exchange Protocol (BEEP).";
94 "RFC 4744: Using the NETCONF Protocol over the
95 Blocks Extensible Exchange Protocol (BEEP)";
98 identity netconf-tls {
101 "NETCONF over Transport Layer Security (TLS).";
103 "RFC 5539: NETCONF over Transport Layer Security (TLS)";
106 identity schema-format {
108 "Base identity for data model schema languages.";
114 "W3C XML Schema Definition.";
116 "W3C REC REC-xmlschema-1-20041028:
117 XML Schema Part 1: Structures";
123 "The YANG data modeling language for NETCONF.";
125 "RFC 6020: YANG - A Data Modeling Language for the
126 Network Configuration Protocol (NETCONF)";
132 "The YIN syntax for YANG.";
134 "RFC 6020: YANG - A Data Modeling Language for the
135 Network Configuration Protocol (NETCONF)";
141 "Regular Language for XML Next Generation (RELAX NG).";
143 "ISO/IEC 19757-2:2008: RELAX NG";
149 "Relax NG Compact Syntax";
151 "ISO/IEC 19757-2:2008: RELAX NG";
154 typedef netconf-datastore-type {
161 "Enumeration of possible NETCONF datastore types.";
163 "RFC 4741: NETCONF Configuration Protocol";
166 grouping common-counters {
168 "Counters that exist both per session, and also globally,
169 accumulated from all sessions.";
171 type yang:zero-based-counter32;
173 "Number of correct <rpc> messages received.";
177 type yang:zero-based-counter32;
179 "Number of messages received when an <rpc> message was expected,
180 that were not correct <rpc> messages. This includes XML parse
181 errors and errors on the rpc layer.";
184 leaf out-rpc-errors {
185 type yang:zero-based-counter32;
187 "Number of <rpc-reply> messages sent that contained an
188 <rpc-error> element.";
191 leaf out-notifications {
192 type yang:zero-based-counter32;
194 "Number of <notification> messages sent.";
198 container netconf-state {
201 "The netconf-state container is the root of the monitoring
203 container capabilities {
205 "Contains the list of NETCONF capabilities supported by the
207 leaf-list capability {
210 "List of NETCONF capabilities supported by the server.";
214 container datastores {
216 "Contains the list of NETCONF configuration datastores.";
220 "List of NETCONF configuration datastores supported by
221 the NETCONF server and related information.";
223 type netconf-datastore-type;
225 "Name of the datastore associated with this list entry.";
229 presence "This container is present only if the datastore
232 "The NETCONF <lock> and <partial-lock> operations allow
233 a client to lock specific resources in a datastore. The
234 NETCONF server will prevent changes to the locked
235 resources by all sessions except the one that acquired
238 Monitoring information is provided for each datastore
239 entry including details such as the session that acquired
240 the lock, the type of lock (global or partial) and the
241 list of locked resources. Multiple locks per datastore
245 "Lock related parameters, common to both global and
247 leaf locked-by-session {
251 "The session ID of the session that has locked
252 this resource. Both a global lock and a partial
253 lock MUST contain the NETCONF session-id.
255 If the lock is held by a session that is not managed
256 by the NETCONF server (e.g., a CLI session), a session
257 id of 0 (zero) is reported.";
259 "RFC 4741: NETCONF Configuration Protocol";
263 type yang:date-and-time;
266 "The date and time of when the resource was
273 "Indicates if a global lock or a set of partial locks
275 container global-lock {
277 "Present if the global lock is set.";
284 "List of partial locks.";
286 "RFC 5717: Partial Lock Remote Procedure Call (RPC) for
291 "This is the lock id returned in the <partial-lock>
301 "The xpath expression that was used to request
302 the lock. The select expression indicates the
303 original intended scope of the lock.";
306 leaf-list locked-node {
307 type instance-identifier;
309 "The list of instance-identifiers (i.e., the
312 The scope of the partial lock is defined by the list
323 "Contains the list of data model schemas supported by the
326 key "identifier version format";
328 "List of data model schemas supported by the server.";
332 "Identifier to uniquely reference the schema. The
333 identifier is used in the <get-schema> operation and may
334 be used for other purposes such as file retrieval.
336 For modeling languages that support or require a data
337 model name (e.g., YANG module name) the identifier MUST
338 match that name. For YANG data models, the identifier is
339 the name of the module or submodule. In other cases, an
340 identifier such as a filename MAY be used instead.";
346 "Version of the schema supported. Multiple versions MAY be
347 supported simultaneously by a NETCONF server. Each
348 version MUST be reported individually in the schema list,
349 i.e., with same identifier, possibly different location,
350 but different version.
352 For YANG data models, version is the value of the most
353 recent YANG 'revision' statement in the module or
354 submodule, or the empty string if no 'revision' statement
363 "The data modeling language the schema is written
364 in (currently xsd, yang, yin, rng, or rnc).
365 For YANG data models, 'yang' format MUST be supported and
366 'yin' format MAY also be provided.";
373 "The XML namespace defined by the data model.
375 For YANG data models, this is the module's namespace.
376 If the list entry describes a submodule, this field
377 contains the namespace of the module to which the
389 "One or more locations from which the schema can be
390 retrieved. This list SHOULD contain at least one
393 A schema entry may be located on a remote file system
394 (e.g., reference to file system for ftp retrieval) or
395 retrieved directly from a server supporting the
396 <get-schema> operation (denoted by the value 'NETCONF').";
403 "The sessions container includes session-specific data for
404 NETCONF management sessions. The session list MUST include
405 all currently active NETCONF sessions.";
409 "All NETCONF sessions managed by the NETCONF server
410 MUST be reported in this list.";
416 "Unique identifier for the session. This value is the
417 NETCONF session identifier, as defined in RFC 4741.";
419 "RFC 4741: NETCONF Configuration Protocol";
428 "Identifies the transport for each session, e.g.,
429 'netconf-ssh', 'netconf-soap', etc.";
436 "The username is the client identity that was authenticated
437 by the NETCONF transport protocol. The algorithm used to
438 derive the username is NETCONF transport protocol specific
439 and in addition specific to the authentication mechanism
440 used by the NETCONF transport protocol.";
446 "Host identifier of the NETCONF client. The value
447 returned is implementation specific (e.g., hostname,
448 IPv4 address, IPv6 address)";
452 type yang:date-and-time;
455 "Time at the server at which the session was established.";
458 uses common-counters {
460 "Per-session counters. Zero based with following reset
462 - at start of a session
463 - when max value is reached";
468 container statistics {
470 "Statistical data pertaining to the NETCONF server.";
471 leaf netconf-start-time {
472 type yang:date-and-time;
474 "Date and time at which the management subsystem was
479 type yang:zero-based-counter32;
481 "Number of sessions silently dropped because an
482 invalid <hello> message was received. This includes <hello>
483 messages with a 'session-id' attribute, bad namespace, and
484 bad capability declarations.";
488 type yang:zero-based-counter32;
490 "Number of sessions started. This counter is incremented
491 when a <hello> message with a <session-id> is sent.
493 'in-sessions' - 'in-bad-hellos' =
494 'number of correctly started netconf sessions'";
497 leaf dropped-sessions {
498 type yang:zero-based-counter32;
500 "Number of sessions that were abnormally terminated, e.g.,
501 due to idle timeout or transport close. This counter is not
502 incremented when a session is properly closed by a
503 <close-session> operation, or killed by a <kill-session>
507 uses common-counters {
509 "Global counters, accumulated from all sessions.
510 Zero based with following reset behaviour:
511 - re-initialization of NETCONF server
512 - when max value is reached";
519 "This operation is used to retrieve a schema from the
523 The NETCONF server returns the requested schema.
526 If requested schema does not exist, the <error-tag> is
529 If more than one schema matches the requested parameters, the
530 <error-tag> is 'operation-failed', and <error-app-tag> is
537 "Identifier for the schema list entry.";
543 "Version of the schema requested. If this parameter is not
544 present, and more than one version of the schema exists on
545 the server, a 'data-not-unique' error is returned, as
554 "The data modeling language of the schema. If this
555 parameter is not present, and more than one formats of
556 the schema exists on the server, a 'data-not-unique' error
557 is returned, as described above.";
564 "Contains the schema content.";