Dynamic Subscription to YANG Events and Datastores over RESTCONF
RFC 8650

Document Type RFC - Proposed Standard (November 2019; Errata)
Authors Eric Voit  , Reshad Rahman  , Einar Nilsen-Nygaard  , Alexander Clemm  , Andy Bierman 
Last updated 2021-01-06
Replaces draft-voit-netconf-restconf-notif
Stream Internent Engineering Task Force (IETF)
Formats plain text html xml pdf htmlized (tools) htmlized with errata bibtex
Yang Validation 7 errors, 0 warnings.
Additional Resources
- Yang catalog entry for ietf-restconf-subscribed-notifications@2019-01-11.yang
- Yang impact analysis for draft-ietf-netconf-restconf-notif
- Mailing list discussion
Stream WG state Submitted to IESG for Publication
Document shepherd Kent Watsen
Shepherd write-up Show (last changed 2019-02-26)
IESG IESG state RFC 8650 (Proposed Standard)
Action Holders
Consensus Boilerplate Yes
Telechat date
Responsible AD Ignas Bagdonas
Send notices to Kent Watsen <kent+ietf@watsen.net>
IANA IANA review state Version Changed - Review Needed
IANA action state RFC-Ed-Ack

Internet Engineering Task Force (IETF)                           E. Voit
Request for Comments: 8650                                     R. Rahman
Category: Standards Track                              E. Nilsen-Nygaard
ISSN: 2070-1721                                            Cisco Systems
                                                                A. Clemm
                                                              A. Bierman
                                                           November 2019

    Dynamic Subscription to YANG Events and Datastores over RESTCONF


   This document provides a RESTCONF binding to the dynamic subscription
   capability of both subscribed notifications and YANG-Push.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction
   2.  Terminology
   3.  Dynamic Subscriptions
     3.1.  Transport Connectivity
     3.2.  Discovery
     3.3.  RESTCONF RPCs and HTTP Status Codes
     3.4.  Call Flow for Server-Sent Events
   4.  QoS Treatment
   5.  Notification Messages
   6.  YANG Tree
   7.  YANG Module
   8.  IANA Considerations
   9.  Security Considerations
   10. References
     10.1.  Normative References
     10.2.  Informative References
   Appendix A.  Examples
     A.1.  Dynamic Subscriptions
       A.1.1.  Establishing Dynamic Subscriptions
       A.1.2.  Modifying Dynamic Subscriptions
       A.1.3.  Deleting Dynamic Subscriptions
     A.2.  Subscription State Notifications
       A.2.1.  "subscription-modified"
       A.2.2.  "subscription-completed", "subscription-resumed", and
       A.2.3.  "subscription-terminated" and "subscription-suspended"
     A.3.  Filter Example
   Authors' Addresses

1.  Introduction

   Mechanisms to support event subscription and YANG-Push are defined in
   [RFC8639].  Enhancements to [RFC8639] that enable YANG datastore
   subscription and YANG-Push are defined in [RFC8641].  This document
   provides a transport specification for dynamic subscriptions over
   RESTCONF [RFC8040].  Requirements for these mechanisms are captured
   in [RFC7923].

   The streaming of notifications that encapsulate the resulting
   information push is done via the mechanism described in Section 6.3
   of [RFC8040].

2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

   The following terms use the definitions from [RFC8639]: dynamic
   subscription, event stream, notification message, publisher,
   receiver, subscriber, and subscription.

   Other terms reused include datastore, which is defined in [RFC8342],
   and HTTP/2 stream, which maps to the definition of "stream" within
   [RFC7540], Section 2.

3.  Dynamic Subscriptions

   This section provides specifics on how to establish and maintain
   dynamic subscriptions over RESTCONF [RFC8040].  Subscribing to event
   streams is accomplished in this way via RPCs defined within
   [RFC8639], Section 2.4.  The RPCs are done via RESTCONF POSTs.  YANG
   datastore subscription is accomplished via augmentations to [RFC8639]
   as described within [RFC8641], Section 4.4.

   As described in Section 6.3 of [RFC8040], a GET needs to be performed
   on a specific URI on the publisher.  Subscribers cannot predetermine
   the URI against which a subscription might exist on a publisher, as
   the URI will only exist after the "establish-subscription" RPC has
Show full document text