I am ok with the draft announcing backward incompatibility and explaining the backward incompatibility with a combination of description statement and “What has changed since RFC 9127” section in the draft.
But I would defer to the netmod WG and/or YANG doctors to produce the guidelines. I do not think this draft is the right place to write the guidelines.
Thanks.
Tom, Jeff, If an implementation, for whatever reason, couldn't support the items that were covered under the new if-feature, they would have already deviated them away.
I do not understand. The case that concerns me is an implementation written to RFC9127 that knows the rules for backwards compatibility and so knows what it can rely on when a revised module of the same name is found. Except, AFAICT, it cannot because we are breaking the rules and giving the user little or no help in this I-D to work out why their software no longer works.
I think what Jeff and the BFD team are saying is that there are no such implementations in the real world. As far as I can tell, that may well be true. As Jan said, we have not done this before and are in uncharted territory. I think we should be more helpful. And the NETMOD WG or the YANG doctors, or both, need to produce guidelines ready for the next time.
This is exactly my point. We're setting a precedence here. Let's do it right. There may be nobody that cares that it's not compatible, but I still prefer that we establish a good template for how to declare breakages of this kind, and then stick to it. At least until the YANG Rev DT publishes revised rules and official YANG statements. Best Regards, /jan An implementation now has the option to not advertise the feature for that case. It may also perversely choose to continue to apply a deviation.
No new nodes have been added. Implementations (however unlikely they were to have been done) for RFC 9127 for these nodes would have already had to have dealt with them.
-- Jeff
On Feb 7, 2022, at 12:34 PM, t petch <ietfa@xxxxxxxxxxxxx> wrote:
On 07/02/2022 15:49, Jan Lindblad (jlindbla) wrote:
Mahesh, all,
I tend to agree with Tom that the revision description you proposed was a bit terse. What I had in mind was perhaps more along these lines:
description "This revision is non-backwards-compatible with the previous revision.
This revision adds an if-feature statement for the client configuration parameters. If a client using the previous YANG revision of this module connects to a server that implements the current YANG revision of this module, but does not implement the feature, the client may not function properly.
This change was introduced despite this incompatibility because ... ... ";
Don't take the text above literally, I only wrote that to give an idea what I had in mind. There isn't much precedence for how IETF documents NBC breakage in YANG modules, so we have to decide upon the right verbiage level here. In the drafts produced by the versioning design team, there will be an annotation to include in cases like this, rev:non-backwards-compatible; which will make this rather clear. While waiting for that to be implemented, I'd say we should err on the side of making it a little overly clear, rather than hiding the fact.
That is more what I would hope to see. The key part for me is that fact that an if-feature has been added. I would have added something like 'Consequently, a client that does not support this feature may be unable to retrieve the objects it would expect to be able to.' although that may be stating the obvious!
Tom Petch
Best Regards, /jan
Thanks first of all for the review.
On Feb 3, 2022, at 3:22 AM, Jan Lindblad via Datatracker <noreply@xxxxxxxx<mailto:noreply@xxxxxxxx>> wrote:
Reviewer: Jan Lindblad Review result: Ready with Issues
This is the last call YANG Doctor review of draft-ietf-bfd-rfc9127-bis. Browsing the mail archives, this has been a long story. Realizing that the context of the bis is to fix a particular issue, I have focused only on the diffs from RFC 9127. I feel any additional nitpicks I might find in a complete review would not be welcome at this stage.
I have reviewed the diffs, and find them fulfill the desired technical goals. Since this update breaks backwards compatibility as defined in RFC 6020 sec 10 and RFC 7950 sec 11, the process for approving this change has been discussed at length. One argument that has been put forward for going ahead is that the previous version of this module was released only a short time ago, so there is no proliferation of impacted systems in the field.
Another argument has been that the YANG Versioning Design Team is working on updated backwards compatibility rules. The Ver-DT proposed updates to the compatibility rules would indeed allow a change of this kind under certain conditions. A key condition for allowing such a break with the backwards compatibility is that the module revision history announces this break clearly to all readers. This is not the case in the -01 version of the modules.
revision 2022-01-04 { description "Updates to add client configuration parameters feature.";
In my YANG Doctor opinion, updating the revision statement to clearly state that this version is not backwards compatible with the previous version is an absolute requirement. I think it would also be fair to module readers to add a few sentences explaining what's going on here.
How does this sound?
OLD: "Updates to add client configuration parameters feature.";
NEW: "Updates to add client configuration parameters feature. This update breaks backward compatability with earlier version of the model. The new feature prevents up to three client configuration parameters from being included, where they were not needed.";
I think that you need more than that (for the reader who does not follow the BFD WG). I think that there needs to be a reference to where the compatability rules are - RFC7950 s.11 - and the nature of the breakage in the language of NETMOD so that readers can judge the impact thereof.
Tom Petch
Thanks.
Mahesh Jethanandani mjethanandani@xxxxxxxxx<mailto:mjethanandani@xxxxxxxxx>
-- last-call mailing list last-call@xxxxxxxx https://www.ietf.org/mailman/listinfo/last-call
.
|