Re: [netconf] Adoption-suitability for draft-unyte-netconf-udp-notif

Andy Bierman <andy@yumaworks.com> Tue, 01 September 2020 15:14 UTC

Return-Path: <andy@yumaworks.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 EA83D3A0B44 for <netconf@ietfa.amsl.com>; Tue, 1 Sep 2020 08:14:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.787
X-Spam-Level:
X-Spam-Status: No, score=-1.787 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.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 uckZ9N6P31T9 for <netconf@ietfa.amsl.com>; Tue, 1 Sep 2020 08:14:19 -0700 (PDT)
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com [IPv6:2a00:1450:4864:20::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9732D3A0B50 for <netconf@ietf.org>; Tue, 1 Sep 2020 08:14:18 -0700 (PDT)
Received: by mail-lj1-x22b.google.com with SMTP id h19so1946290ljg.13 for <netconf@ietf.org>; Tue, 01 Sep 2020 08:14:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Kw2AQnRlhTnpUXQ/xGhMKF/73E7FZUNwUhGpxLqDHTA=; b=PpH8K/DuO+rB0zVrQrs1T/PCbmvUp348tSPaD8N2J1NZaafiYock6hYnH5i5PbPB51 KLdnnv20E91cnHTWsLctNk37bxX8vRuHrf595ooL8cNqRVhQTYmm6oNKp4cSav1rpaWU bmndojWRC8SSl9z5wC/4u4LPIK9nmzoiw/dYAaXypBaXXjWAYwJ6JW/Mbn64EXyFYAc7 UR7Fu0fQy0NB19lCT8YFd8Alv9LvwLVbDXGaDNGkJv3615MAeGcfdfiHP6MxW9YpCtIO jt0CPj/0dSWjxeyGzUlRq5FG4RkRK0m+u+v2LScWOOHla6HIvNIWatlaeEPkfMSdVRdE A1KA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Kw2AQnRlhTnpUXQ/xGhMKF/73E7FZUNwUhGpxLqDHTA=; b=ic7e6oVR85CZmmb1IB+HOIAYdSYyq2C7kklgQQAIoeQme+9KLG+VC5A2FbJvJsVf/T Dlt0/IiBWG2TwNXbO8V5qFi3piLdJsZVRWLvVzh/DCfX5ymG7sEq9tqVtM6XHhRTMyr+ HrrIlZXPBFC9M1X1KCXT8hWVgJc22WYvbXjG+P7onGvJPpcD/OySTbZKIqPJPsB40x79 +YUhJwYbNciXitTK+Khpt8FmWxF8CJi1YFa+WiO2K83ZGaOyx17xn63CuNEdGe+v6/CY tqKuQD30CYFWN8CY1+iX/PEAf80nwKZctPR4SKAFS9KLfpAKZUuaAdsz/fNMiaSyjILz bdaA==
X-Gm-Message-State: AOAM531TZ+ibY1XI5svUgGwJp8Y+qt2UMqGnrDS9NapI/otn0OlFH0Hj PRLBlrfTPF4+SLEmLto/AAOBQ/Y9HYLo0HmreaA5rw==
X-Google-Smtp-Source: ABdhPJxfvnJwMpKRqfso0odU7+P0BYHbv32VN8kzwRVYfV3xzhUWmUt1Krd+V6poecomvSHLljD1bh/vcIQcOpeS6vM=
X-Received: by 2002:a2e:4e01:: with SMTP id c1mr840151ljb.144.1598973256360; Tue, 01 Sep 2020 08:14:16 -0700 (PDT)
MIME-Version: 1.0
References: <01000173c0b039d4-76bb4e31-9f40-4a5d-bdac-39512c8b4e9d-000000@us-east-1.amazonses.com> <01000173ca90a8d5-78b55d80-3a92-406a-8544-594dbe223735-000000@email.amazonses.com> <MN2PR11MB4366A4D447677823320BDC96B55C0@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHSFitzwFzjbyB7b5TaEMQsBzbzPPnc=5MTE=LFYRgUaBA@mail.gmail.com> <c5e76be5eec9490fb6d5246de0ad01b1@huawei.com> <CABCOCHR-kFCBfiQjxkLt7bdhvOnv7BHr9hihUjp9M6RRPoeQRA@mail.gmail.com> <07b991b1e32347b58ae4ef968cdffc7f@huawei.com> <CABCOCHRSE9nRE=UNe_yPeAhUVCMFM0w6n9e==QcA-fNiRFJFUA@mail.gmail.com> <7b77f6ff39d4430aa549c9b53b902dde@huawei.com> <CABCOCHRV_4UUOjK-qhrw7nw961sdTCv238FcuSVNKZVc+0TKgQ@mail.gmail.com> <ZRAP278MB01258EEC7E4161368EACE35C892E0@ZRAP278MB0125.CHEP278.PROD.OUTLOOK.COM>
In-Reply-To: <ZRAP278MB01258EEC7E4161368EACE35C892E0@ZRAP278MB0125.CHEP278.PROD.OUTLOOK.COM>
From: Andy Bierman <andy@yumaworks.com>
Date: Tue, 01 Sep 2020 08:14:04 -0700
Message-ID: <CABCOCHT31bXJxmWiwTvVZy8k1k4p27Gey2jW88ai=Z9+1=djZw@mail.gmail.com>
To: Thomas.Graf@swisscom.com
Cc: Zhoutianran <zhoutianran@huawei.com>, Netconf <netconf@ietf.org>, Robert Wilton <rwilton=40cisco.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f3843905ae41f8b2"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/gIYbefKHwFKthP0UwtkwxemqS4E>
Subject: Re: [netconf] Adoption-suitability for draft-unyte-netconf-udp-notif
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG 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: Tue, 01 Sep 2020 15:14:22 -0000

On Tue, Sep 1, 2020 at 6:33 AM <Thomas.Graf@swisscom.com> wrote:

> Hi Andy,
>
>
>
> Thanks for the feedback. I think I understand in which direction your
> question goes, but haven't understood the detail, possible proposal and
> implications yet.  Would it be ok to setup a call between you, the authors
> and maybe Rob as well to discuss this off the list and feedback the summary
> to the list back? Looking forward to your reply.
>
>
I don't know if a conf-call is needed.
It appears that there is no application protocol here in this proposal.
Take the "XML" encoding for example.  That usually means the application
content
is an XML instance document -- a single XML element.  OK, which one? Which
schema
does the receiver use to validate the XML instance document?

If the answer is "any XML instance document you want" rather than "the
application protocol
defines the message content", then there is no application, right?
Which means this proposal is for a general-purpose protocol for sending
data as fast as possible
over UDP, without regard for security or congestion.


>
> Best Wishes
>
> Thomas
>


Andy


>
>
> *From:* netconf <netconf-bounces@ietf.org> *On Behalf Of *Andy Bierman
> *Sent:* Monday, August 31, 2020 7:40 PM
> *To:* Tianran Zhou <zhoutianran@huawei.com>
> *Cc:* netconf@ietf.org; Rob Wilton (rwilton) <rwilton=
> 40cisco.com@dmarc.ietf.org>
> *Subject:* Re: [netconf] Adoption-suitability for
> draft-unyte-netconf-udp-notif
>
>
>
> Hi,
>
>
>
> I am still very confused about the content. Not the encoding. That is a
> separate issue.
>
> Sec 2, and 3.1 refer to the "subscription-started" notification and
>
> "the NETCONF/RESTCONF notification message".
>
>
>
> This text seems to imply that the <notification> element defined in RFC
> 5277
>
> is used for the content.  But sec. 3.4 mentions bundled notifications so
> maybe not.
>
>
>
> Usually the application protocol defines the message flows that are
> expected.
>
> This document is a transport protocol for an unspecified application.
> There is
>
> an assumption that publisher and receiver both know the protocol somehow.
>
> For GDB, they magically know how to distinguish different proto files.
>
>
>
> IMO this level of disregard for interoperability is unacceptable for a
> standard protocol.
>
>
>
>
>
> Andy
>
>
>
>
>
>
>
>
>
> On Fri, Aug 28, 2020 at 2:01 AM Tianran Zhou <zhoutianran@huawei.com>
> wrote:
>
> Hi Andy,
>
>
>
> Thanks again for your further comments.
>
>
>
> Tianran
>
>
>
> *From:* Andy Bierman [mailto:andy@yumaworks.com]
> *Sent:* Friday, August 28, 2020 3:14 AM
> *To:* Tianran Zhou <zhoutianran@huawei.com>
> *Cc:* Rob Wilton (rwilton) <rwilton=40cisco.com@dmarc.ietf.org>;
> netconf@ietf.org
> *Subject:* Re: [netconf] Adoption-suitability for
> draft-unyte-netconf-udp-notif
>
>
>
>
>
>
>
> On Wed, Aug 26, 2020 at 6:50 PM Tianran Zhou <zhoutianran@huawei.com>
> wrote:
>
> Hi Andy,
>
>
>
> Thanks for your reply and suggestions.
>
>
>
> Cheers,
>
> Tianran
>
>
>
> *From:* Andy Bierman [mailto:andy@yumaworks.com]
> *Sent:* Thursday, August 27, 2020 1:29 AM
> *To:* Tianran Zhou <zhoutianran@huawei.com>
> *Cc:* Rob Wilton (rwilton) <rwilton=40cisco.com@dmarc.ietf.org>;
> netconf@ietf.org
> *Subject:* Re: [netconf] Adoption-suitability for
> draft-unyte-netconf-udp-notif
>
>
>
>
>
>
>
> On Wed, Aug 26, 2020 at 1:17 AM Tianran Zhou <zhoutianran@huawei.com>
> wrote:
>
> Hi Andy,
>
>
>
> Please see inline.
>
>
>
> Tianran
>
>
>
> *From:* netconf [mailto:netconf-bounces@ietf.org] *On Behalf Of *Andy
> Bierman
> *Sent:* Wednesday, August 19, 2020 6:18 AM
> *To:* Rob Wilton (rwilton) <rwilton=40cisco.com@dmarc.ietf.org>
> *Cc:* netconf@ietf.org
> *Subject:* Re: [netconf] Adoption-suitability for
> draft-unyte-netconf-udp-notif
>
>
>
>
>
>
>
> On Tue, Aug 18, 2020 at 6:42 AM Rob Wilton (rwilton) <rwilton=
> 40cisco.com@dmarc.ietf.org> wrote:
>
> Hi,
>
>
>
> [Also as a contributor]
>
>
>
> My comments are broadly similar to Kent’s.
>
>
>
> I believe that a UDP transport for dataplane telemetry where getting
> accurate fresh data quickly is more important than getting every update.
> This is particularly true if a subsequent notification will cover any lost
> values anyway (e.g. periodic statistics).
>
>
>
>
>
> agreed.
>
> There is also the resync-subscription mechanism to help recover from
> missing data.
>
>
>
> [ztr] Our intention of using UDP is for data that do not care about
> occasional loss. Typically for period data, and new data will anyway came
> and update.
>
> Does the “resync-subscription” mean the retransmission? Here do you want
> to add the “resync-subscription mechanism” when packet loss is detected in
> this draft?
>
>
>
>
>
>
>
> This is explained in RFC 8641
>
>
>
> ZTR> Yes, I looked into RFC8641. It’s the same as what I understand as
> “retransmission”. Two key points on “resync-subscription” from my
> perspective.
>
> 1. “This RPC is supported only for on-change subscriptions previously
> established using an "establish-subscription" RPC.”
>
> 2. “On receipt, a publisher must either (1) accept the request and quickly
> follow with a "push-update" or …”
>
>
>
> So, what’s your suggestion here?
>
> To support this? Or not support this and add text explicitly in the
> document.
>
>
>
>
>
> Nothing to add to this document.
>
> I was just noting that YANG Push does not rely on every push-change-update
>
> notification to be delivered.  The application layer will re-synch by
> itself.
>
>
>
> ZTR> Agreed. Thanks.
>
>
>
>
>
> I suspect that having a mechanism to allow for the telemetry data being
> encrypted is probably also important.  If the WG were to adopt a draft
> without this, then as Benoit mentioned, I would have to test the water with
> the IESG to determine whether that would be acceptable.
>
>
>
> I suspect the lack of congestion control might get their attention as well.
>
>
>
> [ztr] Yes, I agree, both security and congestion considerations need to be
> described in the document. We have section 4 for congestion control. Do you
> have any idea on this?
>
>
>
>
>
> no -- I can't solve problems that IETF creates for itself.
>
> I think the draft says something like "do not use this protocol if
> congestion is a concern".
>
>
>
>
>
>
>
> I also note that the draft allows for a GPB encoding of the telemetry
> data, but I’m not aware of any formal standard encoding of YANG data in
> GPB, and there is a choice between whether the GPB encoding is generic for
> all YANG data, or specific GPB encodings are useful for the specific data
> that is being encoded.
>
>
>
>
>
>
>
> I was confused by the same thing.
>
> Is there a YANG schema for a notification element that is used?
>
> Which means the .proto file is hardwired?
>
> If not then how does the receiver know what is sent?
>
> There are some technical issues that can be addressed if the draft is
> adopted.
>
>
>
> [ztr] In this draft we only consider to include a code point to indicate
> the GPB encoding. How to map YANG to GPB is out of the scope of this draft.
>
> In practice, there are several ways in my opinion.
>
> We can map YANG to proto firstly, and the proto actually describes the
> data structure. I think YANG can almost translate to proto 1:1.
>
> We can also develop YANG to GPB directly, just like YANG to XML and JSON.
>
> In brief, the receiver can still know what is sent by YANG.
>
>
>
>
>
>
>
> I don't think the protocol should include placeholders for
> proprietary solutions.
>
> Either leave out GPB completely or support it in an interoperable way.
>
>
>
> ZTR> We have no position on this. If the WG agreed, we would like to leave
> out GPB.
>
>
>
>
>
> What about just adding a 32-bit report-id field to the header
>
> This is enough. Assignment of the IDs is out of scope.
>
>
>
>  ZTR> Sorry, I did not get you on what’s this 32-bit report-id? We have a
> 4 bit encoding type field, which can support 16 encodings. We can set this
> as a registry and defer the assignment of GPB.
>
>
>
>
>
>
>
> More issues:
>
>
>
> This protocol is not usable by servers that stream data instead of
> building an entire response
>
> in memory. With a streaming design the server doesn't know what will be
> sent in advance so
>
> it sure doesn't know the length in advance.  CBOR does a great job of
> supporting both
>
> types of server design.  NETCONF and HTTP support chunking, which is used
> extensively by
>
> streaming servers. This draft should mention streaming and explain why it
> is not supported.
>
>
>
> ZTR> If you mean bit streaming like TCP, I think UDP cannot support this.
> Do you have any pointer on how CBOR can support the streaming. And how
> NETCONF and HTTP support chunking.
>
> In general, I understand this requirement with small memory or partial
> data. But do you have any real case in the context of YANG push? So that we
> can work on an optimal design.
>
>
>
>
>
> I think it is OK to say that a server is expected to build an entire
> response
>
> and the length needs to be known in advance, if fragmentation is not
> enabled.
>
> A server can stream data OK if UDP fragmentation is enabled. CoAP uses the
> Block option
>
> to support streaming.
>
>
>
> ZTR> Got it. Yes, this draft enables UDP fragmentation which can support
> data streaming.
>
>
>
>
>
>
>
> The generic wrappers (like gNMI and YANG notification schema) do not
> handle "anydata" very well at all.
>
> The binary payload becomes mostly JSON.  Only CBOR+SID handles anydata
> efficiently.
>
> The solution (maybe outside the scope of this protocol) should consider
> how YANG anydata
>
> will be transmitted efficiently and converted from anydata to a real
> schema correctly by the receiver.
>
>
>
>
>
>
>
>
>
> Regards,
> Rob
>
>
>
>
>
> Andy
>
>
>
>
>
> Andy
>
>
>
>
>
>
>
> Andy
>
>
>
>
>
>
>
>
>
> *From:* netconf <netconf-bounces@ietf.org> *On Behalf Of *Kent Watsen
> *Sent:* 07 August 2020 21:16
> *To:* netconf@ietf.org
> *Subject:* Re: [netconf] Adoption-suitability for
> draft-unyte-netconf-udp-notif
>
>
>
> [as a contributor]
>
>
>
>
>
>    1) is the problem important for the NETCONF WG to solve?
>
>
>
> I believe that it is important to enable publishers to send notifications
> using a UDP-based transport.   This belief is based on my experience from
> when at Juniper dealing with very high-end firewalls with enormous log
> output.
>
>
>
> I believe that the NETCONF WG is the appropriate WG for this work, having
> defined RFC 8639 (SN), RFC 8640 (NN), and RFC 8650 (RN).
>
>
>
>
>
>    2) is the draft a suitable basis for the work?
>
>
>
> I have read the current version of the draft and find it to be a
> reasonable start.
>
>
>
> Presuming the “receiver-instances” augmentation defined in
> https://tools.ietf.org/html/draft-ietf-netconf-https-notif-04#section-3
> <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Fdraft-ietf-netconf-https-notif-04%23section-3&data=02%7C01%7CThomas.Graf%40swisscom.com%7Ca293e8ef13184f83dd0808d84dd4e896%7C364e5b87c1c7420d9beec35d19b557a1%7C1%7C0%7C637344924131300938&sdata=DybofImq7aed6VBWcgLRgDem8c3Glpuxa9S0Z17%2FLXw%3D&reserved=0> takes
> off, the module defined in this draft should be updated to augment into it
> instead.
>
>
>
> I appreciate Section 5 (Applicability) noting that the UDP-transport is
> primarily for the data plane (not the control plane), as it doesn’t matter
> so much if data plane notifications are lost.  This addresses (I think) the
> issue that Rob Shakir raised before:
> https://datatracker.ietf.org/doc/minutes-103-netconf
> <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fminutes-103-netconf&data=02%7C01%7CThomas.Graf%40swisscom.com%7Ca293e8ef13184f83dd0808d84dd4e896%7C364e5b87c1c7420d9beec35d19b557a1%7C1%7C0%7C637344924131310894&sdata=5Bc%2FZdL4PAAKmJ4EeqRq99jnzb1d5Z5wG38luyr4A18%3D&reserved=0> (search
> for “Rob S”).  That said, it is unclear to me how a receiver could
> configure this while, e.g., configuring control plane notifications to be
> sent via a TCP-based transport such as “https-notif”.
>
>
>
>
>
> 3) regarding Juergen’s questions:
>
>
>
>   a) I am willing to substantially review the drafts.
>
>   b) I am willing to contribute to the discussion of any issue.
>
>   c) I do NOT plan to implement the technology defined.
>
>
>
>
>
>
>
> Kent
>
> _______________________________________________
> netconf mailing list
> netconf@ietf.org
> https://www.ietf.org/mailman/listinfo/netconf
> <https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Fnetconf&data=02%7C01%7CThomas.Graf%40swisscom.com%7Ca293e8ef13184f83dd0808d84dd4e896%7C364e5b87c1c7420d9beec35d19b557a1%7C1%7C0%7C637344924131310894&sdata=pNuV%2FDrzICWPMV3pPKijQM0ygXQbt7qiXp5oBDvojd0%3D&reserved=0>
>
>