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) 
<jlind...@cisco.com<mailto:jlind...@cisco.com>> 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 
<ie...@btconnect.com<mailto:ie...@btconnect.com>> 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 
<nore...@ietf.org<mailto:nore...@ietf.org><mailto:nore...@ietf.org>> 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
mjethanand...@gmail.com<mailto:mjethanand...@gmail.com><mailto:mjethanand...@gmail.com>



--
last-call mailing list
last-c...@ietf.org<mailto:last-c...@ietf.org>
https://www.ietf.org/mailman/listinfo/last-call

.




Mahesh Jethanandani
mjethanand...@gmail.com<mailto:mjethanand...@gmail.com>

Reply via email to