Re: [Netconf] activate-configured-subecription - WGLC subscribed-notifications-16

"Eric Voit (evoit)" <evoit@cisco.com> Tue, 18 September 2018 22:43 UTC

Return-Path: <evoit@cisco.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 BB9A6130E8A for <netconf@ietfa.amsl.com>; Tue, 18 Sep 2018 15:43:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.51
X-Spam-Level:
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: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 PXLSZivQJJI2 for <netconf@ietfa.amsl.com>; Tue, 18 Sep 2018 15:43:41 -0700 (PDT)
Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 948B5130E28 for <netconf@ietf.org>; Tue, 18 Sep 2018 15:43:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=16248; q=dns/txt; s=iport; t=1537310621; x=1538520221; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=MT+QZ1thVa+yC+O93lvNUNxAKJ+qpDCvaGUzGz9eQns=; b=lpKXFuWXtkihn4T0N67mUx549tkRym+sZ2w5VIFDb21pqtNHeYAJXgTI B+UtNFUY1YJNdk371AfljxefYmU25aYZ9dw8n7U/KHHOKTS2T/5ul6f4W kSo3LkDbafKi6adiauoyr+R/WWOOpKl8aKrX3DO9kbnwQWXYSgE8BgyXp E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DFAAADf6Fb/4QNJK1dGQEBAQEBAQEBAQEBAQcBAQEBAYJhTSplfygKg2iURYINkRGHNQuEbAIXgw8hOBQBAwEBAgEBAm0ohTgBAQEBAgEjCkoCBQsCAQgVEBoDAgICMBQRAgQBDQUIF4I3TIEdXAikfIEuihCKbReBQT+BEoMShGgkKIJLglcCiCuFKo58CQKQFx+PFJRDAhEUgSU0IYFVcBWDJ4IlFxGOBm+MLoEeAQE
X-IronPort-AV: E=Sophos;i="5.53,391,1531785600"; d="scan'208,217";a="454064739"
Received: from alln-core-10.cisco.com ([173.36.13.132]) by rcdn-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Sep 2018 22:43:40 +0000
Received: from XCH-RTP-011.cisco.com (xch-rtp-011.cisco.com [64.101.220.151]) by alln-core-10.cisco.com (8.15.2/8.15.2) with ESMTPS id w8IMheF9018961 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 18 Sep 2018 22:43:40 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-011.cisco.com (64.101.220.151) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Tue, 18 Sep 2018 18:43:39 -0400
Received: from xch-rtp-013.cisco.com ([64.101.220.153]) by XCH-RTP-013.cisco.com ([64.101.220.153]) with mapi id 15.00.1395.000; Tue, 18 Sep 2018 18:43:39 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Douglas Hubler <douglas@hubler.us>, Martin Bjorklund <mbj@tail-f.com>
CC: "andy@yumaworks.com" <andy@yumaworks.com>, "j.schoenwaelder@jacobs-university.de" <j.schoenwaelder@jacobs-university.de>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] activate-configured-subecription - WGLC subscribed-notifications-16
Thread-Index: AQHUSpBZpYtwPWXE1k2ur9Y/QhScQaTs+hAAgAKoIwCAAAD0gIAFUEkAgAG9N4CAAAwmAIAAICCA//++5KA=
Date: Tue, 18 Sep 2018 22:43:39 +0000
Message-ID: <48e4aac958d142669f4032737cdc4373@XCH-RTP-013.cisco.com>
References: <20180914071445.ywfnizh4rnzbrs4f@anna.jacobs.jacobs-university.de> <CABCOCHRes7CLrdtyyTz1whmuuU_rMMVTHGh8vM32H+jukEf1LQ@mail.gmail.com> <CALAkb6emOEv0Zo6mss5wjp7NaO4pLbjZxGbNc2Bodt_PuZFu6A@mail.gmail.com> <20180918.214022.2268667197465086195.mbj@tail-f.com> <CALAkb6cfiFugMpSdU+FUhu9zRsWkXttGRZq80VQtD9kM+wM4bg@mail.gmail.com>
In-Reply-To: <CALAkb6cfiFugMpSdU+FUhu9zRsWkXttGRZq80VQtD9kM+wM4bg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.118.56.234]
Content-Type: multipart/alternative; boundary="_000_48e4aac958d142669f4032737cdc4373XCHRTP013ciscocom_"
MIME-Version: 1.0
X-Outbound-SMTP-Client: 64.101.220.151, xch-rtp-011.cisco.com
X-Outbound-Node: alln-core-10.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/f71xYAJC4LhhvYAZUJpTvFQdUBs>
Subject: Re: [Netconf] activate-configured-subecription - WGLC subscribed-notifications-16
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: Tue, 18 Sep 2018 22:43:45 -0000

Hi Douglas,

From: Douglas Hubler, September 18, 2018 5:35 PM


On Tue, Sep 18, 2018 at 3:40 PM Martin Bjorklund <mbj@tail-f.com<mailto:mbj@tail-f.com>> wrote:
So it seems you support my point to make this draft use SSE.  Then if
you use HTTP/2 you (the client) can simply create one HTTP/2 stream per
notification stream.  This just falls out for free with HTTP/2.

yes, with caveat that I haven't attempted actual implementation yet.

<Eric> Agree that SSE over HTTP2 should work.  However to me using SSE here seems redundant as HTTP2 provides the necessary mechanisms.  But I won’t get in the way if people really do want to go in this direction.

> I don't understand the details surrounding using an RPC to make a dynamic
> subscription.  Unless it's optional, then I can start to understand.

The client would POST to the "rpc" establish-subscripion, and in the
reply to the POST is a "location" leaf (*) that contains a URI.  The
client then GET this URI; this is the SSE event stream.

I see.  But if a client reads the YANG as

 module my-module {
    ...
    notification my-event {
    }
}

and client knew base stream URI was:

   /restconf/my-streams

Couldn't the client then deduce SSE URL as:

 GET  /restconf/my-streams/my-module:my-event?...

Thereby saving a trip to server?

<Eric> Yes, it would be possible to set something up to deduce the URL.  draft-ietf-netconf-restconf-notif doesn’t currently attempt this as being able to deduce the URL doesn’t stop the extra trip to the server.

The reason it doesn’t get rid of the extra round trip has to do with HTTP2 streams.  If we are going to use HTTP2, there is still a need to initiate the GET (or POST) in a separate stream other than the one being used for RESTCONF signaling.

Someone could write a specification which gets around this by forcing every RESTCONF transaction on its own HTTP2 stream.  But nobody has proposed such a specification.  Plus there are QoS scenarios where you might want multiple subscriptions on the same HTTP2 stream.  So if someone wanted this, we would still need to refine draft-ietf-netconf-restconf-notif requirements with the ability to modify or delete an existing subscription on a different HTTP2 stream.  This could be done of course, but someone would need to drive the definition.

Eric


Would it be wrong for a client to make any assumptions?  I realize this ASSUMEs a transport protocol, but could/would there be a one-time, capability check the client could make to test for available transports?

I really appreciate your time explaining, I have been following the emails best I could but I think some basic things are still eluding me.