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-notifications {
3 namespace "urn:ietf:params:xml:ns:yang:ietf-netconf-notifications";
6 import ietf-inet-types {
15 "IETF NETCONF (Network Configuration Protocol) Working Group";
17 "WG Web: <http://tools.ietf.org/wg/netconf/>
18 WG List: <mailto:netconf@ietf.org>
20 <mailto:bertietf@bwijnen.net>
21 WG Chair: Mehmet Ersue
22 <mailto:mehmet.ersue@nsn.com>
24 <mailto:andy@netconfcentral.org>";
26 "This module defines a YANG data model for use with the
27 NETCONF protocol that allows the NETCONF client to
28 receive common NETCONF base event notifications.
29 Copyright (c) 2012 IETF Trust and the persons identified as
30 the document authors. All rights reserved.
31 Redistribution and use in source and binary forms, with or
32 without modification, is permitted pursuant to, and subject
33 to the license terms contained in, the Simplified BSD License
34 set forth in Section 4.c of the IETF Trust's Legal Provisions
35 Relating to IETF Documents
36 (http://trustee.ietf.org/license-info).
37 This version of this YANG module is part of RFC 6470; see
38 the RFC itself for full legal notices.";
44 "RFC 6470: NETCONF Base Notifications";
47 grouping common-session-parms {
49 "Common session parameters to identify a
55 "Name of the user for the session.";
59 type nc:session-id-or-zero-type;
62 "Identifier of the session.
63 A NETCONF session MUST be identified by a non-zero value.
64 A non-NETCONF session MAY be identified by the value zero.";
70 "Address of the remote host for the session.";
74 grouping changed-by-parms {
76 "Common parameters to identify the source
77 of a change event, such as a configuration
78 or capability change.";
79 container changed-by {
81 "Indicates the source of the change.
82 If caused by internal action, then the
83 empty leaf 'server' will be present.
84 If caused by a management session, then
85 the name, remote host address, and session ID
86 of the session that made the change will be reported.";
87 choice server-or-user {
92 "If present, the change was caused
97 uses common-session-parms;
103 notification netconf-config-change {
105 "Generated when the NETCONF server detects that the
106 <running> or <startup> configuration datastore
107 has been changed by a management session.
108 The notification summarizes the edits that
110 The server MAY choose to also generate this
111 notification while loading a datastore during the
112 boot process for the device.";
113 uses changed-by-parms;
119 "The <running> datastore has changed.";
123 "The <startup> datastore has changed";
128 "Indicates which configuration datastore has changed.";
133 "An edit record SHOULD be present for each distinct
134 edit operation that the server has detected on
135 the target datastore. This list MAY be omitted
136 if the detailed edit operations are not known.
137 The server MAY report entries in this list for
138 changes not made by a NETCONF session (e.g., CLI).";
140 type instance-identifier;
142 "Topmost node associated with the configuration change.
143 A server SHOULD set this object to the node within
144 the datastore that is being altered. A server MAY
145 set this object to one of the ancestors of the actual
146 node that was changed, or omit this object, if the
147 exact node is not known.";
151 type nc:edit-operation-type;
153 "Type of edit operation performed.
154 A server MUST set this object to the NETCONF edit
155 operation performed on the target datastore.";
160 notification netconf-capability-change {
162 "Generated when the NETCONF server detects that
163 the server capabilities have changed.
164 Indicates which capabilities have been added, deleted,
165 and/or modified. The manner in which a server
166 capability is changed is outside the scope of this
168 uses changed-by-parms;
170 leaf-list added-capability {
173 "List of capabilities that have just been added.";
176 leaf-list deleted-capability {
179 "List of capabilities that have just been deleted.";
182 leaf-list modified-capability {
185 "List of capabilities that have just been modified.
186 A capability is considered to be modified if the
187 base URI for the capability has not changed, but
188 one or more of the parameters encoded at the end of
189 the capability URI have changed.
190 The new modified value of the complete URI is returned.";
194 notification netconf-session-start {
196 "Generated when a NETCONF server detects that a
197 NETCONF session has started. A server MAY generate
198 this event for non-NETCONF management sessions.
199 Indicates the identity of the user that started
201 uses common-session-parms;
204 notification netconf-session-end {
206 "Generated when a NETCONF server detects that a
207 NETCONF session has terminated.
208 A server MAY optionally generate this event for
209 non-NETCONF management sessions. Indicates the
210 identity of the user that owned the session,
211 and why the session was terminated.";
212 uses common-session-parms;
215 when "../termination-reason = 'killed'";
216 type nc:session-id-type;
218 "The ID of the session that directly caused this session
219 to be abnormally terminated. If this session was abnormally
220 terminated by a non-NETCONF session unknown to the server,
221 then this leaf will not be present.";
224 leaf termination-reason {
228 "The session was terminated by the client in normal
229 fashion, e.g., by the NETCONF <close-session>
230 protocol operation.";
234 "The session was terminated in abnormal
235 fashion, e.g., by the NETCONF <kill-session>
236 protocol operation.";
240 "The session was terminated because the transport layer
241 connection was unexpectedly closed.";
245 "The session was terminated because of inactivity,
246 e.g., waiting for the <hello> message or <rpc>
251 "The client's <hello> message was invalid.";
255 "The session was terminated for some other reason.";
260 "Reason the session was terminated.";
264 notification netconf-confirmed-commit {
266 "Generated when a NETCONF server detects that a
267 confirmed-commit event has occurred. Indicates the event
268 and the current state of the confirmed-commit procedure
271 "RFC 6241, Section 8.4";
272 uses common-session-parms {
273 when "confirm-event != 'timeout'";
280 "The confirmed-commit procedure has started.";
284 "The confirmed-commit procedure has been canceled,
285 e.g., due to the session being terminated, or an
286 explicit <cancel-commit> operation.";
290 "The confirmed-commit procedure has been canceled
291 due to the confirm-timeout interval expiring.
292 The common session parameters will not be present
297 "The confirmed-commit timeout has been extended,
298 e.g., by a new <confirmed-commit> operation.";
302 "The confirmed-commit procedure has been completed.";
307 "Indicates the event that caused the notification.";
311 when "../confirm-event = 'start' or ../confirm-event = 'extend'";
315 "The configured timeout value if the event type
316 is 'start' or 'extend'. This value represents
317 the approximate number of seconds from the event
318 time when the 'timeout' event might occur.";