[netconf] Re: WGLC for udp-notif
Andy Bierman <andy@yumaworks.com> Fri, 31 January 2025 20:53 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 12F4AC14F739 for <netconf@ietfa.amsl.com>; Fri, 31 Jan 2025 12:53:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6CmilRapkscR for <netconf@ietfa.amsl.com>; Fri, 31 Jan 2025 12:53:39 -0800 (PST)
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com [IPv6:2a00:1450:4864:20::22a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CBCDFC1840E4 for <netconf@ietf.org>; Fri, 31 Jan 2025 12:53:39 -0800 (PST)
Received: by mail-lj1-x22a.google.com with SMTP id 38308e7fff4ca-3003ae21db4so2398031fa.1 for <netconf@ietf.org>; Fri, 31 Jan 2025 12:53:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1738356818; x=1738961618; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=i0gKrJuX6xfGiyN9QMkNwxeCeEE2yIF2ZEIARItuNfg=; b=kmBe7CzI2TXiWUaQNQn+kxteS9dOSdBv+e/qQWSju2e1XqHTlJ1JnJNSRjbkGljUpB I9XdzFb47ZHALqcKOkvFtz++9FY4W8LqzQlgSGszeskaMsFGPGsf8DnNrn5QEkuH7Z5x bJhUsc98c3HRQymbhWwCICKcYT+hMxnb2yyuM+UxY4pu4Jcur0dziBbj7Toq6MlLyfAZ Ri1OsF4Lyj6MOblngRVk4OWw1JBFqIp4LVoYXlis7T5N0zOa4dni7ph0BhvK+WEa5QBV g/On1jm7h49MADAChaM1tdf7WQ79fpe3Aju9ufnhWzK7S1ehK5SNXqR9iJqHEA9yVnpX kEfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738356818; x=1738961618; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=i0gKrJuX6xfGiyN9QMkNwxeCeEE2yIF2ZEIARItuNfg=; b=VBDb9PbIklYdcbqxHcVi3ThpUbqnFLqPLpHk8fLX34SAp2da7Nv+3K6WKGlcWTKlBO +7NIupNbjaFJulr7/u1Hk0a2eDoeUpjJV2adUYP6BMehXvbH3KZOP7vZ3KYDfHZY15WC eztgu8pZryWMewK/0oFxrDPbvvGgjxBfu2EMUjEbptnpTKvEwkL8Cy5PcYqVFJiRsrSS pg2Skgh9lDejdz9hVoe1L1IcoH4OAJ0i5awzoGcKyjBrd/clfNuvxFGsL/DHw0q+LZDk 60imIgF7c1YAGgCZT1TeDoHu7x4rSP+7zCXHAXcFCiz0/9CldgC9BMjYXxUCb6QXNLwP b+1A==
X-Gm-Message-State: AOJu0YyWCUeIZWXpyOnKNbqNln+9+LTo9/KjmV+JL3rvRGLCjmITyd+l uT+/7Q0rUjlSJY6qlCGVOpzBPpdXTKijGrL2qr0L58OUNTRXpjNDpukM4cjYC/pkblYqyb20W6I qKeosEbFFsAHY9JmMCvODuAAVRmSEduGS1Eqm0V/oJdlpIkP216tlkQ==
X-Gm-Gg: ASbGncsUOjREBX5s/IFU8TsV78wTSx4Yitmtp5MY3gOnm6CYh2bzIRsT7JbctVdXebb VZi9rUqqOJUruy0BDS8NsU1JDHYOxmAetD1h0iPGggFVr2MBBNud2btyk5fbykXLWZciUaK7/CG RpsPIqlPpulnLiBAQ6lrcNFz3aiyEw9lY=
X-Google-Smtp-Source: AGHT+IF+/ZaF4x+JTg1X+iFJSU0cU9mGXDUJrlZ83aGAcsbBR5k92LKJxvQTSQn5Jm2aS5HSQaBqNfAQV6RM0+Q+QTQ=
X-Received: by 2002:a2e:be83:0:b0:300:c10:7c33 with SMTP id 38308e7fff4ca-307968dd6c1mr13906331fa.7.1738356817847; Fri, 31 Jan 2025 12:53:37 -0800 (PST)
MIME-Version: 1.0
References: <CACvbXWH3Ppufo55DP1-8wQX_qNbHFjwJ+vPJM2aj0cKBaEoQSw@mail.gmail.com>
In-Reply-To: <CACvbXWH3Ppufo55DP1-8wQX_qNbHFjwJ+vPJM2aj0cKBaEoQSw@mail.gmail.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Fri, 31 Jan 2025 12:53:26 -0800
X-Gm-Features: AWEUYZlVKwAtIUtvPurinzw58_MJFQy-HI_5u59D8jwC7VJTb10SndEKwToo_7s
Message-ID: <CABCOCHS78FR9+HLZqGDnY0rr2JjB4fJ9-sRdAO3tq+rXeS4dZQ@mail.gmail.com>
To: Per Andersson <per.ietf@ionio.se>
Content-Type: multipart/alternative; boundary="0000000000009f08f4062d06bc37"
Message-ID-Hash: KTFHSME2GEPITM43OISYBJS4MUCCYE32
X-Message-ID-Hash: KTFHSME2GEPITM43OISYBJS4MUCCYE32
X-MailFrom: andy@yumaworks.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-netconf.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: netconf@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [netconf] Re: WGLC for udp-notif
List-Id: NETCONF WG list <netconf.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/II9PQ5EneIrm7NV7Bgog_BjZ_7M>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Owner: <mailto:netconf-owner@ietf.org>
List-Post: <mailto:netconf@ietf.org>
List-Subscribe: <mailto:netconf-join@ietf.org>
List-Unsubscribe: <mailto:netconf-leave@ietf.org>
Hi, I have implemented most of this draft for the publisher and collector, as part of the following module set: ietf-distributed-notif@2024-04-21 ietf-notification-capabilities@2022-02-17 ietf-sid-file@2024-07-31 ietf-subscribed-notif-receivers@2024-02-01 ietf-subscribed-notifications@2019-09-09 Features: configured dscp encode-json encode-xml replay subtree xpath ietf-system-capabilities@2022-02-17 ietf-udp-client@2024-06-27 (I) ietf-udp-notif-transport@2024-10-17 Features: encode-cbor segmentation ietf-yang-library@2019-01-04 ietf-yang-patch@2017-02-22 ietf-yang-push@2019-09-09 Features: on-change ietf-yang-push-revision@2024-12-17 Features: yang-push-revision-supported ietf-yang-revisions@2024-06-04 (I) ietf-yang-semver@2025-01-21 (I) The following comments are related to the UDP-Notif draft. Andy # Applicability Issues Configured subscriptions are allowed for event streams and datastores. The UDP-Notif protocol may not be suitable for all use-cases covered by configured subscriptions. ## Event streams These messages are probably sensitive to loss and reordering. There are no mechanisms to break into smaller events or even indicate that a partial message was sent, so segmentation needs to be supported. The 'subscription-started' and 'subscription-modified' messages are very important mandatory subscription-state events that have this same issue. ## Datastores The existing YANG Push solution needs some improvements, but it does allow the operator to control the scope of the updates, so it is quite possible to use UDP-Notif even without segmentation. Some YANG Push Concepts: - The datastore + filter defines the scope of the reports for the subscription - A get-data() operation on the same datastore + filter is expected to produce the same 'full result' as a push-update. - A server is free to send any 'edits' to the full result in a push-change-update, using any valid YANG Patch structure. UDP-Notif Improvements: There is a much better solution (although spread out over many drafts), so not sure if this draft needs more text, except to explain the use-cases. Instead of sending the entire full result in a push-update, send an idempotent patch for a predictable subset, where it is OK to replace the current subtree with the new subtree, and deletions/moves are not expected. This is implied by the '/interfaces' example where an update for a single interface list entry is sent each push-update. This also works well for distributed publishers, each sending updates for a subset of list entries (e.g., interfaces). YANG Patch was not designed for high frequency YANG Push and it is too complicated for a collector to support. # YANG Module Issues - feature segmentation The 'segmentation' feature should be removed, so that it is mandatory to implement by the publisher, and optional-to-use (via the subscription config);. It is not difficult for the sender to support segmentation. - leaf max-segment-size when "../enable-segmentation = 'true'"; This when-stmt should be removed, and the leaf applies in either case. There is no need to rely on a proprietary setting when the module has this leaf. type uint16; Not sure why a server should support a full uint16 for the segment size. We are supporting range "1000 .. 9000". # Implementation Issues 1) setup time YANG Push says the publisher can start sending updates immediately after the 'subscription-started' event. It would be better if a configurable leaf for 'setup-time' was available, so the UDP-Notif Collector has enough time to setup the YANG modules and SID files for the updates. 2) message state The UDP-Notif Collector must keep state for each segmented message stream. The 'host-name' leaf is not available to the collector. E.g. the 'recvfrom' system API returns only a sockaddr for the sender. A segmented message stream is scoped as follows: ip-addr . publisher-id . message-id . segment-id There is a requirement that all publishers using the same source IP address have a unique publisher-ID. The transport layer should not need to parse and use the payload message to reassemble messages. The application layer can still manage updates by host-name. On Thu, Jan 30, 2025 at 7:07 AM Per Andersson <per.ietf@ionio.se> wrote: > Hi! > > This email begins a two-week WGLC on: > > UDP-based Transport for Configured Subscriptions > https://datatracker.ietf.org/doc/html/draft-ietf-netconf-udp-notif-18 > > Please take time to review this draft and post comments by February > 13. Favorable comments are especially welcomed. > > None of the authors or contributors have declared IPR: > > https://mailarchive.ietf.org/arch/msg/netconf/VQUz-x7mEWVmdxwG_ZZAbN-mlUk/ > > > -- > Per, co-chair > > _______________________________________________ > netconf mailing list -- netconf@ietf.org > To unsubscribe send an email to netconf-leave@ietf.org >
- [netconf] WGLC for udp-notif Per Andersson
- [netconf] Re: WGLC for udp-notif mohamed.boucadair
- [netconf] Re: WGLC for udp-notif Giuseppe Fioccola
- [netconf] Re: WGLC for udp-notif Weiqiang Cheng
- [netconf] Re: WGLC for udp-notif danvoyerwork@gmail.com
- [netconf] Re: WGLC for udp-notif Camilo Cardona
- [netconf] Re: WGLC for udp-notif maqiufang (A)
- [netconf] Re: WGLC for udp-notif Andy Bierman
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Andy Bierman
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Ahmed.Elhassany
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Andy Bierman
- [netconf] Re: WGLC for udp-notif Yannick.Buchs
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Yang, Yufeng
- [netconf] Re: WGLC for udp-notif Benoit Claise
- [netconf] Re: WGLC for udp-notif Rob Wilton (rwilton)
- [netconf] Re: WGLC for udp-notif mohamed.boucadair
- [netconf] Re: WGLC for udp-notif Benoit Claise
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Mahesh Jethanandani
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Tianran Zhou
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif James Cumming (Nokia)
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Benoit Claise
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif mohamed.boucadair
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif mohamed.boucadair
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Benoit Claise
- [netconf] Re: WGLC for udp-notif Alex Huang Feng
- [netconf] Re: WGLC for udp-notif Benoit Claise
- [netconf] Re: WGLC for udp-notif Nils.Warnke
- [netconf] Re: WGLC for udp-notif Per Andersson