Re: [Netconf] YangPush now

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Fri, 20 July 2018 10:14 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 74D18130E64 for <netconf@ietfa.amsl.com>; Fri, 20 Jul 2018 03:14:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, URIBL_BLOCKED=0.001] 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 KLryj6LDYYAD for <netconf@ietfa.amsl.com>; Fri, 20 Jul 2018 03:14:21 -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 5BCAE130DF6 for <netconf@ietf.org>; Fri, 20 Jul 2018 03:14:21 -0700 (PDT)
Received: by anna.localdomain (Postfix, from userid 501) id 8E0FC235FE30; Fri, 20 Jul 2018 12:14:19 +0200 (CEST)
Date: Fri, 20 Jul 2018 12:14:19 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: "Eric Voit (evoit)" <evoit@cisco.com>
Cc: Andy Bierman <andy@yumaworks.com>, "Tim Jenkins (timjenki)" <timjenki@cisco.com>, "netconf@ietf.org" <netconf@ietf.org>
Message-ID: <20180720101419.7chri56rzgyidxmw@anna.jacobs.jacobs-university.de>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: "Eric Voit (evoit)" <evoit@cisco.com>, Andy Bierman <andy@yumaworks.com>, "Tim Jenkins (timjenki)" <timjenki@cisco.com>, "netconf@ietf.org" <netconf@ietf.org>
References: <2E1BAD12-EFF2-4E35-B232-57A4C4490989@cisco.com> <20180717055030.7bmzlychtznf3mso@anna.jacobs.jacobs-university.de> <18622ABD-DB9F-406C-836F-64649F3D8FF6@cisco.com> <20180717172036.hhuoq6fzs7ctblpf@anna.jacobs.jacobs-university.de> <CABCOCHS8cfqKLaQe9M4tu-2zkZ5=6-a2FEv+idJwZiW_btx_Zw@mail.gmail.com> <a54850668bfb4483b89f4c2b15bf5f44@XCH-RTP-013.cisco.com> <20180718133200.u7fpsv3xanb2nosr@anna.jacobs.jacobs-university.de> <6707abca9924442083ef165ce1345b7e@XCH-RTP-013.cisco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <6707abca9924442083ef165ce1345b7e@XCH-RTP-013.cisco.com>
User-Agent: NeoMutt/20180622
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/gJi-dPowWWy8H-eGNsXw794Gi8k>
Subject: Re: [Netconf] YangPush now
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: Fri, 20 Jul 2018 10:14:24 -0000

On Thu, Jul 19, 2018 at 09:41:00AM +0000, Eric Voit (evoit) wrote:

> That is what I was hoping would be accomplished with the text:
> 
>    The method of identifying the targeted receiver IP address, port, and
>    security credentials are left up to implementers of this
>    specification.  For implementation guidance and a YANG model for this
>    function, please look to
>    [I-D.draft-ietf-netconf-netconf-client-server].

I said this is to vague for me to understand. Repeating the pointer does
not help me to understand. If this I-D has a clear solution, why not put
it in place?

> To cover this, there is the following text in Section 5 of draft-ietf-netconf-netconf-event-notifications:
> 
>    publisher SHOULD place the receiver into the
>    "timeout" state after a predetermined number of either failed call
>    home attempts or NETCONF sessions remotely terminated by the
>    receiver.
> 
>    Until NETCONF transport with a receiver has been established, and a
>    "subscription-started" state change notification has been
>    successfully sent for a configured subscription, that subscription's
>    receiver MUST remain in either the "connecting" or the "timeout"
>    state.

    <-- call home -->
 C: <hello>
 S: <hello>
 S: <notification>
    <-- session terminated -->

The server believes 'notification has been successfully sent'. The other
alternative would be a client that throws away notification messages not
expected:

    <-- call home -->
 C: <hello>
 S: <hello>
 S: <notification> // -> discarded
 S: <notification> // -> discarded
 S: <notification> // -> discarded
    [...]

Both scenarioes are problematic. This is why I suggested that there
needs to be some mechanism that tells the server that the client is
willing to receive configured subscriptions before the server throws
<notification> messages at the client. You will find differnet ideas
in the mailing list archive.

> > I do not buy the IoT argument. What is wrong with requiring that a
> > NETCONF server must support at least the NETCONF transport and that a
> > RESTCONF server must support at the RESTCONF transport?
> 
> Ahh.  I thought you meant that there should be a default transport for SN alone.    SN in section 1.0 & the end of 5.3 points to transport documents for such guidance.
> 
> Then looking at Section 1.0 in draft-ietf-netconf-netconf-event-notification: 
> 
>    This document provides a binding for events streamed over the NETCONF
>    protocol [RFC6241] as per
>    [I-D.draft-ietf-netconf-subscribed-notifications].  In addition, as
>    [I-D.ietf-netconf-yang-push] is itself built upon
>    [I-D.draft-ietf-netconf-subscribed-notifications], this document
>    enables a NETCONF client to request and receive updates from a YANG
>    datastore located on a NETCONF server.
>

Yes. But this text does not say that 'if a NETCONF server supports
configured subscriptions, then it MUST implement the notification
transport as defined in section 5.2 (or whatever the section will be).
This way, a NETCONF client using configured subscriptions would know
one transport that actually works (if the details are fully worked
out). Perhaps this is not what people really want, so I will start
another thread to figure this out.

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