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