Re: [dhcwg] My read of draft-ietf-dhc-dhcpv6-yang-00
Linhui Sun <lh.sunlinh@gmail.com> Mon, 09 November 2015 11:24 UTC
Return-Path: <lh.sunlinh@gmail.com>
X-Original-To: dhcwg@ietfa.amsl.com
Delivered-To: dhcwg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DDD4C1A916F for <dhcwg@ietfa.amsl.com>; Mon, 9 Nov 2015 03:24:51 -0800 (PST)
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, SPF_PASS=-0.001] autolearn=ham
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 RggaLq2d-3vZ for <dhcwg@ietfa.amsl.com>; Mon, 9 Nov 2015 03:24:47 -0800 (PST)
Received: from mail-wm0-x229.google.com (mail-wm0-x229.google.com [IPv6:2a00:1450:400c:c09::229]) (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 5FA201A9165 for <dhcwg@ietf.org>; Mon, 9 Nov 2015 03:24:47 -0800 (PST)
Received: by wmnn186 with SMTP id n186so97585966wmn.1 for <dhcwg@ietf.org>; Mon, 09 Nov 2015 03:24:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=LkRRUNJGk4ImTVK+yww2I+VU8HeIsjtBoxoHV88EEXE=; b=rfgOou9NDPOgpPSjU+JYnzkPy0loUrh6dqbarQJkJIG4kK96bxaJ5Mq3K439xWTSb9 5pXjjBIvZu16KNT3+XtVRllYx1zXMGJlws/sb0EfBswfKtQi1oaALQpu+XtGEng2fpwM veeQHEaWP7PSnLKd/4PtxnaYCpHYrcAzw0cn88h/e626ptiFSVoBB8MC0HmxiNt1I0jn 6/GIzWfhlYEa+XhA8xYauSTGlSRum08z7cKVvSXuPmfPy/NlRCz40ypQ+xyRZs/WRElz BZBvdjtf+lX/4ATTYcJfgYASoaRGCqYSc8vNgnQtz9tMsqAw4T2MjgyVsUdyCL17kyc0 qnxQ==
X-Received: by 10.194.78.15 with SMTP id x15mr32685670wjw.144.1447068285812; Mon, 09 Nov 2015 03:24:45 -0800 (PST)
MIME-Version: 1.0
Received: by 10.28.173.15 with HTTP; Mon, 9 Nov 2015 03:24:26 -0800 (PST)
In-Reply-To: <563A2126.8080409@gmail.com>
References: <563A2126.8080409@gmail.com>
From: Linhui Sun <lh.sunlinh@gmail.com>
Date: Mon, 09 Nov 2015 19:24:26 +0800
Message-ID: <CAO_YprZmbZ+t3grgnY5t_MD-yhr+tE4n8OewC9wU8wNz=AKvSw@mail.gmail.com>
To: Marcin Siodelski <msiodelski@gmail.com>
Content-Type: multipart/alternative; boundary="047d7bfcfd7a244713052419d79e"
Archived-At: <http://mailarchive.ietf.org/arch/msg/dhcwg/8HjwCgi6g6NX37ty7g71FA_82bk>
Cc: DHC WG <dhcwg@ietf.org>
Subject: Re: [dhcwg] My read of draft-ietf-dhc-dhcpv6-yang-00
X-BeenThere: dhcwg@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <dhcwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dhcwg/>
List-Post: <mailto:dhcwg@ietf.org>
List-Help: <mailto:dhcwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dhcwg>, <mailto:dhcwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Nov 2015 11:24:52 -0000
Hi Marcin, Sorry for the delay and really thanks for your detailed review, please see comments inline. Regards, Linhui 2015-11-05 0:15 GMT+09:00 Marcin Siodelski <msiodelski@gmail.com>: > In Prague I mentioned I'd review the YANG models for DHCP. There is > never good time to review a document that ends up being 84 pages long. I > finally had a look into this today and reviewed some bits of YANG models > for DJCPv6. Note that it is not all. I just try to highlight the most > obvious things that occurred to me while reading this (mostly client and > server sections). > > > Abstract > "There has no unified method to configure DHCPv6 server ,relay and > client itself, always pre-configured manually by operators." > > This sentence sounds a bit odd. There are some typos. There is > extraneous "itself". Also, I am not sure what this is trying to say: > [LH]: Agree the "itself" is redundant, will remove it. > "always pre-configured manually by operators", in the context of this > draft. I think this draft doesn't eliminate manual configuration, it > merely introduces unified data structures. The configuration would still > have to be "manual", regardless if remote or local. Or maybe I am > reading something that it doesn't try to say. [LH]: I agree the manual configuration is still inevitable with the help of YANG model. I think the statement here is so absolute that may mislead people. How about changing to "There has no unified method to configure DHCPv6 server, relay and client itself, typically pre-configured by operators through traditional configuration manners (e.g. command line interfaces)." > > > Introduction > For completeness, it may also be worth to mention that not only does > this model provide means to configure the server, client and relay, but > it also provides means to gather statistics and notifications from the > server. Perhaps, this could be also mentioned in abstract. > > I am not clear what the difference between "configuration" and > "management" is. > [LH]: IMO, configuration is for those "rw" nodes while the management is for the "ro" nodes. Do you think we need a very clear distinction between those two terminologies? Or do you think the concept of "management" should contain the "configuration"? > > I am not very enthusiastic about the paragraph starting: > "For DHCPv6 client configuration..." > > I'd suggest something more like this, because it is shorter and less > convoluted: > > "The DHCPv6 client module provides means to control the DHCPv6 client > software running on host. For example, it allows for specifying whether > or not the client should request specific DHCP options when it contacts > the DHCP server. This model is not intended to be used to replace or > override host configuration, which a DHCP client (being controlled using > this model) receives from the DHCP server." > > I don't understand the need for sections 2.1-2.3, as they don't convey > any information. Are they going to be extended with any specific text? > [LH]: This sections are supposed to be filled with several general and brief description of the model structure (i.e. the server, relay and client respectively). I think we will complement this in the next version. > > > 3.1 DHCPv6 server tree diagrams > > Is the ultimate goal to describe *all* elements of the tree under the > tree? Or, you assume that some of those elements don't require > description in section 3.1 because they are described in section 4? > [LH]: The YANG validator requires us that each data node should have a description, that is what you could see in section 4. For the Section 3, I would prefer to provide descriptions of some important nodes. > > Proposed models do not make use of the *default* values. There are many > mandatory parameters without default values, which probably implies that > I'd need to always configure them. Is this really the intent? > [LH]: We are not intended to imply that people have to configure them every time. RFC6020 does define how to make a default value for the leaf (use the "default" statement). We will add this statements in the next version. > > For example "container sol-max-rt-option" includes a leaf "enable" which > indicates whether this option will be included in the option set - I > read it as it will be sent to the client. Wouldn't it be more convenient > to assume that it is sent if specified, i.e. default for "enable" would > be true. If I don't want to send it, I'd set it to false explicitly. > [LH]: Agree. > > "ipv6-address" - What address is this? A server could actually contain > multiple interfaces and multiple addresses on each of them. Is this an > address recommended to use to connect to the server with a NETCONF? > [LH]: It has nothing to do with the NETCONF. I'm just wondering wether to remove it or make it compatible with the "interfaces-config" list. What's your suggestion? > > "pd-function" - As a matter of curiosity. You define this knob to > enable/disable prefix delegation. But, can you actually enable/disable > address assignment? > [LH]: I'm afraid I cannot understand what you mean here. Do you mean we should not enable/disable the prefix delegation? > > "stateless-service" > The definition of this says: > "A boolean value specifies whether the server > support client-server exchanges involving two messages defined in > ([RFC3315])." > > which is ambiguous. It should rather explicitly mention > Information-request. Note that there are other possibilities for > exchanges involving two messages, e.g. Solicit-Reply (with Rapid Commit). > [LH]: Agree, will improve the description in the next version. > > > I am also wondering if it should be possible to define "pd-function" and > "rapid-commit" per network range, e.g. allow prefix delegation for > client's connected to this network but not to that network? > [LH]: I think it is a good feature and that is what you provide in Kea. After a brief talk with Tomek before, I think we will make the nodes both available in global and network ranges in the next version. > > "interfaces-config" > Doesn't a free-text type of configuration for listing active interfaces, > together with optional unicast addresses violate the structure of the > YANG model that is hierarchical? Moreover, the current description > doesn't really explain how to enable multiple selected interfaces, or > all interfaces. Should they be listed as comma separated names? Or, is > it left up to the implementation of the server? > I also think that enabling all interfaces by default may cause > significant issues. If I forget to specify the interface configuration > and I enable the server, it would start replying to all messages it > detects on any of its interfaces. This could disrupt the operation of > the network to which the server is connected. [LH]: I think this part definitely need to be refined, I will respond this later. > > "vendor-info" > Is this intended to include the name of the server software and its > version? For example: isc-dhcp-4.3? > [LH]: Yes > > > 3.3. DHCPv6 Client Tree Diagrams > > "cli-id" > I don't know what this is, and there is no description. Client > identifier? How does it relate to DUID? > [LH]: The only reason that "cli-id" was introduced is DUID is a large value (i.e. not appropriate to be a key value), we use the "cli-id" as the key value for some lists. But I think we need to omit the "cli-id" to use the unified DUID. > > "duid" > Per RFC3315 terminology DUID is: > "A DHCP Unique IDentifier for a DHCP > participant; each DHCP client and server > has exactly one DUID. See section 9 for > details of the ways in which a DUID may > be constructed." > > In other words defining DUID per interface would violate the rule of one > DUID per client, no? > [LH]: I think that is why the client should be in a per-interface manner, am I right? > > > "mo-tab" > Is there any particular reason for this awkward configuration using the > MO flags, rather than: > > - "request-pd" boolean > - "request-na" boolean > - "stateless" boolean > > where "stateless" being true means send Information-request, and if it > is false, the other two indicate what stateful options to request. > [LH]: We have discussed these before the dhc session, the "mo-tab" seems to be difficult to understand and redundant. But I don't understand what the "request-pd" & "request-na" mean here, I think the "stateless" is enough. > > On that matter, there is also an interesting question how to configure > the client to request more than one IA_NA if it needs to do so. > > I recognize that there is the "ro identity-associations" but it is read > only and probably to only gather the configuration that the client has > obtained, not to configure the client to request a specific address(es). > And how about hints? For example a hint for prefix length. > [LH]: I think this should be included in the "client-configured-options" container, how about adding the IA_PD option in that container? > > > I also couldn't find in the models the way to configure dedicated > options for specific hosts. Container "reserved-addresses" merely > includes mappings between the DUIDs and addresses, but it is frequently > desired to also provide specific options for clients having reservations. > [LH]: Are you talking about the server side configuration? If so, we could specified a specific option set for specific hosts (i.e. under the "hosts" container). > > Also, per RFC6939 the link-layer address of the client may be provided > by the relay, in which case it should be possible to do static > reservation based on the MAC address, rather than DUID. > [LH]: This needs to be added to the relay portion, thanks. > > Marcin > > _______________________________________________ > dhcwg mailing list > dhcwg@ietf.org > https://www.ietf.org/mailman/listinfo/dhcwg >
- [dhcwg] My read of draft-ietf-dhc-dhcpv6-yang-00 Marcin Siodelski
- Re: [dhcwg] My read of draft-ietf-dhc-dhcpv6-yang… Linhui Sun