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

"Reshad Rahman (rrahman)" <rrahman@cisco.com> Mon, 01 October 2018 13:48 UTC

Return-Path: <rrahman@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 3D497130DFA for <netconf@ietfa.amsl.com>; Mon, 1 Oct 2018 06:48:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.499
X-Spam-Level:
X-Spam-Status: No, score=-14.499 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, URIBL_BLOCKED=0.001, 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 YyNPz-ATLuEx for <netconf@ietfa.amsl.com>; Mon, 1 Oct 2018 06:48:06 -0700 (PDT)
Received: from alln-iport-1.cisco.com (alln-iport-1.cisco.com [173.37.142.88]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0F2F7130DDC for <netconf@ietf.org>; Mon, 1 Oct 2018 06:48:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=28824; q=dns/txt; s=iport; t=1538401686; x=1539611286; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=fWt2TB7RZQ8KmyxxO/9mkCMFcMHPh7gfpPob+qol9bU=; b=Sjb5DmbiZHfey3cQXNNMp/b0fnOsHi7AmlPB/M3vL3AlgFeiR5yFD/JC JgMoEn0PFc9OJHOKTBHqU5V+ENnzC96XsDxSxufqZCNMs55693uR/YA0l 6Zu+hNt/BmIciRmIJ6EPWsxzQPXV5jy49hQ/lDp7XLPskGsM98o3Zn6vc A=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AGAACFJLJb/5tdJa1aGQEBAQEBAQEBAQEBAQcBAQEBAQGBUYEXTSpmfygKg2qIFYwZgWglllqBegslB4RAAheDeSE0GAEDAQECAQECbRwMhTgBAQEBAgEjVgULAgEIEQMBAg4TBwMCAgIwFAkIAgQBDQUbgjtLAYEdXAgPpCqBLoR3hQ4FiwIXgUE/gTkME4IXNYMbAQECAYFINhYCgkkxgiYCiUSEOIV7iTIJAoZDiW8XgUeEW4ktjAyIfgIRFIElHTgngS5wFWUBgkEJiw2FPm8BgRWKUQGBHgEB
X-IronPort-AV: E=Sophos;i="5.54,327,1534809600"; d="scan'208,217";a="179269266"
Received: from rcdn-core-4.cisco.com ([173.37.93.155]) by alln-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Oct 2018 13:48:04 +0000
Received: from XCH-RCD-002.cisco.com (xch-rcd-002.cisco.com [173.37.102.12]) by rcdn-core-4.cisco.com (8.15.2/8.15.2) with ESMTPS id w91Dm4mC021501 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 1 Oct 2018 13:48:04 GMT
Received: from xch-rcd-005.cisco.com (173.37.102.15) by XCH-RCD-002.cisco.com (173.37.102.12) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 1 Oct 2018 08:48:03 -0500
Received: from xch-rcd-005.cisco.com ([173.37.102.15]) by XCH-RCD-005.cisco.com ([173.37.102.15]) with mapi id 15.00.1395.000; Mon, 1 Oct 2018 08:48:03 -0500
From: "Reshad Rahman (rrahman)" <rrahman@cisco.com>
To: Andy Bierman <andy@yumaworks.com>, Qin Wu <bill.wu@huawei.com>
CC: Martin Bjorklund <mbj@tail-f.com>, Netconf <netconf@ietf.org>
Thread-Topic: [Netconf] SSE and HTTP/2 in restcon-notif
Thread-Index: AQHUVqnJ8a3szLvPokqJPGiITITSjaUFYHmAgAKClwCAApsIAA==
Date: Mon, 01 Oct 2018 13:48:03 +0000
Message-ID: <5ADB6207-50B2-4626-A733-147022FB2D6F@cisco.com>
References: <B51DAF9C-4294-44BF-9138-7145E61F42AB@juniper.net> <20180927.224854.1626742691261140238.mbj@tail-f.com> <CABCOCHSrEiibcUp99ho60FJr37RDLho+H14oc4htELjSHZqKvg@mail.gmail.com> <B8F9A780D330094D99AF023C5877DABA9B055E63@nkgeml513-mbx.china.huawei.com> <CABCOCHRyuU712k+QHD0Ke5VF5bj7wSyHAcWxGyDsgT6NKA1ing@mail.gmail.com>
In-Reply-To: <CABCOCHRyuU712k+QHD0Ke5VF5bj7wSyHAcWxGyDsgT6NKA1ing@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.b.0.180311
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [161.44.212.52]
Content-Type: multipart/alternative; boundary="_000_5ADB620750B24626A733147022FB2D6Fciscocom_"
MIME-Version: 1.0
X-Outbound-SMTP-Client: 173.37.102.12, xch-rcd-002.cisco.com
X-Outbound-Node: rcdn-core-4.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/cTIxBPt4KVF8Z1smn031O2mCBlA>
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: Mon, 01 Oct 2018 13:48:14 -0000

Hi,


From: 'Andy Bierman' <andy@yumaworks.com>
Date: Saturday, September 29, 2018 at 2:00 PM
To: Qin Wu <bill.wu@huawei.com>
Cc: Martin Bjorklund <mbj@tail-f.com>, Netconf <netconf@ietf.org>, "Reshad Rahman (rrahman)" <rrahman@cisco.com>
Subject: Re: [Netconf] SSE and HTTP/2 in restcon-notif


On Thu, Sep 27, 2018 at 8:40 PM Qin Wu <bill.wu@huawei.com<mailto:bill.wu@huawei.com>> wrote:

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


The RESTCONF procedure starts with the client
examining /restconf-state/streams to determine stream and its location URL
How does this monitoring information relate to the new solution?
I assume both the old and new procedures can be supported by the same server.
Is it just ignored for a new subscription?

Since all SSE data is always media type test/event-stream, each stream entry indicates
its secondary encoding format. This leaf is type string, and only 'xml' and 'json' are supported
in RFC 8040. The establish-subscription RPC has its own leaf for this purpose.


[Qin]: I am lost, should resource URIs returned by establish-subscription same as location URL obtained from
ietf-restconf-monitoring:restconf-state\/streams/stream/access/location.
My understanding is if SSE is supported, let’s say HTTP 1.1, we will use location URL returned from
ietf-restconf-monitoring:restconf-state\/streams/stream/access/location
as input parameter to trigger SSE. In case of SSE being supported, HTTP GET(URI) is not needed ? wrong?
But if SSE is not supported, let’s say HTTP/2, location URL is not needed. HTTP POST(URI) is required.
Please correct me, if I am wrong.
<RR> I don’t think there’s the option of SSE not being supported, doesn’t RESTCONF mandate SSE support?



I think sec 3.2 Discovery says use a different /streams container
https://tools.ietf.org/html/draft-ietf-netconf-restconf-notif-07#section-3.2

<RR> Right. But using RFC8040 container should also work, or are you saying we could not support RFC8040 container?

Regards,
Reshad.

There should be a sub-section added in sec. 3 about coexistence between
RFC 8040 notifications and this document. Obviously vendors need the option
of supporting both in the same server.

How do they interact, starting with the 2 different /streams data models.

It should also be clear in this draft that the "uri" leaf contents are implementation-specific
and MAY be predictable by a client application. Query parameters MAY be defined
for use with the GET operation on this uri.


Andy