Re: [babel] [netmod] NULL value for uint16

tom petch <ietfc@btconnect.com> Wed, 15 September 2021 09:05 UTC

Return-Path: <ietfc@btconnect.com>
X-Original-To: babel@ietfa.amsl.com
Delivered-To: babel@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B14823A0784; Wed, 15 Sep 2021 02:05:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=btconnect.onmicrosoft.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 Kopeho1UC0lj; Wed, 15 Sep 2021 02:04:57 -0700 (PDT)
Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00121.outbound.protection.outlook.com [40.107.0.121]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AE5083A0781; Wed, 15 Sep 2021 02:04:55 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UkOAezR7lCemSGLBYWa9t2VTuKlQw1+F5RLtFYamU1fxCkB833nIDi9YAWswieM0BWgQIQrf/E7RJ1tH7F4mfHih2r0fqmm37e+dFt/OUH1eUkk+RMHQFXkJQ3cy5P2SLAags/7rmT73bFay3Xmlb0kmNx1t44RRV/ujO0oHZZMPRHFpieHTePxVoKRzOcyronVRrbXXoQbv/sG48etuH9704jHYNLssCtm9/j53EEycbdfdl6ukqT6LWI2T3S9ukZK8wepfd0E0zsaZK3R6ICjiBQ2x4taDroazJPY8qfzJWB/ca1sskJvne1oxin8KgagN5jLydJ9hX68jucJubA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=rYPdTqoqvSB7rrC2bU7yRW4sfphsHdm9+QY3zC4KKAg=; b=Gk5yE3HM/fEZishihqfx4LQqw4hgGrsuYGXlOg8M7xdX7wfgWHsU7GgW4ZUbgJBRDHQavMsRZ5qwi1rfh0qoBHIerOwlS1wvGccElvXyI9yvtYyAI/UbTWZp93IX9ykKOx9wowkn/En2rTy18tSWFDM+a+bZkqi/meMAMvWkAdlXcFQFm9riKPq8DlK6AqEXILnaws38a30O5wCS+Wm3Vc89AesgoYILrQEi3maGtXeQ3AawUmCRcYdLkAxwMfp0wnZnzE86c9r1RRzVBrJkGoNyWSfemaoA5XdCImh8nG+4UJZYmvxsvsHcwMdcDXXNOuT0IFqtrVF4VoIcaXiw9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=btconnect.com; dmarc=pass action=none header.from=btconnect.com; dkim=pass header.d=btconnect.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector2-btconnect-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=rYPdTqoqvSB7rrC2bU7yRW4sfphsHdm9+QY3zC4KKAg=; b=IBUu5C1r9RxZn4G0SYm7b4jz/EWGFOO4jePsc8VbUsMKKXHzMYS7gS5prOI6MSFzu2liJroBfCo3Ed5w5Qaqo17CCaz98dRwFp1Lz2QFjyb4bac7sDm7ZAevBMr+BgNaHTFUYesPu0voy14S88yNo42aQnRvoLa7KQjIkdzFC2w=
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com (2603:10a6:20b:134::11) by AM7PR07MB6771.eurprd07.prod.outlook.com (2603:10a6:20b:1bd::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.9; Wed, 15 Sep 2021 09:04:53 +0000
Received: from AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::b9c8:47dd:34f0:7180]) by AM7PR07MB6248.eurprd07.prod.outlook.com ([fe80::b9c8:47dd:34f0:7180%6]) with mapi id 15.20.4523.014; Wed, 15 Sep 2021 09:04:53 +0000
From: tom petch <ietfc@btconnect.com>
To: Carsten Bormann <cabo@tzi.org>, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
CC: Babel at IETF <babel@ietf.org>, "STARK, BARBARA H" <bs7652@att.com>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: [netmod] [babel] NULL value for uint16
Thread-Index: AQHXqbx6XHQZrsqAPkC+IB0mU/gF2aukM+mAgACWyoM=
Date: Wed, 15 Sep 2021 09:04:53 +0000
Message-ID: <AM7PR07MB62485B09ECE52AE1C4154B29A0DB9@AM7PR07MB6248.eurprd07.prod.outlook.com>
References: <20210910200902.bic4rhyhp75bgsjz@anna.jacobs.jacobs-university.de> <BBC6AA9F-86C1-4A9C-86FD-AD77668CA9D9@gmail.com> <20210913200455.xot7lihpmqiemm5c@anna.jacobs.jacobs-university.de> <DM6PR02MB69248D2780D5C880CC647783C3D99@DM6PR02MB6924.namprd02.prod.outlook.com> <AM7PR07MB6248BBB558136D1E6F8C1549A0DA9@AM7PR07MB6248.eurprd07.prod.outlook.com> <DM6PR02MB692446F49506791E90B0D23EC3DA9@DM6PR02MB6924.namprd02.prod.outlook.com> <20210914171729.ph5q77zm46z3zvxi@anna.jacobs.jacobs-university.de> <FAE5986C-BE56-44A9-A6A5-1A37D9539F61@tzi.org> <20210914191618.khcicr6o4x5sdki3@anna.jacobs.jacobs-university.de> <21E40C00-5C1B-4C54-9CDB-B99AC14B1F3E@tzi.org> <20210914235319.is4x5nzuqdz26dv4@anna.jacobs.jacobs-university.de>
In-Reply-To: <20210914235319.is4x5nzuqdz26dv4@anna.jacobs.jacobs-university.de>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
suggested_attachment_session_id: 892b172e-0799-5889-a2d3-05eb62545ac4
authentication-results: tzi.org; dkim=none (message not signed) header.d=none;tzi.org; dmarc=none action=none header.from=btconnect.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 24c4141f-0d19-41d0-6491-08d97827e1b0
x-ms-traffictypediagnostic: AM7PR07MB6771:
x-microsoft-antispam-prvs: <AM7PR07MB6771A95B05AE8831E8B0A81EA0DB9@AM7PR07MB6771.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: QLP6Nq7UvbUDkl/qf9HxP+pp/B+9turxko0bMmEexU/2YIZkvd4ZuhyZcw5cQk6YkJHQ/TRg7e97ywEOaZ1XJkG/zko46k+Ul/Ky9acqAvz1+FQJeFunQD4mMlE5/i2PXILbCrkqtS55MDpv3gNJ6Po3OvSFqXY5efJwf3nSQUS1BCKU0XHsnfjtWBY/Wl6Fi92VQD+OIRNiwRsivu4O2mdsZ/3Gtlte7cMZJZbLNtacQ9RIaBkuSSOoIXn2H8tKe9s731E6wye45vaxY7djhPGpzEqzTctnupM9LKqOThx1IHiB11qDaFhazr5wIYuR2xKIgXEE78/GHK5R2jn0vsLqkpr9nKO1C+caWPIl8Q+BY/EU58kg0eXbWmfbLkxqRduLc53TT0V3bzZ0lSlVi1KGfJDFJhtERW74moheCBlY0Wk6uTI/DoghqsIcfCV5ziT6EBef3V7u3W2HmttGI9mpoSVzJ3mYN4e6g6tXlr5oJa4il6g98XyOhEzjtePgRn0lvWpYwUyaRPaQx5Lf2teoQqSbU94sHUXJrOnl0pei2+m1HQDazaRvqqOGLfzdmzSPyQrNJzHu9SQX1gvdFCiajWbwOjctMZv0LMNVmqIBc3Gc+33eyx+oqgjlMQTeNC1eJsVFbuaCIdU+nEQXaA6bEXWTVaXN97FqVlza+f+TZY8aAwFmsjBoG0tWBxqf8IS/r6DG3lP0I04iT4+bgoSYURKUHpKYl9WXIZ5wU2HJBKGTfTjr8zaK3ghwb4EkcCEeSMR+28IqFkzkMIWlrA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM7PR07MB6248.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(396003)(366004)(39860400002)(346002)(136003)(376002)(316002)(6506007)(66574015)(9686003)(7696005)(33656002)(55016002)(186003)(86362001)(40140700001)(5660300002)(83380400001)(76116006)(66946007)(64756008)(66476007)(54906003)(66556008)(66446008)(966005)(478600001)(38070700005)(8936002)(91956017)(2906002)(52536014)(26005)(122000001)(8676002)(38100700002)(71200400001)(4326008)(110136005); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 1w/ISZcrFI79wIMFF+1XACel84s9BLwtUm9cE5miqv52OBjo0VucJG6LYQ9fsC1BfkpTit0pB3y4RX1Uw7PSpKRTqri/+Bw8mLzZpRM5zdIngl5+zrbZTKCadb0OKmL3jqX/MMXSxeiOGqUuwi9J+iwiCP2927jWuVjmUNTkr/BopS4s/YDgWuMZDjxQPwFNJUfWZnAlMvKNkFct/zEfOyFutfIDr3WjGBMfZUubdgwcTeMo2dFn7Tvb92bQhSO56p7c7bxf1UUea2fJYM68BCqDeC3iCmBHRyaBUMie22DsOsJHiocFIAkrjm7d7EfLUrRWOJ0ONgq8djwZO6QG96SHK9qbN3EFTDCt2vUO/aTB69tYTkdTaNYkLaP6VCuNhOLTQg5j4ps+uJKO2XLytOzz9LtVwh7CzcXEjFpkHAcfUvIvjgjN2dTYunflpJg2VGYlM523MBGiTNgBAfevxziWcAn11ctpcRtLvpUFAaU3YWqRY2QTTA2NTvUjux/FVx5csP2vyDJ/iwLUAbnQ+Hgk6Jzrpcv0YNyNGYoadK4dk3cqodd4LsBte+MfD5qsoynBRyc10dWnMv/pKFqOxoI40loH46u8wIkr7+6NAl+resvwJa1sS/rnwrZNEkJwEf7G91LNcENcFUpF0hJCWvk69huD4Czh86eptsqRRj8O3YCV7Axqd+dgseF1Wd0FlV6bVlgPuravtdRlSajpVoX+zIz4X7Wc2IbD3ll5Ypi0aIaej6DkF2UeFQJEIdNUD1R/SSOUtVcOzMFly4Xh0NOZYHQe/BfEHD6twdghrYwaIYzi8C0XhbZ9DswV1VMXJMpurFBgDfT+ZyGtO+mTxb+lbu2hk5IWWvZ1IZFRX5bxTPD+6PsAyf8zgKuiErM0PYcO8phs7/DiT0eTd8sf7bPBeGKfaTtZJR0w59A+QlsQHboamWjP2mpsUCCxiZZUCG5Gv5pH+HUBmQRGyTl/mu0HTpR1+jsaR3t8RkvK7/TnTiZgTInirvMtil9icqZpkSDdaRcthYZZx5LnxZKdO350w/xv3fwQf7WJqH/TrHzVA42Ki1D9VOeee3kZCvnjQk37A8OZBw1pVmpmZrqWDn7hKn5NPtwGHLQgNq0OzHPCjh+kDYx4RoZ6jD+xakT3Up65B4zDC9aluWC9gIzqayyNkj0vCzNzC5Wm3Ai3TI34DRFwbQasB8oUErHvLU40eI+mH3OJQEgKrF4n+Loldrwmx/nBH5NTgbWVEpU+2lMUWIf1Gj2+/Hc8SCVemTsJPY45pqAj8l1qz/Rpdt3qO6o8GB0RG/7VTm9/am+WsqA=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM7PR07MB6248.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 24c4141f-0d19-41d0-6491-08d97827e1b0
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2021 09:04:53.3315 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: eE5P0dKAJUXm4KPlewW5ytP6dlaQG3IFdDkucPd/BOcZ+VojjiBnFvkI+xNqUR//bQUTQSvndNo4R35if9Hqeg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR07MB6771
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/O6mS55_bz8Im91eUvFwIabpxEfw>
Subject: Re: [babel] [netmod] NULL value for uint16
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <babel.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/babel>, <mailto:babel-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/babel/>
List-Post: <mailto:babel@ietf.org>
List-Help: <mailto:babel-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/babel>, <mailto:babel-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Sep 2021 09:05:03 -0000

From: netmod <netmod-bounces@ietf.org> on behalf of Jürgen Schönwälder <j.schoenwaelder@jacobs-university.de>
Sent: 15 September 2021 00:53

On Wed, Sep 15, 2021 at 01:01:11AM +0200, Carsten Bormann wrote:
> > If BBF already
> > defined to use -1, so be it.
>
> That works for me and is consistent with the information model in 9046.
>
> What I find not so great is the side effect of going from uint16 to int32.
>
> I don’t see a big difference between
> Optional-uint16 = uint16 / -1
> and
> Optional-uint16 = uint16 / empty
>
> I do not like
>
> Optional-uint16 = int32

YANG leaves the bits business to the encodings. In YANG, you can of
course use

   type int32 { range -1 | 0..65535 }

and then its left to the encodings. Im XML/JSON, -1 is 16 bits and
65535 is 40 bits - and the name of the leaf is likely worse. I am too
lazy to lookup what the CBOR encoding would do with the range...

<tp>

I am with Juergen here, and in a previous post, that if that is the way it is done in BBF, then that is a compelling reason to do the same.  

Also, you can create a typedef for it, in one place in the model with a description, both in the YANG and in the body of the I-D, and then use that type in all the places that it applies, which, for me, makes for a clearer, easier to understand model.

I suggested boolean but agree that it is clumsy, not quite right (although I have seen it somewhere).  I suggested choice/case because that is what others do but as before, following BBF is a more compelling argument.

It also addresses the problem of access control making it a challenge to know what is going on.  The one leaf, the one object, you get it or you do not.  Simple!

And if you want to save bits, then YANG is not for you; the design aim was text that anyone could read anywhere; if you want to save bits, then you need a compact binary representation:-)

Tom Petch
(who is on European time)

  > > The alternative is to not 

instantiate the leaf if there is no value
> > and to accept that a client can't tell the difference between 'there
> > is no value' and 'the value has been suppressed by authorization'.
>
> Interesting.  I wasn’t aware that this cannot be distinguished in YANG.

I have to correct what I wrote. Its the leaf that is suppressed, not
the value.

In XML, if <foo/> does not exist, the client gets nothing. If <foo/>
does exist (and it's value is empty in this example) and authorization
rules say 'don't tell the client', the client gets nothing. A client
not getting <foo/> can't decide whether there is no <foo/> because
<foo/> does not exist or authorization prevented access to <foo/>.

Authorization is not part of YANG. NACM started as an extension to
NETCONF in order to control access to data. Initially the acronym NACM
expanded to the 'NETCONF Access Control Model', RFC 6536.  The revised
NACM also works with RESTCONF (and likely other protocols) and hence
the acronym now expands to the 'Network Configuration Access Control
Model', RFC 8341.

> But an “empty” would be present if it is chosen, no?

You grant or restrict access to <foo/> and it does not matter what
type <foo/> has or which value <foo/> has (if it is a leaf) or whether
<foo/> is the root of a deeply nested tree (if it is a container).  If
a client has no permissions to read <foo/>, then <foo/> is silently
omitted.

Things are different if a client attempts to create/write/delete
<foo/>, in this case the client will get an explicit authorization
failure error. For the details, see RFC 8341.

/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