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

Robert Wilton <rwilton@cisco.com> Fri, 17 November 2017 20:29 UTC

Return-Path: <rwilton@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 8589B120454 for <netconf@ietfa.amsl.com>; Fri, 17 Nov 2017 12:29:08 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.5
X-Spam-Level:
X-Spam-Status: No, score=-14.5 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, 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 jEVEqCrgaOfk for <netconf@ietfa.amsl.com>; Fri, 17 Nov 2017 12:29:05 -0800 (PST)
Received: from aer-iport-2.cisco.com (aer-iport-2.cisco.com [173.38.203.52]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4A31612008A for <netconf@ietf.org>; Fri, 17 Nov 2017 12:29:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=9354; q=dns/txt; s=iport; t=1510950545; x=1512160145; h=subject:to:references:from:message-id:date:mime-version: in-reply-to:content-transfer-encoding; bh=UwcGu2BrL8QggCX0X/xZ7SD8n1Gu51HNdXSBpFKqyhE=; b=nAXXOn2JmNQOrc2zMTtrZBkIpRlZBhtUB94W/y+El1T8YF6lVz58B1ut 6sv+CEIauLTk9qcavAHAPZjEj1Pk0niw8HoAA5ROs8ElxGhL2Za6iPSk2 u5B2ymu9JWPAIjK8h9qcRtSOAXVYDl8r1JKQ4Pgyc3Utoc5jyDl6vC9nd M=;
X-IronPort-AV: E=Sophos;i="5.44,411,1505779200"; d="scan'208";a="339024"
Received: from aer-iport-nat.cisco.com (HELO aer-core-2.cisco.com) ([173.38.203.22]) by aer-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Nov 2017 20:29:03 +0000
Received: from [10.61.226.53] ([10.61.226.53]) by aer-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id vAHKT3PA026509; Fri, 17 Nov 2017 20:29:03 GMT
To: "Eric Voit (evoit)" <evoit@cisco.com>, "netconf@ietf.org" <netconf@ietf.org>
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>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <6af9442e-ea2c-e647-c180-d468ade8b33f@cisco.com>
Date: Fri, 17 Nov 2017 20:29:03 +0000
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <1056296126874cfc9b52000290e84d67@XCH-RTP-013.cisco.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/3WpRiptajcKkVoimjf74FYf45pE>
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: Fri, 17 Nov 2017 20:29:08 -0000


On 17/11/2017 18:17, Eric Voit (evoit) wrote:
> 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.
No objection to proposal 2 (B) below, which keeps it simple for now.

If there is a future requirement to support different transports and/or 
encodings for a subscription, then it looks like there is also a viable 
upgrade path to also support (A) under a feature statement or using an 
augmenting module, perhaps with some appropriate when/must constraints.

I.e. choosing the more simple solution now, doesn't seem to rule out 
extending it to the more complex solution in future, if the need arises.

Thanks,
Rob


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