Juergen Schoenwaelder <[email protected]> writes:
> On Sun, Feb 12, 2017 at 08:55:04AM -0500, Christian Hopps wrote: >> The tags defined by (a) and (b) are still for the users use. In fact >> aren't there plenty of defaults in configuration on devices that the >> user can override or remove? I guess I don't understand why this is so >> controversial. >> > > In YANG, you can overwrite defaults by configuring explicit values, > you can't remove the default - the default is just not used anymore > once there is a configured value - the default still exists and it > will come back when there is no configured value anymore. But I am not > sure the analogy is a good one. > > If a data model defines an implementation should set the tag 'foo', > then it feels odd to me to go to the device and to remove that > tag. Perhaps strictly from a module designers point of view it might seem odd. One reason we allow for changing things from strictly the designers point of view though is because the designer can't anticipate all use cases and situations that arise from here to eternity. As I'm the user, unless there is a very good reason not to the default should be to let me do what I want. That's the unix way, and I certainly like unix. :) > The tag 'foo' after all is there because the data model says it > should be there - so in an ideal world all implementations of this > data model will set the tag. Why would be removing the 'foo' tag on > all these correct implementations be significantly cheaper than simply > using your own (application specific) tag instead of the 'foo' tag > (that does not seem to do what you like)? Or you add a tag > 'ops-foo-broken' to those implementations where you believe the foo > tag is inappropriate. > > At the end, it is not a big deal to remove tags but somehow I am not > sure whether there is not a difference between (a), (b), and (c) tags. The tag is there to help identify things about the module to the users of that module, as the ultimate authority on the use of this module I want to be able to override that default just like I can override other default values. Your right I can add a new tag to be used by software that I can modify, but what if other software I need to use is also using the designer's tag? I can only control it by removing the tag in that case. It doesn't cost anything really to allow for this, and it provides future-proofing control to the user, conversely what do we gain from disallowing it? Thanks, Chris.
signature.asc
Description: PGP signature
_______________________________________________ netmod mailing list [email protected] https://www.ietf.org/mailman/listinfo/netmod
