Robert Wilton <rwil...@cisco.com> writes:

> Hi Lada, Martin,
>
> I've reviewed both draft-bjorklund-netmod-structural-mount-00 and 
> draft-lhotka-netmod-ysdl-00.
>
> In comparing these two drafts, the main differences that I perceive are:
>
> 1) structural-mount allows the mounted data model to publish its 
> supported schema at the mount point, but ysdl requires the mounting 
> device to know and publish the schema for all mounted data models.

I am not sure what you mean by "publish" but I think really the only
difference is that structural-mount provides schema information as
regular state data and YSDL as meta-data.

In my view, the definition of a data model schema is really
meta-data. The module "ietf-yang-structural-mount" and its data would
require special treatment anyway - for example, it has to be found in a
well-known location, so it cannot itself be mounted.

> 2) A corollary of (1) is that structural-mount also allows different 
> schema data models to be published at the mount point (e.g. under a 
> list), but ysdl does not.

True, but it can be easily emulated by using either a choice (or a
"dynamic choice" using "when") and defining different sub-schemas as
different cases. I'd argue this is a more robust approach.

> 3) structural-mount has a mount node embedded directly in the schema, 
> where as for ysdl, the equivalent mount points are only specified in the 
> ysdl meta-schema.
> 4) ysdl is extensible to cover other non mount related use-cases (such 
> as anydata) where being able to dynamically make available the schema is 
> useful.
> 5) structural-mount also covers RPCs and Notifications, whereas these 
> appear to be outside the scope of ysdl.

This is just an omission on the part of YSDL. The approach proposed for
structural-mount can be used as well.

> 6) The ysdl meta-data language appears to be more flexible, and hence 
> also more complex, than the equivalent "mount-points" schema defined in 
> structural-mount.
> 7) For structural-mount the "mount-points" table is returned as a normal 
> oper data YANG module in the mounting device, whereas for ysdl, protocol 
> extensions would be required to NETCONF/RESTCONF to access the schema 
> meta-data.

First, structural-mount uses an extension that has to be considered
mandatory because otherwise no interoperability can take place. So I
don't think that it seamlessly integrates into NETCONF/RESTCONF.

And second, I actually considered to simply extend yang-library with the
YSDL data, but I decided to keep it separate in order to avoid
additional delays for the yang-library spec.

>
> Considering these differences:
>
> For points (1) and (2), I can think of scenarios where having a mounted 
> device being able to provide its schema via yang-library and for that 
> schema to differ for different mounted devices is probably a requirement 
> for some plausible mount scenarios.  E.g. one that I can think of is the 
> case that you have a YANG controller that is exposing an aggregated YANG 
> model for a set of devices, it seems that you would need to be 
> accommodate mounted devices that are made by different vendors and 
> running different software versions which would imply that their schema 
> may also be different.

Right, you would use a (dynamic) choice in this case.

>
> For point (3), this is a matter of preference, I like that fact that the 
> mount point is explicit in the schema in structural-mount.  The ysdl

But this means using a YANG extension with all the problems regarding
conformance. And this extension is quite far-reaching.

Lada

> meta-schema appears to be more flexible because it can in effect put 
> mount points anywhere, but even with structural mount this same 
> flexibility could presumably still be achieved by augmenting with a 
> mount point.
>
> For point (4), I think that this is useful functionality, and perhaps if 
> structural-mount is to be used as the base draft going forward it might 
> be worth considering whether the solution could be able to cover, or be 
> cleanly extended, to this use case.
>
> For point (5), I definitely think that it is beneficial that 
> structural-mount has an intuitive solution for RPCs and Notifications.
>
> For points (6) and (7) my gut instinct is that the structural-mount 
> would be easier to standardize and also less work to implement.
>
>
> Some of my points above may be incorrect, and that might swing the 
> balance between the two solutions, so please correct me if I have got 
> anything wrong.  Otherwise, just considering the written drafts as they 
> stand now, my personal preference is that I would favour using 
> structural-mount as a starting point for a solution.
>
> Martin, I also have some comments/questions on the structural-mount 
> draft, I'll put these into a separate email.
>
> Thanks,
> Rob

-- 
Ladislav Lhotka, CZ.NIC Labs
PGP Key ID: E74E8C0C

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

Reply via email to