Re: [Cbor] Benjamin Kaduk's No Objection on draft-ietf-cbor-network-addresses-09: (with COMMENT)

Michael Richardson <mcr+ietf@sandelman.ca> Tue, 05 October 2021 17:04 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: cbor@ietfa.amsl.com
Delivered-To: cbor@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 350823A0DB2; Tue, 5 Oct 2021 10:04:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham 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 SFKnyplVovDD; Tue, 5 Oct 2021 10:04:22 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 14FDA3A0DB4; Tue, 5 Oct 2021 10:04:21 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id F41551809D; Tue, 5 Oct 2021 13:12:25 -0400 (EDT)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id RtaHZv_yZ3qX; Tue, 5 Oct 2021 13:12:18 -0400 (EDT)
Received: from sandelman.ca (obiwan.sandelman.ca [209.87.249.21]) by tuna.sandelman.ca (Postfix) with ESMTP id 9340D18054; Tue, 5 Oct 2021 13:12:18 -0400 (EDT)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 08ED558B; Tue, 5 Oct 2021 13:04:13 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Benjamin Kaduk <kaduk@mit.edu>
cc: The IESG <iesg@ietf.org>, draft-ietf-cbor-network-addresses@ietf.org, barryleiba@computer.org, cbor-chairs@ietf.org, cbor@ietf.org
In-Reply-To: <163337270139.24096.2858053457546637595@ietfa.amsl.com>
References: <163337270139.24096.2858053457546637595@ietfa.amsl.com>
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 26.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Tue, 05 Oct 2021 13:04:13 -0400
Message-ID: <27842.1633453453@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/EjwjIpoTboZ1xtdrm87rGIUeJIo>
Subject: Re: [Cbor] Benjamin Kaduk's No Objection on draft-ietf-cbor-network-addresses-09: (with COMMENT)
X-BeenThere: cbor@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Concise Binary Object Representation \(CBOR\)" <cbor.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cbor>, <mailto:cbor-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cbor/>
List-Post: <mailto:cbor@ietf.org>
List-Help: <mailto:cbor-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cbor>, <mailto:cbor-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 Oct 2021 17:04:30 -0000

addressing low-hanging fruit.
Other issues are going to issues.

Benjamin Kaduk via Datatracker <noreply@ietf.org> wrote:
    > This specification defines tags 54 and 52.  These new tags are
    > intended to be used in preference to tags 260 and 261.  They provide
    > formats for IPv6 and IPv4 addresses, prefixes, and addresses with
    > prefixes, achieving an explicit indication of IPv6 or IPv4.  The

    > I'd suggest saying here that the tag number is the differentiator
    > between IPv4 and IPv6 -- that could be helpful to know before we go into
    > the discussion of address/prefix/interface format.  Perhaps "achieving
    > an explicit indication of IPv6 or IPv4 by the tag number"?

Suggested accepted.

    > Section 3.1.3

    > When applied to an array that starts with a byte string, which stands
    > for an IP address, followed by an unsigned integer giving the bit
    > length of a prefix built out of the first "length" bits of the
    > address, they represent information that is commonly used to specify
    > both the network prefix and the IP address of an interface.

    > We say "full-length" down in §3.2 and 3.3 (and in the CDDL), but should
    > we perhaps also say here that this byte string need to be the "natural
    > length" or "full length" for the IP address family in question?

+ The length of the byte string is always 16 bytes (for IPv6) and 4 bytes (for IPv4).

    > Section 5

    > unused_bits = (-prefix_length_in_bits) & 7;
    > if (length_in_bytes > 0)
    > address_bytes[length_in_bytes - 1] &= (0xFF << unused_bits);

    > This looks like it's trying to be C, and the XML agrees.  I think it
    > only has the desired effect when two's-complement representation for
    > signed integers is used, though (this is not guaranteed by C through at
    > least C11, though I have not been closely tracking whether the proposal
    > to make C and C++ two's-complement-only has been adopted), and suggest
    > reformulating to something like:

    > unused_bits = (8 - (prefix_length_in_bits & 7)) % 8;

I'll use your version.

    > Section 5

    > A particularly paranoid decoder could examine the lower non-relevant
    > bits to determine if they are non-zero, and reject the prefix.  This

    > This would have to be done before the clearing done by the previous
    > snippet, of course...

Yes.


--
Michael Richardson <mcr+IETF@sandelman.ca>   . o O ( IPv6 IøT consulting )
           Sandelman Software Works Inc, Ottawa and Worldwide