Re: [netmod] Changing an identity base

Italo Busi <Italo.Busi@huawei.com> Wed, 01 February 2023 08:44 UTC

Return-Path: <Italo.Busi@huawei.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 9D367C1575D2 for <netmod@ietfa.amsl.com>; Wed, 1 Feb 2023 00:44:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.198
X-Spam-Level:
X-Spam-Status: No, score=-4.198 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
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 8nRxz52JgvVl for <netmod@ietfa.amsl.com>; Wed, 1 Feb 2023 00:44:36 -0800 (PST)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 308C0C14CE40 for <netmod@ietf.org>; Wed, 1 Feb 2023 00:44:36 -0800 (PST)
Received: from frapeml500006.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4P6FjZ5M8Fz6J7cj; Wed, 1 Feb 2023 16:40:18 +0800 (CST)
Received: from frapeml500007.china.huawei.com (7.182.85.172) by frapeml500006.china.huawei.com (7.182.85.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 1 Feb 2023 09:44:34 +0100
Received: from frapeml500007.china.huawei.com ([7.182.85.172]) by frapeml500007.china.huawei.com ([7.182.85.172]) with mapi id 15.01.2375.034; Wed, 1 Feb 2023 09:44:34 +0100
From: Italo Busi <Italo.Busi@huawei.com>
To: Jernej Tuljak <jernej.tuljak@mg-soft.si>, Martin Björklund <mbj+ietf@4668.se>
CC: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: [netmod] Changing an identity base
Thread-Index: Adkyb9db5dPzE8szQAyn3dsE0RO5HQCB2RCAAAUMISD///23AIAAAuCAgAFgZID//ke14A==
Date: Wed, 01 Feb 2023 08:44:33 +0000
Message-ID: <abe085531a104440b40e5a462e3297cf@huawei.com>
References: <368f8c81-a67b-4ca0-0a61-963acd54b043@mg-soft.si> <54933ec7333e44e4adf5dd2cf1dc22db@huawei.com> <5d09aa66-d0fa-719c-a00e-590aff8202fd@mg-soft.si> <20230130.111747.94987242747910439.id@4668.se> <e035508a-1603-4ccd-5684-b302b04541d1@mg-soft.si>
In-Reply-To: <e035508a-1603-4ccd-5684-b302b04541d1@mg-soft.si>
Accept-Language: it-IT, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.81.206.165]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/P3y9QfJ4yVu4t5I1-p_14Z60uYk>
Subject: Re: [netmod] Changing an identity base
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: Wed, 01 Feb 2023 08:44:38 -0000

Martin, Jernej,

I am a bit confused by your replies

With a reference to my short example below, are you saying that NEW (B) provides an NBC change while NEW (A) provides a BC change for OLD?

Actually , this is exactly the result I have got by testing NEW (A) and NEW (B) with pyang

However, if I am not mistaken, based on section 7.18.2 of RFC7950, NEW (A) seems equivalent to NEW (B): if identity B (baz) is derived from A (foo) and C (bar) is derived from B (baz), then C (bar) is also derived from A (foo) ...

Italo

> -----Original Message-----
> From: Jernej Tuljak <jernej.tuljak@mg-soft.si>
> Sent: martedì 31 gennaio 2023 08:19
> To: Martin Björklund <mbj+ietf@4668.se>
> Cc: Italo Busi <Italo.Busi@huawei.com>; netmod@ietf.org
> Subject: Re: [netmod] Changing an identity base
> 
> On 30/01/2023 11:17, Martin Björklund wrote:
> > Hi,
> >
> >
> > Jernej Tuljak <jernej.tuljak@mg-soft.si> wrote:
> >> On 30/01/2023 10:19, Italo Busi wrote:
> >>> Yes, the intention is not to change the semantic of bar but to
> >>> introduce a more “restricted” identity from which bar could be
> >>> derived
> >>>
> >>> Something like introducing an identity for italian-car in between
> >>> car and Ferrari identities
> >>>
> >> I understand your intention. I do not understand the intention behind
> >> text in RFC 7950, however.
> >>
> >> My clarification request was aimed at RFC 7950 authors and whether a
> >> revision like this could be considered as not changing the semantics
> >> of the original identity definition because:
> >>
> >>     Otherwise, if the semantics of any previous definition are
> >> changed
> >>     (i.e., if a non-editorial change is made to any definition other
> >> than
> >>     those specifically allowed above), then this MUST be achieved by
> >> a
> >>     new definition with a new identifier.
> >>
> >> So, RFC authors: Is "NEWB:bar" definition semantically equivalent to
> >> "OLD:bar" definition?
> > I think that this change isn't allowed according to RFC 7950, but it
> > should have been.  If there ever is a new version of YANG, this should
> > be fixed.
> >
> > The quoted text says:
> >
> >    if a non-editorial change is made to any definition other
> >    than those specifically allowed above, then this MUST be achieved
> > by a
> >    new definition with a new identifier
> >
> > This is a non-editorial change that is not "specifically allowed
> > above".
> 
> That has been my interpretation as well so far. Our tools were implemented
> accordingly. I believe that the Pyang plugin also reports an error for a change
> like this.
> 
> Jernej
> 
> >
> > /martin
> >
> >
> >
> >> Jernej
> >>
> >>> Italo
> >>>
> >>> *From:* Jernej Tuljak <jernej.tuljak@mg-soft.si>
> >>> *Sent:* lunedì 30 gennaio 2023 08:51
> >>> *To:* Italo Busi <Italo.Busi@huawei.com>; netmod@ietf.org
> >>> *Subject:* Re: [netmod] Changing an identity base
> >>>
> >>> On 27/01/2023 17:54, Italo Busi wrote:
> >>>
> >>>      According to section 11 of RFC7950, the following change is
> >>>      considered BC:
> >>>
> >>>         o  A "base" statement may be added to an "identity" statement.
> >>>
> >>>      Since, as explained in section 7.18.2 of RFC7950, the derivation
> >>>      of identities is transitive, my understanding is that replacing a
> >>>      "base" statement with new  "base" statement which is derived from
> >>>      the previous one is also a BC change.
> >>>
> >>>      Considering the example below, the NEW (A) change is BC according
> >>>      to section 11 of RFC7950. However, NEW (B) is equivalent to NEW
> >>>      (A), since the new baz is derived from foo, and therefore it is
> >>>      also a BC change.
> >>>
> >>>      Is my understanding correct?
> >>>
> >>>
> >>> I'd like a clarification regarding this as well.  Is "NEWB:bar"
> >>> definition semantically equivalent to "OLD:bar" definition?
> >>>
> >>> Jernej
> >>>
> >>>
> >>>      Thanks, Italo
> >>>
> >>>      OLD
> >>>
> >>>      identity foo {}
> >>>
> >>>      identity bar {
> >>>
> >>>        base foo;
> >>>
> >>>      }
> >>>
> >>>      NEW (A)
> >>>
> >>>      identity foo {}
> >>>
> >>>      identity baz {
> >>>
> >>>        base foo
> >>>
> >>>      }
> >>>
> >>>      identity bar {
> >>>
> >>>        base foo;
> >>>
> >>>        base baz;
> >>>
> >>>      }
> >>>
> >>>      NEW (B)
> >>>
> >>>      identity foo {}
> >>>
> >>>      identity baz {
> >>>
> >>>        base foo
> >>>
> >>>      }
> >>>
> >>>      identity bar {
> >>>
> >>>        base baz;
> >>>
> >>>      }
> >>>
> >>>
> >>>
> >>>      _______________________________________________
> >>>
> >>>      netmod mailing list
> >>>
> >>>      netmod@ietf.org
> >>>
> >>>      https://www.ietf.org/mailman/listinfo/netmod
> >>>