Re: [Last-Call] Yangdoctors last call review of draft-ietf-bfd-rfc9127-bis-01

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mahesh,

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.

Good.

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.

I don't think anybody is suggesting to add any guideline text for nbc changes into 9127". I just want 9127" to set a good example for similar cases in the future, until we have the Ver DT document suite in place. You already said you're fine with that above, so we're all in agreement.

Best Regards,
/jan



On Feb 9, 2022, at 9:36 AM, Jan Lindblad (jlindbla) <jlindbla@xxxxxxxxx> wrote:

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

.




Mahesh Jethanandani

-- 
last-call mailing list
last-call@xxxxxxxx
https://www.ietf.org/mailman/listinfo/last-call

[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux