Re: [netmod] Changing an identity base

Jernej Tuljak <jernej.tuljak@mg-soft.si> Tue, 31 January 2023 07:19 UTC

Return-Path: <jernej.tuljak@mg-soft.si>
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 67234C14CF18 for <netmod@ietfa.amsl.com>; Mon, 30 Jan 2023 23:19:14 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.097
X-Spam-Level:
X-Spam-Status: No, score=-7.097 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, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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=mg-soft.si
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 vuuFHHKr6CbS for <netmod@ietfa.amsl.com>; Mon, 30 Jan 2023 23:19:10 -0800 (PST)
Received: from galileo.mg-soft.si (gate.mg-soft.si [212.30.73.66]) by ietfa.amsl.com (Postfix) with ESMTP id EC181C14CF15 for <netmod@ietf.org>; Mon, 30 Jan 2023 23:19:08 -0800 (PST)
Received: from [10.0.0.222] (tp-x61t.mg-soft.si [10.0.0.222]) by galileo.mg-soft.si (Postfix) with ESMTP id 49412C41D787; Tue, 31 Jan 2023 08:19:05 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 galileo.mg-soft.si 49412C41D787
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mg-soft.si; s=default; t=1675149545; bh=jTSlIAQj3GvvXZ+ncm8G8UzbpbQ0bY1FrANz8Oyu9VM=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=YmTRzzoEJG0AkLL78olcwDN8Fmef0QyPNXd6610SLPuqFEv/epqMagHXcPD/pqNO/ o0KPZDBEIuI9+O5rPBd6NkUrU++yvzwO9SsEwoxrKi/B9/0jJQz6zsHMvbSoa6H8nl tBDPlTpUrpsDmvNe5tcPgWx7iUugfUvRJAlhU5CIbppa5O0KmXpCUQTj4aP1MAmnAf 61cxgA8Y2KQ0w8Jpqq1Kcq67mTCaFOnYf8OElJYasBTKWd8zIVQ3FYQ6YKoi05okX9 QZgbH1v19Xg/GuF7aYQHQSxG8BbNWgxD61ex+1SuEsnSV2n12N2q6gueGBdZ/5J2Lv 1eOdcSpryzFbQ==
Message-ID: <e035508a-1603-4ccd-5684-b302b04541d1@mg-soft.si>
Date: Tue, 31 Jan 2023 08:19:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1
To: Martin Björklund <mbj+ietf@4668.se>
Cc: Italo.Busi@huawei.com, netmod@ietf.org
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>
Content-Language: en-US
From: Jernej Tuljak <jernej.tuljak@mg-soft.si>
In-Reply-To: <20230130.111747.94987242747910439.id@4668.se>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/A3stzMOoQdV-Qqljghh-6z3sqN8>
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: Tue, 31 Jan 2023 07:19:14 -0000

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
>>>