[dhcwg] My read of draft-ietf-dhc-dhcpv6-yang-00
Marcin Siodelski <msiodelski@gmail.com> Wed, 04 November 2015 15:16 UTC
Return-Path: <msiodelski@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 C95081B316D for <dhcwg@ietfa.amsl.com>; Wed, 4 Nov 2015 07:16:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, 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 SEUP_8PEL7BV for <dhcwg@ietfa.amsl.com>; Wed, 4 Nov 2015 07:16:56 -0800 (PST)
Received: from mail-pa0-x230.google.com (mail-pa0-x230.google.com [IPv6:2607:f8b0:400e:c03::230]) (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 C4D491B3139 for <dhcwg@ietf.org>; Wed, 4 Nov 2015 07:16:56 -0800 (PST)
Received: by pacdm15 with SMTP id dm15so31426020pac.3 for <dhcwg@ietf.org>; Wed, 04 Nov 2015 07:16:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:subject:to:message-id:date:user-agent:mime-version :content-type:content-transfer-encoding; bh=okFVIAFctsPhoibZV7VULsx2oAK7rrvm3ckWPKXZnaI=; b=sI+oG1hRhav0ESAGs+5CeHUAyMZ8Ur3ryB7mTUMsQBbGqYYTMZskmSEhAXOnevhycl 9LLXAaKCQm98XcCyvD7yRagg5B1DAJQujuEI28cCfNe2MNi1SkMEkcSD9W0PZ2Cpey9i omeer8JRVIY0d2ktltw3EW8/bImw7cN6q2KuzcRbSvMcj4Ul+/HovCh6mO3j2ZmwCs1L lQoOwMjIGaFrY8/7+Dy7WEvV7KJiQHT2qzW2HpBPdhMcCfD3vEOAtihsiFLVF307Mdny RvYfxiaF8AKnKGn3+zpgald1+v8/RQQb2M/BV4cFhkYvuGsr2TLdOK8gjgzoQix4puaq AsYQ==
X-Received: by 10.66.136.167 with SMTP id qb7mr2460653pab.26.1446650216465; Wed, 04 Nov 2015 07:16:56 -0800 (PST)
Received: from MacBook-Pro-Marcin.local (y255183.ppp.asahi-net.or.jp. [118.243.255.183]) by smtp.googlemail.com with ESMTPSA id b6sm2592538pbu.90.2015.11.04.07.16.20 for <dhcwg@ietf.org> (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 04 Nov 2015 07:16:55 -0800 (PST)
From: Marcin Siodelski <msiodelski@gmail.com>
X-Enigmail-Draft-Status: N1110
To: DHC WG <dhcwg@ietf.org>
Message-ID: <563A2126.8080409@gmail.com>
Date: Thu, 05 Nov 2015 00:15:50 +0900
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/dhcwg/duIHLMg_qAViM_RsURW33yVAYr8>
Subject: [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: Wed, 04 Nov 2015 15:17:00 -0000
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: "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. 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. 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? 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? 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? 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. "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? "pd-function" - As a matter of curiosity. You define this knob to enable/disable prefix delegation. But, can you actually enable/disable address assignment? "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). 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? "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. "vendor-info" Is this intended to include the name of the server software and its version? For example: isc-dhcp-4.3? 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? "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? "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. 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. 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. 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. Marcin
- [dhcwg] My read of draft-ietf-dhc-dhcpv6-yang-00 Marcin Siodelski
- Re: [dhcwg] My read of draft-ietf-dhc-dhcpv6-yang… Linhui Sun