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.

> On Feb 9, 2022, at 9:36 AM, Jan Lindblad (jlindbla) <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> 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>> 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>
>>>>> 
>>>>> 
>>>> 
>>>> --
>>>> last-call mailing list
>>>> last-c...@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/last-call
>>> 
>>> .
>>> 
> 


Mahesh Jethanandani
mjethanand...@gmail.com






Reply via email to