On 20/09/2017 11:18, t.petch wrote:
----- Original Message -----
From: "Ladislav Lhotka" <lho...@nic.cz>
Sent: Tuesday, September 19, 2017 2:37 PM

Martin Bjorklund <m...@tail-f.com> writes:

Ladislav Lhotka <lho...@nic.cz> wrote:
Hi,

I support the adoption but I propose two conceptual changes:

1. Introduce a new module name and namespace so that it is not
necessary to carry along the deprecated baggage. If readability is
the primary concern, this is IMO the way to go. Instead of
"ietf-ip-2", I'd suggest something like "ietf- ip-nmda".

2. Avoid obsoleting RFC 7277. I believe the old modules may
continue
to be used
in areas where NMDA is an overkill, such as open source home
routers.
Why wouldn't NMDA be appropriate in an open source home router?
Note
that the new model really just have a single tree instead of two
trees, so the data that needs to be instrumented is more or less the
same.
It is quite likely that some parts of the data models will be
implemented only as configuration but not state data. In the "old
style"
modules it is easy to add a deviation for the node(s) under -state but
in NMDA style this is not possible because we only have one node.

There are subtle differences in the schemas for configuration and
state
data that the NMDA concept doesn't address. If you want another
example,
ietf-routing-2 has the "router-id" leaf that is conditional via the
"router-id" feature. If this feature is not supported, router-id
cannot
be explicitly configured (it is assigned by the system) but in state
data
"router-id" needs IMO be present in any case. But the if-feature
isn't able to differentiate between configuration and state data if
there is only one node for both.
So add a second node!  I think that the idea that NMDA eliminates all
duplication of config and state is a myth; there will still be
duplication where the life cycle of the data diverges, ie it is not
really duplication! I think too that the twin trees approach, while
clumsy, was easy to create;
Easy to create, but just as easy to get wrong.  Alas, with the twin trees approach, the config and state trees can (and do) diverge. Different WGs within IETF were already starting to model the state information with different tree structures.  Some WG models includes the applied config value, others didn't.  We seemed to be loosing consistency between the model.  My opinion is that the end outcome of this would effectively require all clients to write custom code to correlate equivalent information between the config and its related state, which doesn't seem great.

  the NMDA approach is more subtle, more
complex, easier to get wrong.
Yes, I agree the NMDA approach is a bit more subtle. And there are definitely some concepts that probably should be modeled slightly differently:

A case in point might be "interface MTU" that can be automatically assigned (the default behaviour) or statically configured.

(1) A pre-NMDA split config/state model might have:
- a config true interfaces/mtu leaf that is either "auto" or a specific value, - a config false interfaces-state/mtu leaf holding the actual operational value, - [potentially also a config false interfaces-state/cfgd-mtu leaf indicating the applied config value.]

(2) One way of modelling this in NMDA would be to split whether mtu was auto vs manually configured separately from the mtu value.  So this could be modeled as: - one config true leaf that represents with MTU is automatic or manually configured. --one config true leaf that represents the manually configured and operational MTU value.  Allow with an appropriate constraint so that both leaves are not configured.

(3) Alternatively, in both pre NMDA or post NMDA, the model could assume "automatic" as the implicit default MTU behaviour.  In this case you only need to have a single leaf in the NMDA model (or 2 leaves in the split model).  - one config true leaf that represents the operational MTU of the interface, which may be configured if a specific value is to be enforced.

For MTU, it is the third approach that I prefer.

Another similar example is Ethernet auto-negotiation, where (2) looks like the best approach post NMDA with an explicit leaf to control whether the auto-negotiation protocol is enabled (rather than attempting to merge it with the speed, duplex, and flow-control leaves).  But in the end, (2) also has the added benefit that it actually more closely marries up to how the auto-negotiation protocol is defined, and what functionality is actually allowed.

I think that building up a set of these examples (probably on an FAQ), of how particular abstract concepts can be effectively modeled may make it a bit easier when folks are trying to figure out the best way of modeling something in the post NMDA world.


I recall that in the initial stages of discussion of this issue there
was a proposal for an object to have potentially eight different
characteristics so what NMDA gives us at present is limited and will not
solve all the issues of needing more than one node.
I think that I missed those early discussions.  Perhaps that was a good thing :-)

Thanks,
Rob


Tom Petch








In fact, if we claim that the new architecture is not appropriate
for
some devices I think we have failed, especially if the conclusion is
that we need to maintain two versions of all modules going forward.
I am not asking for this but, on the other hand, if NMDA versions used
a new
module name and namespace (my item #1, which is what ietf-routing-2
does), then I don't see any pressing need for obsoleting the old style
modules.

Lada


/martin






NMDA
implementors should be aware of the new modules but there is no
need to
eradicate the old data models.

#2 applies also to other modules for which the NMDA version is
underway.
Lada

PS. The subject is wrong, it shoud be -rfc7277bis-

Lou Berger píše v Po 18. 09. 2017 v 10:33 -0400:
All,

This is start of a two week poll on making
draft-bjorklund-netmod-rfc7227bis-00 a working group document.
Please
send email to the list indicating "yes/support" or "no/do not
support".
If indicating no, please state your reservations with the
document.  If
yes, please also feel free to provide comments you'd like to see
addressed once the document is a WG document.

The poll ends Oct 2.

Thanks,

Lou (and Kent)

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod
--
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67

_______________________________________________
netmod mailing list
netmod@ietf.org
https://www.ietf.org/mailman/listinfo/netmod
--
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67

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

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

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

Reply via email to