idnits 2.17.1
draft-ietf-netconf-netconf-event-notifications-07.txt:
Checking boilerplate required by RFC 5378 and the IETF Trust (see
https://trustee.ietf.org/license-info):
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt:
----------------------------------------------------------------------------
No issues found here.
Checking nits according to https://www.ietf.org/id-info/checklist :
----------------------------------------------------------------------------
** The document seems to lack an IANA Considerations section. (See Section
2.2 of https://www.ietf.org/id-info/checklist for how to handle the case
when there are no actions for IANA.)
** The abstract seems to contain references
([I-D.draft-ietf-netconf-subscribed-notifications],
[I-D.ietf-netconf-yang-push]), which it shouldn't. Please replace those
with straight textual mentions of the documents in question.
== There are 4 instances of lines with non-RFC6890-compliant IPv4 addresses
in the document. If these are example addresses, they should be changed.
Miscellaneous warnings:
----------------------------------------------------------------------------
== The copyright year in the IETF Trust and authors Copyright Line does not
match the current year
== The document seems to lack the recommended RFC 2119 boilerplate, even if
it appears to use RFC 2119 keywords -- however, there's a paragraph with
a matching beginning. Boilerplate error?
(The document does seem to have the reference to RFC 2119 which the
ID-Checklist requires).
-- The document date (February 8, 2018) is 2240 days in the past. Is this
intentional?
Checking references for intended status: Proposed Standard
----------------------------------------------------------------------------
(See RFCs 3967 and 4897 for information about using normative references
to lower-maturity documents in RFCs)
== Outdated reference: A later version (-26) exists of
draft-ietf-netconf-subscribed-notifications-10
** Obsolete normative reference: RFC 6536 (Obsoleted by RFC 8341)
Summary: 3 errors (**), 0 flaws (~~), 4 warnings (==), 1 comment (--).
Run idnits with the --verbose option for more detailed information about
the items above.
--------------------------------------------------------------------------------
2 NETCONF A. Gonzalez Prieto
3 Internet-Draft VMware
4 Intended status: Standards Track E. Voit
5 Expires: August 12, 2018 Cisco Systems
6 A. Clemm
7 Huawei
8 E. Nilsen-Nygaard
9 A. Tripathy
10 Cisco Systems
11 February 8, 2018
13 NETCONF Support for Event Notifications
14 draft-ietf-netconf-netconf-event-notifications-07
16 Abstract
18 This document provides a NETCONF binding for
19 [I-D.draft-ietf-netconf-subscribed-notifications] and
20 [I-D.ietf-netconf-yang-push]. Included are:
22 o transport mappings for subscription RPCs, state change
23 notifications, and notification messages,
24 o functional requirements, and
25 o examples
27 Status of This Memo
29 This Internet-Draft is submitted in full conformance with the
30 provisions of BCP 78 and BCP 79.
32 Internet-Drafts are working documents of the Internet Engineering
33 Task Force (IETF). Note that other groups may also distribute
34 working documents as Internet-Drafts. The list of current Internet-
35 Drafts is at https://datatracker.ietf.org/drafts/current/.
37 Internet-Drafts are draft documents valid for a maximum of six months
38 and may be updated, replaced, or obsoleted by other documents at any
39 time. It is inappropriate to use Internet-Drafts as reference
40 material or to cite them other than as "work in progress."
42 This Internet-Draft will expire on August 12, 2018.
44 Copyright Notice
46 Copyright (c) 2018 IETF Trust and the persons identified as the
47 document authors. All rights reserved.
49 This document is subject to BCP 78 and the IETF Trust's Legal
50 Provisions Relating to IETF Documents
51 (https://trustee.ietf.org/license-info) in effect on the date of
52 publication of this document. Please review these documents
53 carefully, as they describe your rights and restrictions with respect
54 to this document. Code Components extracted from this document must
55 include Simplified BSD License text as described in Section 4.e of
56 the Trust Legal Provisions and are provided without warranty as
57 described in the Simplified BSD License.
59 Table of Contents
61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
62 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
63 3. Interleave Capability . . . . . . . . . . . . . . . . . . . . 3
64 4. Mandatory XML, stream and datastore support . . . . . . . . . 3
65 5. Transport connectivity . . . . . . . . . . . . . . . . . . . 3
66 5.1. Dynamic Subscriptions . . . . . . . . . . . . . . . . . . 3
67 5.2. Configured Subscriptions . . . . . . . . . . . . . . . . 4
68 6. Notification Messages . . . . . . . . . . . . . . . . . . . . 4
69 7. Dynamic Subscriptions and RPC Error Responses . . . . . . . . 4
70 8. Security Considerations . . . . . . . . . . . . . . . . . . . 5
71 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6
72 10. Normative References . . . . . . . . . . . . . . . . . . . . 6
73 Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 7
74 A.1. Event Stream Discovery . . . . . . . . . . . . . . . . . 7
75 A.2. Dynamic Subscriptions . . . . . . . . . . . . . . . . . . 7
76 A.3. Configured Subscriptions . . . . . . . . . . . . . . . . 14
77 A.4. Subscription State Notifications . . . . . . . . . . . . 19
78 Appendix B. Changes between revisions . . . . . . . . . . . . . 21
79 B.1. v06 to v07 . . . . . . . . . . . . . . . . . . . . . . . 21
80 B.2. v05 to v06 . . . . . . . . . . . . . . . . . . . . . . . 21
81 B.3. v03 to v04 . . . . . . . . . . . . . . . . . . . . . . . 21
82 B.4. v01 to v03 . . . . . . . . . . . . . . . . . . . . . . . 22
83 B.5. v00 to v01 . . . . . . . . . . . . . . . . . . . . . . . 22
84 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
86 1. Introduction
88 This document defines a binding for events streamed over the NETCONF
89 protocol [RFC6241] as per
90 [I-D.draft-ietf-netconf-subscribed-notifications]. In addition, as
91 [I-D.ietf-netconf-yang-push] is itself built upon
92 [I-D.draft-ietf-netconf-subscribed-notifications], this document
93 enables a NETCONF client to request and receive updates from a YANG
94 datastore located on a NETCONF server.
96 2. Terminology
98 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
99 "SHOULD", SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
100 document are to be interpreted as described in RFC 2119 [RFC2119].
102 The following terms are defined in
103 [I-D.draft-ietf-netconf-subscribed-notifications]: notification
104 message, stream, publisher, receiver, subscriber, subscription,
105 configured subscription.
107 3. Interleave Capability
109 To support multiple subscriptions on a single session, a NETCONF
110 publisher MUST support the :interleave capability as defined in
111 [RFC5277]. Such support MUST be indicated by the following
112 capability: "urn:ietf:params:netconf:capability:interleave:1.0".
113 Advertisement of this capability along with support
114 [I-D.draft-ietf-netconf-subscribed-notifications] will indicate that
115 a NETCONF publisher is able to receive, process, and respond to
116 NETCONF requests and
117 [I-D.draft-ietf-netconf-subscribed-notifications] subscription
118 operations on a session with active subscriptions.
120 4. Mandatory XML, stream and datastore support
122 A NETCONF publisher MUST support XML encoding of RPCs and
123 Notifications.
125 A NETCONF publisher supporting
126 [I-D.draft-ietf-netconf-subscribed-notifications] MUST support the
127 "NETCONF" event stream identified in that draft.
129 A NETCONF publisher supporting [I-D.ietf-netconf-yang-push] MUST
130 support the operational state datastore as defined by
131 [I.D.draft-ietf-netmod-revised-datastores].
133 5. Transport connectivity
135 5.1. Dynamic Subscriptions
137 For dynamic subscriptions, if the NETCONF session involved with the
138 "establish-subscription" terminates, the subscription MUST be
139 deleted.
141 5.2. Configured Subscriptions
143 For a configured subscription, there is no guarantee a transport
144 session is currently in place with each associated receiver. In
145 cases where a configured subscription has a receiver in the
146 connecting state and the protocol configured as NETCONF, but no
147 NETCONF transport session exists to that receiver, the publisher MUST
148 initiate a transport session via NETCONF call home [RFC8071], section
149 4.1 to that receiver. Until NETCONF connectivity is established and
150 a subscription-started state change notification is successfully
151 sent, that receiver MUST remain in a status of either "connecting" or
152 "timeout".
154 If the call home fails because the publisher receives receiver
155 credentials which are subsequently declined per [RFC8071],
156 Section 4.1, step S5 authentication, then that receiver MUST be
157 assigned a "timeout" status.
159 If the call home fails to establish for any other reason, the
160 publisher MUST NOT progress the receiver to the "active" state.
161 Additionally, the publisher SHOULD place the receiver into a
162 "timeout" status after a predetermined number of either failed call
163 home attempts or NETCONF sessions remotely terminated by the
164 receiver.
166 NETCONF Transport session connectivity SHOULD be verified via
167 Section 4.1, step S7.
169 If an active NETCONF session is disconnected but the stop-time of a
170 subscription has not been reached, the publisher MUST restart the
171 call home process and return the receiver to the "connecting" state.
173 6. Notification Messages
175 Notification messages transported over NETCONF will be identical in
176 format and content to those encoded using one-way operations defined
177 within [RFC5277], section 4.
179 7. Dynamic Subscriptions and RPC Error Responses
181 Management of dynamic subscriptions occurs via RPCs as defined in
182 [I-D.ietf-netconf-yang-push] and
183 [I-D.draft-ietf-netconf-subscribed-notifications]. When an RPC error
184 occurs, the NETCONF RPC reply MUST include an "rpc-error" element per
185 [RFC6241] with the error information populated as follows:
187 o "error-type" of "application".
188 o "error-tag" of "operation-failed".
190 o Optionally, an "error-severity" of "error" (this MAY but does not
191 have to be included).
192 o "error-app-tag" with the value being a string that corresponds to
193 an identity associated with the error, as defined in
194 [I-D.draft-ietf-netconf-subscribed-notifications] section 2.4.6
195 for general subscriptions, and [I-D.ietf-netconf-yang-push]
196 Appendix A.1, for datastore (YANG-Push) subscriptions. The tag to
197 use depends on the RPC for which the error occurred. Applicable
198 are identities with a base identity of "establish-subscription-
199 error" (for error responses to an establish-subscription request),
200 "modify- subscription-error" (for error responses to a modify-
201 subscription request), "delete-subscription-error" (for error
202 responses to a delete-subscription request), "resynch-
203 subscription-error" (for error responses to resynch-subscription
204 request), or "kill- subscription-error" (for error responses to a
205 kill-subscription request), respectively.
206 o In case of error responses to an establish-subscription or modify-
207 subscription request: optionally, "error-info" containing XML-
208 encoded data with hints regarding parameter settings that might
209 lead to successful requests in the future, per yang-data
210 definitions "establish-subscription-error-datastore" (for error
211 responses to an establish-subscription request) or "modify-
212 subscription-error-datastore (for error responses to a modify-
213 subscription request), respectively.
215 These yang-data that is included in "error-info" SHOULD NOT
216 include the optional leaf "error-reason", as such a leaf would be
217 redundant with the information that is already placed within the
218 error-app-tag.
220 In case of an rpc error as a result of a delete-subscription, or a
221 kill-subscription, or a resynch-subscription request, no error-
222 info needs to be included, as the subscription-id is the only RPC
223 input parameter and no hints regarding RPC input parameters need
224 to be provided.
226 Note that "error-path" does not need to be included with the "rpc-
227 error" element, as subscription errors are generally not associated
228 with nodes in the datastore but with the choice of RPC input
229 parameters.
231 8. Security Considerations
233 Notification messages (including state change notifications) are
234 never sent before the NETCONF capabilities exchange has completed.
236 If a malicious or buggy NETCONF subscriber sends a number of
237 "establish-subscription" requests, then these subscriptions
238 accumulate and may use up system resources. In such a situation,
239 subscriptions MAY be terminated by terminating the underlying NETCONF
240 session. The publisher MAY also suspend or terminate a subset of the
241 active subscriptions on that NETCONF session.
243 The NETCONF Authorization Control Model [RFC6536] SHOULD be used to
244 control and restrict authorization of subscription configuration.
246 9. Acknowledgments
248 We wish to acknowledge the helpful contributions, comments, and
249 suggestions that were received from: Andy Bierman, Yan Gang, Sharon
250 Chisholm, Hector Trevino, Peipei Guo, Susan Hares, Tim Jenkins,
251 Balazs Lengyel, Kent Watsen, and Guangying Zheng.
253 10. Normative References
255 [I-D.draft-ietf-netconf-subscribed-notifications]
256 Voit, E., Clemm, A., Gonzalez Prieto, A., Tripathy, A.,
257 and E. Nilsen-Nygaard, "Custom Subscription to Event
258 Streams", draft-ietf-netconf-subscribed-notifications-10
259 (work in progress), January 2018.
261 [I-D.ietf-netconf-yang-push]
262 Clemm, Alexander., Voit, Eric., Gonzalez Prieto, Alberto.,
263 Tripathy, A., Nilsen-Nygaard, E., Bierman, A., and B.
264 Lengyel, "YANG Datastore Subscription", February 2018,
265 .
268 [I.D.draft-ietf-netmod-revised-datastores]
269 Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
270 and R. Wilton, "Network Management Datastore
271 Architecture", draft-ietf-netmod-revised-datastores-10
272 (work in progress), January 2018.
274 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
275 Requirement Levels", BCP 14, RFC 2119,
276 DOI 10.17487/RFC2119, March 1997,
277 .
279 [RFC5277] Chisholm, S. and H. Trevino, "NETCONF Event
280 Notifications", RFC 5277, DOI 10.17487/RFC5277, July 2008,
281 .
283 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
284 and A. Bierman, Ed., "Network Configuration Protocol
285 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
286 .
288 [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration
289 Protocol (NETCONF) Access Control Model", RFC 6536,
290 DOI 10.17487/RFC6536, March 2012,
291 .
293 [RFC8071] Watsen, K., "NETCONF Call Home and RESTCONF Call Home",
294 RFC 8071, DOI 10.17487/RFC8071, February 2017,
295 .
297 Appendix A. Examples
299 A.1. Event Stream Discovery
301 As defined in [I-D.draft-ietf-netconf-subscribed-notifications] an
302 event stream exposes a continuous set of events available for
303 subscription. A NETCONF client can retrieve the list of available
304 event streams from a NETCONF publisher using the "get" operation
305 against the top-level container "/streams" defined in
306 [I-D.draft-ietf-netconf-subscribed-notifications].
308 The following example illustrates the retrieval of the list of
309 available event streams using the "get" operation.
311
313
314
315
317
318
319
321 Figure 1: Get streams request
323 After such a request, the NETCONF publisher returns a list of event
324 streams available.
326 A.2. Dynamic Subscriptions
327 A.2.1. Establishing Dynamic Subscriptions
329 The following figure shows two successful "establish-subscription"
330 RPC requests as per
331 [I-D.draft-ietf-netconf-subscribed-notifications]. The first request
332 is given a subscription identifier of 22, the second, an identifier
333 of 23.
335 +------------+ +-----------+
336 | Subscriber | | Publisher |
337 +------------+ +-----------+
338 | |
339 | Capability Exchange |
340 |<---------------------------->|
341 | |
342 | |
343 | establish-subscription |
344 |----------------------------->| (a)
345 | RPC Reply: OK, id = 22 |
346 |<-----------------------------| (b)
347 | |
348 | notification message (for 22)|
349 |<-----------------------------|
350 | |
351 | |
352 | establish-subscription |
353 |----------------------------->|
354 | RPC Reply: OK, id = 23 |
355 |<-----------------------------|
356 | |
357 | |
358 | notification message (for 22)|
359 |<-----------------------------|
360 | notification message (for 23)|
361 |<-----------------------------|
362 | |
364 Figure 2: Multiple subscriptions over a NETCONF session
366 To provide examples of the information being transported, example
367 messages for interactions (a) and (b) in Figure 2 are detailed below:
369
371
373
374 NETCONF
375
376 /ex:foo
377
378
379
380 10
381
382
383
385 Figure 3: establish-subscription request (a)
387 As NETCONF publisher was able to fully satisfy the request (a), the
388 publisher sends the subscription identifier of the accepted
389 subscription within message (b):
391
393
395 22
396
397
399 Figure 4: establish-subscription success (b)
401 If the NETCONF publisher had not been able to fully satisfy the
402 request, or subscriber has no authorization to establish the
403 subscription, the publisher would have sent an RPC error response.
404 For instance, if the "dscp" value of 10 asserted by the subscriber in
405 Figure 3 proved unacceptable, the publisher may have returned:
407
409
410 application
411 operation-failed
412 error
413
414 dscp-unavailable
415
416
417
419
420 100
421
422
423
424
426 Figure 5: an unsuccessful establish subscription
428 The subscriber can use this information in future attempts to
429 establish a subscription.
431 A.2.2. Modifying Dynamic Subscriptions
433 An existing subscription may be modified. The following exchange
434 shows a negotiation of such a modification via several exchanges
435 between a subscriber and a publisher. This negotiation consists of a
436 failed RPC modification request/response, followed by a successful
437 one.
439 +------------+ +-----------+
440 | Subscriber | | Publisher |
441 +------------+ +-----------+
442 | |
443 | notification message (for 23)|
444 |<-----------------------------|
445 | |
446 | modify-subscription (id = 23)|
447 |----------------------------->| (c)
448 | RPC error (with hint) |
449 |<-----------------------------| (d)
450 | |
451 | modify-subscription (id = 23)|
452 |----------------------------->|
453 | RPC Reply: OK |
454 |<-----------------------------|
455 | |
456 | notification message (for 23)|
457 |<-----------------------------|
458 | |
460 Figure 6: Interaction model for successful subscription modification
462 If the subscription being modified in Figure 6 is a datastore
463 subscription as per [I-D.ietf-netconf-yang-push], the modification
464 request made in (c) may look like that shown in Figure 7. As can be
465 seen, the modifications being attempted are the application of a new
466 xpath filter as well as the setting of a new periodic time interval.
468
470
473
474
475 /interfaces-state/interface/oper-status
476
477
478 500
479
480
481
482 23
483
484
485
487 Figure 7: Subscription modification request (c)
489 If the NETCONF publisher can satisfy both changes, the publisher
490 sends a positive result for the RPC. If the NETCONF publisher cannot
491 satisfy either of the proposed changes, the publisher sends an RPC
492 error response (d). The following is an example RPC error response
493 for (d) which includes a hint. This hint is an alternative time
494 period value which might have resulted in a successful modification:
496
498
499 application
500 operation-failed
501 error
502
503 period-unsupported
504
505
507
508
509 3000
510
511
512
513
514
516 Figure 8: Modify subscription failure with Hint (d)
518 A.2.3. Deleting Dynamic Subscriptions
520 The following demonstrates deleting a subscription.
522
524
526 22
527
528
530 Figure 9: Delete subscription
532 If the NETCONF publisher can satisfy the request, the publisher
533 replies with success to the RPC request.
535 If the NETCONF publisher cannot satisfy the request, the publisher
536 sends an error-rpc element indicating the modification didn't work.
537 Figure 10 shows a valid response for existing valid subscription
538 identifier, but that subscription identifier was created on a
539 different NETCONF transport session:
541
543
544 application
545 operation-failed
546 error
547
548 no-such-subscription
549
550
551
553 Figure 10: Unsuccessful delete subscription
555 A.3. Configured Subscriptions
557 Configured subscriptions may be established, modified, and deleted
558 using configuration operations against the top-level subtree of
559 [I-D.draft-ietf-netconf-subscribed-notifications] or
560 [I-D.ietf-netconf-yang-push].
562 In this section, we present examples of how to manage the
563 configuration subscriptions using a NETCONF client.
565 A.3.1. Creating Configured Subscriptions
567 For subscription creation, a NETCONF client may send:
569
572
573
574
575
576
578
579 22
580 encode-xml
581
582 NETCONF
583
584 1.2.3.4
585 1234
586
587
588
589
590
591
593 Figure 11: Create a configured subscription
595 If the request is accepted, the publisher will indicate this. If the
596 request is not accepted because the publisher cannot serve it, no
597 configuration is changed. In this case the publisher may reply:
599
601
602 application
603 resource-denied
604 error
605
606 Temporarily the publisher cannot serve this
607 subscription due to the current workload.
608
609
610
612 Figure 12: Response to a failed configured subscription establishment
614 After a subscription has been created, NETCONF connectivity to each
615 receiver's IP address and port will be established if it does not
616 already exist. This will be accomplished via [RFC8071].
618 The following figure shows the interaction model for the successful
619 creation of a configured subscription.
621 +----------+ +-----------+ +---------+
622 |Config Ops| | Publisher | | 1.2.3.4 |
623 +----------+ +-----------+ +---------+
624 | | |
625 | Capability Exchange | |
626 |<-------------------------->| |
627 | | |
628 | | |
629 | Edit-config | |
630 |--------------------------->| |
631 | RPC Reply: OK | |
632 |<---------------------------| |
633 | | Call Home |
634 | |<-------------->|
635 | | |
636 | | subscription- |
637 | | started |
638 | |--------------->|
639 | | |
640 | | notification |
641 | | message |
642 | |--------------->|
644 Figure 13: Interaction model for configured subscription
645 establishment
647 A.3.2. Modifying Configured Subscriptions
649 Configured subscriptions can be modified using configuration
650 operations against the top-level container "/subscriptions".
652 For example, the subscription established in the previous section
653 could be modified as follows, here a adding a second receiver:
655
658
659
660
661
662
664
665
666 1922
667
668
669
670 1.2.3.5
671
672
673 1234
674
675
676
677
678
679
681 Figure 14: Modify configured subscription
683 If the request is accepted, the publisher will indicate success. The
684 result is that the interaction model described in Figure 13 may be
685 extended as follows.
687 +----------+ +-----------+ +---------+ +---------+
688 |Config Ops| | Publisher | | 1.2.3.4 | | 1.2.3.5 |
689 +----------+ +-----------+ +---------+ +---------+
690 | | notification | |
691 | | message | |
692 | |--------------->| |
693 | Edit-config | | |
694 |--------------------------->| | |
695 | RPC Reply: OK | | |
696 |<---------------------------| | |
697 | | subscription- | |
698 | | started | |
699 | |---------------------------->|
700 | | | |
701 | | notification | |
702 | | message | |
703 | |--------------->| |
704 | |---------------------------->|
705 | | | |
707 Figure 15: Interaction model for configured subscription modification
709 Note in the above that in the specific example above, modifying a
710 configured subscription actually resulted in "subscription-started"
711 notification. And because of an existing NETCONF session, no
712 additional call home was needed. Also note that if the edit of the
713 configuration had impacted the filter, a separate modify-subscription
714 would have been required for the original receiver.
716 A.3.3. Deleting Configured Subscriptions
718 Configured subscriptions can be deleted using configuration
719 operations against the top-level container "/subscriptions".
720 Deleting the subscription above would result in the following flow
721 impacting all active receivers.
723 +----------+ +-----------+ +---------+ +---------+
724 |Config Ops| | Publisher | | 1.2.3.4 | | 1.2.3.5 |
725 +----------+ +-----------+ +---------+ +---------+
726 | | | |
727 | | notification | |
728 | | message | |
729 | |--------------->| |
730 | |---------------------------->|
731 | | | |
732 | Edit-config | | |
733 |--------------------------->| | |
734 | RPC Reply: OK | | |
735 |<---------------------------| | |
736 | | subscription- | |
737 | | terminated | |
738 | |--------------->| |
739 | |---------------------------->|
740 | | | |
742 Figure 16: Interaction model for configured subscription deletion
744 A.4. Subscription State Notifications
746 A publisher will send subscription state notifications according to
747 the definitions within
748 [I-D.draft-ietf-netconf-subscribed-notifications]).
750 A.4.1. subscription-started and subscription-modified
752 A "subscription-started" over NETCONF encoded in XML would look like:
754
756 2007-09-01T10:00:00Z
757
759 39
760 encode-xml
761
762 NETCONF
763
764 /ex:foo
765
766
767
768
770 Figure 17: subscription-started subscription state notification
772 The "subscription-modified" is identical to Figure 17, with just the
773 word "started" being replaced by "modified".
775 A.4.2. subscription-completed, subscription-resumed, and replay-
776 complete
778 A "subscription-completed" would look like:
780
782 2007-09-01T10:00:00Z
783
785 39
786
787
789 Figure 18: subscription-completed notification in XML
791 The "subscription-resumed" and "replay-complete" are virtually
792 identical, with "subscription-completed" simply being replaced by
793 "subscription-resumed" and "replay-complete" in both encodings.
795 A.4.3. subscription-terminated and subscription-suspended
797 A "subscription-terminated" would look like:
799
801 2007-09-01T10:00:00Z
802
804 39
805
806 suspension-timeout
807
808
809
811 Figure 19: subscription-terminated subscription state notification
813 The "subscription-suspended" is virtually identical, with
814 "subscription-terminated" simply being replaced by "subscription-
815 suspended".
817 Appendix B. Changes between revisions
819 (To be removed by RFC editor prior to publication)
821 B.1. v06 to v07
823 o XML encoding and operational datastore mandatory.
824 o Error mechanisms and examples updated.
826 B.2. v05 to v06
828 o Moved examples to appendices
829 o All examples rewritten based on namespace learnings
830 o Normative text consolidated in front
831 o Removed all mention of JSON
832 o Call home process detailed
833 o Note: this is a major revision attempting to cover those comments
834 received from two week review.
836 B.3. v03 to v04
838 o Added additional detail to "configured subscriptions"
839 o Added interleave capability
840 o Adjusted terminology to that in draft-ietf-netconf-subscribed-
841 notifications
842 o Corrected namespaces in examples
844 B.4. v01 to v03
846 o Text simplifications throughout
847 o v02 had no meaningful changes
849 B.5. v00 to v01
851 o Added Call Home in solution for configured subscriptions.
852 o Clarified support for multiple subscription on a single session.
853 No need to support multiple create-subscription.
854 o Added mapping between terminology in yang-push and [RFC6241] (the
855 one followed in this document).
856 o Editorial improvements.
858 Authors' Addresses
860 Alberto Gonzalez Prieto
861 VMware
863 Email: agonzalezpri@vmware.com
865 Eric Voit
866 Cisco Systems
868 Email: evoit@cisco.com
870 Alexander Clemm
871 Huawei
873 Email: ludwig@clemm.org
875 Einar Nilsen-Nygaard
876 Cisco Systems
878 Email: einarnn@cisco.com
880 Ambika Prasad Tripathy
881 Cisco Systems
883 Email: ambtripa@cisco.com