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

"STARK, BARBARA H" <bs7652@att.com> Mon, 13 September 2021 21:00 UTC

Return-Path: <bs7652@att.com>
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 0189C3A0DB3; Mon, 13 Sep 2021 14:00:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 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_HELO_NONE=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=att.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 Fs6lxXkt5fYu; Mon, 13 Sep 2021 14:00:39 -0700 (PDT)
Received: from mx0a-00191d01.pphosted.com (mx0b-00191d01.pphosted.com [67.231.157.136]) (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 969133A0DB2; Mon, 13 Sep 2021 14:00:39 -0700 (PDT)
Received: from pps.filterd (m0049462.ppops.net [127.0.0.1]) by m0049462.ppops.net-00191d01. (8.16.0.43/8.16.0.43) with SMTP id 18DKt7gp043471; Mon, 13 Sep 2021 17:00:38 -0400
Received: from alpi154.enaf.aldc.att.com (sbcsmtp6.sbc.com [144.160.229.23]) by m0049462.ppops.net-00191d01. with ESMTP id 3b1a2wk50b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 13 Sep 2021 17:00:37 -0400
Received: from enaf.aldc.att.com (localhost [127.0.0.1]) by alpi154.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id 18DL0SdP011462; Mon, 13 Sep 2021 17:00:37 -0400
Received: from zlp30488.vci.att.com (zlp30488.vci.att.com [135.47.91.93]) by alpi154.enaf.aldc.att.com (8.14.5/8.14.5) with ESMTP id 18DL0KjT010690 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 13 Sep 2021 17:00:20 -0400
Received: from zlp30488.vci.att.com (zlp30488.vci.att.com [127.0.0.1]) by zlp30488.vci.att.com (Service) with ESMTP id 6BE094005958; Mon, 13 Sep 2021 21:00:20 +0000 (GMT)
Received: from GAALPA1MSGEX1DA.ITServices.sbc.com (unknown [135.50.89.114]) by zlp30488.vci.att.com (Service) with ESMTP id 198D84005955; Mon, 13 Sep 2021 21:00:20 +0000 (GMT)
Received: from GAALPA1MSGEX1DF.ITServices.sbc.com (135.50.89.119) by GAALPA1MSGEX1DA.ITServices.sbc.com (135.50.89.114) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14; Mon, 13 Sep 2021 17:00:19 -0400
Received: from GAALPA1MSGETA01.tmg.ad.att.com (144.160.249.126) by GAALPA1MSGEX1DF.ITServices.sbc.com (135.50.89.119) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.14 via Frontend Transport; Mon, 13 Sep 2021 17:00:19 -0400
Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.171) by edgeal1.exch.att.com (144.160.249.126) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.14; Mon, 13 Sep 2021 16:59:44 -0400
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fYw15D/c8C91cgrq9TwX7Utm8hBBlDV4nplAl3MeFZchU+ExnS/BBYxH8ps15dmgmvpa1GidOjeS1kyBVPjLVEVQRqypMMR7RwwmSS+LLYKeMKN8IN0DpWNbG92chg7XlwCay8L0uJXx4GCCH6EUUwi2FBlrLWgX8rGKl1YuxBLWQEt7J4/3PlrZMisFt6idChfp1cHrGdYycNiWNzWbAqv+DbvoE2xgTFjf+Asl8KaNgdjttk5+zk6iV9fyWivka3Ex4sZCbeEb95KZKhqLZuLzmQ84/HChclhtMMsCiTAYyqGXwlKkvwTUsv1ATMVw12wm3LHdC7//I/VcTRd4nw==
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=D896RvXowY/Q09N2vnCJOWRqP07uZiiHLlkLqhYMUY4=; b=Y/notXcZF5DqucDUq2X/9PFD1SlTDYo+1tfZd1XR4DOip03R3TJi1b08MgNziMTrxIPFyNboce4inqEt+WWiSUB5kZWb5ltXVGly7d6m5Ic8yFMe62GQWzqupvss90UMOC5Jpazzy+jq6eKb0F/wvAVstpLWtihNa7l+wSUmDSHZ3r7EkuSQagyLLCss0T17Xv8PUuya0R0WN31RADgI1yBHLUsZclAT8W+A2YYky23lRaJXVBV2LJsYl2+cUYX64Phk7Y+YOV7czN30L+kQKDWPPVg3+yHZA517itkFAuvUNnvRg845FbY4S/HceNqGeKXv/gf118zF9YzkrjFLsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=att.com; dmarc=pass action=none header.from=att.com; dkim=pass header.d=att.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=att.onmicrosoft.com; s=selector2-att-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=D896RvXowY/Q09N2vnCJOWRqP07uZiiHLlkLqhYMUY4=; b=i5415+k3fiaLjOcJ3CiK3i484p+8hf15uOwoz3aXMJj9pEEMez9y7rIo2ba4udn9ovASJufhO6DHN6A88kQWZSR4izdfqZUTIhUet70HiyOW81TqLiNUi4vXOSfYjgwPOpd8zovb1+YWEg271NMaBosFkviQE0FdkBDXMeAzniI=
Received: from DM6PR02MB6924.namprd02.prod.outlook.com (2603:10b6:5:25f::7) by DM6PR02MB4522.namprd02.prod.outlook.com (2603:10b6:5:24::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4500.14; Mon, 13 Sep 2021 20:59:37 +0000
Received: from DM6PR02MB6924.namprd02.prod.outlook.com ([fe80::ddec:9436:4971:5d1e]) by DM6PR02MB6924.namprd02.prod.outlook.com ([fe80::ddec:9436:4971:5d1e%4]) with mapi id 15.20.4500.019; Mon, 13 Sep 2021 20:59:37 +0000
From: "STARK, BARBARA H" <bs7652@att.com>
To: 'Juergen Schoenwaelder' <j.schoenwaelder@jacobs-university.de>, 'Mahesh Jethanandani' <mjethanandani@gmail.com>
CC: 'Lou Berger' <lberger@labn.net>, 'Babel at IETF' <babel@ietf.org>, "'netmod@ietf.org'" <netmod@ietf.org>
Thread-Topic: [babel] [netmod] NULL value for uint16
Thread-Index: AQHXqNihIrcFo1oLfEe9EUg7P5BeQKuiY4yAgAAA5WA=
Date: Mon, 13 Sep 2021 20:59:37 +0000
Message-ID: <DM6PR02MB69248D2780D5C880CC647783C3D99@DM6PR02MB6924.namprd02.prod.outlook.com>
References: <AM7PR07MB624802516EFB174B6912C5DAA0D69@AM7PR07MB6248.eurprd07.prod.outlook.com> <20210910121430.kofyvd2q3ludm2pk@anna.jacobs.jacobs-university.de> <AM7PR07MB62482A4271AF1CA5013EB136A0D69@AM7PR07MB6248.eurprd07.prod.outlook.com> <b1b1cd18-537f-561f-dcb1-9aca41b7d3c9@labn.net> <20210910200902.bic4rhyhp75bgsjz@anna.jacobs.jacobs-university.de> <BBC6AA9F-86C1-4A9C-86FD-AD77668CA9D9@gmail.com> <20210913200455.xot7lihpmqiemm5c@anna.jacobs.jacobs-university.de>
In-Reply-To: <20210913200455.xot7lihpmqiemm5c@anna.jacobs.jacobs-university.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: jacobs-university.de; dkim=none (message not signed) header.d=none;jacobs-university.de; dmarc=none action=none header.from=att.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 85b6f33c-d5d1-4f81-9a5a-08d976f965d7
x-ms-traffictypediagnostic: DM6PR02MB4522:
x-microsoft-antispam-prvs: <DM6PR02MB45228F771B44C97EEE7B24E7C3D99@DM6PR02MB4522.namprd02.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: aNjcpqLYCzfPrgDUgLtAylrMxTJ0pfz1OiWsT4Lute4Bvd8qLhzHg7Xe3N3qBn6+zXtodPqAu2wJ0jQ8f4ucBcFgP1A1bLP2NdfJNoCtLKttqtvu8avf8Bc+wAybvrLofPooK0hySWcUhIVEm+F2BV4v+Ce8XgVUiWPxhnsJ6JYbQLc/6dGpRZ/tbF1taKy3xYllKhJ/9Hm6ivMLv1fhgwHyHc1Uu1irOlXTFpW/R1mpc9LIK3iGl4voQvBlu5A16ta3L2dt7FrSAmy8SHSWZF+C3PYbT0mQ4FfAANPfzMXJdlhVcyQ0vzh0KTLS627ftMvzDj2QyB2UfKYLk8/nVQQFaDPOHDTrlWuJYsxYUU4LOrxoF/yHca00PBfYYzx8Ec7hBmDY/0qj3B0ePRO5aR2r+82JND4dFDdTXCP3mf/HfzpgGERXom+Kh/FBL36T2H8p6M73wqz6n1CzEhGoc41pIPMw+b1zFWgF0Di+00jBcovIyezrXaJxZup372CIG3ZSyIggZ6QZNt2f3H5jCy4b/LhrA+G5VBw3aODEXmxQsQTfTaqJKSb7mPq8Htd6dkRV/l+r1mgNR55bYT8rYCx43p+l5SRpBJMknRjFC7cYuQraaOaAc0HDmUarq/dfiNUT3vRTLnCcNfs3UWCOwen1e8zVNsm4UVhW+H9xpStJQDjjHI253W7iMW2thCgxM0Q5LfYoW4bcoipkT8bptJmlh6eMB5dv5M/QUiPPQltkxM7pa1z+sHIHsGI9ExvMsrDgoaof+kWy4mvDJPzhPHgwtej4P715fdo/+az/pF0=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR02MB6924.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(396003)(39860400002)(376002)(136003)(346002)(52536014)(478600001)(83380400001)(53546011)(86362001)(8936002)(33656002)(55016002)(186003)(2906002)(8676002)(38100700002)(26005)(82202003)(66946007)(122000001)(9686003)(110136005)(66574015)(64756008)(38070700005)(54906003)(5660300002)(66556008)(66476007)(316002)(4326008)(66446008)(6506007)(76116006)(71200400001)(7696005); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 02yAFSdxvPzLVZ7aNNrjaQtcv1F2bGvYX0mYU1OyIL215b9ir90FgTq/vbEdw7DyoN+PBCu39qQ0FajWtDhizeLKtrC8K1ToYQZW1SGhxLOWzWtfP9wIj+ODJg9jokKr1Pa6ImQ5ywAenNWUVvRBGOCBK9CJeY05KJZ+hgkj0uDgElDqsyxiQ0d8OztAzBd9V26psT0VJrhTpBpp1ndGgtfi2pHbAB1L9UqLDQw6I1sxa072X7DWqx8RZVYsk3I/32RyEysEIkOYGctsKhHLt4xZdRSfHvP2517T7akc3aFsVWXfpdvlVX2NgyGBJMerKfWUcJULxJGJPK0HTgttWJ3OKfVKRUHLGT5XUL7IpkJjvSWMH06rMSw10xtoYwq9aU20TGWF9Q6v8mjfbVbuxaLeOWLnqS3CuG6+RysXQuzb09kgjPYsORz8xTpxdBwoyt/0KdmSP3x3AUJGCUpVdGaE50xSM2zLQQflMhmdxZSdyJr6fWumqYRaexO0dcQ2coLlEtQOcd3NHDsXMEKzy3kzlWTOPem2CfBWYm7IfyB5wMM6NHL+iSNDxLiWiYczOHkYwQNLLB3UAUFJSQWfi48QBJ48uvnItyA3PGZyKbU3+c7Z8FUHD64Fa4HVzABvToEXEQY+W6TnfFHlJkoAztxx5xo43U8lISWO3lBwZBwW3EqPtc0mTd1Mn899zHDij1/HWQ5KpsSyMoI5ruZz+djsJ0euuHZLf2UzR0KygU9LRTDi8W9P371tFVeOKwlsAquBlRoYMNTidUDwmRMkkC0H/VgISjoXyPJ7p982ZTbCqgcJIj4fMC0bVe7B+g1bXqpvVWNhjRJdvY75Pd3eh7fNalEyPOl8TqAgNow4PMMSfBZhRA94LKDzh8ar1mPXev6W1zt29ayBmFVgnVNpNGi9sLAVRiqPkDkuO412k87/pm4wQ5nqHYSLvuLRz1QSlPaWVqQ1yStjk327RGV7GG4oTan7zNcGx9NG0hg76l9v2m8uT+ssfCrPowrUXM/70RKAQdifkzb3pdzSWeCm1jLVYhN6Rb/CEFZXmfl93G7qQ+1Eq7eZ1E3SJa+hAPsPBldwlU2yMBiq16BsZ04Yy+wiFeeGg0O9hm0rP41u54vSrMS4MXOAgHhbNX5O+diOBxMYd2WWlRr2KkdZMuml4KDsYFp0Og/Bb4aRZvmdlZ13N5UHcBRscu7LaCZoiGjZ0yEXyYOWFz7yvNyj/3MH+WvrFXJYTMVcW+HgSLiawa6zv3xC3djcVSa/+tyeW6O3IEjVFilrHskOeMchy3GP2zgMS4xIXreMG3bQzrkX6UQ=
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR02MB6924.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 85b6f33c-d5d1-4f81-9a5a-08d976f965d7
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Sep 2021 20:59:37.6372 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: e741d71c-c6b6-47b0-803c-0f3b32b07556
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: A3hbkp6kLB5r8qM9iRs0UlEtI8BQm+kvPCPk21iIwrUf4nSyxvg1evYnq6/havet
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR02MB4522
X-OriginatorOrg: att.com
X-TM-SNTS-SMTP: 26F85C0F8717A82FC2730B275B181E196296613B931DC85C22CA67168D67D2DD2
X-Proofpoint-GUID: WVPkH5dcpaYN3k4vONQ8NCP3LHoBUjxt
X-Proofpoint-ORIG-GUID: WVPkH5dcpaYN3k4vONQ8NCP3LHoBUjxt
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.790 definitions=2021-09-13_09:2021-09-09, 2021-09-13 signatures=0
X-Proofpoint-Spam-Details: rule=outbound_policy_notspam policy=outbound_policy score=0 impostorscore=0 mlxlogscore=341 bulkscore=0 priorityscore=1501 mlxscore=0 suspectscore=0 spamscore=0 clxscore=1011 adultscore=0 lowpriorityscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2109030001 definitions=main-2109130124
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/zpXZkgmBhdJcD6UMNymR6R2_K6Q>
Subject: Re: [netmod] [babel] NULL value for uint16
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, 13 Sep 2021 21:00:46 -0000

I seem to be coming into this discussion in the middle, so I hope I'm understanding where things are. Comments in-line.

> Hi Mahesh,
> 
> management interface usually do not change protocol semantics (for the
> simple reason that protocol engines do not necessarily know which
> management interfaces control them and their peers).
> 
> Does the Babel RFC reserve the special sequence number 0? If not, does
> this document formally update the Babel RFC to reserve the sequence
> number 0? And will implementations and deployments follow on or will
> we see "old" and "updated" implementations in the wild causing
> operational trouble?

Yes, the Babel RFC makes it clear that 0 is a valid value that must not be confused with NULL.
I have no idea what conventions exist for a YANG model to distinguish between 0 and NULL in such cases, but merely expressed that the distinction must exist. Whatever conventions exist within YANG to make this distinction can be used. It sounded from Tom's email that several conventions exist for handling this. Under no circumstances should this YANG model allow the valid value of zero to be repurposed to mean NULL.
 
> /js
> 
> On Mon, Sep 13, 2021 at 12:49:33PM -0700, Mahesh Jethanandani wrote:
> > [Bringing in babel WG, instead of maintaining two threads]
> >
> >
> > Hi Juergen,
> >
> >
> > > On Sep 10, 2021, at 1:09 PM, Jürgen Schönwälder
> <j.schoenwaelder@jacobs-university.de> wrote:
> > >
> > > On Fri, Sep 10, 2021 at 01:40:03PM -0400, Lou Berger wrote:
> > >
> > >> and it references an RFC that says:
> > >>
> > >>      This is a 16-bit unsigned integer;
> > >>      if the data model uses zero (0) to represent NULL values for
> > >>      unsigned integers, the data model MAY use a different data type
> > >>      that allows differentiation between zero (0) and NULL.
> > >
> > > We are talking about RFC 9046? RFC 9046 repeats this sentence several
> > > times but I find it difficult to infer the intended meaning. If 0 is a
> > > legal value, you can't have it represent "NULL" at the same time.
> >
> > There are five definitions in the Babel YANG model
> <https://urldefense.com/v3/__https://www.ietf.org/archive/id/draft-ietf-
> babel-yang-model-
> 11.html__;!!BhdT!w6VP0VXwBo8HQB7xl29xPqAxO7zHbtal44Pwbxrh6lIs8a04rPj
> 0rzZ_DACdBQ$ > that use NULL to represent a special meaning.
> >
> > With 'babel-route-received-metric', and 'babel-route-calculated-metric'
> values use NULL or 0 to represent that a route was NOT received. A non-zero
> value indicates that a route was received and subsequently advertised.
> >
> > With 'babel-expo-mcast-hello-seqno', and 'babel-exp-ucast-hello-seqno' a
> value of NULL or 0 is used to represent that a multicast, or unicast hello packets
> respectively are NOT expected or processing of multicast/unicast packets is not
> enabled. Although not explicit stated, it also means that the sequence number
> cannot be a 0.
> >
> > Finally, with 'babel-ucast-hello-seqno' a value of NULL or 0 is used to
> represent a unicast hello is not being sent. A non-zero value reflects the current
> sequence number in use for unicast hellos. Again, although not explicit, it also
> means that the sequence number cannot be a 0.
> >
> > >
> > > In YANG, we tend to not instantiate leafs that do not have a value.
> > > Anyway, if a YANG author wants to report a special value to indicate
> > > that there is no value, then you have design for it and reserve and
> > > set aside a special value from the number space or use a union.
> >
> > This YANG model reserves the value of 0 to indicate that these leafs are not
> set or the particular attribute is not enabled.
> >
> > Thanks.
> >
> > >
> > > RFC 9046 uses the same text for things like sequence numbers. Skimming
> > > RFC 8966, it seems sequence numbers are 16-bit integers:
> > >
> > >   Sequence numbers (seqnos) appear in a number of Babel data
> > >   structures, and they are interpreted as integers modulo 2^(16).
> > >
> > > The text in the context makes me believe they are an unsigned 16-bit
> > > integers. If so, there simply is no way to use 0 to indicate that a
> > > sequence number is absent. The problem really might be the text in RFC
> > > 9046.

RFC9046 text is intended to allow and encourage data models to do whatever they need to do to ensure they can distinguish between a value of 0 and a NULL value. For example, in BBF TR-181 data model, we use a signed integer for these parameters, where "-1" means "null value" and 0 to 2^16 represent actual values. This use of -1 and a signed integer to convey NULL for an unsigned integer is a convention that has long been defined in TR-181 data modeling rules. OTOH, Babel implementations written in languages like C *are* able to distinguish between a zero-length variable and a zero-value variable -- so their GUIs have no difficulty with this distinction and can simply use an unsigned integer. 

Different data modeling languages are likely to each have their own mechanisms for handling this -- which means it would have been improper for RFC9046 to be proscriptive about *how* a data model should distinguish between null and 0. Therefore, the text in RFC9046 merely states that although the native variable is a 16-bit unsigned integer, it must be possible to indicate null as something distinct from 0. RFC9046 does not dictate how that should be accomplished. The data model needs to ensure this distinction exists using whatever method makes sense or whatever convention exists for that data modeling language. 
Barbara