Re: [Netconf] LC on subscribed-notifications-10

"Eric Voit (evoit)" <> Fri, 06 July 2018 00:07 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A9A47130F7F for <>; Thu, 5 Jul 2018 17:07:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Status: No, score=-14.51 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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, T_DKIMWL_WL_HIGH=-0.01, 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 3T8-CCCP4M0V for <>; Thu, 5 Jul 2018 17:07:04 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 1D424130FE8 for <>; Thu, 5 Jul 2018 17:07:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=25452; q=dns/txt; s=iport; t=1530835621; x=1532045221; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=qwxNHpXSVE72v0D1pRlI0zdKns4EmafGRKYXZIHEODw=; b=fJ4Nd51EOhyLG5iREUGKnyX1Ly8ARLNTGntv8L0cOwelXcdDEEwaegAd i/7BWkWiqbBWDEEWvG2GOweylJ2GaUcdJOreFmmDS7Cgl62V1RA4ekK8i JRmbhjwqO1xu/79Gl/Mf0Cg8EZZ17vbG0yk63NqMm2KUo1Y/+ikg2wb3h Q=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DpAADnsT5b/5FdJa1bGgEBAQEBAgE?= =?us-ascii?q?BAQEIAQEBAYJTTCpifygKg3CIBIw1ggeVMIF6CyWERwIXghYhNBgBAgEBAgE?= =?us-ascii?q?BAm0cDIU2AQEBAgIjCkoCEAIBCA4HEB0CAgIwJQIEDg0TgjpMgRtkD6lgghw?= =?us-ascii?q?fiDGBNQWIbYFWP4QegxgCAYFtgnOCVQKZTAkChgSJEo1fijWHLQIREwGBJB0?= =?us-ascii?q?4gVJwFYMkhgCKUm+OIoEaAQE?=
X-IronPort-AV: E=Sophos;i="5.51,314,1526342400"; d="scan'208,217";a="138634971"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Jul 2018 00:07:00 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id w6606xxv032301 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 6 Jul 2018 00:07:00 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1320.4; Thu, 5 Jul 2018 20:06:59 -0400
Received: from ([]) by ([]) with mapi id 15.00.1320.000; Thu, 5 Jul 2018 20:06:59 -0400
From: "Eric Voit (evoit)" <>
To: Kent Watsen <>
CC: "" <>, Alexander Clemm <>
Thread-Topic: [Netconf] LC on subscribed-notifications-10
Date: Fri, 6 Jul 2018 00:06:59 +0000
Message-ID: <>
References: <> <> <040a01d3be9f$09700490$1c500db0$> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <> <>
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_a7d654fc37284449ba8c1306a9ce3146XCHRTP013ciscocom_"
MIME-Version: 1.0
Archived-At: <>
Subject: Re: [Netconf] LC on subscribed-notifications-10
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: Network Configuration WG mailing list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 06 Jul 2018 00:07:12 -0000


From: Kent Watsen, July 5, 2018 6:19 PM

<Kent9> it might be typical/common desire, but it's still once in the lifetime of the configured subscription.  It seems like, if the device supports dynamic subscriptions, after receiving subscription-started, the client could a) pause the configured subscription, b) use a dynamic subscript to fetch the missing logs, and then c) resume the flow of logs from the configured subscriptions.

<Eric10> Your proposal still precludes (b)-(d) above.   In addition for your step a), there is no RPC or action which allows the event records from a configured (or dynamic) subscription to be paused.  The solution also adds complexity into the client to recognize that early events might be missing, to issue an establish-subscription, and then to tie the results of the independent subscriptions together.

<Kent10> pausing can be implemented by the receiver not reading any more from the TCP socket, or something else.

<Eric11> There is no mechanism for a receiver to pause a single subscription without pausing other subscriptions on the TCP session (as subscriptions typically would share a common TCP.)

<Kent11> Different "receivers" of different configured subscriptions pointing to the same underlying netconf or restconf call-home connection?

<Eric12> Yes

<Kent12> Ack.  So, *if* we were to do this, the client would either have to pause all the subscriptions, or do a dynamic fetch in parallel.  Hmmm, given that we're talking about the *configured* replay-start-time, which kicks in after a reboot, all the subscriptions would be restarted simultaneously (right?), so maybe this isn't a big issue?

<Eric13> Per this thread, this is now a configured-replay empty object (rather than a start-time).  This empty object simply tells the publisher to push off all events retained from a stream since reboot.  And yes, all configured subscriptions will restart simultaneously.  But without this feature, receivers will not see events from boot to transport establishment.  And without this feature, two different configured receivers might get different initial events as the transport might not be brought up simultaneously.

<Kent13> I'm unsure how this addresses my concern that replaying is unnecessary for configured subscriptions…I somehow thought that it might be related since it's listed here.   Separately, I'm unclear about what this change does, I know you provide some explanation above, but you can say it differently or provide an example or two to illustrate what you mean?   Does this change introduce the problem you mentioned before about duplicates events being sent?

<Eric14>  Here is a link to the slides which I have put together for IETF 102 which hopefully hits your request above:

BTW, the description statement on replay-start-time seems incorrect, with the node now being config false, how can it be used to "trigger" anything?

<Eric14>  replay-start-time exists as part of the establish-subscription RPC.   The RPC is where the triggering occurs.


Kent // contributer