On 30/01/2023 11:17, Martin Björklund wrote:
Hi,


Jernej Tuljak <[email protected]> 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 <[email protected]>
*Sent:* lunedì 30 gennaio 2023 08:51
*To:* Italo Busi <[email protected]>; [email protected]
*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

     [email protected]

     https://www.ietf.org/mailman/listinfo/netmod


_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to