Re: [netmod] 6021 ipv4-prefix

Ladislav Lhotka <lhotka@nic.cz> Mon, 29 April 2019 08:26 UTC

Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 74C2E12015C for <netmod@ietfa.amsl.com>; Mon, 29 Apr 2019 01:26:01 -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, 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 vFZQfeGzYoOD for <netmod@ietfa.amsl.com>; Mon, 29 Apr 2019 01:25:58 -0700 (PDT)
Received: from trail.lhotka.name (trail.lhotka.name [77.48.224.143]) by ietfa.amsl.com (Postfix) with ESMTP id 6C18C1202F1 for <netmod@ietf.org>; Mon, 29 Apr 2019 01:25:57 -0700 (PDT)
Received: by trail.lhotka.name (Postfix, from userid 109) id 6C0C3182044F; Mon, 29 Apr 2019 10:25:54 +0200 (CEST)
Received: from localhost (unknown [195.113.220.121]) by trail.lhotka.name (Postfix) with ESMTPSA id 4F509182004F; Mon, 29 Apr 2019 10:25:51 +0200 (CEST)
From: Ladislav Lhotka <lhotka@nic.cz>
To: "Acee Lindem \(acee\)" <acee@cisco.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Kristian Larsson <kristian@spritelink.net>
Cc: "netmod\@ietf.org" <netmod@ietf.org>
In-Reply-To: <B2FAF932-0BD9-42BF-BBCA-38A37F6B33C9@cisco.com>
References: <alpine.DEB.2.20.1904181128480.3490@uplift.swm.pp.se> <20190418102604.y5wyqflcudiywj2i@anna.jacobs.jacobs-university.de> <alpine.DEB.2.20.1904181251000.3490@uplift.swm.pp.se> <20190418111241.5csf5kkgwgxwtsnm@anna.jacobs.jacobs-university.de> <227a2452-69f9-6786-2643-822e70dc636d@spritelink.net> <20190425215134.pabdl3bbbjoivbaj@anna.jacobs.jacobs-university.de> <24fff697cde3ac2e0c9a09cf2dfa1153ca61bd90.camel@nic.cz> <5d6b915d-2b6b-2844-6343-5e42abe01e3b@spritelink.net> <20190426111829.6wkml53a72swxt4b@anna.jacobs.jacobs-university.de> <56a9b51c-d143-6436-7ebe-8db5f66b2fff@spritelink.net> <20190426153623.wpb4owuqsdfjc5q5@anna.jacobs.jacobs-university.de> <B2FAF932-0BD9-42BF-BBCA-38A37F6B33C9@cisco.com>
Mail-Followup-To: "Acee Lindem \(acee\)" <acee@cisco.com>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>, Kristian Larsson <kristian@spritelink.net>, "netmod\@ietf.org" <netmod@ietf.org>
Date: Mon, 29 Apr 2019 10:25:53 +0200
Message-ID: <878svtz08e.fsf@nic.cz>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/aZfS6IbG6xgR5na8cI7p1_PG08Q>
Subject: Re: [netmod] 6021 ipv4-prefix
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 29 Apr 2019 08:26:01 -0000

"Acee Lindem (acee)" <acee@cisco.com> writes:

> Hi Juergen, 
>
> On 4/26/19, 11:36 AM, "netmod on behalf of Juergen Schoenwaelder" <netmod-bounces@ietf.org on behalf of j.schoenwaelder@jacobs-university.de> wrote:
>
>     On Fri, Apr 26, 2019 at 05:07:52PM +0200, Kristian Larsson wrote:
>     > 
>     > I think the canonical representation is quite clear as is the part that the
>     > server must return data (and conceptually store) in canonical format. What
>     > is much less clear is the allowed input formats which then includes
>     > 2001:db8::1/64. I think it could be worthwhile to explicitly state this as
>     > it is a bit surprising. Unlike say the uintX types, there is no "lexical
>     > representation" section for ip-prefix (I presume because they are not
>     > basetypes and so the lexical presentation follows the base, string in this
>     > case + the pattern) that explains things in any detail. Do you think we
>     > could add some clarifications, perhaps to the description of the type about
>     > this? Or could we even add a lexical representation section with examples?
>     > Or just an examples section?
>     >
>     
>     I have added text along these lines in my sources (goes behind the
>     definition of the canonical format):
>     
>           The definition of ipv6-prefix does not require that bits,
>           which are not part of the prefix, are set to zero. However,
>           implementations have to return values in canonical format,
>           which requires non-prefix bits to be set to zero. This means
>           that 2001:db8::1/64 must be accepted as a valid value but it
>           will be converted into the canonical format 2001:db8::/64.

This just says how the canonical format works, and this is already
defined in RFC 7950. I know this particular type is a hot topic right
now, but there are other places where the canonical format may come into
play. I think that YANG readers should just understand what it is about.

Perhaps it would suffice to add a reference to the corresponding RFC
7950 section:

OLD
    The canonical format of an IPv[46] prefix has all bits of ...

NEW
    The canonical format (see sec. 9.1 of RFC 7950) of an IPv[46] prefix
    has all bits of ...

>     
>     I have added similar text to the definition of ipv4-prefix. I hope
>     that text like this clarifies the situation inline in the type
>     definition.
>
> I must admit that I think this is the worst possible
> outcome. Independent of the original intent, at a high level it is
> just not a good idea to accept the non-canonical prefix format and
> return the canonical format.

But this is how the canonical format is supposed to work! There are
other types with multiple lexical formats, and the canonical format is
basically just the Postel principle applied to the server: Be liberal in
what you accept, and conservative in what you send.

The expected server behaviour in this case can be a problem only if the
ipv[46]-prefix is (mis)used as IP address & network prefix length combo.

Lada

>
> Thanks,
> Acee
>
>
>     
>     /js
>     
>     -- 
>     Juergen Schoenwaelder           Jacobs University Bremen gGmbH
>     Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
>     Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
>     
>     _______________________________________________
>     netmod mailing list
>     netmod@ietf.org
>     https://www.ietf.org/mailman/listinfo/netmod
>     
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod

-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67