Subject: [netmod] YANG module compatibility

From: Jernej Tuljak <[email-masked]>
Date: Mon, 04 Jun 2012 11:23:18 +0200

In a recent discussion Andy Bierman implied that a server should never 
advertise two revisions of the same module and I agree. This also means 
that a server cannot implement certain combinations of modules since 
they are incompatible -- or can implement them but must then choose a 
specific subset of the implementation to work with.

I now wonder if there are any other ways for two modules to become 
incompatible. There's only one other case I can currently think of. I 
heard some developers create modules which share namespaces. If two such 
modules were to define at least one top-level data definition statement 
which appears in both of them and is named exactly the same in both of 
them then these two modules are bound to be incompatible, right? I'm 
assuming this since there would be no way to properly validate content 
modeled based on such modules -- and because YANG grammar prevents this 
within a single module and same rules apply to modules which share a 
namespace URI.

Are there any other cases which one should be wary of? I'm asking this 
since I'm not sure that letting our generic client application to load 
just any set of modules was a good idea - especially now with a working 
implementation of RFC6110 in the picture -- and am trying to determine 
whether this should be prevented and in what way. Are there rules that 
apply to "module pools"?

Jernej Tuljak