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]

 



Tom,


On Feb 9, 2022, at 12:07 PM, t petch <ietfa@xxxxxxxxxxxxx> wrote:

On 07/02/2022 17:42, Jeffrey Haas wrote:
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.

Actual implementations need to ship modules that document their augmentations and deviations.  This is the current state of things.

If a mythical implementation of a module was unable to support a given leaf in this module, a deviation would have been created for it.

In the specific example we're discussing, the only thing changing is how optionality based on a given implementation's support or lack of support of those leafs can be done:
- If that implementation previously supported all of the newly conditional if-feature nodes in its uses of that module, it will need to announce the feature.
- If that implementation previously didn't support the newly conditional leafs, it would have already had a deviation module for them.  Now it does not need the deviations, but needs to NOT announce the feature.

It is right to call out that the announcement of the feature could have impact since it's a change of behavior.  But so is the simple fact that an implementation would have had to adjust what it ships for its deviations as well.

No ecosystem of yang modules for a given implementation is going to ship without the understanding that it's the entire bundle of things - including features announced in the protocol - that make up how the schema are used.

Original bundle: You deviated, if you needed to.
New bundle: You advertise the feature, or not.

A given implementation may change its mechanism from one bundle to the next, but in this specific example the outcome is the same.

Had this been to change actual schema nodes from one bundle to the next, the case would have been interesting.



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.

The guidance suggested in prior working group meetings years ago largely still apply: No module lives in isolation.  The interesting dialog will continue to be about how you handle versioning of the sets  of interdependent modules along with mechanisms like features which are dynamic.

-- Jeff

-- 
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