Re: [Netconf] SSE and HTTP/2 in restcon-notif

Martin Bjorklund <mbj@tail-f.com> Thu, 27 September 2018 20:48 UTC

Return-Path: <mbj@tail-f.com>
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 9B1D5130E76 for <netconf@ietfa.amsl.com>; Thu, 27 Sep 2018 13:48:58 -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, SPF_PASS=-0.001, 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 uIncZxwj87Gq for <netconf@ietfa.amsl.com>; Thu, 27 Sep 2018 13:48:56 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id A66E9130DC1 for <netconf@ietf.org>; Thu, 27 Sep 2018 13:48:56 -0700 (PDT)
Received: from localhost (h-80-27.A165.priv.bahnhof.se [212.85.80.27]) by mail.tail-f.com (Postfix) with ESMTPSA id 783541AE046A; Thu, 27 Sep 2018 22:48:54 +0200 (CEST)
Date: Thu, 27 Sep 2018 22:48:54 +0200
Message-Id: <20180927.224854.1626742691261140238.mbj@tail-f.com>
To: kwatsen@juniper.net
Cc: rrahman=40cisco.com@dmarc.ietf.org, evoit@cisco.com, netconf@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <B51DAF9C-4294-44BF-9138-7145E61F42AB@juniper.net>
References: <B51DAF9C-4294-44BF-9138-7145E61F42AB@juniper.net>
X-Mailer: Mew version 6.7 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/PX3nBBtNCw6M8f-3rJb5lWw4gc4>
Subject: Re: [Netconf] SSE and HTTP/2 in restcon-notif
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 27 Sep 2018 20:48:59 -0000

Hi,

Kent Watsen <kwatsen@juniper.net> wrote:
> 
> <chair plea>
>   Can we try to have a Last Call worthy version on the restcon-notif 
>   draft by mid next week?  The chairs would like to Last Call both 
>   NN + RN together if possible...
> </chair plea>
> 
> 
> As I understand it, there are three issues (any others?) as follows:
> 
> 1) SSE
> 
>    Actually, with Reshad's last response, this may not be an issue
>    anymore.  Just in case, I also feel that the *restconf*-notif draft
>    needs to align as closely as possible to the RFC 8040 notification 
>    solution.  Ideally, we just use SSE outright and we're done.

+1

> 2) HTTP/2
> 
>    Not sure where this landed, but my thoughts are this draft needs to
>    support both 1.1 and 2.0.

Why?  I don't really understand why restconf-notif, or RESTCONF for
that matter, need special handling for HTTP/2.  Won't RESTCONF "just
work" with HTTP/2?

>    I envision the variation being relatively
>    minor, something along the line of: 
> 
>      if 1.1, then SSE.
>      if 2.0, client MAY open a stream first.
> 
> 3) resource URIs
> 
>    This is likely where we need to spend the most time. We know that 
>    establish-subscription returns a dynamically created URI, comparable
>    to what a client might get from ietf-restconf-monitoring:restconf-state\
>    /streams/stream/access/location.

But it is not quite comparable.  In the 8040 solution, the location
url is static, and then query parameters are provided by the client
in the POST to the SSE location.  Thus, the server can free any
resources associated with the filter when the connection is
terminated.


> Are there just two issues?
> 
>    a) how does the server ensure only said client accesses the resource?

The server cannot know this.  I guess it can verify the username.  But
does it matter?

>    b) how does the server know when it's okay to reclaim the resource, 
>       when a client doesn't "delete" or "kill" the subscription?

Yes this is not clear.


/martin