Re: [Netconf] Issue SN #4: Can Transport vary across different receivers of a single configured subscription?

Alexander Clemm <alexander.clemm@huawei.com> Mon, 20 November 2017 19:15 UTC

Return-Path: <alexander.clemm@huawei.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 F2E0C12EA42 for <netconf@ietfa.amsl.com>; Mon, 20 Nov 2017 11:15:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.22
X-Spam-Level:
X-Spam-Status: No, score=-4.22 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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 7SsoIyhhUJmC for <netconf@ietfa.amsl.com>; Mon, 20 Nov 2017 11:15:36 -0800 (PST)
Received: from huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6D9CC12E957 for <netconf@ietf.org>; Mon, 20 Nov 2017 11:15:36 -0800 (PST)
Received: from lhreml704-cah.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id AB161B323B22E for <netconf@ietf.org>; Mon, 20 Nov 2017 19:15:31 +0000 (GMT)
Received: from SJCEML702-CHM.china.huawei.com (10.208.112.38) by lhreml704-cah.china.huawei.com (10.201.108.45) with Microsoft SMTP Server (TLS) id 14.3.361.1; Mon, 20 Nov 2017 19:15:27 +0000
Received: from SJCEML521-MBX.china.huawei.com ([169.254.1.83]) by SJCEML702-CHM.china.huawei.com ([169.254.4.18]) with mapi id 14.03.0361.001; Mon, 20 Nov 2017 11:15:21 -0800
From: Alexander Clemm <alexander.clemm@huawei.com>
To: "Eric Voit (evoit)" <evoit@cisco.com>, "netconf@ietf.org" <netconf@ietf.org>
Thread-Topic: [Netconf] Issue SN #4: Can Transport vary across different receivers of a single configured subscription?
Thread-Index: AdNdw8aKy+YwdoNoSQ+TUlgDzy0olQAeDkqAAAup5YAAADJegAAM8isAAAKQ2AAAEmQFgAABSSsAAEbK8YAAiAjnkA==
Date: Mon, 20 Nov 2017 19:15:20 +0000
Message-ID: <644DA50AFA8C314EA9BDDAC83BD38A2E0EACD8D8@sjceml521-mbx.china.huawei.com>
References: <20171115.164247.1419508866071356464.mbj@tail-f.com> <7da6319e524f4c6b85652c0fdaf6644c@XCH-RTP-013.cisco.com> <86ABB0EE-0201-4B57-AA3A-EDE516AFE82F@cisco.com> <20171116.085331.436907075368637840.mbj@tail-f.com> <e9de16f5eb7143d6a88e477cc1332ab8@XCH-RTP-013.cisco.com> <1056296126874cfc9b52000290e84d67@XCH-RTP-013.cisco.com>
In-Reply-To: <1056296126874cfc9b52000290e84d67@XCH-RTP-013.cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.213.48.57]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/U8KyFzCuX99RzjGt7mEqjHe9Xcs>
Subject: Re: [Netconf] Issue SN #4: Can Transport vary across different receivers of a single configured subscription?
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.22
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, 20 Nov 2017 19:15:39 -0000

Hi,

Yes, per the discussion in the room I think this makes sense, as it keeps things simpler (for the 90+% of cases that have no need for multiple transports etc).  

Just to clarify, this means both common transport and common encoding.  
--- Alex

> -----Original Message-----
> From: Netconf [mailto:netconf-bounces@ietf.org] On Behalf Of Eric Voit
> (evoit)
> Sent: Friday, November 17, 2017 10:17 AM
> To: netconf@ietf.org
> Subject: Re: [Netconf] Issue SN #4: Can Transport vary across different
> receivers of a single configured subscription?
> 
> In the meeting room discussion during the NETCONF WG, sentiment was to
> use a common Transport across all receivers of a single configured
> subscription.   This was proposal (2) below.
> 
> I would like to see if there is any objection to this.   If not, we can close this
> issue in a few weeks.
> 
> Eric
> 
> > -----Original Message-----
> > From: Netconf [mailto:netconf-bounces@ietf.org] On Behalf Of Eric Voit
> > (evoit)
> > Sent: Thursday, November 16, 2017 3:30 AM
> > To: Martin Bjorklund <mbj@tail-f.com>; Einar Nilsen-Nygaard (einarnn)
> > <einarnn@cisco.com>
> > Cc: netconf@ietf.org
> > Subject: Re: [Netconf] Issue SN #4: Can Transport vary across
> > different receivers of a single configured subscription?
> >
> > Hi Martin,
> >
> > Yes, I originally had both your options in the WG slides.    I removed (A)
> > after discussion with Mahesh for the WG session slides to simplify the
> > in- room discussions, as well as consideration of the points Einar makes
> below.
> > We can of course have more and deeper resolution discussions here.
> >
> > Thanks,
> > Eric
> >
> > > -----Original Message-----
> > > From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > Sent: Thursday, November 16, 2017 2:54 AM
> > > To: Einar Nilsen-Nygaard (einarnn) <einarnn@cisco.com>
> > > Cc: Eric Voit (evoit) <evoit@cisco.com>; netconf@ietf.org
> > > Subject: Re: [Netconf] Issue SN #4: Can Transport vary across
> > > different receivers of a single configured subscription?
> > >
> > > Hi,
> > >
> > > Note that the issue is that the current model has:
> > >
> > >       +--rw subscription* [identifier]
> > >          ...
> > >          +--rw encoding
> > >          ...
> > >          +--rw receivers
> > >             +--rw receiver* [address port]
> > >                ...
> > >                +--rw protocol
> > >
> > > My proposal is have encoding and protocol together:
> > >
> > > (A)
> > >       +--rw subscription* [identifier]
> > >          ...
> > >          ...
> > >          +--rw receivers
> > >             +--rw receiver* [address port]
> > >                ...
> > >                +--rw protocol
> > >                +--rw encoding
> > >
> > > or:
> > >
> > > (B)
> > >       +--rw subscription* [identifier]
> > >          ...
> > >          +--rw encoding
> > >          +--rw protocol
> > >          ...
> > >          +--rw receivers
> > >             +--rw receiver* [address port]
> > >                ...
> > >
> > > I think that this is *less* complex and probably more optimal than
> > > the current solution.
> > >
> > > "Einar Nilsen-Nygaard (einarnn)" <einarnn@cisco.com> wrote:
> > > > Martin,
> > > >
> > > > As yet, we have no practical use cases where we would have a
> > > > single configured subscription with multiple receivers who wish to
> > > > receive the data in different formats. Thus supporting this seems
> > > > like an unnecessary complexity for platforms, and one which
> > > > potentially impacts optimisations that we already use in some
> > > > platform implementations (e.g. sending the same encoded PDU to
> > > > multiple receivers, relieving the platform of encoding the same
> > > > data multiple ways).
> > >
> > > But this optimization doesn't really work, as you note below (*).
> > >
> > > > Of course, if a client really wants to have the same data sent to
> > > > multiple receivers but in different formats, they can do this —
> > > > just provision separate subscriptions with the same filter.
> > >
> > > Exactly; this is more complex and less optimal since the same filter
> > > might be evaluated twice, unless you add code to optimize for that
> > > (which probably falls in your category of "unnecessary complexity").
> > >
> > > (*) So if the operator requires this setup, he will have to
> > > configure two different subscriptions today.  Thus, the platform
> > > will encode the data twice, and your optimization above won't help.
> > >
> > > > All-in-all, I don’t see any benefit in making the base model
> > > > support this, only downsides, so do you have any specific use
> > > > cases in mind where this would be a benefit? So far in the use
> > > > cases we have looked at in SP, DC, enterprise and IoT we have not
> > > > seen any requirement to support this, but we have seen the need
> > > > for multiple
> > receivers (e.g.
> > > > to support HA/redundancy approaches).
> > >
> > > The current model supports different *protocols* for the different
> > > receivers.  Do you have a use case supporting that, or would (B)
> > > above fulfil your requirements.
> > >
> > >
> > > /martin
> > >
> > >
> > >
> > > > As such, I would be
> > > > reluctant to add this to the draft at this stage when the
> > > > functionality can be achieved already if absolutely necessary.
> > > >
> > > > Cheers,
> > > >
> > > > Einar
> > > >
> > > >
> > > > > On 15 Nov 2017, at 21:53, Eric Voit (evoit) <evoit@cisco.com> wrote:
> > > > >
> > > > > Adding Einar as he had some strong opinions on this a few years
> > > > > ago when we were setting the model...
> > > > >
> > > > >
> > > > >> From: Martin Bjorklund, November 15, 2017 10:43 AM
> > > > >>
> > > > >> "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > >>> Hi Martin,
> > > > >>>
> > > > >>>> From: Martin Bjorklund [mailto:mbj@tail-f.com]
> > > > >>>>
> > > > >>>> "Eric Voit (evoit)" <evoit@cisco.com> wrote:
> > > > >>>>> In the WG session tomorrow, I am hoping to get "hum
> feedback"
> > > on:
> > > > >>>>>
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> draft-ietf-netconf-subscribed-notifications
> > > > >>>>>
> > > > >>>>> https://github.com/netconf-wg/rfc5277bis/issues/4
> > > > >>>>>
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> The two choices and their issues exposed during the two week
> > > > >>>>> review on
> > > > >>>> "Can Transport vary across different receivers of a single
> > > > >>>> configured subscription?" are:
> > > > >>>>>
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> (1) Yes, Transport can vary by receiver
> > > > >>>>>
> > > > >>>>> *        Fewer subscriptions (scale benefit)
> > > > >>>>>
> > > > >>>>> *        Can convert transport without requiring an application to
> > > learn
> > > > >> a
> > > > >>>> multiple subscription ids
> > > > >>>>>
> > > > >>>>> *        No duplication of content during transport conversion.
> > > > >>>>>
> > > > >>>>> *        (Potential confusion in allowing transport to vary, but
> > > > >>>>> *        encoding
> > > > >> not
> > > > >>>> to vary?)
> > > > >>>>>
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> (2) No, only one Transport across all subscriptions
> > > > >>>>>
> > > > >>>>> *        Simpler model
> > > > >>>>>
> > > > >>>>> *        But applications may need to create and track multiple
> > > > >>>> subscription-ids for the same content.
> > > > >>>>>
> > > > >>>>> *        Temporary duplication of content streams during transport
> > > > >> change.
> > > > >>>>>
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> The current draft does (1).
> > > > >>>>
> > > > >>>> Actually, the github issue lists 3 options, but here you just list 2.
> > > > >>>
> > > > >>> In reviewing tomorrow's slides with Mahesh, he preferred 2
> > options.
> > > > >>> And as varying the encoding by receiver seems unlikely in
> > > > >>> implementation
> > > > >>
> > > > >> Why is this unlikely?  Suppose I have two receivers for the
> > > > >> same subscription, one wants NETCONF/XML and the other
> > > RESTCONF/JSON.
> > > > >> Is that unlikely?
> > > > >
> > > > > Einar's belief was that a publisher implementation would be
> > > > > unlikely to service a single subscription into multiple encodings.
> > > > > If such a condition existed, it would be far easier to create
> > > > > two
> > subscriptions.
> > > > > This also would have fewer error conditions.
> > > > >
> > > > >>> , there is little reason to socialize this unlikely variant before
> > > > >>> the whole WG.   Since as your opinion was either both encoding
> > and
> > > > >>> transport or neither encoding and transport vary by receiver,
> > > > >>> the more likely of your primary ask is supported.
> > > > >>>
> > > > >>>
> > > > >>>> I think the point is that in the term "Transport", we need to
> > > > >>>> include both protocol and encoding (in the case the protocol
> > > > >>>> supports multiple encodings).
> > > > >>>
> > > > >>> While most likely the case for NETCONF and RESTCONF, Tianran's
> > > > >>> draft-ietf-netconf-udp-pub-channel shows that there can be
> > encoding
> > > > >>> variation by transports .   It Therefore it seems better to let them
> > > > >>> both vary independently.
> > > > >>
> > > > >> Not sure I understand what you mean.  To be clear, do you think
> > > > >> the "encoding" leaf should stay where it is, or be moved down
> > > > >> to the receiver, as a sibling to "protocol"?
> > > > >
> > > > > Encoding leaf should stay where it is.  Your previous ask was to
> > > > > put encoding and transport and the same level. There is an
> > > > > option proposed in the slides which does that.
> > > > >
> > > > > Eric
> > > > >
> > > > >> /martin
> > > > >
> > > >
> > _______________________________________________
> > Netconf mailing list
> > Netconf@ietf.org
> > https://www.ietf.org/mailman/listinfo/netconf
> _______________________________________________
> Netconf mailing list
> Netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf