Re: [core] Fwd: New Version Notification for draft-bierman-core-yid-00.txt

Michel Veillette <Michel.Veillette@trilliantinc.com> Mon, 22 August 2016 21:58 UTC

Return-Path: <Michel.Veillette@trilliantinc.com>
X-Original-To: core@ietfa.amsl.com
Delivered-To: core@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A041812D7C9 for <core@ietfa.amsl.com>; Mon, 22 Aug 2016 14:58:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.921
X-Spam-Level:
X-Spam-Status: No, score=-1.921 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=trilliant.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 UwQTidRpgEZ4 for <core@ietfa.amsl.com>; Mon, 22 Aug 2016 14:58:39 -0700 (PDT)
Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0126.outbound.protection.outlook.com [104.47.32.126]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 810A112D144 for <core@ietf.org>; Mon, 22 Aug 2016 14:58:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Trilliant.onmicrosoft.com; s=selector1-trilliantinc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=7qDIuVVMvo8LYkOLErUKCwjtdowN4++ClGC22NpnOlg=; b=IvTIVzqyheF7DT0bsKTOgpkU91J51pl+fMJcrgECvZ0tiB/8iC6MB64iIibkwy4vh+FGF+82fjfFl8ow2JmtRWq2MF9KjIFhSz/2H/wMEWoA2A7AXUb1am8WfABjNUdH27GTStDmVYSmPh4+Pi04Z9SXXa8syy9kuTthBw9M81I=
Received: from BN6PR06MB2308.namprd06.prod.outlook.com (10.173.19.139) by BN6PR06MB2305.namprd06.prod.outlook.com (10.173.19.136) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.587.13; Mon, 22 Aug 2016 21:58:36 +0000
Received: from BN6PR06MB2308.namprd06.prod.outlook.com ([10.173.19.139]) by BN6PR06MB2308.namprd06.prod.outlook.com ([10.173.19.139]) with mapi id 15.01.0557.027; Mon, 22 Aug 2016 21:58:36 +0000
From: Michel Veillette <Michel.Veillette@trilliantinc.com>
To: Andy Bierman <andy@yumaworks.com>
Thread-Topic: [core] Fwd: New Version Notification for draft-bierman-core-yid-00.txt
Thread-Index: AQHR/LqYOh5THJz5skSAEc4Eyhw0IqBVgKLg
Date: Mon, 22 Aug 2016 21:58:36 +0000
Message-ID: <BN6PR06MB2308EE903A4BB1D806508535FEE80@BN6PR06MB2308.namprd06.prod.outlook.com>
References: <147137218567.23002.16239675741482547105.idtracker@ietfa.amsl.com> <CABCOCHR2vySLHF52NuXRE0L2u9=-CCgyxtarTMZ0e92Ga87fcA@mail.gmail.com> <BN6PR06MB23083DBDC47C13647C385AE4FEE80@BN6PR06MB2308.namprd06.prod.outlook.com> <CABCOCHTXcx_qJiy1KOBhTfEZ8a5xCctXT962eSPKyjEXSdNy5Q@mail.gmail.com>
In-Reply-To: <CABCOCHTXcx_qJiy1KOBhTfEZ8a5xCctXT962eSPKyjEXSdNy5Q@mail.gmail.com>
Accept-Language: fr-CA, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=Michel.Veillette@trilliantinc.com;
x-originating-ip: [207.96.192.122]
x-ms-office365-filtering-correlation-id: 42dcc5c0-efdf-426a-f111-08d3cad7779a
x-microsoft-exchange-diagnostics: 1; BN6PR06MB2305; 6:2+P5o1AFg+ON/EpTXR6qv4J8iO/a7mYJQxQ7LzmaEpMewxlpRF4ehljAtEKISDP5weTVN9mhe1a7kQN4RkRCZKBPfDuZFtsuJwtba3sRGNhOdPKpL3nBF+Y125cwXew2BWbNx+bi+nRe+qT34eC1tRuYGFdDJ1eNUswVNoruMpVuELP5PjTuG51xnqIhiphLHg9PnG/Q7LMod2wKudT3qTO1xMnMSvk1LzXUkAPBBpXxurVCEveHVTX8Z4FP3qqhxLQa2MPYy6x3oeqv9xiuKcHIcu8A3u9faOHzDD6ocrQ=; 5:4033mrrM246GGLdufpESR2NKrO9dqWaKS5juyw3hmPwyQaDdkF+e16AF5qStBoSoGi8LFkiJz6QbOgT51/QXC+Jaj9K+iR1oC4Tb0dITqmrtVUjJ8mPkOXavpR2nGi5y4uBqkhfZcXCymSVgmYiTug==; 24:W4aep5gAetUAb862sGul1SrdzYjeZwBMbjLXV3YqOypeuVO5baHi2pKBzwsNpR8Apkr/y9L1Z475oCO9TArGouXuR/JkyRH/B53joWzysbM=; 7:D72ecFUBcWXYe/P9WrsL6R6SurcofJ7U57rWCYyYpKm3/SxOaovgg/MYauDQRR4E6C0fwo7jlYx3fjfzSdZO7IWHQgURODo2JhKZdTfqQXpbxJnseRt+IVwYVADOgmh+BIKbkDLB/KjUnUWXyI4F/rvjuqc/Cua5/YKlSGbHiWv74gUfom29Ow2ne0QCRZUBYrtaCYdK/3JQ1tpV7jNUMfm8r5ovckfVO/w8GIFVTiF4UoTBZvWXkPv4a6U+rnsP
x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN6PR06MB2305;
x-microsoft-antispam-prvs: <BN6PR06MB2305397B55A660E658C880B1FEE80@BN6PR06MB2305.namprd06.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(158342451672863)(120809045254105)(21748063052155);
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001); SRVR:BN6PR06MB2305; BCL:0; PCL:0; RULEID:; SRVR:BN6PR06MB2305;
x-forefront-prvs: 00429279BA
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(7916002)(377454003)(22974007)(24454002)(69234005)(199003)(189002)(377424004)(2473001)(189998001)(97736004)(5660300001)(7110500001)(76176999)(6116002)(586003)(16236675004)(3660700001)(14971765001)(33656002)(54356999)(790700001)(3846002)(110136002)(2906002)(19625215002)(19609705001)(92566002)(102836003)(4326007)(86362001)(10710500007)(5002640100001)(99286002)(19580405001)(3280700002)(101416001)(19300405004)(11100500001)(19617315012)(122556002)(77096005)(81166006)(8676002)(81156014)(8936002)(106356001)(15975445007)(74316002)(50986999)(7906003)(7736002)(7846002)(7696003)(10400500002)(230783001)(76576001)(2420400007)(16601075003)(2950100001)(15650500001)(66066001)(87936001)(106116001)(19580395003)(9686002)(93886004)(2900100001)(68736007)(105586002); DIR:OUT; SFP:1102; SCL:1; SRVR:BN6PR06MB2305; H:BN6PR06MB2308.namprd06.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en;
received-spf: None (protection.outlook.com: trilliantinc.com does not designate permitted sender hosts)
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: multipart/alternative; boundary="_000_BN6PR06MB2308EE903A4BB1D806508535FEE80BN6PR06MB2308namp_"
MIME-Version: 1.0
X-OriginatorOrg: trilliantinc.com
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Aug 2016 21:58:36.2273 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4f6fbd13-0dfb-4150-85c3-d43260c04309
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR06MB2305
Archived-At: <https://mailarchive.ietf.org/arch/msg/core/0KedvWzOCsGy0RnU45IY4nGhZFE>
Cc: Core <core@ietf.org>
Subject: Re: [core] Fwd: New Version Notification for draft-bierman-core-yid-00.txt
X-BeenThere: core@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Constrained RESTful Environments \(CoRE\) Working Group list" <core.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/core>, <mailto:core-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/core/>
List-Post: <mailto:core@ietf.org>
List-Help: <mailto:core-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/core>, <mailto:core-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 22 Aug 2016 21:58:41 -0000

Comment [MV] inline

From: Andy Bierman [mailto:andy@yumaworks.com]
Sent: Monday, August 22, 2016 5:17 PM
To: Michel Veillette <Michel.Veillette@trilliantinc.com>
Cc: Core <core@ietf.org>
Subject: Re: [core] Fwd: New Version Notification for draft-bierman-core-yid-00.txt



On Mon, Aug 22, 2016 at 2:01 PM, Michel Veillette <Michel.Veillette@trilliantinc.com<mailto:Michel.Veillette@trilliantinc.com>> wrote:
Hi Andy
I see two fundamental differences between the SID and the YID drafts.
 1) The name
YID is harder to pronounce, but seem to be technically better.
These IDs are not really structured, they are in fact arbitrary if we allocate them by range(s).
But we shall use them only for YANG items if we want to keep them compact.
2) Allocation per range or per prefix
Last winter, we moved from an allocation per prefix (20 bits, 10 bits) to an allocation per range(s).

I realize that if I ask for a range of 64K, then why should the registry care
if I use it for manual numbering or hashing. I think module-ids
are easier to manage though.  YID proposes that a module-id be added
to the YANG Module Registry and IANA will assign the module-id.
This is how it works for the SNMP OID root for a MIB module,
which is essentially the same thing.

[MV] In SNMP, a single OID is typically registered for multiple modules.
[MV] Developers assign different arcs of this registered OID to different SNMP objects.
[MV] We propose to do the same with SID ranges, developers can allocate multiple subranges from its registered range.

IMO modules should fit into 1 range, if ranges are used.

[MV] This will be effectively the case in most cases.
[MV] However, the protocol shall not break if the number of YANG items exceed the initial range allocated.
We did this change for the following reasons:
- Starvation of IDs.
The size of the range can be adjusted based on the estimated number of items for each particular YANG module.
And extra range(s) can be added if needed.
I think the YID registry can be scaled down as needed.
e.g., the server "knows" no module it supports has more than 256 objects so
the "local-bits" can be scaled down from 16 bits to 8 bits.

[MV] The "module-bits" is a global property of the registry and can't be adjusted per module.
[MV] Once set, it can't be increased to support a YANG module with more YANG items and
[MV] can't be decreased to support efficiently a YANG module with very few YANG items.

- Efficiency
An allocation based on a fixed number of bits become very inefficient, especially if want or minimize the ricks of starvation and to support multiple tiers of registration (IANA, SDO/registrars, Developers, YANG modules).

These reasons are still valid and I hope you appreciate the advantages of using ranges.

==================

I also want to clarify a couple of items discussed on the malling list.

1) [I-D.somaraju-core-sid] don't mandate any specific algorithm to perform the allocation of IDs to YANG items.
Using a hash to perform this allocation is perfectly valid and the text should be modified to mention the possible use of a hash or any other algorithms.

2) manual / sequential numbering
[I-D.bierman-core-yid] associate the term "manual" to sequential numbering.
Since  [I-D.somaraju-core-sid] recommend the use an automated process to perform SIDs allocation, we should avoid the use of "manual" to qualify sequential numbering.

No -- I mean manual.
What if I want to leave some gaps in the numbering for future growth?
Since the number of CBOR bytes is 1 whether the delta is 1 or 23,
I can leave padding in the number space without any penalty in the protocol.
Sequential numbering gets very non-sequential (the more so with every new module revision).

[MV] If so, we still need to support non hash based ID generated automatically.
[MV] We just need to find a term which cover both cases (manually or automatically assigned ID).


==================
As a last comment, [I-D.bierman-core-yid] contain a lot of very good description text which should be preserved during the merging process.
Regards,
Michel Veillette

Andy


From: core [mailto:core-bounces@ietf.org<mailto:core-bounces@ietf.org>] On Behalf Of Andy Bierman
Sent: Tuesday, August 16, 2016 2:39 PM
To: Core <core@ietf.org<mailto:core@ietf.org>>
Subject: [core] Fwd: New Version Notification for draft-bierman-core-yid-00.txt

FYI,


Peter and I have written a new draft called "Numeric YANG Identifiers"
which replaces the "YANG Hash" draft.

This draft combines hash-based and manual numbering and defines
a simple registry-based process for management of module and object identifiers.

The need for a rehash procedure and rehash errors has been removed.
YANG Hash is now scoped by the module identifier so there are no inter-module
interactions.  Hash collisions within a module are not allowed.
Manual assignments for colliding nodes are used to avoid the rare occurrence
of a hash collision within the same module.



Andy


---------- Forwarded message ----------
From: <internet-drafts@ietf.org<mailto:internet-drafts@ietf.org>>
Date: Tue, Aug 16, 2016 at 11:29 AM
Subject: New Version Notification for draft-bierman-core-yid-00.txt
To: Peter van der Stok <consultancy@vanderstok.org<mailto:consultancy@vanderstok.org>>, Andy Bierman <andy@yumaworks.com<mailto:andy@yumaworks.com>>



A new version of I-D, draft-bierman-core-yid-00.txt
has been successfully submitted by Andy Bierman and posted to the
IETF repository.

Name:           draft-bierman-core-yid
Revision:       00
Title:          Numeric YANG Identifiers
Document date:  2016-08-16
Group:          Individual Submission
Pages:          33
URL:            https://www.ietf.org/internet-drafts/draft-bierman-core-yid-00.txt
Status:         https://datatracker.ietf.org/doc/draft-bierman-core-yid/
Htmlized:       https://tools.ietf.org/html/draft-bierman-core-yid-00


Abstract:
   This document describes an encoding of YANG object identifiers using
   numeric values instead of string values.  It combines several
   techniques to provide optimized serialization in protocol messages.

Note

   Discussion and suggestions for improvement are requested, and should
   be sent to core@ietf.org<mailto:core@ietf.org>.




Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org<http://tools.ietf.org>.

The IETF Secretariat