[netconf] questions about draft-udp-notif-14

Andy Bierman <andy@yumaworks.com> Wed, 10 July 2024 17:27 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 9360AC14CE53 for <netconf@ietfa.amsl.com>; Wed, 10 Jul 2024 10:27:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.107
X-Spam-Level:
X-Spam-Status: No, score=-2.107 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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 hjuhzy2F8SpZ for <netconf@ietfa.amsl.com>; Wed, 10 Jul 2024 10:27:34 -0700 (PDT)
Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com [IPv6:2607:f8b0:4864:20::1036]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D4C12C14F61C for <netconf@ietf.org>; Wed, 10 Jul 2024 10:27:34 -0700 (PDT)
Received: by mail-pj1-x1036.google.com with SMTP id 98e67ed59e1d1-2c2c6b27428so31801a91.3 for <netconf@ietf.org>; Wed, 10 Jul 2024 10:27:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks.com; s=google; t=1720632454; x=1721237254; darn=ietf.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=mRCaPvMjhNwrJoGGhaZOfDlbO6yHgJ+h1r1Szf5kqNM=; b=omspUF/obvg9raLgwJnqXaz9Ss1GBs5/GHAPtMhEWLeKQh3/8KCv9rEDpOvJcHYO0j Ii+EKob9Xa0V8tUIQypM4I1TVYBChOEYZUY05D5Ve3Rs8aqP5qe9irCay93seUM4ZfPy edRxsGOLeurttDU85BKzn78N8MhO/JOxAL16VsGdLGrjryuxKv+NeK5mp3g0eQTOcoxW l+AOlFvlQo8gV5bdAv4Udwfw3TLfdHl0fbltf0saY91klBxgfyduks0ruTdEZrKoJzbd jbQwu6FbjvALi6qX3l3Za0Z7mrxmkFQHTb/jSaS2KEFOXq3oN1m7KWoFaka6eBJzaa5g DwxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720632454; x=1721237254; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=mRCaPvMjhNwrJoGGhaZOfDlbO6yHgJ+h1r1Szf5kqNM=; b=plSRor0ZBUas8mujlqSTE56EW4XL3QZzfBafZgKaa/7lSZQCLvinRicECinKh3Efn4 RFbHUuyRKu++y292597K84Tw/S3Uq0JZhbrlXmj56s7Ww69VFDhm1IjHiacN9GXYhQrg 4YEySa8Z5ZiqUt+VtdtWvSrI5aGYQaaCHno6rBhGCpOy2IYF8HZccyJL+ugCGd/HubQn 1m2zVZbrucBh9flZTXQEkR81hmtxDs3VYDBhXQdF56rVIa8U38SmPBTqrsHqG8CNHdiV MWYKR9jKiOcS/dD1QeBDIwwZDdE3hQI+bP3VvV8TDd5KVdokIIYQHMds6nvLbEpMMirK J+jw==
X-Gm-Message-State: AOJu0YzqtSRkS/t6eCd05dURv77oiVPkmdn9LBuBo351V8x9m4eDlbd4 ZPqf/xqZKjjWfRruK+I1hCh5tJtx1AuoIStjsbNn8kfjXe3LpWbi6RENfMPOxhYY3TmN0t3djQn eEToABvkMJMN+cmp2QJB2SistDTUTjaDeFRkQssfxxOUAnGpxeUM=
X-Google-Smtp-Source: AGHT+IFUXgg0Q6DZ14uM8Qh4L6pNF86NNcBqLmbhAV7ucYdRUETM6zQqmGd+YaHhry5EuSZsXT/gt9sMme3f/stCeyY=
X-Received: by 2002:a17:90a:300d:b0:2c9:9530:304a with SMTP id 98e67ed59e1d1-2ca35bdeafdmr5362820a91.9.1720632453841; Wed, 10 Jul 2024 10:27:33 -0700 (PDT)
MIME-Version: 1.0
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 10 Jul 2024 10:27:22 -0700
Message-ID: <CABCOCHRgebXZ6hpe=Tdifenr7TAi7GqxL8TyWoPvFjeejnwnpw@mail.gmail.com>
To: Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000336482061ce7f633"
Message-ID-Hash: O5SKCJMGAVRZYTLF4QK3K65M74ZKIYQS
X-Message-ID-Hash: O5SKCJMGAVRZYTLF4QK3K65M74ZKIYQS
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
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [netconf] questions about draft-udp-notif-14
List-Id: NETCONF WG list <netconf.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/29iygLmQ01P0uyzN9gmaVSJDLlI>
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 am trying to implement this draft
https://www.ietf.org/archive/id/draft-ietf-netconf-udp-notif-14.html

General:

The intended use of this protocol seems to be where a server creates fixed
size reports
and the server knows the report size. This is difficult if a report
includes nested
YANG list entries.

YANG Push is used for multiple purposes, including datastore replication.
Initial or resych payloads can be very large.  Datastore changes are subject
to YANG validation so they cannot be refactored into many tiny transactions.

Streaming servers may not know the exact entries or the sizes in advance.


1) IP fragmentation

Even though a UDP segment is about 64K bytes, the max-segment-size
is the real fragment length. (e.g. about 1200 bytes)

An implementation of this specification SHOULD NOT rely on IP fragmentation
by default to carry large messages. An implementation of this specification
SHOULD either restrict the size of individual messages carried over this
protocol, or support the segmentation option. The implementor or user
SHOULD take into account the IP layer header size when setting the
max-segment-size parameter to avoid fragmentation at the IP layer.ΒΆ
<https://www.ietf.org/archive/id/draft-ietf-netconf-udp-notif-14.html#section-4.1-6>
2) Segmentation option

Only 32767 segments are allowed for the entire message which is about 40MB
if IP fragmentation is being avoided.

Segmentation can be disabled by the client on a per-receiver basis.
Each receiver can set its own max-segment-size.
This is difficult and expensive to implement.
Expect that servers will reject complex configurations and clients will
need to read the user documentation (not the RFC) to know what is supported.

If enable-segmentation=false then the server may reject this setting.
IMO the protocol is not useful with a max payload of 1 IP packet.
The YANG Patch overhead alone can take up 100s of bytes.
Expect that a server will reject a configuration attempting to set this
parameter to false.

3) Overflow indication
There is no way for the server to indicate that the push update is truncated
and should be discarded. A streaming server may not know how many segments
are left for the current push update.

4) Application Layer
NETCONF already has an application layer and application message framing.
The UDP "application' is not clearly defined. It seems to just be "the
notification message from NETCONF".

5) Implementation details
For client/server tools that already support notifications, there
is very little code reuse possible.  Code that uses the base:1.0 or
base:1.1 message framing cannot rely at all on the transport protocol
for proper framing.

We are looking at using the NETCONF base:1.1 encoding with enhancements.
The "NETCONF stream" encoding solves every problem mentioned above,
except overflow indication, because that can never happen.

Andy



ReplyForward