Re: [Netconf] a joint discussion on dynamic subscription

"Eric Voit (evoit)" <evoit@cisco.com> Thu, 14 June 2018 14:19 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 2A3A5130E1F for <netconf@ietfa.amsl.com>; Thu, 14 Jun 2018 07:19:38 -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, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_DKIMWL_WL_MED=-0.01, 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 ZKgy7PdqWhgW for <netconf@ietfa.amsl.com>; Thu, 14 Jun 2018 07:19:35 -0700 (PDT)
Received: from alln-iport-3.cisco.com (alln-iport-3.cisco.com [173.37.142.90]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8024912777C for <netconf@ietf.org>; Thu, 14 Jun 2018 07:19:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=5037; q=dns/txt; s=iport; t=1528985975; x=1530195575; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=7mYrVc3i+Ui2w1t2pNj8E9U+iCCwcRv/cOxZpJYL6SE=; b=eytLnlKXFrHjGUU7bGTfN6NZjZOZLJEYjchiczDjBcUOt00FfHYK3JzC uegoJ9cHor8Zrc1wtEaTEhjGllAO2lDJcFW7CDXU4CNZyUMFGH/rMk/2w l2t7kdBepLRUI5EKTnSy8S4s+8kyfJEgAcMZyJv51c7XcsrNS1WRrreLL Q=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0DnAQCKeCJb/4QNJK1cGQEBAQEBAQE?= =?us-ascii?q?BAQEBAQcBAQEBAYNIYn8oCphEgX+UbYF4CyOESQKCRSE1FwECAQEBAQEBAm0?= =?us-ascii?q?cDIUoAQEBAwE6PwULAgEIDgcDDREQMiUBAQQBDQUIgxyBdwgPrFCIRoFjBYh?= =?us-ascii?q?MgVQ/gQ+DDIMTAoFKhWwCmQ4JAoV3iQCNQIoNhw0CERMBgSQfAzOBUnAVgn6?= =?us-ascii?q?FfYpRAW+PH4EaAQE?=
X-IronPort-AV: E=Sophos;i="5.51,222,1526342400"; d="scan'208";a="129873548"
Received: from alln-core-10.cisco.com ([173.36.13.132]) by alln-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 14 Jun 2018 14:19:34 +0000
Received: from XCH-RTP-014.cisco.com (xch-rtp-014.cisco.com [64.101.220.154]) by alln-core-10.cisco.com (8.14.5/8.14.5) with ESMTP id w5EEJYZX028614 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 14 Jun 2018 14:19:34 GMT
Received: from xch-rtp-013.cisco.com (64.101.220.153) by XCH-RTP-014.cisco.com (64.101.220.154) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Thu, 14 Jun 2018 10:19:33 -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.1320.000; Thu, 14 Jun 2018 10:19:33 -0400
From: "Eric Voit (evoit)" <evoit@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>, "zhoutianran@huawei.com" <zhoutianran@huawei.com>
CC: "alexander.clemm@huawei.com" <alexander.clemm@huawei.com>, "netconf@ietf.org" <netconf@ietf.org>, "zhengguangying@huawei.com" <zhengguangying@huawei.com>
Thread-Topic: a joint discussion on dynamic subscription
Thread-Index: AdQCx01ede4gaRHPTgG2WyMdkd0r2gARka+AADD1vgAABGEosA==
Date: Thu, 14 Jun 2018 14:19:33 +0000
Message-ID: <c4bbefdafba94193995a56483fa4e1ef@XCH-RTP-013.cisco.com>
References: <BBA82579FD347748BEADC4C445EA0F21B55CCDB7@NKGEML515-MBX.china.huawei.com> <b256b91c7cbc4b3093c858e55c912f88@XCH-RTP-013.cisco.com> <20180614.091828.21142123428745204.mbj@tail-f.com>
In-Reply-To: <20180614.091828.21142123428745204.mbj@tail-f.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.228]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/puC1O43-fRgLjrbM3OlmAhBcU2A>
Subject: Re: [Netconf] a joint discussion on dynamic subscription
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.26
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, 14 Jun 2018 14:19:39 -0000

> From: Martin Bjorklund, June 14, 2018 3:18 AM
>
> Hi,
> 
> "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > Hi Tianran,
> >
> > > From: Tianran Zhou, June 12, 2018 11:47 PM
> > >
> > > Hi Eric,
> > >
> > > When we are discussing the draft-ietf-netconf-udp-pub-channel, we
> > > find a conflict with current dynamic subscription design.
> > > 1. The dynamic subscription requires notification to use the same
> > > channel as the subscription.
> >
> > This is true when you look at the NETCONF transport draft.  However
> > this is *not* required by the base subscribed-notification draft.  And
> > in fact, the HTTP transport draft might not use the same logical
> > channel.  E.g., see how the URI is returned within:
> > https://github.com/netconf-wg/notif-restconf/blob/master/draft-ietf-ne
> > tconf-restconf-notif-05.txt
> >
> > So if you wanted to define some transport session independence for a
> > UDP transport, subscribed-notifications should permit that.  And if
> > you believe there is something in the text which prohibits this, let
> > me know.
> 
> Cool!  I think that this should be explcitly described in the subscribed-
> notifications document.

Right now it is explicitly described in the RESTCONF-notif draft.  But I see your point on adding it as guidance for future transports like Tianran's.  So I added the following to the "Transport Requirements" (section 5.3):

A specific transport specification built upon this document may or may not choose to require the use of the same logical channel for the RPCs and the event records.  However the event records and the subscription state notifications MUST be sent on the same transport session to ensure the properly ordered delivery.

 
> In the case of RESTCONF, decision to use a separate channel for the notifs is
> implicit in the transport of the request to establish-subscription.
> 
> In the case of UDP, I think the idea is that the establish-subscription is sent
> over any protocol that can do RPCs (NETCONF, RESTCONF, ...), but then some
> specific input parameter informs the server that the notifs are supposed to be
> sent over some other transport.
> 
> While reading the text about sessions, I found this:
> 
> In 2.4.3:
> 
>    The "modify-subscription" operation permits changing the terms of an
>    existing dynamic subscription established on that transport session
>    via "establish-subscription".
> 
> Which session does "that transport session" mean?  Perhaps simply:
> 
> NEW:
> 
>    The "modify-subscription" operation permits changing the terms of an
>    existing dynamic subscription.

Change made.  

As this change does impact NETCONF-notif, I placed the following requirement in that document's "Dynamic Subscription" section.

For a dynamic subscription a "modify-subscription", "delete-subscription", or "resynch-subscription" RPC MUST be sent using same the NETCONF session upon which the referenced subscription was established.".

Eric

> > > 2. The RPC does not have the input information about the receiver
> > > because the above assumption.
> > >
> > > However, when we talk about the distributed data collection (multi
> > > data originators), the publication channel is always different from
> > > the subscription channel.
> >
> > While it likely isn't what you want, even with NETCONF, the single
> > NETCONF session doesn't means that distributed line card generation of
> > the notification messages is impossible.  For example, the inclusion
> > of the header object message-generator-id (as defined within
> > draft-ietf-netconf-notification-messages) allows the notification
> > message generation to be distributed onto linecards even if the
> > messages themselves are still driven back to a central transport
> > session.  Note that I am not recommending this, but the specifications
> > would support this.
> >
> > > So either the distributed data collection does not support dynamic
> > > subscription, or current dynamic subscription definition may need
> > > modification.
> >
> > I think for UDP, you will want to define a way to bind the lifecycle
> > of the dynamic subscription's channels across multiple line cards.
> > This will require some thinking as well as coordination within the
> > publisher.
> 
> But this is an implementation detail.  However, it is true that the specification
> must work out the fate-sharing details between the session that sent the
> establish-subscription and the notif channel.
> Just as in the "restconf" draft.
> 
> 
> /martin
> 
> 
> 
> > Perhaps returning multiple URIs (one for each linecard) might be
> > something which could make this easier.  If you go down this path, you
> > still will need to fate-share the lifecycle of the subscription across
> > all of those line cards.
> >
> > Eric
> >
> > > What's your thoughts?
> > >
> > > Regards,
> > > Tianran
> >