I do not recall that removing an enum was ever an issue in
practice. If an enum value is not used anymore, you leave the old enum
value and it will slowly but surely not be used anymore. (An enum
statement even has a status statement, so you can deprecate or
obsolete enum values.) That said, if the module owner decides to
remove the value, then this is indeed non-backwards compatible. (And
removing an enum paves the way to reallocate the associated number,
and be it by accident later again. I suggest people think twice
before removing enums.)

/js

On Fri, Apr 09, 2021 at 01:43:09PM +0000, Sterne, Jason (Nokia - CA/Ottawa) 
wrote:
> Urghh.  I reversed my example.  I should have said removing an enum.  Let me 
> reword:
> 
> One key example is this:  7950 says that removing an enum from an enumeration 
> leaf is NBC (and that applies to state). But that may not really be how most 
> implementations would want to treat state. Would we really want to flag a 
> module as non backwards compatible when a state leaf has an enum removed?  
> Wouldn't that create a lot of unnecessary noise?
> 
> > -----Original Message-----
> > From: Juergen Schoenwaelder <j.schoenwael...@jacobs-university.de>
> > Sent: Friday, April 9, 2021 9:39 AM
> > To: Sterne, Jason (Nokia - CA/Ottawa) <jason.ste...@nokia.com>
> > Cc: Rob Wilton (rwilton) <rwil...@cisco.com>; netmod@ietf.org
> > Subject: Re: [netmod] Client validation text [was RE: YANG Versioning
> > Weekly Call Minutes - 2021-04-06]
> > 
> > On Fri, Apr 09, 2021 at 01:32:15PM +0000, Sterne, Jason (Nokia - CA/Ottawa)
> > wrote:
> > 
> > > One key example is this:  7950 says that adding another enum to an
> > enumeration leaf is NBC (and that applies to state). But that may not really
> > be how most implementations would want to treat state. Would we really
> > want to flag a module as non backwards compatible when a state leaf gets an
> > additional enum?  Wouldn't that create a lot of unnecessary noise?
> > 
> > I read this in RFC 7950:
> > 
> >    o  An "enumeration" type may have new enums added, provided the old
> >       enums's values do not change.  Note that inserting a new enum
> >       before an existing enum or reordering existing enums will result
> >       in new values for the existing enums, unless they have explicit
> >       values assigned to them.
> > 
> > What do you want this to change to?
> > 
> > /js
> > 
> > --
> > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> > Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to