[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [NGO] external module properties



Hi,

Phil Shafer <phil at juniper.net> wrote:
> Martin Bjorklund writes:
> >But when it
> >comes to data/rpc/notifs the device must choose one version to
> >implement.  It would have to be a version no earlier than the latest
> >version referenced by any other module implemented on the device.
> 
> Right, and it may be "none".  Consider that I may implement
> modules that import a module that I simply don't implement.
> The data/rpc/notifs in the module are not present in my implementation.
> 
> A module imports another module for four reasons:
> - to reuse types
> - to reuse groupings
> - to augment content
> - um...  er....  wait, I know there was another one
> 
> In all these cases, I want to reuse/augment a specific revision
> of the module.

Yes, except for augment.  What does it mean if B augments version 1 of
A, and a device implements B and version 2 of A?  IMO it is ok, since
the rules for upgrading a module ensures that no nodes are removed and
so on.

So a versioned import is strict for compile time properties like types
and grouping, but for runtime properties the upgrade rules make sure
that a later version of the module can be used.

This means that in runtime, the device implements one specific version
of a module.

> >Maybe it's not a problem...  but the schema discovery mechanism will
> >have to support these cases.  There would be two separate lists of
> >schemas; one list with the data/rpc/notifs that the device implements,
> >and an extended list which includes older versions and
> >type/grouping-only modules.
> 
> Exactly.  And if module B only used groupings/types/etc from A,
> I could implement B without implementing A at all.

Right.


/martin
_______________________________________________
NGO mailing list
NGO at ietf.org
https://www.ietf.org/mailman/listinfo/ngo