[dhcwg] Comments on draft-yeh-dhc-dhcpv6-prefix-pool-opt-08
Tomek Mrugalski <tomasz.mrugalski@gmail.com> Fri, 24 August 2012 18:25 UTC
Return-Path: <tomasz.mrugalski@gmail.com>
X-Original-To: dhcwg@ietfa.amsl.com
Delivered-To: dhcwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0085721F867F for <dhcwg@ietfa.amsl.com>; Fri, 24 Aug 2012 11:25:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.599
X-Spam-Level:
X-Spam-Status: No, score=-3.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id y4O5R4iMVTGa for <dhcwg@ietfa.amsl.com>; Fri, 24 Aug 2012 11:25:48 -0700 (PDT)
Received: from mail-ee0-f44.google.com (mail-ee0-f44.google.com [74.125.83.44]) by ietfa.amsl.com (Postfix) with ESMTP id 9297121F8668 for <dhcwg@ietf.org>; Fri, 24 Aug 2012 11:25:47 -0700 (PDT)
Received: by eekb45 with SMTP id b45so816006eek.31 for <dhcwg@ietf.org>; Fri, 24 Aug 2012 11:25:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-tagtoolbar-keys:content-type :content-transfer-encoding; bh=H4Bv2a5SZbc75kPF5DIVxi9wWHbrqndIUgd6RByVTFs=; b=fpuA/HGZs8r/n+B5fJxmsTZiCkQ060ek1kq9Rj9vWuOgPUpi2tXOWj/i4VGmXiiXkC HunoRI84v6kl/VI3LV0S+tt8VDiqSlIbYpXbEkoagnAYYuHKsZlhmWQFHuevEfVQXbJv ua2nAzuXDCGqjm55OF/nMYaneGxwZT/AKDBL8DfPRoC1K2AUgCB7VQKjtykRtcXhQKZQ OQhD4JfWKsMhMd4FkBfkIupNzLN9Y6m1f68NpH4l5OV7N+TGAgNkOPbFfQAiWPuriXsY rSD32TZXN4eGg5oKKV+93cClHG05vloXBHHm6NkQu5b9ipJRVO9XUrQEEUENWQ1kBBes sDvQ==
Received: by 10.14.184.133 with SMTP id s5mr8699160eem.31.1345832746735; Fri, 24 Aug 2012 11:25:46 -0700 (PDT)
Received: from ?IPv6:2001:470:6061:1:d069:65b6:5b6b:842b? ([2001:470:6061:1:d069:65b6:5b6b:842b]) by mx.google.com with ESMTPS id c6sm31817321eep.7.2012.08.24.11.25.45 (version=SSLv3 cipher=OTHER); Fri, 24 Aug 2012 11:25:46 -0700 (PDT)
Message-ID: <5037C726.2070406@gmail.com>
Date: Fri, 24 Aug 2012 20:25:42 +0200
From: Tomek Mrugalski <tomasz.mrugalski@gmail.com>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120714 Thunderbird/14.0
MIME-Version: 1.0
To: dhcwg <dhcwg@ietf.org>
References: <E1CE3E6E6D4E1C438B0ADC9FFFA345EA3C44F9B5@SZXEML510-MBS.china.huawei.com>
In-Reply-To: <E1CE3E6E6D4E1C438B0ADC9FFFA345EA3C44F9B5@SZXEML510-MBS.china.huawei.com>
X-TagToolbar-Keys: D20120824202542880
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Subject: [dhcwg] Comments on draft-yeh-dhc-dhcpv6-prefix-pool-opt-08
X-BeenThere: dhcwg@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Fri, 24 Aug 2012 18:25:49 -0000
On 30.07.2012 03:35, Leaf yeh wrote: > Dear DHC folks, > > The draft (ver.-08) & the proposed (OPTION_PREFIX_POOL) on the > agenda of IETF84 DHC session > (https://datatracker.ietf.org/meeting/84/agenda/dhc/ ), is waiting > for your review and comments. Hi, You've asked for it, so here are my comments. Although there are many things mentioned below, I think the draft is a good idea. It is in a good shape and I support it. None of the things mentioned below are show-stoppers, and most can be easily fixed. I will send out separate mail to respond to adoption call. Generic comments: - Multiple prefix pools seem to be allowed (section 6, paragraph 7 suggests that). It may be useful to note that multiple prefix pools must not overlap. - There are many normative looking words (must, shall etc.) that are not capitalized. - Have you considered defining new leasequery query type: QUERY_BY_PREFIX_POOL? Server could return all leases that belong to specified prefix pool. I think it would be easier to implement one new query type than modifying the code for existing 3 query types. - Since your option affects how existing query types in leasequery work, the front page of the draft should have "updates RFC5007, 5460 (if approved)" clause. - I think I have commented on this before, but I can't find it anywhere, so I'll restate my concerns again. This is basically a signalling protocol on top of normal exchange. In its current form it allows server to make strange things like make the pool active when responding to RELEASE or saying that the pool is released when assigning a prefix in response to REQUEST. - That draft was written in BBF networks in mind, but it can be used in a general case as well. A statement to point that out should be added. Comments specific to the text: - Section 1: This is really a nit-pick style comment "The DHCPv6 protocol". I always have problem how to write it. Adding protocol after DHCP is redundant, as P in DHCP stands for protocol. On the other hand, removing "protocol" would make it less readable by people who don't know what DHCP acronym stands for. I think it probably should stay as it is. - Section 1, second paragraph. You mentiond RRs without defining that acronym. Although it is later explained in section 2, it would be good to replace its first use with "Requesting Router (RR)". - Section 1. First paragraph on page 4. "Bulk Leasequery [RFC5460] specifies a mechanism for bulk transfer of the binding data of each delegated prefix from the server to the requestor (i.e., a DHCPv6 relay agent)". While requestor is typically the relay agent, it doesn't have to be. It may be a separate entity as well. I would replace "i.e." with "typically". - Section 1, the last paragraph. "The automatic mechanisms described in this document depends". It should be "mechanism depends" or "mechanisms depend". - Section 2, Requestor definition. RFC5007 defines requestor as a note that sends leasequery messages. While it is typically a router, it doesn't have to be one. Requestor may be a separate tool that can be run on hosts or routers alike. - Section 4. ipv6-prefix should be of variable length. In most cases the prefix used here will be /56 or even shorter. That will result in at least 9 bytes being zeros. BTW This approach will be recommended in the next version of draft-ietf-dhc-option-guidelines. - Section 4. It is customary to include list of messages that MAY/MUST NOT include that option. Something like "Server MAY include this option in RELAY-REPL if relay included OPTION_PREFIX_POOL in ORO option in RELAY-FORW. It MUST NOT appear in any messages sent by clients. It MAY/MUST NOT appear in LEASEQUERY message.". - Section 4. "If the administrative policy on the server does not permit to support route aggregation on the DHCPv6 relay agent, the status of the prefix pool will always be 'Released'." Wouldn't it be better to just not include OPTION_PREFIX_POOL? - Section 5, second paragraph. "The relay agent should include the Interface ID option". Is this normative language? I think it is, so it should be "SHOULD". - Section 5. Consider the following scenario: There are X requesting routers behind a relay. Server is configured to allow route aggregation, so pool option is sent. Then administrator decides to stop using aggregation, so he turns it off. When X+1 client comes in, the server does not send PREFIX_POOL anymore, so according to paragraph 4 in section 5, relay must withdraw the associated route. How are the first X clients reachable? I suppose the relay must keep routes to them anyway and the one received in PREFIX_POOL is an additional one, not a replacement, right? - Section 5. The last paragraph about leasequery should probably be moved to a separate section "Leasequery requestor behavior". - Section 6, paragraph 2. "After receiving the Option Request option (OPTION_ORO, 6) requesting the Prefix Pool option (OPTION_PREFIX_POOL, [TBD]) in the relay- forward messages of the PD". What does PD mean in this context? I think you meant "relay-forward messages that encapsulate messages with IA_PD options". It's awfully lot of words, but I'm not sure how to say it simpler. - Section 6, paragraph 6. "When the administrator of the server changes the setting not to support route aggregation on the relay agent for the particular prefix pool, the status of the prefix pool may change from 'Active' to be 'Released' if at least one delegated prefix within the prefix pool has the valid lease.". I think once administrator disables it, the server should always set status to released. The "if at least one..." part in not necessary. - Section 6, paragraph 6. Why does the server have to send RECONFIGURE? So the relay can re-learn RR prefixes once aggregation has been disabled? It is related to my question about RR remembering (or not) the specific routes. Anyway, it would be less intrusive to say that relay must use leasequery to learn existing delegations than forcing all clients to do reconfigure, especially that for clients nothing will change. Also, keep in mind that RRs may not support reconfigure as it is an optional feature. - Section 6, last 2 paragraphs. I would move discussion about leasequery to a separate sub-section. - Section 6, last paragraph. Why repeating prefix pool in every client-data option? It will all contain the same value. It would be more reasonable to send it back only one or even not send it at all if requestor sent prefix pool option. If requestor did that, are there any cases where server could send back the prefix pool option with different values than the requestor asked for? I don't think so. - Section 7. Security consideration should also reference section 15 of RFC3633. Questions: 1. Let's assume the PE router announces 2001:db8:1::/48 prefix that is split into /56 prefixes. Someone tries to reach a customer that is currently offline. What is PE supposed to do with those packets? Respond with ICMP type=1 code=0 (no route to destination)? 2. PE has a 2001:db8:1::/48 prefix and there are 2 prefixes delegated to clients: 2001:db8:1:8000::/64 and 2001:db8:1:8001::/64. The admnistrative policy does not allow route aggregation, so OPTION_PREFIX_POOL has status set to release. Is PE allowed to aggregate both routes anyway and announce 2001:db8:1:8000::/63? Perhaps allowing such behaviour could be defined as status code = 2. I don't know if controlling this is a good idea, so feel free to ignore this suggestion. Ok, that's it. Sorry for sending such long and boring mail. I hope you find at least some of those comments useful. Again, despite numerous comments, I really support it. Tomek