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,
>=20
> "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.
>=20
> 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 se=
e 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 notifi=
cations MUST be sent on the same transport session to ensure the properly o=
rdered delivery.

=20
> In the case of RESTCONF, decision to use a separate channel for the notif=
s is
> implicit in the transport of the request to establish-subscription.
>=20
> In the case of UDP, I think the idea is that the establish-subscription i=
s sent
> over any protocol that can do RPCs (NETCONF, RESTCONF, ...), but then som=
e
> specific input parameter informs the server that the notifs are supposed =
to be
> sent over some other transport.
>=20
> While reading the text about sessions, I found this:
>=20
> In 2.4.3:
>=20
>    The "modify-subscription" operation permits changing the terms of an
>    existing dynamic subscription established on that transport session
>    via "establish-subscription".
>=20
> Which session does "that transport session" mean?  Perhaps simply:
>=20
> NEW:
>=20
>    The "modify-subscription" operation permits changing the terms of an
>    existing dynamic subscription.

Change made. =20

As this change does impact NETCONF-notif, I placed the following requiremen=
t 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 u=
pon 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.
>=20
> But this is an implementation detail.  However, it is true that the speci=
fication
> 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.
>=20
>=20
> /martin
>=20
>=20
>=20
> > 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
> >

