Re: [netmod] Clarification Question on draft-dsdt-nmda-guidelines-01

Mahesh Jethanandani <mjethanandani@gmail.com> Tue, 18 July 2017 07:12 UTC

Return-Path: <mjethanandani@gmail.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 83902131B4D; Tue, 18 Jul 2017 00:12:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F63Fx7m8ReD3; Tue, 18 Jul 2017 00:12:36 -0700 (PDT)
Received: from mail-pg0-x22d.google.com (mail-pg0-x22d.google.com [IPv6:2607:f8b0:400e:c05::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4EE9B131562; Tue, 18 Jul 2017 00:12:36 -0700 (PDT)
Received: by mail-pg0-x22d.google.com with SMTP id k14so7785537pgr.0; Tue, 18 Jul 2017 00:12:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc:message-id:references :to; bh=dxp47ULuoUkTZ7KuhOI5tItw3SQr1UFdMEneEzO5/xI=; b=i8UxWHxlbgdv7qrSIjUtSBbm/D1qpAbMI5Q1izZAcmHQfkMGOYDvPOtb1MoMD2SNZX m7qvYOo1wRfuxf0vPxqBd4ISSbRXuQHskw/2FGzN4Fny/M6shsK0FfJFUo5kvpvOnBvg 4xJ5BaxDPDO/ycpbaI4JOOBAZJLPXxWnufwlq6V0GQFsOB3Tycjf6K/KRgw0izsyeqW2 QPbpAiITsssW9b0D6nAToNSQU+HU5jfEsiwIuBZYW+P23mccor/kmb7Eip0HBq8LYoSf 2O0eM6Yp03aW2swlNNZowkJ0n0dzbOcYVDK9jZgx0cTe6YCnDXxXjNOGMAqkw2tviANv yUEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=dxp47ULuoUkTZ7KuhOI5tItw3SQr1UFdMEneEzO5/xI=; b=lsEtAID48jXokiYaG0Wm1QqWG0HFodDLjrqdzrAtjXH/E059fcxfEskPJXEo6flqCX N/J2SS2s+BYGvlucY+/p15mSBgLwFbN/McXfJ9NQvgChQmNLyRKzj+LZyPnwGFYmycMr b7P9FK1q3ZL0sGvQu+53mvdXzQ8tyudW4475gcT0FsCtLug1Pq1ywd670Kg1iUct7GvV CipWzcV+gJ8aAkUhc0Nipl9uNkPlBYvc4e6SEvnk2/v3MXrfooxJBAl3tt0OUY93PnRE 6apg1QXLFrZX+BfJdnC97DtHBlkyYspEPtx6wNji2J04gagUuEiHGpgiTRWL6OQgl+7X pbQQ==
X-Gm-Message-State: AIVw11385DCYzq/d166gxGkRf0kjQGZQmEY/9/JEA7M25un0itbws1k8 EoYfYBz6M85atQ==
X-Received: by 10.98.108.74 with SMTP id h71mr250073pfc.206.1500361955820; Tue, 18 Jul 2017 00:12:35 -0700 (PDT)
Received: from [10.24.20.224] ([128.107.241.191]) by smtp.gmail.com with ESMTPSA id d19sm2873674pfe.24.2017.07.18.00.12.33 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 18 Jul 2017 00:12:35 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_46D7EDD3-3953-4C6C-A301-016F33088904"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <HE1PR07MB0843FAB6200281120AD901039BA00@HE1PR07MB0843.eurprd07.prod.outlook.com>
Date: Tue, 18 Jul 2017 09:12:37 +0200
Cc: Robert Wilton <rwilton@cisco.com>, Xufeng Liu <Xufeng_Liu@jabil.com>, "netmod@ietf.org" <netmod@ietf.org>, "draft-dsdt-nmda-guidelines@ietf.org" <draft-dsdt-nmda-guidelines@ietf.org>
Message-Id: <F1B9EE4F-E03B-45D7-B5A7-52E98E2CFFF8@gmail.com>
References: <BN3PR0201MB0867C18E5FF7239EE991F720F1C20@BN3PR0201MB0867.namprd02.prod.outlook.com> <20170613200928.GA55527@elstar.local> <CY1PR0201MB0875F3203D6D4DFD606061FAF1C30@CY1PR0201MB0875.namprd02.prod.outlook.com> <2513fdd0-a8b3-b547-8c37-c736c575c4bc@cisco.com> <0505FAA8-BB82-4BCB-B4A5-E8018260580D@gmail.com> <5525cbb1-9ac7-bf24-67e1-68bb681be6ac@cisco.com> <HE1PR07MB0843FAB6200281120AD901039BA00@HE1PR07MB0843.eurprd07.prod.outlook.com>
To: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/SiEUOJxw69mO4MBecNAyXMSVnrk>
Subject: Re: [netmod] Clarification Question on draft-dsdt-nmda-guidelines-01
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Jul 2017 07:12:39 -0000

Jason,

> On Jul 17, 2017, at 11:38 AM, Sterne, Jason (Nokia - CA/Ottawa) <jason.sterne@nokia.com> wrote:
> 
> Hi guys,
> 
> This is something that could use further clarification in the draft.  i.e. examples and guidelines of when to create a separate "config false" leaf (vs the more typical case of just having a single "config true" leaf).   There is an example in there currently but I personally found it confusing:
> 
>    "An example would be the speed
>    of an interface, where the configured value may not be the value that
>    is currently used.”

It turns out that the example I had in mind does not create a separate ‘config false’ leaf. Instead, I see two leafs defined as:

leaf auto-negotiation {
  type boolean {
    description
      “When set to true, the interface will auto negotiate for speed.
       When set to false, a separate leaf called ‘speed’ will define
       the desired speed.”;
  }
}

leaf speed {
  type enumeration {
    enum 10M;
    ….
    enum 10G;
  }
}

Notice, I have not defined speed as a ‘config false’ leaf, because it could be used if auto-negotiation is set to false to manually set the speed of the interface.

But I see the interface name as a ‘config false’ leaf, because the name of the interface is assigned by the system, and cannot be changed by the user.

leaf interface-name {
  config false;
  type string {
    description
      “Name of the interface as assigned by the system. This could 
       include information of which line card the interface is on. 
       Example, GigabitEthernet 0/0/0/0”;
  }
}

Does this help?

> 
> I wasn't sure if that example referred to the same issue as you guys are discussing below.  Perhaps as a minimum we could grab some of the details for the example below and incorporate them into the draft ?
> 
> Rgds,
> Jason
> 
>> -----Original Message-----
>> From: netmod [mailto:netmod-bounces@ietf.org <mailto:netmod-bounces@ietf.org>] On Behalf Of Robert Wilton
>> Sent: Wednesday, June 14, 2017 17:54
>> To: Mahesh Jethanandani <mjethanandani@gmail.com <mailto:mjethanandani@gmail.com>>
>> Cc: Xufeng Liu <Xufeng_Liu@jabil.com <mailto:Xufeng_Liu@jabil.com>>; netmod@ietf.org <mailto:netmod@ietf.org>; draft-dsdt-nmda-
>> guidelines@ietf.org <mailto:guidelines@ietf.org>
>> Subject: Re: [netmod] Clarification Question on draft-dsdt-nmda-guidelines-01
>> 
>> 
>> 
>> On 14/06/2017 16:23, Mahesh Jethanandani wrote:
>>>> On Jun 14, 2017, at 8:10 AM, Robert Wilton <rwilton@cisco.com> wrote:
>>>> 
>>>> Hi Xufeng,
>>>> 
>>>> 
>>>> On 14/06/2017 14:01, Xufeng Liu wrote:
>>>>> Hi Juergen,
>>>>> 
>>>>> Thanks for the confirmation.
>>>>> As for the distinction between applied configuration and operational, I
>> think that it has been determined to be useful in some use cases. We can
>> create a separate leaf in such a case.
>>>> Yes, I think that this is exactly the right approach.
>>>> 
>>>> In the general case, a single leaf for applied configuration and the
>> operational value is normally sufficient.
>>>> 
>>>> But in some cases (e.g. where a value could be configured and/or
>> negotiated via protocol) then it sometimes useful to both see the input into the
>> protocol negotiation and also the resultant output value.
>>>> 
>>>> Here, there is a choice to be made to decide whether the extra config false
>> leaf represents the input value into the negotiation, or the output value.  I
>> think that the decision probably depends on the protocol semantics, but all
>> things being equal, there is a benefit if the configured value and actual
>> operational value end up being represented by the same leaf/path (since this in
>> the case in the mainline case where extra config false leaves are not required).
>>> Another way to look at it is whether the input value is truly different from the
>> output value. For example, if the input value is auto-negotiation, a boolean, but
>> the output value is a speed of 10/100/1000/10000, a uint32, then a separate
>> leaf makes sense.
>> Yes, agreed.
>> 
>> For cases like these (e.g. Ethernet auto-negotiation) a good approach seem to
>> be to model the leaf "enabling auto" as a separate leaf from the explicitly
>> configured/operational value.
>> 
>> Thanks,
>> Rob
>> 
>> 
>>> 
>>>> Thanks,
>>>> Rob
>>>> 
>>>> 
>>>>> Regards,
>>>>> - Xufeng
>>>>> 
>>>>>> -----Original Message-----
>>>>>> From: Juergen Schoenwaelder
>>>>>> [mailto:j.schoenwaelder@jacobs-university.de]
>>>>>> Sent: Tuesday, June 13, 2017 4:10 PM
>>>>>> To: Xufeng Liu <Xufeng_Liu@jabil.com>
>>>>>> Cc: draft-dsdt-nmda-guidelines@ietf.org; netmod@ietf.org
>>>>>> Subject: Re: Clarification Question on
>>>>>> draft-dsdt-nmda-guidelines-01
>>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> the typical -state tree consists of config false nodes and hence it
>>>>>> represents operational state. This is not a transitioning period
>>>>>> question, this is how -state trees were designed. Note also that
>>>>>> the applied configuration is part of the operational state in NMDA
>>>>>> - for config true objects, there is no difference between the
>>>>>> applied configuration value and the operationally used value - they are
>> the same.
>>>>>> 
>>>>>> /js
>>>>>> 
>>>>>> On Tue, Jun 13, 2017 at 07:53:32PM +0000, Xufeng Liu wrote:
>>>>>>> During discussing the adoption of this guidelines, a question came
>>>>>>> up w.r.t. the
>>>>>> semantics of the non-NMDA "-state" module during the transitioning
>> period:
>>>>>>> What kind of state do the leaves in the "-state" module represent?
>>>>>>> The applied
>>>>>> configuration or the actually used operational data?
>>>>>>> Since only of the two types can be represented, what is the
>>>>>>> guideline to model
>>>>>> the other type?
>>>>>>> Thanks,
>>>>>>> - Xufeng
>>>>>> --
>>>>>> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
>>>>>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
>>>>>> Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
>>>>> .
>>>>> 
>>>> _______________________________________________
>>>> netmod mailing list
>>>> netmod@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/netmod
>>> Mahesh Jethanandani
>>> mjethanandani@gmail.com
>>> 
>>> 
>>> 
>>> .
>>> 
>> 
>> _______________________________________________
>> netmod mailing list
>> netmod@ietf.org <mailto:netmod@ietf.org>
>> https://www.ietf.org/mailman/listinfo/netmod <https://www.ietf.org/mailman/listinfo/netmod>
Mahesh Jethanandani
mjethanandani@gmail.com