Re: [Cbor] I-D Action: draft-ietf-cbor-network-addresses-04.txt

Michael Richardson <mcr+ietf@sandelman.ca> Mon, 26 April 2021 00:06 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 833C43A03FE; Sun, 25 Apr 2021 17:06:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, 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 GTADX3Y8NcrX; Sun, 25 Apr 2021 17:06:22 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [IPv6:2607:f0b0:f:3:216:3eff:fe7c:d1f3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 47CC33A03FB; Sun, 25 Apr 2021 17:06:22 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id BE01338BA6; Sun, 25 Apr 2021 20:14:18 -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 y_JzY3eeUG41; Sun, 25 Apr 2021 20:14:18 -0400 (EDT)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id 5411538BA5; Sun, 25 Apr 2021 20:14:18 -0400 (EDT)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 9D07D486; Sun, 25 Apr 2021 20:06:19 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Ole Troan <otroan@employees.org>
cc: cbor@ietf.org, 6man@ietf.org
In-Reply-To: <C3A4A868-4B39-4428-93AA-D0B88F79B9BD@employees.org>
References: <12496.1619216560@localhost> <C3A4A868-4B39-4428-93AA-D0B88F79B9BD@employees.org>
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: Sun, 25 Apr 2021 20:06:19 -0400
Message-ID: <14010.1619395579@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/enqKNVdm1MOrHpk04Lue94HiIac>
Subject: Re: [Cbor] I-D Action: draft-ietf-cbor-network-addresses-04.txt
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: Mon, 26 Apr 2021 00:06:28 -0000

Ole Troan <otroan@employees.org> wrote:
    > - for 261 I would at least include those arguments and make it clear
    > when to use or the other

I'm not sure it's fair to criticise 261.

    > - so you don’t want to support the commonly used shortcut of specifying
    > both and address and a prefix in one?

I don't understand your suggestion.
    X - address
[n,X] - prefix

    > - in ip agnostic code I often find I just need an IP address instead of
    > having to care if it’s 4 or 6. It would therefore be nice with a
    > general IP address and ip prefix type too.

So, I think that I've done this.

When you find that you need a v4 or a v6 in your schema, you would just write
"IPaddress", and then let the tag tell your decoder whether it was v4 or v6.

I used this CDDL in my use case:

IPaddress = #6.260(v6addr) / #6.261(v4addr)
IPsubnet  = #6.260([prefixlen, v6addr])
          / #6.261([prefixlen, v4addr])
prefixlen = uint
v6addr    = bytes .size 16
v4addr    = bytes .size 4

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