Hi Martin,

> On Sep 14, 2021, at 11:17 AM, Martin Björklund <mbj+i...@4668.se> wrote:
> 
> Mahesh Jethanandani <mjethanand...@gmail.com 
> <mailto:mjethanand...@gmail.com>> wrote:
>> Hi Juergen,
>> 
>>> On Sep 14, 2021, at 10:17 AM, Jürgen Schönwälder 
>>> <j.schoenwael...@jacobs-university.de> wrote:
>>> 
>>> On Tue, Sep 14, 2021 at 01:51:36PM +0000, STARK, BARBARA H wrote:
>>> 
>>>> As I mentioned, BBF TR-181 uses int with range     -1:65535 with -1 
>>>> meaning NULL. So I certainly have no issue with that approach. The 
>>>> language in RFC9046 was intended to make sure this approach was allowed, 
>>>> since this is how it's done in TR-181.
>>>> I guess I am a bit surprised to learn that YANG doesn't seem to have a 
>>>> preferred way to handle this. Unfortunately, given my considerable lack of 
>>>> YANG expertise, I can't recommend the "right" way to model this in YANG. I 
>>>> can only insist that the model be able to express a value in the range 0 
>>>> to 2^16 and NULL value for these parameters. 
>>>> Independent of the fact that the words in RFC9046 don't seem to have 
>>>> expressed this perfectly clearly, that is absolutely the intent of those 
>>>> words. I apologize that the RFC9046 words don't seem to be sufficiently 
>>>> clear. 
>>>> 
>>>> Since you do mention the possibility of using -1 for NULL, I'd like to 
>>>> understand who might find this approach unacceptable? The language in the 
>>>> information model was definitely intended to express the acceptability of 
>>>> using this approach from a Babel WG perspective (because I knew that's how 
>>>> it would be done in TR-181). Would this be unacceptable to people with 
>>>> YANG expertise? I think my preference would be to use this approach, since 
>>>> it would provide additional consistency between the TR-181 and YANG models.
>>> 
>>> If other data models use an extended integer range and -1 to indicate
>>> a special case, then this may be a strong reason to do the same in the
>>> IETF YANG data model. Consistency across data models is a value, in
>>> particular for systems that may have to support multiple. While the
>>> conversion of different notations no hard, its one more thing to
>>> potentially get wrong.
>>> 
>>> If you were starting with a blank sheet of paper, then the YANG idiom
>>> would likely be to use a union of a 16-bit integer and a special
>>> (string) value, which might even be of type empty.
>> 
>> I hear two suggestions on what the “other” construct should be in the union 
>> statement. Use ‘empty’ as you suggest, or use ‘boolean’. Are there any 
>> pros/cons for either of the approaches?
> 
> 'boolean' doesn't seem right, since that would mean that you could see
> the values 'true' | 'false' | <uint16>.
> 
> If you want a union I suggest a union with one enum, perhaps:
> 
>  type union {
>    type enumeration {
>      enum null;
>    }
>    type uint16;
>  }
> 
> But Jürgens point about using a solution that other data models use
> makes sense.

That would mean something like this:

type union {
  type empty;
  type uint16;
}

Right?

> 
> Yet another alternative could be to not instantiate this leaf when the
> value in the information model is null.

I have never been very clear on what happens when the leaf goes from a defined 
value to null. In other words, how do you “un-instantiate” a leaf? Do you 
delete it?

Cheers.

> 
> 
> 
> /martin
> 
> 
> 
> 
> 
>> 
>>> 
>>> One of the reasons to have no common approach to these kind of
>>> questions is to provide the flexibility needed to do the right thing
>>> in different contexts. Of course, you may want to stay consistent in a
>>> data model or a collection of related data model.
>>> 
>>> I skimmed RFC 8407 and it seems we do not have text discussion this
>>> specific situation. Perhaps we should have text, perhaps I have
>>> overlooked it. ;-) I think there are different patterns to choose from
>>> to handle this situation with their various pros and cons.
>>> 
>>> /js
>>> 
>>> -- 
>>> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
>>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
>>> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
>> 
>> Mahesh Jethanandani
>> mjethanand...@gmail.com

Mahesh Jethanandani
mjethanand...@gmail.com





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

Reply via email to