Re: [netmod] Unknown bits - backwards compatibility

"Jason Sterne (Nokia)" <jason.sterne@nokia.com> Thu, 13 April 2023 21:25 UTC

Return-Path: <jason.sterne@nokia.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 1BB62C1522D7 for <netmod@ietfa.amsl.com>; Thu, 13 Apr 2023 14:25:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.094
X-Spam-Level:
X-Spam-Status: No, score=-2.094 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=nokia.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5uaKraVqOk7u for <netmod@ietfa.amsl.com>; Thu, 13 Apr 2023 14:25:34 -0700 (PDT)
Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on20724.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe59::724]) (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 E48B2C152A1B for <netmod@ietf.org>; Thu, 13 Apr 2023 14:25:33 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z3uYAItO07wpyzzhxiY+/16uegd3yNUF2Dx2wJ9+LSdsPbRSZHo1tLGOWbxSAd3Vqb6t/U+iR26f0/Sueyxo+ZoqVdJVB55oUjn5Bag+0vrWLX3la8qix34xhH6+Ommwu9m42tSNl6ZvC3SQ8PNRrpKLC2pT2vniRoIaMom1MdQZtS+LKva2WG+FJ0bCbnJOI+UJd/SNzeEvl15xAzLI4tPM5825WmEgz4gZ+RypBRWUVFCK5pUWHsTPrG8f6h8fN7ltaEaLe3em1fItwHvLpjSkXu7D2OATyD/FV17NQgTwDmDfuE6TzT/G6cecLRkzSwRyAgBZ/+vZGftJQg96BA==
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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=OSSf1+uPF/b0Z/wK8VjKsGgLOYloVjtlAMVZIwy3HgI=; b=oBY6it4joiPOB8kH6jJqn/EEWiW/WxfhlCjT83dPni09/uHBgxQS5uXMCF6O3Qt6rE1So+gBcMX/8jnziA8GvybyxR4E99x2E206mRmGyPpieMl35IVdjzwJ6b+j4ugrsGDQWguL2OPL0HS3LUgWju2lHsijRonRQGMpkWwDyMIB7nYYfcP7uPYHV2HAuUHRIryD0CJyvvv4RcuJikbgVDsqvXrdozPHJzvJlSnBERFUA8Wz4qoUc8l/hqK0lfK8KHDFO61JdXpKGU6lCXIf+Um+2kJR9savbUa5rx6yn+mwfhxZd1T+wvD2UOqUpseosY2wjDcWDljrUnczdgNwGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OSSf1+uPF/b0Z/wK8VjKsGgLOYloVjtlAMVZIwy3HgI=; b=EPJW2jhCz/2Y848B+o1e82WW27sEfQtZio6NpRFAv4AWweZCF0EEFqZE27PDJx7NuWS1nFh0N+GzzmZJ1Fernbxab5TH7g5sk0Oe2t1NnXVlhqcw6FXM8/OycaMswK7tOxzdnPgPtTRilVs7QitQ9e4mgs+o+2d1hVoMQd/edpp5K64PlkrGaRoQ42aiwzEitCUWHIPqcohMwLmSvFq0z69iOmJVNZxz8CoMhwFFdSq7Hn7d2OEWIl6+jyBwO6V2krxqUytQjDrbLFijd3+PPvofDALCoWTNswR7LBwMUzVdzS4AqN3FYO4yNklrvhNYx+wVad7jIh1FgLx73JOGHg==
Received: from DM6PR08MB5084.namprd08.prod.outlook.com (2603:10b6:5:41::29) by BY5PR08MB6328.namprd08.prod.outlook.com (2603:10b6:a03:1e3::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.30; Thu, 13 Apr 2023 21:25:30 +0000
Received: from DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::6e5c:8f58:eada:3d49]) by DM6PR08MB5084.namprd08.prod.outlook.com ([fe80::6e5c:8f58:eada:3d49%3]) with mapi id 15.20.6277.038; Thu, 13 Apr 2023 21:25:30 +0000
From: "Jason Sterne (Nokia)" <jason.sterne@nokia.com>
To: Jeffrey Haas <jhaas@pfrc.org>
CC: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: Unknown bits - backwards compatibility
Thread-Index: AdltglsGqm4GljjWQwuatQ9p2g9JFQAAu3WAAC9rAwAAAJNK4AAA2OYAAABZ6TAAANThAAAAGP1A
Date: Thu, 13 Apr 2023 21:25:30 +0000
Message-ID: <DM6PR08MB50846329E7A6FC3118B7E06C9B989@DM6PR08MB5084.namprd08.prod.outlook.com>
References: <167510951913.30783.6878062588510633543@ietfa.amsl.com> <70DA36EA-F90A-4800-A4C8-0DDCF6FFD845@pfrc.org> <0F8C57E5-F7F8-4383-A9BE-E98D2C6A6E42@pfrc.org> <DM6PR08MB50841A7B84BA1D84AC0B57809B9B9@DM6PR08MB5084.namprd08.prod.outlook.com> <DM6PR08MB5084E9656CA7C388D2A229779B9B9@DM6PR08MB5084.namprd08.prod.outlook.com> <A3EFA144-664D-4F67-8565-111EF650CE0B@pfrc.org> <DM6PR08MB508452FBF0266BCDEC68464F9B989@DM6PR08MB5084.namprd08.prod.outlook.com> <44DB67B7-D1D9-4A4D-835B-8182491E803E@pfrc.org> <DM6PR08MB50847617C83E424C3E323F919B989@DM6PR08MB5084.namprd08.prod.outlook.com> <2C3AA686-5798-49BD-85E6-A95D61A76ACD@pfrc.org>
In-Reply-To: <2C3AA686-5798-49BD-85E6-A95D61A76ACD@pfrc.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nokia.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR08MB5084:EE_|BY5PR08MB6328:EE_
x-ms-office365-filtering-correlation-id: 0bfc302d-b0e6-4f62-8584-08db3c659bb5
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: mL6N+vZ9ezOQeMYrlyZnrZDz0RW+7XtrS4TeRSHRxZxNTZJ8TByCP4V1RhE5YcmG3ZTVWl/WeIxYInZUOJCpFcrAM+RZxjIUBKumd1jHqk5bC0VmmjBZ79JsEoW+fYnZBDcAE4+X3qpJtN7az24w41K1AYQweoiPz2ph4ioxMD5jonn6zTNl0v1h0TFg186oCWIC9BDbgFYP4//5BtuoD44Y2QhUhT7ENoLwcVsF/yyfOlYq4TA9TwCiAyLQO0Z5SMFQ2zWFc1C0ATH31Zt2D/fTOcEkEartGpEV4okM08URg0VDuALJqquUv7yGxR28caI17wf2fw2Lo73whGXPFqPGfHMayKkC/BbEAlTCWiFOn72rlVt8wNRJggwuCPK13zRZaTSWlaQesAqC+eIyMcNHQnHkqR7Oy9k1qMdotj0mydtpsSbZxSqVvIdjPzzl0flZQA99RI5KOhHDXQPj3E4R7zmncY5vrmSol9MurOlDp+eilNacqXto3l9oUnI/bSe9C6aPrMzzstcu08DjLlcDdRX1P+1FVsNoopak37l518FnOCHt4hmN0wbvjE83OvbfACy1nUUATbl+Yt7hjZu4NuNFJEHKgA3Fjplrt466IEMj2B/orjTPuatwYVfcduQhKQQ81kM0K1867k+roQ==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR08MB5084.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(366004)(39850400004)(396003)(136003)(346002)(376002)(451199021)(84970400001)(8936002)(33656002)(166002)(122000001)(38100700002)(5660300002)(52536014)(38070700005)(2906002)(86362001)(9326002)(66476007)(316002)(8676002)(55016003)(64756008)(66446008)(41300700001)(6916009)(66946007)(82960400001)(4326008)(66556008)(76116006)(83380400001)(186003)(26005)(9686003)(53546011)(478600001)(71200400001)(6506007)(7696005); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: +OKrUufWdK44fEa1E724mVOAUD3wfEDNwu9PjQNSa4RBhe7aO+oLoSZTHpDxp++UfKCGowZyF24c/4MgDgYg3gWWM20dsyjY9HvEdunahm6OwVVPe8LC3F9CkycuMyEjfFXWWfCTy41d8ihP0sg30ByaUNmIVnhp6VYRrj5gsa5twnBgYxjtCXLdc0tXJzCGp/tIEScwwqnedNisbxjiK4xAH9hTA+HMW9BzO1CQqXofZwlLHBxfI7PJW881GhJ/PbB+7y/bsQ93b90bGJWsjWa4ez6GSkxdNSf8IWN5sip9t6EUJ577N1azGpg23hlSkx0nYRCkZkOsHCROY7vHBZrKdXfXvXA5srV6wmOIg188luOSNUcAFFgNhjhoJhB9OWnHOt+MHXtMuguCGHYFblfsEjsBzLANcCJpo8pDg3+3iajbpROdgWQ7I03VyjsN1xRW4+fK165IBN1S4XZxduKtzcUVchQbR37aK60b56lfGRkKoGnlNNTGU5Yl9Os7l5PgEr5bwFTrxzpvnjPLs+f8UNwCjhpkZt8enkTraKUSYrU67T6w+xvSPTJEjT/A4u+az+4Vx6NHupLNQkJOlsYcZy4g3R2yXYNP/UDGuDOBTSzDthJGdJvMwqZwHENJRINcAL7yRdHxOch6LQZ1RDV9j1FgUKnBRYz4Lz4A44QjngbPDuFLBuMslHt/oEndViEc5ZEqOahAljAGXV0POjvulDQaKylLJF4ByYviUcxRr4yCTM8LbDMtIl0xFUIkNelUNucylE4QFW7cu6W4bYiATdpt2R0xu2TyfsScvbTFwJrfC5U1ejtZxUp2uhYG3JSU8bYj1iadudwOUOVNYRjQXsfN409vImChEvJcSGYRezy4y20C9YMVSmxZo/eRn+FjeLJsOL2m4uhuDVlFswwc4oaog5kpiuQGCuh9RL4vIdkGLFbLipTJaioTyWPEqjtjneslxwAPHySPFZXwuLxTW2BrZYvo6vdoH4nrNW5LLL6p0v+GHHt37dIJ5omnBvz6wca/wHyU5k1FzlE2UPMrWHX7moOJgOwQfxTmcfnXZGBC3BbJvDiJJ1i3m9NUm1SFob72AliYup1wmm00EvWE9JN/dGB3vUsKTVgJBxXmgrLgzC3s3q5j4p0ebiolx8l0mJtx5s/zK7BiETSwzbxi/6IFcm6LQUkuLJI9ztTpeZehX/dVdbmiN5WEA8wO5zejeYol6KARim9OVEuwWBWo6xU/qKvryv8glajsn1naBIPvpz8KLgepR9Vmvg8Jxg4V1NmlgpuAoUuA4xa57Fzb3ZgyRsjF7TxsgY5B9cDYq0dgfwsSur+ffmq39j24qvwehCJwERUG40+7wigJ3lgf/fG/8UDyOwbZ5vZD/CcB6Wm0YRfU5HdbVFLuEoo/Rx2Zwt+uYL7f3f3jXhR9rhkpFaplQOTjBrHEY5wf9KFSD7Ai0Evku13GhrPF7bykWeQ6sYEfaZywYTczOi2nJW6oEmP+posebWyTh84Qf81MGZbVXH7UqOOEYrzmqwm96LcDfrLzNc/WqHhHxuEbN47ZIIJVvDf4Xz2LX5Hb6I51s6aU9q66ymCipiFbA9Cc
Content-Type: multipart/alternative; boundary="_000_DM6PR08MB50846329E7A6FC3118B7E06C9B989DM6PR08MB5084namp_"
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR08MB5084.namprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0bfc302d-b0e6-4f62-8584-08db3c659bb5
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Apr 2023 21:25:30.4730 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: sGds27JN1L/JE8qwJB1BXnPO0C1OG6yVx16YLUa3viFx643FeiVx+QSOpui0vrki6SnvuKQMRUOdkCyunAovsw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR08MB6328
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/XGVk1TpZtxOVDhvY8vTEmTyJXEg>
Subject: Re: [netmod] Unknown bits - backwards compatibility
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.39
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: Thu, 13 Apr 2023 21:25:38 -0000

Hi Jeff,

You are absolutely right that this is a tricky case for identifying the specific affected node. I should have mentioned how to do that.

Basically in this case, the “description” field of the unknown-flags leaf should really change each time there are newly unreported bit-0, bit-1, etc bits. This is a situation where the YANG model itself doesn’t have a change for known-flags, but the underlying *behavior* of that leaf has changed.

This is one of the reasons why we’re having a debate right now for our “Schema Comparison” draft about how we should treat description changes by default (i.e. not as just “editorial” but as “potentially-nbc” or just “nbc”).

In the Schema Comparison draft we’re also debating whether to add “per node” compatibility tags (optional – use when needed, and this is a case where it is useful to flag a particular *node* as having an NBC change in version 2.0.0).

Jason

From: Jeffrey Haas <jhaas@pfrc.org>
Sent: Thursday, April 13, 2023 5:18 PM
To: Jason Sterne (Nokia) <jason.sterne@nokia.com>
Cc: netmod@ietf.org
Subject: Re: Unknown bits - backwards compatibility


CAUTION: This is an external email. Please be very careful when clicking links or opening attachments. See the URL nok.it/ext for additional information.


Jason,



On Apr 13, 2023, at 5:00 PM, Jason Sterne (Nokia) <jason.sterne@nokia.com<mailto:jason.sterne@nokia.com>> wrote:

Hi Jeff,

We avoided getting into subtleties about “severity” of an NBC change (hard enough to just get agreement on basic rules). But I do think it is useful to come up with changes and approaches that have lower impact on users/clients even if they are still marked as NBC.

For the new versioning marking, it would basically be the following. In the “revision” statement of the new module:

  1.  Add "rev:non-backwards-compatible" as per draft-ietf-netmod-yang-module-versioning-08 - Updated YANG Module Revision Handling<https://datatracker.ietf.org/doc/draft-ietf-netmod-yang-module-versioning/>
  2.  Increment the major version of the YANG Semver (i.e. go from 1.0.0 to 2.0.0) as per draft-ietf-netmod-yang-semver-11 - YANG Semantic Versioning<https://datatracker.ietf.org/doc/draft-ietf-netmod-yang-semver/11/>

That may seem harsh, but we leaned towards being strict on flagging any NBC change in order to avoid false-negatives (i.e. false-positives aren’t as bad). Users can then diff the module versions, see that only the unknown-bits stuff has changed, and then decide if they need to update their client, etc.

I think I'm still unclear on how this would manifest for my proposal.

The "known" field isn't having a NBC change, so I think we can ignore that.

The "unknown" field has a stable type. More importantly, and perhaps a larger question for the NBC work, what needs to be flagged is that a specific bit has been impacted at a specific version bump of the document.  How is that to be signaled on such a type?

Consider instead the non-general case, and one that's in the bgp-model:

    leaf unknown-flags {

          type bits {

            bit unknown-2 {

              position 2;

              description

                "Bit 2 was received but is currently RESERVED.";

            }

            bit unknown-3 {

              position 3;

              description

                "Bit 3 was received but is currently RESERVED.";

            }

          }
This represents the modeling from my unknown draft for the remaining two bits of the nybble that aren't assigned after the second bit was assigned.

If a future version of BGP's Graceful Restart feature assigned bit 2, and unknown-flags wasn't modeled using my proposed typedef, I can see the following actions being done:

Add new type to the known leaf.  (A backward compatible change.)
Delete "unknown-2".  This is NBC, but clearly documents the change.

Briefly scrolling through the module-versioning draft, it doesn't appear that there's ways to flag what nodes contribute to the NBC issues.

In any case, where the contents are visibly impacted, it's clear you can flag this.  I suspect you're missing a way to flag the case as documented in my current draft.

-- Jeff