Re: [Netconf] HTTP2 configured subscriptions, is RESTCONF call home necessary? (was RE: Anyone want just Configured Subscriptions?)

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Wed, 11 July 2018 20:48 UTC

Return-Path: <j.schoenwaelder@jacobs-university.de>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3997E1292AD for <netconf@ietfa.amsl.com>; Wed, 11 Jul 2018 13:48:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vTy8j-_8H8Hb for <netconf@ietfa.amsl.com>; Wed, 11 Jul 2018 13:48:41 -0700 (PDT)
Received: from anna.localdomain (anna.eecs.jacobs-university.de [IPv6:2001:638:709:5::7]) by ietfa.amsl.com (Postfix) with ESMTP id 660651277BB for <netconf@ietf.org>; Wed, 11 Jul 2018 13:48:41 -0700 (PDT)
Received: by anna.localdomain (Postfix, from userid 501) id 8BA7B2321FEF; Wed, 11 Jul 2018 22:48:38 +0200 (CEST)
Date: Wed, 11 Jul 2018 22:48:38 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: "Eric Voit (evoit)" <evoit@cisco.com>
Cc: Lou Berger <lberger@labn.net>, Kent Watsen <kwatsen@juniper.net>, Netconf <netconf@ietf.org>
Message-ID: <20180711204838.fn2fz4tclanjtj2r@anna.jacobs.jacobs-university.de>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: "Eric Voit (evoit)" <evoit@cisco.com>, Lou Berger <lberger@labn.net>, Kent Watsen <kwatsen@juniper.net>, Netconf <netconf@ietf.org>
References: <e9905b9899db49539b0aa8afc5491f45@XCH-RTP-013.cisco.com> <20180711055154.qzmg2ofdid5dog7y@anna.jacobs.jacobs-university.de> <3a07a3b121ed4bf589544ba94c3e4c66@XCH-RTP-013.cisco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <3a07a3b121ed4bf589544ba94c3e4c66@XCH-RTP-013.cisco.com>
User-Agent: NeoMutt/20180622
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/KYEePduPTW2H0j0Gd9hH1jrC9go>
Subject: Re: [Netconf] HTTP2 configured subscriptions, is RESTCONF call home necessary? (was RE: Anyone want just Configured Subscriptions?)
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.27
Precedence: list
List-Id: Network Configuration WG mailing list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 11 Jul 2018 20:48:44 -0000

On Wed, Jul 11, 2018 at 03:15:58PM +0000, Eric Voit (evoit) wrote:
> > From: Juergen Schoenwaelder, july 11, 2018 1:52 AM
> > 
> > On Wed, Jul 11, 2018 at 12:15:45AM +0000, Eric Voit (evoit) wrote:
> > > > From: Juergen Schoenwaelder, July 10, 2018 6:43 PM
> > > >
> > > > On Tue, Jul 10, 2018 at 10:27:23PM +0000, Eric Voit (evoit) wrote:
> > > > > > From: Lou Berger, July 10, 2018 4:43 PM
> > > > > >
> > > > > > On 7/10/2018 4:37 PM, Kent Watsen wrote:
> > > > > > >
> > > > > > >> So in short, after RFC 8071 call home, you get NC/RC client
> > > > > > >> and server starting with a <hello> exchange. Ideally, the
> > > > > > >> client would indicate its readiness to receive unsolicited
> > > > > > >> notifications before you push notifications to the client
> > > > > > >> (and the notification sender may even be interested to know
> > > > > > >> that it is sending notifications to a remote system that does not
> > just drop them).
> > > > > > >> So either the clients invokes an RPC to start the
> > > > > > >> notification flow or, if you want to optimize one round trip,
> > > > > > >> the client includes a special
> > > > > > >>
> > > > > > >>   :willing-to-receive-unsolicited-notifications
> > > > > > >>
> > > > > > >> capability in the <hello> exchange.
> > > > > > > I agree that a client-advertised capability would be goodness
> > > > > > > here, but it only works for NC-clients, there is no corollary for RC-
> > clients.
> > > > > > >
> > > > > > > Maybe clients should send a "willing-to-receive-unsolicited-
> > notifications"
> > > > > > > RPC instead?
> > > > > > or an an error when an unsolicited notification is received by a
> > > > > > client that doesn't support it.
> > > > > > (optimizing for what I think suspect will be the common case in
> > > > > > the long
> > > > > > term...)
> > > > >
> > > > > Effectively this is what draft-ietf-netconf-restconf-notif,
> > > > > section 4.2 defines
> > > > now.  A successful POST of a "subscription-started" notification
> > > > must occur before events are sent.  Failure to receiver an OK for
> > > > the POST means an error to the publisher.
> > > > >
> > > > > Some form of RESTCONF Call Home with capability advertisement
> > > > > could also
> > > > occur before the "subscription-started" POST.  However this
> > > > advertisement of client capabilities might not be needed for all
> > implementations.
> > > > >
> > > >
> > > > I fail to understand section 4.2. The first sentence already leaves
> > > > me
> > > > puzzled:
> > > >
> > > >    With HTTP2 connectivity established, a POST of each new
> > > >    "subscription-started" state change notification messages will be
> > > >    addressed to HTTP augmentation code on the receiver capable of
> > > >    accepting and acknowledging to subscription state change
> > > >    notifications.
> > > >
> > > > What does this say? And why is this HTTP2 specific? The publisher is
> > > > the RC server, no?
> > >
> > > Actually no.  This specification does not use RESTCONF for configured
> > > subscriptions.  (See other email I just sent to Kent.)
> > 
> > OK. So you have a solution for sending dynamic subscriptions via RC but no
> > solution for sending configured subscriptions via RC since you are actually
> > inventing a new protocol for this (which for some unknown reason requires
> > HTTP/2).
> 
> It has been since IETF 96/97 since we discussed this on the list.   The basics are:
> 
> (a) There is no bi-directional signaling with configured subscriptions, hence no need for RESTCONF.  This simplifies interactions, and widens the possible device list.
> 
> (b) With HTTP2 there is no need for SSE.  Each subscription becomes its own HTTP2 POST.
> 
> (c) With HTTP2 there is no head-of-line blocking between independent subscriptions.

OK. I am getting slowly convinced that mixing dynamic subscriptions
that run over RESTCONF with configured subscriptions that run over a
newly defined protocol into one document is likely not helpful.

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>