Re: [netconf] YANG Push drafts comments

"Eric Voit (evoit)" <> Fri, 01 February 2019 17:18 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id DB9BD1310B5 for <>; Fri, 1 Feb 2019 09:18:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.641
X-Spam-Status: No, score=-14.641 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.142, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id el1y3Ey7BZtm for <>; Fri, 1 Feb 2019 09:18:43 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id E66141310B4 for <>; Fri, 1 Feb 2019 09:18:42 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=34590; q=dns/txt; s=iport; t=1549041523; x=1550251123; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=OhbN+/v2CndtSOXJgxQ12Gjvos5uAyrDKaOqSefOsto=; b=kVnclWYamptmK6iCnar1ws9eNlyK+KuSn6FKlVMYZFmFvrwq0AXqur1j 3IRjw7UTHckSB+R5C8hotdmyIWwpH6zAxSaIRwe9fGd+cTHcI4fe/CDBU lQT4zNjwQE90maw5zPhr4xb16NvgRrAYOkfXBEoan0ESr3yqoeLJPYOis U=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AFAADGflRc/5FdJa1kGgEBAQEBAgE?= =?us-ascii?q?BAQEHAgEBAQGBUQUBAQEBCwGBDU0pZ4EDJwqDeYgai3OCDZgOFIFnCwEBgXe?= =?us-ascii?q?CdQIXgnoiNAkNAQMBAQIBAQJtKIVKAQEBAQMjCjoSEAIBCA4DBAEBDhMHAwI?= =?us-ascii?q?CAjAUCQgCBA4FCIJPTIEdZKlTgS+KNIxAF4FAP4QjhGkfByiCU4JXAolaCQ4?= =?us-ascii?q?BhhmSXAkCkiwhgWuFQIM9h1iLLC2PewIRFIEnHziBVnAVgyeCKBeOHkExi3e?= =?us-ascii?q?BHwEB?=
X-IronPort-AV: E=Sophos;i="5.56,549,1539648000"; d="scan'208,217";a="233882573"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Feb 2019 17:18:41 +0000
Received: from ( []) by (8.15.2/8.15.2) with ESMTPS id x11HIfIF024781 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 1 Feb 2019 17:18:41 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 1 Feb 2019 12:18:40 -0500
Received: from ([]) by ([]) with mapi id 15.00.1395.000; Fri, 1 Feb 2019 12:18:40 -0500
From: "Eric Voit (evoit)" <>
To: William Lupton <>
CC: "" <>, "" <>
Thread-Topic: [netconf] YANG Push drafts comments
Thread-Index: AQHUt8eDyGU7aM7/H0mYOuYCbKZtXqXGnhOAgAFJo4CAAjziUA==
Date: Fri, 1 Feb 2019 17:18:40 +0000
Message-ID: <>
References: <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_80b8fdb627c24950ab3e7f15f2f54a65XCHRTP013ciscocom_"
MIME-Version: 1.0
Archived-At: <>
Subject: Re: [netconf] YANG Push drafts comments
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 01 Feb 2019 17:18:46 -0000

Thanks William.   And some more thoughts back to you (and one to Alex)...

From: William Lupton, January 30, 2019 4:54 AM

Thanks Eric. Please see some follow-ups below (I've removed items where I have no further comment). Cheers, W.

On Tue, 29 Jan 2019 at 20:31, Eric Voit (evoit) <<>> wrote:
Hi William,

Thanks for the interest, thoughts in-line...

From: netconf <<>> On Behalf Of William Lupton
Sent: Tuesday, January 29, 2019 6:41 AM
Subject: [netconf] YANG Push drafts comments

1.      General:
1.      Why is the subscription id optional? Without it, will the receiver always be able to tell how to handle an event message?
I assume you are referring to the pushed notification messages carrying event records.  The RFC-5277 one way notification doesn’t support a subscription-id object in its current event schema, so we can’t embed this object for subscribed-notifications.  This is one reason that draft-ietf-netconf-notification-messages was adopted.  For YANG push, we do have a subscription-id in the notification definition, which is then carried within the RFC-5277 one-way notification.

I would expect this question to arise in the minds of many readers. A note might be useful?

<Eric>   Notes on this topic were included in earlier versions of the document (e.g., version 10).   However other reviewers asked to remove these notes as they weren’t explicitly needed for this specification.    In the end, the work on draft-ietf-netconf-notification-messages will restart after we get done these drafts, and hopefully will drive text back to this document to cover this concern.

2.      draft-ietf-netconf-subscribed-notifications:

3.      Event record:
1.      So does the "event record" term apply to all the drafts? If so, does "event" apply to all the drafts? (This note is in the context of a later note about the fact that "event stream" appears to be specific to this draft.)
Subscribing to an event stream is different than a subscribing to a datastore. [...]

This was a terminology comment. I felt that it wasn't always clear which terms were generic and would apply to all drafts. "event record", "event" and "event stream" caused me particular problems. It was just a comment... if people don't think there's a need for clarification (or greater rigor in the use of terms) then that's fine.

<Eric>  The original “event” came from RFC-5277.   But RFC-5277 didn’t have a separate term for the entity against which filter was applied (i.e., an event record).  We also needed to tweak the definition of “event stream” from the original RFC-5277 “stream”.  This was needed because the original definition was NETCONF specific.

With that as a starting point, we then had terminology established where any event could be documented via an event record, and placed on an event stream.  This includes a populating an event stream with the set of notifications coming from a separate YANG push subscription.  Event records generated this way would look 100% identical what would come from original YANG Push subscription.  This was not accidental.  And as a result it becomes possible for a publisher implementation to internally populate an event stream through the under-the-covers use of YANG push software.

Based on this, the terminology was constructed not to exclude the possibility that a push update could be an event record.   But it was felt these were internal publisher complexities on corner cases.  And getting to these details might confuse the casual reader.   So as a result, we simply avoided the use of ‘event records’  within YANG Push.  I guess this is a long way of saying that I hope the current text is sufficient.

4.      Event stream:
1.      Having now read most of the YANG Push draft, I realize that "Event streams" are a legacy thing and are not used by YANG Push. This could be made clear. Otherwise it looks like these are a base concept that will be built on.
I think event streams are useful.  I don’t consider them legacy.

I didn't mean "legacy" pejoratively. Reading the draft I was thinking "Ah, event streams are a core concept that will be leveraged by the other drafts". So I was surprised to discover that YANG Push doesn't use them. Assuming that I'm correct here, I think that a note (either here or in YANG Push) could be helpful.

<Eric> If we do this, the right place would be YANG Push.  I will leave the call on this to Alex. (cc’ed)

3.      So referring to them as sets of Events (rather than sets of Event streams) seems inaccurate.
I don’t see any text on either sets of events, or sets of event streams.

Sorry, part of this got lost in translation. I intended to refer to the fact that:

  *   Event stream is defined (1.2) as "A continuous, chronologically ordered set of events..."
  *   And then later (2.1) it seems to be suggested that an event stream is a set of event records (rather than a set of events)
(But re-reading it just now, I'm not sure whether it really says this! I also note that you commented on this point later. So we can drop this one.)

5.      Notification message:
1.      I don't find "The time the event was generated by the event source" quite clear. Is it the time at which the change occurred or was detected (event occurrence time), or the time at which the message was created? Probably the former?
I can’t find the exact text quote:  "The time the event was generated by the event source" .   Where is this?

Sorry. The actual text is from RFC 5277, describing eventTime. Obviously I'm not suggesting that RFC 5277 be changed!

<Eric>  Yes, I never did like that text from RFC-5277.   I checked into why RFC-5277 was written this way several years a while ago.   Basically different implementations handled this in different ways, and they wanted text which wouldn’t preclude different implementations.