Re: [netconf] Issues with draft-ietf-netconf-udp-notif-04

Thomas.Graf@swisscom.com Sat, 20 November 2021 18:14 UTC

Return-Path: <Thomas.Graf@swisscom.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 4741D3A0765 for <netconf@ietfa.amsl.com>; Sat, 20 Nov 2021 10:14:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.798
X-Spam-Level:
X-Spam-Status: No, score=-1.798 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no 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 9cgjFbwgnejS for <netconf@ietfa.amsl.com>; Sat, 20 Nov 2021 10:14:50 -0800 (PST)
Received: from mail.swisscom.com (mailout110.swisscom.com [138.188.166.110]) (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 CCC883A067B for <netconf@ietf.org>; Sat, 20 Nov 2021 10:14:49 -0800 (PST)
Received: by mail.swisscom.com; Sat, 20 Nov 2021 19:14:45 +0100
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="----=_Part_1590486_1929586991.1637432084916"
X-Mailer: Totemo_TrustMail_(Notification)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XraskLu3TUrNz7WsAJ+dLE4JhfBgktLa8YP5eJIECr49FiMw10XjHGP/G5UL3R+/E5Yi3vq7yD0pSXbuWJLulnopq0gseAI+7gkj7Y5/3MupeJQPmtVy1yLqPnupl4yiebjMLc2mLSjBjaEOzuRHe3Mj+m/HTF+JXjhtRqJj1St9gXv3lb2HBv19VZVfAdeqZVHI7TMJ/c8lrCkst8wu+dmGu7qUqJ1195q3M5MR/HCRym9EcaK1iK6xyZBNRRlYfh2gYXLNxjXVvYh+ZLKncnWxBu8We3RapLGDAvjtX9frHoayy+MA3Pvpd5Mvuf4Io9CKzV6VswfztaV/QmA/+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7BNV5enFS/L5PcGQo28UEgg7yNpj5Axxt3qUbTdWnzk=; b=FyPt0lXukhkEYxED3GNtkcOu89Lxc4eCNdyy+B1HQaPm+RZOfh9g1xOyVD8o1l5aoMDPRcIQzzrLfobge2xcBUUFvAGCOdp8ym7wST+kf4V3h6LtvBFf8+6QXmwO+Upo4/9F27/HU3tELtULq7eYO1HutczvQmaq57HvIIL1TxdwgdWa/O4Zs8vWla8rqwjb1JZzP5/J4fV9dIskypz7OXCmoCs44vWXkXYkc5p98AwBXUB6GRH5yBvbEbOlck6ewQoS58h7kR3wuahldLXkogTPauF/YwXfgk+2wznoMuuSOX72Mzmu+EeRgG5oG24sJ0DrOJnouJa6T9YKJ94waQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=swisscom.com; dmarc=pass action=none header.from=swisscom.com; dkim=pass header.d=swisscom.com; arc=none
From: Thomas.Graf@swisscom.com
To: andy@yumaworks.com, pierre.francois.ietf@gmail.com
CC: netconf@ietf.org
Thread-Topic: [netconf] Issues with draft-ietf-netconf-udp-notif-04
Thread-Index: AQHX2px0mTrR0HpnoEGx1KUWYd/Kp6wHkC2AgACN6oCAAgK9AIAClCEg
Date: Sat, 20 Nov 2021 18:14:20 +0000
Message-ID: <ZRAP278MB0176053E97CD255B041B96C2899D9@ZRAP278MB0176.CHEP278.PROD.OUTLOOK.COM>
References: <CABCOCHTnEh-d00ZDumUFZcwEjim3GCrgR85-+8n_g=XyEhXQbg@mail.gmail.com> <CAFNmoOFMLSDkKb5CW2gU2mZQwWfhLs2pmuT9Qc-UNaEr1hXk6Q@mail.gmail.com> <CABCOCHSdgt18CUnsq4WSXiN_E+2dBQkHzb9ydH8BEt0HVaimkA@mail.gmail.com> <CABCOCHQnZwD2T4Mnn3rWbR8dMBpJzpTrHjSBZbccY3y4yBJjXw@mail.gmail.com>
In-Reply-To: <CABCOCHQnZwD2T4Mnn3rWbR8dMBpJzpTrHjSBZbccY3y4yBJjXw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=swisscom.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 8760c4b2-c84c-40bb-84e5-08d9ac519317
x-ms-traffictypediagnostic: ZRAP278MB0094:
x-microsoft-antispam-prvs: <ZRAP278MB0094DAE5C1B6ED72F11B12C2899D9@ZRAP278MB0094.CHEP278.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: raZvoZWU0qcgwKvi9tpvOBkin4yzgyc23nP363lGzb5QidzAARTxm/W43dRZCWbz8mdqLb/PahSugLFC0B3LrtsaYa/nlaPMM1Tju9ZQkH9Ex076hSx/oWtaduNmnfvSv0v3GiTR40w9P4IBGnNvH5i2Gv+TfvWUy3+JfO4hl/MV/MKgUzVjOTcvEmiaHAbUQJMSiq8fFRHyQTgrJsrUsqLnfYfSK7P1Mti+HeLWnSzYyAPp2FcGpq8YHzVKCXbSXKI01HoDqAGe787tC4gvEo5c8XPWUtKHCzRVY6p5fYtSDJ5zEnZtLUnKYmHP57vhZKh1Ugm/5W8E4fM8ht6GTcpcukfmr2c6MZqFaG++M0HUSMi4sXK8jg4eMK4AGsoPt22Rkl2lhQfALVvAV2V/c5JESMe+7/bWNsq2GB6+/AUQatONolB2n6g25PcEZ/VWJZFfoh/1twfw0wNvU8aOC2OiTKz0m+6Vi8otXObJdIxrEhQ/Fvn8tiKX24DxljV0zsIufjX/Ejq3AICzIvtQm6uUhC+9YpsvpTHn0EC/usOl7AYvpdY/dzdEmFRq6y10XUjWYXBJQQjDg7AgAacnFW5i+Vr0gee798FSHkWPN5qoXEmZ+7+7c5SOjwleF67TCU2igHCdEWVtIoC9wB8FJddfPLk9ENyM2/h6XiSjRWuI3A6F6xTCJvNTeTQ7KuJkC5VwGspCWtyWN4kOsw6gqcTtm3nf3eM+axIiTK2lthyKs+lvuJXmIL3J0xHTN8AgQsG8ACuBSxd9rvGokm5awuIeukH1+5/m9jlsBiFslzI0bLD8SWtg2TFEuCzSITgk
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:ZRAP278MB0176.CHEP278.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(4636009)(366004)(66946007)(110136005)(66556008)(66476007)(64756008)(71200400001)(66446008)(10290500003)(10300500001)(76116006)(5660300002)(966005)(52536014)(316002)(8936002)(86362001)(9686003)(38070700005)(6506007)(7696005)(53546011)(30864003)(38100700002)(55016002)(508600001)(83380400001)(122000001)(4326008)(66574015)(166002)(33656002)(82960400001)(186003)(8676002)(2906002)(26005)(356854002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: P1bEJBFWZ+w8OvioNE4tBlI8OKoyU3D0mu7R2ZLA2i2B4ENOX+qYYC8uxlXh6UOe/aE5N0m/SmDBFqluDEVQIo7Rbp2GUWnbqdcgpP+SJLikAhZNVWr5biOK9fpKqRBESV0s1nUjR9vwCFkSyqQ/bm6LBv2zHK/+fXOX0BhuPKehAqHb+/GMC6Y+mT5UuUjycHOtdXreURrmxTtlJ1UHs/s3sH2OjEJSAyatj2b3aVD7ijjusfrdhg/P5tl5N9js4l5Tr3UEC4evGlbOAd/r/7w3nRP73GKDn5dL37OdffVR68D08MyIiy3v3/OKdH+jQg71B0D6z9cj804FooIOCNA/2muxHLofhuLyomCD8UjOdUUwLjF2yWyae9bt5zgurYcqNBUGBdlRb2n4L67uzLeiniYrVS1lOh5WY5K087KHP9uktfhxSGw1/gDeWKwO6YxTx6MUGvwv+/xxLGhcBPy1bcEbGNsawrxH9CTq5gLjUGsD8UCgiyfuZz85VMBje037sFHy1lzUsBVAs2fog1Ssn2D360FIOvtmarHg6kFveIltrOm8ILOVBfpLycwHBjaUmdYTLkEA28Fq5xb98x1U54+/IHpgb50DLe5BxLhn9dbr6NHsCkB0m5JN2VCbTCkWYzFU6YK8FFuKV5jacCIKo2FDXWhaqPbovrSuo/3W4WkfIyTaGzBzneDjNJLy3ozS81ARl6qBD36k7OMNOoo0Iucps+F/VojxGcETkio2UnhlcmpTiLTKrjTS0ouyFEhWwfVWXd74BJI1aQwBaq1GWcF9gKe7GKNE23GGv5d9wPlJSo0NoI3GxBIWsstUGOtWrHh/sENC/fSeDro0oDzbr0pL/dX/iaS9YGFdIXkDJW5tdjZxrEclvnr9KShmKSWR8RaXEW65RLvfkJnKFomMB7fe8jB5uSdFOhfBL3QRkQbU2PdS0eNreCPV4VV2rThgjiiRhda1U7UkeQHFZ+8vTxdS8LSfyU1WooXwgWcvk75tBqhnNnymGCRPxYYBRoqjqwuL6M1+S8VlSVc5MzxzndSIX02ptdOOds1mP1TMvY9uSLj6l2LOLWd69S61VDeHgZZQyxJKuVmN8+31R7okDCmV98qnhESH+3N3tOOWAqRBCw3HigG+VzGzdAIu6yazRYIlljkG5QsL987r/qBsi9IHTRLcyfWaYKsGuasl4BpFE9WbsCX5u44ecrGBSa72zcTy3IscaLdFR/9J96RO4Q7mex2+wxDEdHIaLrg/rFlZ5qx8V2GwVpqkrTKeU6prhvAsYYsVmHnvORVXaJahpNjgmUNQTYiebhy/+qNGq6mN90gfXGwOxasIusF4KMgkEgP7IJWYnH8tTVvByU0BUDPxOmwd9eHLs9msVKu86486E7OOOYovfpUaaRLSd7swIP4mF+Big0DOi1LSNqiZWxWgWI1Pog3gK4sPvAH/3n9itoNouSArTemUHR/XI1PsP/n2Cd16ctyfIDeVBL1IoBi+1RXjfd4zFo8OgaTBB9xMPDD1IKs4WLsUTzjgUMmINilS3+G7Zi1yhII0QVKPiYxEwaOeiLilg0ZEFH2CP5fiUghwh5HdwfgzfYJ6BCOVRdikgy2Fjnu65o9XMf21+jX9vdw8aVS81OTMgiTLoZdZhoNJ4RGPtp6Ymnr46W7EZgth4h1DR0P7Boj0yg==
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: ZRAP278MB0176.CHEP278.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 8760c4b2-c84c-40bb-84e5-08d9ac519317
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Nov 2021 18:14:20.8262 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 364e5b87-c1c7-420d-9bee-c35d19b557a1
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 0bis4HRni2WJ0SLqgvujab7r4yCXQ6kxWVBKQtUDMoAfwEYPbcqxptd9dUmN2huVIGGcx0bsAsa7fipLKYo7Gw6UrQ6TAcxdpJrLEe4rsGw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: ZRAP278MB0094
X-OriginatorOrg: swisscom.com
X-CFilter-Loop: Reflected
X-Trustmail: processed
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/ygxgmbz6JtPaSIz2SfZ3wz-HduM>
Subject: Re: [netconf] Issues with draft-ietf-netconf-udp-notif-04
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: Sat, 20 Nov 2021 18:14:56 -0000

Hi Andy,

Looking at the list of media types I disagree with your observation. Please correct me if I am wrong, only a small subset is applicable to YANG push.

The possible encodings are currently being defined in both transport drafts
https://datatracker.ietf.org/doc/html/draft-ietf-netconf-https-notif#section-8.3
https://datatracker.ietf.org/doc/html/draft-ietf-netconf-udp-notif-04#section-3.2


However, you are raising a very valid point I noticed that the netconf working group haven't addressed clearly yet. I understood from previous threads with draft-ietf-netconf-https-notif and draft-ietf-netconf-udp-notif that multiple times questions were raised which are the valid transport encodings for YANG push.



For me it is unclear wherever CBOR could be used as encoding in draft-ietf-netconf-https-notif or not. Wherever draft-ietf-netconf-https-notif is encoding agnostic or not. I assume both transport drafts are encoding agnostic. Therefor we as working group should address the topic, which are the supported encodings for YANG push at present time, an how in the future when new encodings are being developed, we address this topic.



My suggestion is to keep the initial registries for both drafts equal. Defining JSON, XML and CBOR as the initial encoding. And if in the future new encodings are being added, ensure that both registries, for udp-notif and https-notif are being updated equally.



>From my point of view, we can roughly foresee that YANG push supports never more than 16 encoding types. However, due to the late YANG pus transport standardization at IETF and already existing non standardized YANG push encoding implementations,  I understood that private encodings is something we can't ignore. Therefore it makes sense to support it in the initial version of the transport documents.


Best wishes
Thomas

From: netconf <netconf-bounces@ietf.org> On Behalf Of Andy Bierman
Sent: Friday, November 19, 2021 3:13 AM
To: Pierre Francois <pierre.francois.ietf@gmail.com>
Cc: Netconf <netconf@ietf.org>
Subject: Re: [netconf] Issues with draft-ietf-netconf-udp-notif-04

Hi,

It is unclear why this document needs to reinvent content types using a 4-bit ET field.

There is already a registry of integer mappings for CoAP
https://www.iana.org/assignments/core-parameters/core-parameters.xhtml#content-formats<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.iana.org%2Fassignments%2Fcore-parameters%2Fcore-parameters.xhtml%23content-formats&data=04%7C01%7CThomas.Graf%40swisscom.com%7Cc0e59f0fa7764b44771108d9ab023f4e%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637728848408346521%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=7WSsymSFBxP1W5U4iro6cg8I61dHc23YgfWIucH0KJ8%3D&reserved=0>

IMO this draft needs to (at least) define a header option for a 16-bit "CF" field.
Implementations SHOULD provide a CF option if none of the standard ET types apply.
One of the 16 standard ET values should mean "See CF option".


Andy





On Wed, Nov 17, 2021 at 11:31 AM Andy Bierman <andy@yumaworks.com<mailto:andy@yumaworks.com>> wrote:


On Wed, Nov 17, 2021 at 3:03 AM Pierre Francois <pierre.francois.ietf@gmail.com<mailto:pierre.francois.ietf@gmail.com>> wrote:
Hello Andy,

Thanks for the feedback, answers inline.

Le mar. 16 nov. 2021 à 04:45, Andy Bierman <andy@yumaworks.com<mailto:andy@yumaworks.com>> a écrit :
Hi,

I am wondering if there implementations of this draft already.
IMO there are problems with in that prevent reasonable and
optimal implementations.

There is support of udp-notif publisher in VRP.
There is a C collector lib for udp-notif in https://github.com/insa-unyte/udp-notif-c-collector<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Finsa-unyte%2Fudp-notif-c-collector&data=04%7C01%7CThomas.Graf%40swisscom.com%7Cc0e59f0fa7764b44771108d9ab023f4e%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637728848408346521%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=3q8mNKLzfYKxqsR3ii0flAXmGhskv8RUN8ekduTJhZs%3D&reserved=0>


1) Use of UDP as the Application Message Framing
UDP is a transport protocol.  Tightly coupling one
NETCONF notification message to one UDP frame (+ fragments)
is not very optimal.

There is a segmentation option in the protocol, so a udp notif message is not tightly coupled to a UDP frame.

But this segmentation is optional to implement.
My point is that application protocols like NETCONF have their own message framing
which does not exist here because the transport framing is used instead.



1A) wastes space in the UDP frame if the NETCONF notification
    happens to be short

I don't get it, I'm sorry. To me a UDP header + small udp-notif header is rather short.

If I can fit 100 notification messages in 1 UDP frame then I save 99% of the redundant headers.



1B) imposes an application-level max-message-size

Not with the segmentation option, do we agree?

https://datatracker.ietf.org/doc/html/draft-ietf-netconf-udp-notif#section-4.1<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Fdraft-ietf-netconf-udp-notif%23section-4.1&data=04%7C01%7CThomas.Graf%40swisscom.com%7Cc0e59f0fa7764b44771108d9ab023f4e%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637728848408356481%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Xl%2BMQemsr4GneiC%2FUyWmC9bBruBPgHtZwLPBuvLeiWw%3D&reserved=0>

There can be 32767 segments of a max 65535 each: about 2G of data.
However the segment-size is allowed to be smaller and segmentation is completely optional-to-implement.

Application layer framing allows unlimited message size without any need
to support UDP segmentation at all,




2) Not Efficient for Streaming Servers (no Message Chunking)
The application framing in NETCONF and RESTCONF (HTTP) is not
coupled to any transport protocol. Instead, a sender may emit as
many message chunks as desired. This is how a streaming server works.
Content comes from many different sources and it is sent on-the-fly
in chunks, instead of constructing large replies.

    - Application framing allows multiple notifications in one UDP frame
    - Application framing does not need a max-message-size.
      Streaming servers often do not know the size of the data that will be sent
      in a notification.

I think we meet these goals. Let me think about this further.


I agree, by ignoring the idea that this protocol provides any normative information
about the application layer protocol in use.  This draft should remove any hint
that the application payload is defined in this document.  It is OK to say
a different RFC (or spec) defines the content for a particular Encoding Type.

The "notification" in Figure 1 implies that the payload is one NETCONF notification.
The draft should be clear that there is no structure to the payload defined in this document.



Q1) Should proprietary encoding be used to support application-layer framing
       or should the standard support it?

I think we'd need to meet on this or else it will end up with thousands of long emails ;)


I think the draft should let other documents define the exact content expected in the payload.
I am used to application protocols defining specific message flows. Since this draft does
not do that, it should not attempt to impose any rules on the application payload at all.




3) Protocol Message Encoding for CBOR
The NETCONF notification message is not modelled in YANG.
This is an open issue for YANG to CBOR encoding.
https://github.com/core-wg/yang-cbor/issues/96<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcore-wg%2Fyang-cbor%2Fissues%2F96&data=04%7C01%7CThomas.Graf%40swisscom.com%7Cc0e59f0fa7764b44771108d9ab023f4e%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637728848408356481%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=GychPbAURCdRp1pdWoQfPnaFo3gK3Al5AA8rdcQKt0E%3D&reserved=0>

The "notification" and "eventTime" elements do not have YANG definitions.
SID assignments for these elements will be needed.
This draft is the likely place for these SID assignment requests to
the IESG and IANA.

Shouldn't these be transport agnostic? I don't see why this would be bound to udp-notif only and not, say, https-notif.

This is related to application/yang-data+cbor.
A separate document for the SID assignments can be done.




4) Subscription-ID Missing from Header
It is quite possible for one message generator to create
messages for multiple subscriptions.  The subscription-ID
will be needed to dispatch notifications to subscribers correctly.
The Observation-Domain-ID is not sufficient.

Same answer as above, we understand obs-domain-id to be used in the transport to meet load-balancing goals, but thought it would violate layers to place subscription-IDs in the transport itself.


So I will put the Subscription-ID here instead I guess because a common
use-case is to allow a Collector to support subscriptions from client applications.
Only datastore subscriptions include a subscription-id, not event stream notifications.



5) Private Encoding Option does not seem interoperable
The "Enc. Descr" field is completely opaque.

Correct.


Then perhaps there is no need for this at all since it does not
attempt to provide any interoperability?


This field could be structured to provide the "ET number space owner"
e.g, urn [wsp description]

Mmm it's a valid option. Our opinion was that once you want it interoperable, you should make it standard instead of private.
If the wg thinks we should kinda standardize private options, I'm personally okay to add that to the draft.

Use of structured strings like URNs does not seem like a bad thing that should be discouraged.
The ET field is not interopable if every implementation can define their own 4-bit values
and there is no standard way to tell them apart. Perhaps just a domain name if a URN is too much of a burden.




Andy

Thanks a lot for your comments,

Pierre.


Andy


Le mar. 16 nov. 2021 à 04:45, Andy Bierman <andy@yumaworks.com<mailto:andy@yumaworks.com>> a écrit :
Hi,

I am wondering if there implementations of this draft already.
IMO there are problems with in that prevent reasonable and
optimal implementations.

1) Use of UDP as the Application Message Framing
UDP is a transport protocol.  Tightly coupling one
NETCONF notification message to one UDP frame (+ fragments)
is not very optimal.

1A) wastes space in the UDP frame if the NETCONF notification
    happens to be short
1B) imposes an application-level max-message-size

2) Not Efficient for Streaming Servers (no Message Chunking)
The application framing in NETCONF and RESTCONF (HTTP) is not
coupled to any transport protocol. Instead, a sender may emit as
many message chunks as desired. This is how a streaming server works.
Content comes from many different sources and it is sent on-the-fly
in chunks, instead of constructing large replies.

    - Application framing allows multiple notifications in one UDP frame
    - Application framing does not need a max-message-size.
      Streaming servers often do not know the size of the data that will be sent
      in a notification.

Q1) Should proprietary encoding be used to support application-layer framing
       or should the standard support it?

3) Protocol Message Encoding for CBOR
The NETCONF notification message is not modelled in YANG.
This is an open issue for YANG to CBOR encoding.
https://github.com/core-wg/yang-cbor/issues/96<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcore-wg%2Fyang-cbor%2Fissues%2F96&data=04%7C01%7CThomas.Graf%40swisscom.com%7Cc0e59f0fa7764b44771108d9ab023f4e%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637728848408366442%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=y%2FCrGoffl8qo7KHMVKjvQuz%2BWlAeavbt4i9hiIKDKdI%3D&reserved=0>

The "notification" and "eventTime" elements do not have YANG definitions.
SID assignments for these elements will be needed.
This draft is the likely place for these SID assignment requests to
the IESG and IANA.

4) Subscription-ID Missing from Header
It is quite possible for one message generator to create
messages for multiple subscriptions.  The subscription-ID
will be needed to dispatch notifications to subscribers correctly.
The Observation-Domain-ID is not sufficient.

5) Private Encoding Option does not seem interoperable
The "Enc. Descr" field is completely opaque.
This field could be structured to provide the "ET number space owner"
e.g, urn [wsp description]


Andy



_______________________________________________
netconf mailing list
netconf@ietf.org<mailto: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=04%7C01%7CThomas.Graf%40swisscom.com%7Cc0e59f0fa7764b44771108d9ab023f4e%7C364e5b87c1c7420d9beec35d19b557a1%7C0%7C0%7C637728848408366442%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=mraDYXFzdEK%2BYtyORq0jp94MtekZfQ3LFIDfJbktLDw%3D&reserved=0>