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 05:51 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 7AAD8126F72 for <netconf@ietfa.amsl.com>; Tue, 10 Jul 2018 22:51:57 -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 YuCUq1fgiYps for <netconf@ietfa.amsl.com>; Tue, 10 Jul 2018 22:51:55 -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 5CBDA130E13 for <netconf@ietf.org>; Tue, 10 Jul 2018 22:51:55 -0700 (PDT)
Received: by anna.localdomain (Postfix, from userid 501) id B8C1423001D3; Wed, 11 Jul 2018 07:51:54 +0200 (CEST)
Date: Wed, 11 Jul 2018 07:51:54 +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: <20180711055154.qzmg2ofdid5dog7y@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>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <e9905b9899db49539b0aa8afc5491f45@XCH-RTP-013.cisco.com>
User-Agent: NeoMutt/20180622
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/D4DqgePH8uv2IJ2a4KRd3gRCjTc>
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 05:51:58 -0000

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).

> > So the RC server does HTTP transactions agains the client? This
> > does not seem to have anything to do with how the call home RFC works.
> > 
> > I am not saying that what Figure 3 shows won't work, it just has nothing to do
> > with call home. You are reversing the RC client and server roles, call home only
> > reverses the connection establishment roles. Big difference.
> 
> Yes this is a big difference.  Especially as RESTCONF is removed as well for configured subscriptions.
> 
> Per the other thread, I am actually quite fine with removing call home for configured subscriptions if nobody else sees a need for the receiver to initiate this connection.  That would make life simpler.
>

The receiver? I read in 4.1:

   If the above conditions are met, then the publisher MUST initiate a
   transport session via RESTCONF call home [RFC8071], section 4.1 to
   that receiver.

Still puzzled.

/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/>