All, From: netmod <netmod-boun...@ietf.org> on behalf of Mahesh Jethanandani <mjethanand...@gmail.com> Date: Tuesday, September 14, 2021 at 1:38 PM To: Juergen Schoenwaelder <j.schoenwael...@jacobs-university.de> Cc: Babel at IETF <ba...@ietf.org>, "STARK, BARBARA H" <bs7...@att.com>, "netmod@ietf.org" <netmod@ietf.org> Subject: Re: [netmod] [babel] NULL value for uint16
Hi Juergen, On Sep 14, 2021, at 10:17 AM, Jürgen Schönwälder <j.schoenwael...@jacobs-university.de<mailto: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? “type empty” is cleaner than a boolean indicating whether or not a value is specified. In fact, it wouldn’t make sense to for a boolean to be in a union with the specified value. Acee 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<mailto:mjethanand...@gmail.com>
_______________________________________________ netmod mailing list netmod@ietf.org https://www.ietf.org/mailman/listinfo/netmod