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

"Einar Nilsen-Nygaard (einarnn)" <einarnn@cisco.com> Thu, 16 November 2017 11:28 UTC

Return-Path: <einarnn@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 270A7128B88 for <netconf@ietfa.amsl.com>; Thu, 16 Nov 2017 03:28:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.521
X-Spam-Level:
X-Spam-Status: No, score=-14.521 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, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-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 ChfmxgLjIOdA for <netconf@ietfa.amsl.com>; Thu, 16 Nov 2017 03:28:54 -0800 (PST)
Received: from alln-iport-7.cisco.com (alln-iport-7.cisco.com [173.37.142.94]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 00771126DFB for <netconf@ietf.org>; Thu, 16 Nov 2017 03:28:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=9422; q=dns/txt; s=iport; t=1510831734; x=1512041334; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=ZTRVrtjKN4z630+krG7yFtRpUOTPNOU3H3ODnUTUR/0=; b=CjAuxALnnaMjH1OLwfmcJYE0yYzYAoRTbE4o62dKvB4I077juEIWISY/ iGCqhzJ7ac2DMT4v1Y0Tbf2if5Nx0Ynq09MH5wYrgsK4CEym9OC4lybX3 SWaHhUqBjwTlw2yRFNfOad52rwr5OgWkTOuVYOOmnbjgZsXko1JvOm0TW U=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DvAABGdQ1a/5tdJa1eGQEBAQEBAQEBAQEBAQcBAQEBAYM2ZG4nB4N4ih+PIIFXJpZfghEKI4UYAhqEUj8YAQEBAQEBAQEBayiFHgEBAQECASMRQAUFCwIBCA4HAwICCRYEAwICAjAUARACBA4FG4oBCBCpeoInixMBAQEBAQEBAQEBAQEBAQEBAQEBAQEYBYEPgiWCB4NnC4J3hRcBF4J+MYIyBaI7AodujRqTSIxxhX6DFAIRGQGBOAEfOIF0ehVJLQGCNkmCSIFOd4hpK4EIgREBAQE
X-IronPort-AV: E=Sophos;i="5.44,402,1505779200"; d="scan'208";a="31718326"
Received: from rcdn-core-4.cisco.com ([173.37.93.155]) by alln-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Nov 2017 11:28:53 +0000
Received: from XCH-RTP-011.cisco.com (xch-rtp-011.cisco.com [64.101.220.151]) by rcdn-core-4.cisco.com (8.14.5/8.14.5) with ESMTP id vAGBSqDG020513 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 16 Nov 2017 11:28:52 GMT
Received: from xch-rtp-009.cisco.com (64.101.220.149) by XCH-RTP-011.cisco.com (64.101.220.151) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Thu, 16 Nov 2017 06:28:52 -0500
Received: from xch-rtp-009.cisco.com ([64.101.220.149]) by XCH-RTP-009.cisco.com ([64.101.220.149]) with mapi id 15.00.1320.000; Thu, 16 Nov 2017 06:28:51 -0500
From: "Einar Nilsen-Nygaard (einarnn)" <einarnn@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>
CC: "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+TUlgDzy0olQAXxPeAAAB8W7AAC1/ogAABuWFwAA3K+YAAEmKugAAHhysA
Date: Thu, 16 Nov 2017 11:28:51 +0000
Message-ID: <97A0F5AB-C80D-4E2C-8728-5144BAC9076E@cisco.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>
In-Reply-To: <20171116.085331.436907075368637840.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3445.4.7)
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.61.247.137]
Content-Type: text/plain; charset="utf-8"
Content-ID: <06B9BC9A5BD570429131F59752565743@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/4qt_ZAsdhHsyaFko3P7g_ziKDz0>
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: Thu, 16 Nov 2017 11:28:56 -0000

(B) Would be fine for me.

Cheers,

Einar


> On 16 Nov 2017, at 07:53, Martin Bjorklund <mbj@tail-f.com> wrote:
> 
> 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
>>> 
>>