Re: [netconf] [Technical Errata Reported] RFC8040 (6271)

Andy Bierman <andy@yumaworks.com> Wed, 02 September 2020 14:42 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 BD58B3A0E0F for <netconf@ietfa.amsl.com>; Wed, 2 Sep 2020 07:42:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.887
X-Spam-Level:
X-Spam-Status: No, score=-1.887 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham 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 1mHyWt1-jo3c for <netconf@ietfa.amsl.com>; Wed, 2 Sep 2020 07:42:33 -0700 (PDT)
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [IPv6:2a00:1450:4864:20::236]) (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 C138D3A0825 for <netconf@ietf.org>; Wed, 2 Sep 2020 07:42:32 -0700 (PDT)
Received: by mail-lj1-x236.google.com with SMTP id h19so6187458ljg.13 for <netconf@ietf.org>; Wed, 02 Sep 2020 07:42:32 -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=jhJ2V4nrh/VUw5aI6Mp25ptO4xaB2Ynelkn+DFKpa9E=; b=PisRKLA33Hh70HJcoiGLc5DUReGorEDoHoQnfssXaBFUgxRWGowcbe6e6KuAqaWJ8E lSws9lFAQy2uE9spIzHsUiKsquav76/uNAEzZ97e9DBaUPvgWTHtoSimfAnrta7JMDCW jLbYg4/AIIYvDAmqXPmVT/t1uivXNfYyLk+c9Glxeuh1+xt1pN2zMYig5NIXsscYjRQC j8adAZ1YXQHpyjinn/ihYnJkj0EAv8rHz6LMl3G65JTjUX6PyOcPz482DUOqH7c3h8gZ pjRC+N58GDWBAX6xlTeTk4jaqtKZlWNgQeTZJthRZ2dtE8CFimvX4OZ6GMMLoiGaYgUL Xz2Q==
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=jhJ2V4nrh/VUw5aI6Mp25ptO4xaB2Ynelkn+DFKpa9E=; b=ffA8rLWlpsa+yfuz/QAekabXEuIfKe9gAabFuhFSQO3dc3Z5lyhA/cK7EFXeSYiBO3 tgnj4Dvewi00gVjOqZ9lDPk/D2I8MdbhjmSKB6lQl0yREHUQ5xzR4I/8a+RJK+4D+u5g xijrqICfXpu6hJI44jIlaMsicfnZ7xmWBzu9loZvDDGv/Een+6t5rZ0ZPiY8NHFGtt2u zMtLk2YZinOp5NCbgFAwVEbBqPHfVKekX1g9XoOLeO9my6KxSa3K1PBU/2fJsL4tqDLx xN062dbR048Okg8jo93nr3WqvgBqrFiY3LWzpRGv+B00uHSpKh0fqqhmniqDx7LMFVSY AJjw==
X-Gm-Message-State: AOAM53372mb0wLxd3wwg6n7hRDZvUECfYg3OlbtroJUFUdcSBPO9Qtcc OziuV019asHmOgUZaxugTkpZaUQyQcNzS/rE6mmEVw==
X-Google-Smtp-Source: ABdhPJw3rD+X91jUAAwcmY5Lwz0JeNH0OCETeKeSpmAK1ovNrhzA2FccL7tvPHKDDSv8oFcltTWt/TT+Sbie2cxN4bw=
X-Received: by 2002:a2e:7c14:: with SMTP id x20mr3710982ljc.220.1599057750623; Wed, 02 Sep 2020 07:42:30 -0700 (PDT)
MIME-Version: 1.0
References: <20200901173726.8E404F40785@rfc-editor.org> <20200902.082718.1225293218517439729.id@4668.se>
In-Reply-To: <20200902.082718.1225293218517439729.id@4668.se>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 02 Sep 2020 07:42:19 -0700
Message-ID: <CABCOCHRTsyju+3e1jUSTzFswpvG5KzARWyQXM_M8AukxJqPkZw@mail.gmail.com>
To: Martin Björklund <mbj+ietf@4668.se>
Cc: RFC Editor <rfc-editor@rfc-editor.org>, Kent Watsen <kwatsen@juniper.net>, Warren Kumari <warren@kumari.net>, Robert Wilton <rwilton@cisco.com>, Kent Watsen <kent+ietf@watsen.net>, Mahesh Jethanandani <mjethanandani@gmail.com>, Netconf <netconf@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000033a21905ae55a58b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/g2OV-wjz5Og1b0UZxQNir2MYTGw>
Subject: Re: [netconf] [Technical Errata Reported] RFC8040 (6271)
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: Wed, 02 Sep 2020 14:42:35 -0000

On Tue, Sep 1, 2020 at 11:27 PM Martin Björklund <mbj+ietf@4668.se> wrote:

> Hi,
>
> RFC Errata System <rfc-editor@rfc-editor.org> wrote:
> > The following errata report has been submitted for RFC8040,
> > "RESTCONF Protocol".
> >
> > --------------------------------------
> > You may review the report below and at:
> > https://www.rfc-editor.org/errata/eid6271
> >
> > --------------------------------------
> > Type: Technical
> > Reported by: Kent Watsen <kent+ietf@watsen.net>
> >
> > Section: 4.5
> >
> > Original Text
> > -------------
> >    The "insert" (Section 4.8.5) and "point" (Section 4.8.6) query
> >    parameters MUST be supported by the PUT method for data resources.
> >    These parameters are only allowed if the list or leaf-list is
> >    "ordered-by user".
> >
> >
> > Corrected Text
> > --------------
> >    The "insert" (Section 4.8.5) and "point" (Section 4.8.6) query
> >    parameters MUST be supported by the PUT method for data resources.
> >    These parameters are only allowed if the target resource is a
> >    non-existent entry of an "ordered-by user" list or leaf-list.
>
> I don't think this is correct.  The new text makes it impossible to
> move an existing ordered-by user list entry, which should be
> possible.  4.8.6 says:
>
>    The "point" query parameter is used to specify the insertion point
>    for a data resource that is being created or moved within an
>    "ordered-by user" list or leaf-list.
>
> See below.
>
>
> > Notes
> > -----
> > First, Section 3.5 (Data Resource) says that "list" and "leaf-leaf"
> > are not a data resources:
> >
> >   A data resource represents a YANG data node that is a descendant node
> >   of a datastore resource. Each YANG-defined data node can be uniquely
> >   targeted by the request-line of an HTTP method. Containers, leafs,
> >   leaf-list entries, list entries, anydata nodes, and anyxml nodes are
> >   data resources.
> >
> > Second, these query parameters only make sense when targeting a
> > non-existent entry.  If the entry does not exist, then PUT is being
> > used like a POST: to create and place an item in an ordered list.
> > However, if the entry exists, then PUT is being used to both replace
> > the contents and (presumably) re-place the order in the list; but this
> > doesn't make sense because:
> >
> >   1) "insert" defaults to "last".
> >   2) there is no "insert" value to indicate "keep existing placement".
>
> I think this is the real problem.  It should be (and the intention was):
>
>   1.  if "insert" isn't present and a new entry is created, the new
>       entry will be appended to the end of the list.
>
>   2.  if "insert" isn't present a an entry is modified (PUT), the
>       entry keeps its place in the list.
>
>


Agreed.  So the errata only applies to the  "insert" query parameter.




> /martin
>


Andy


>
>
>
>
> >   3) having to concoct valid "insert" and "point" values is hard.
> >
> > Thus indiscriminate PUTs would move entries to the end, which can't be
> > desired...
> >
> > Instructions:
> > -------------
> > This erratum is currently posted as "Reported". If necessary, please
> > use "Reply All" to discuss whether it should be verified or
> > rejected. When a decision is reached, the verifying party
> > can log in to change the status and edit the report, if necessary.
> >
> > --------------------------------------
> > RFC8040 (draft-ietf-netconf-restconf-18)
> > --------------------------------------
> > Title               : RESTCONF Protocol
> > Publication Date    : January 2017
> > Author(s)           : A. Bierman, M. Bjorklund, K. Watsen
> > Category            : PROPOSED STANDARD
> > Source              : Network Configuration
> > Area                : Operations and Management
> > Stream              : IETF
> > Verifying Party     : IESG
> >
> > _______________________________________________
> > netconf mailing list
> > netconf@ietf.org
> > https://www.ietf.org/mailman/listinfo/netconf
>