Re: [Cbor] changes in draft-ietf-cbor-network-addresses-05.txt

Michael Richardson <mcr+ietf@sandelman.ca> Sun, 01 August 2021 22:21 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 1D6FC3A157A; Sun, 1 Aug 2021 15:21:47 -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 X2Sc2ctso9ww; Sun, 1 Aug 2021 15:21:44 -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 1AD593A1577; Sun, 1 Aug 2021 15:21:44 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id 9F2A238A25; Sun, 1 Aug 2021 18:25:46 -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 QlqYG8skB-pX; Sun, 1 Aug 2021 18:25:42 -0400 (EDT)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id 7D6C638A24; Sun, 1 Aug 2021 18:25:42 -0400 (EDT)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id D9BA0B24; Sun, 1 Aug 2021 18:21:36 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Brian E Carpenter <brian.e.carpenter@gmail.com>, Erik Kline <ek.ietf@gmail.com>, "cbor\@ietf.org" <cbor@ietf.org>, 6MAN <6man@ietf.org>
In-Reply-To: <b5f1c62e-4aa4-a397-8777-b3ec0eeafccc@gmail.com>
References: <162608928922.11086.12172415971165753394@ietfa.amsl.com> <29067.1626090045@localhost> <CAMGpriUnfMjhk7teAN-A0j5SCK=BpyJEDC+NOCJtHzmF1BFeow@mail.gmail.com> <aa9884b5-fd58-60cb-fa1d-b2d76f5a09a1@gmail.com> <VI1PR07MB6256E2C9CC9565FF2F080B5DA0E89@VI1PR07MB6256.eurprd07.prod.outlook.com> <c2c7a576-e138-1364-5ed0-a2987c1c1974@gmail.com> <20210727210706.buavt5nwairrjblf@anna.jacobs.jacobs-university.de> <e889a219-26b2-2a2e-6d05-bb6c7db1f89d@gmail.com> <20210801113001.yksklfouoz6v4hvz@anna.jacobs.jacobs-university.de> <b5f1c62e-4aa4-a397-8777-b3ec0eeafccc@gmail.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: Sun, 01 Aug 2021 18:21:36 -0400
Message-ID: <27179.1627856496@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/gemGBe0S59CxFTeNbQ_V_ybKoHI>
Subject: Re: [Cbor] changes in draft-ietf-cbor-network-addresses-05.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: Sun, 01 Aug 2021 22:21:47 -0000

Brian E Carpenter <brian.e.carpenter@gmail.com> wrote:
    > On 01-Aug-21 23:30, Jürgen Schönwälder wrote:
    >> The description statements in RFC 6991 talk about a zone index, i.e.,
    >> they assume the zone index is numeric (which kind of follows from my
    >> reading of RFC 4007).
    >>
    >> The pattern is flexible enough to accept a string as well (e.g., an
    >> interface name). In other words, a server may accept 'fe80::1%lo0' as
    >> valid input on an edit-config put it will return 'fe80::1%0' on a
    >> get-config since the numeric zone index is the canonical format
    >> (assuming the lo0 interface has the interface index 0).

    > This still makes me uncomfortable. The zone identifier syntax definition.
    > in RFC4007 is pretty vague. If an implementer chooses to ignore the
    > SHOULD on page 16, it seems that a valid name for interface index 7
    > could be "6". That's why "canonical" is a bit weak. (Neither Windows
    > nor Linux allow anything that silly, of course.)

Is this what you mean... picking on an interface I'm not using today:

%ip link ls dev virbr0
15: virbr0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:14:c7:73 brd ff:ff:ff:ff:ff:ff
%sudo ip link set name "15" dev virbr0
%ip link ls dev virbr0
Device "virbr0" does not exist.

%ip link ls dev 15
15: 15: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:14:c7:73 brd ff:ff:ff:ff:ff:ff

    > An implementation SHOULD support at least numerical indices that are
    > non-negative decimal integers as <zone_id>.

Oh.

%sudo ip link set name "-15" dev "15"
%ip link ls dev -15
15: -15: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
    link/ether 52:54:00:14:c7:73 brd ff:ff:ff:ff:ff:ff

    > An implementation MAY support other kinds of non-null strings as
    > <zone_id>.
    > ... the format MUST be used only within a
    > node and MUST NOT be sent on the wire unless every node that
    > interprets the format agrees on the semantics.

:-)

    > Remotely, there is no way to know that on my Linux machine,
    > %wlp2s0 and %3 are the same thing.

Agreed.
But, SNMP and YANG know.
So if you are doing CORECONF, then you might want to encode stuff.

And if you want to set an IPv6-LL address for a daemon to listen on, then you
need the scope.  That seems to be the place where we need this, and this
would seem to be the use case.

(Looking back at my code involving IPsec configuration over LLv6, I see that
actually, I am in trouble if v6LL addresses are ever duplicated, as I don't
send the scope)

For the Interface form, adding a third (optional) field for scope is easy.
I am open to suggestions for handling the Address format.

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