Subject: [Yang-multicast] FW: mandatory and range statements

From: Steve Baillargeon <[email-masked]>
Date: Thu, 7 May 2015 16:24:20 +0000

Hi
I hope I did capture the problem statement clearly.
Let me know if anything is missing...

-Steve B

From: Steve Baillargeon
Sent: Thursday, May 07, 2015 11:42 AM
To: 'netmod'
Subject: mandatory and range statements

Hi
As part of the multicast YANG activity involving a large number of vendors, implementers and contributors, we are struggling with the usage of the YANG mandatory statement.
I suspect others are or will soon hit the same dilemma.

So far it looks like the various YANG modules are minimizing its usage i.e. most or all nodes including configuration, state and counter nodes are optional.
Is this the right way?

Making most the tree data optional has some advantages:

*         Vendor/implementer can decide to implement a specific optional node or not

*         Vendor/implementer can decide to implement its own version of a standard optional node (it does not sound right)

*         Vendor/implementer does not need to provide a large list of deviation statements

On the other hand,  this approach may lead to many different implementations of a standard YANG module and the users will have to find a way to manage the differences.
Has this been discussed or addressed already?
Should we think about producing guidelines about the usage of the mandatory statement (ref draft-ietf-netmod-rfc6087bis) ?
Should we increase the usage of mandatory true statement in order to get better alignment and help NETCONF users to more easily determine the deviations?

On the topic of the range statement.
Many vendors/implementers would like to provide different ranges for a given node.
Should the standard range definition be the union of all or avoid ranges as much as possible?
If the node is optional and a range is defined in an IETF YANG module, is it OK for the vendor/implementer to simply change its own range as he/she see fit?

Please advise.

Regards
Steve B