Re: [dhcwg] AD review of draft-ietf-dhc-dhcpv4-over-dhcpv6

Qi Sun <sunqi.csnet.thu@gmail.com> Mon, 14 April 2014 14:52 UTC

Return-Path: <sunqi.csnet.thu@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 D110A1A0165 for <dhcwg@ietfa.amsl.com>; Mon, 14 Apr 2014 07:52:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.101
X-Spam-Level:
X-Spam-Status: No, score=-0.101 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, 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 KYDGumNirasm for <dhcwg@ietfa.amsl.com>; Mon, 14 Apr 2014 07:51:58 -0700 (PDT)
Received: from mail-pa0-x231.google.com (mail-pa0-x231.google.com [IPv6:2607:f8b0:400e:c03::231]) by ietfa.amsl.com (Postfix) with ESMTP id 7D3A91A044B for <dhcwg@ietf.org>; Mon, 14 Apr 2014 07:51:57 -0700 (PDT)
Received: by mail-pa0-f49.google.com with SMTP id lj1so8318718pab.36 for <dhcwg@ietf.org>; Mon, 14 Apr 2014 07:51:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=d+Bgt0RUdJFBR0aNo41rbOGOrRxL18ieG4/6oqyAwxI=; b=bj2jZ20fpgdzRASFaBBrqolUMEH+aCMIDl256zkilRE7WbG3mHWiVlZRS8g9+x87jB OwXToB/IzWiD4LfFaRzxuv0FAT0YovFVdXII4vRUl4V41UiLb/+eYMErAYi2q1+cVlyy 6BNtutDgaqLW52QFZWF7i4Swces7W/yni4buz9FkN83nqr5MNuYSCsRVRfyUNvTSTjR8 Dt1xYLjJgfYbCnYDQm3qjXdcEHRCLfR5Iiid75xJjWvDzd4GFG+4CYqDUC/Wv7//q3L2 n2htuPMWctotlJM8hB7yZnSuatxhqLL9KS42SjLYHJBOck4FpkXVnD5nWKQ4/xekK2Fq AVpA==
X-Received: by 10.68.134.198 with SMTP id pm6mr44836033pbb.9.1397487115153; Mon, 14 Apr 2014 07:51:55 -0700 (PDT)
Received: from sunqideair.lan ([114.255.40.21]) by mx.google.com with ESMTPSA id bz4sm34312787pbb.12.2014.04.14.07.51.49 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 14 Apr 2014 07:51:54 -0700 (PDT)
Content-Type: text/plain; charset="windows-1252"
Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\))
From: Qi Sun <sunqi.csnet.thu@gmail.com>
In-Reply-To: <B36DAF7C-EDA6-427E-B918-FB8F4D3ED6F5@fugue.com>
Date: Mon, 14 Apr 2014 22:51:34 +0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <06B8F2CA-A5D5-4F00-8A00-E0D8C99CF976@gmail.com>
References: <B36DAF7C-EDA6-427E-B918-FB8F4D3ED6F5@fugue.com>
To: Ted Lemon <mellon@fugue.com>
X-Mailer: Apple Mail (2.1874)
Archived-At: http://mailarchive.ietf.org/arch/msg/dhcwg/Bbop9TrCZBa_pkANd28qYyg8CVw
Cc: DHC WG <dhcwg@ietf.org>, draft-ietf-dhc-dhcpv4-over-dhcpv6@tools.ietf.org
Subject: Re: [dhcwg] AD review of draft-ietf-dhc-dhcpv4-over-dhcpv6
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: <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: Mon, 14 Apr 2014 14:52:07 -0000

Dear Ted,

Many thanks for your review! We’ve updated the local version accordingly. 

As for the text in Section 7:
> In section 7:
>   A DHCPv4 client conforming to [RFC2131] may send its DHCPREQUEST
>   message to either a broadcast or unicast address depending on its
>   state.  For example, a client in the RENEWING state uses a unicast
>   address to contact the DHCPv4 server to renew its lease.  A client in
>   the REBINDING state uses a broadcast address.  If there is a DHCPv4
>   relay agent in the middle, a client in the RENEWING state may send a
>   DHCPREQUEST message to the unicast address of the relay agent.  In
>   such a case, the server is unable to determine whether the client
>   sent the message to a unicast or broadcast address and thus the
>   server may be unable to correctly determine the client's state.
>   [RFC5010] introduced the "Flags Suboption" that relay agents add to
>   relayed messages to indicate whether broadcast or unicast was used by
>   the client.
> 
> You say that the client unicasts to the relay agent in the RENEWING state, but it actually unicasts to the DHCP server.

There is a statement in The 3rd paragraph of the Introduction of RFC5010:
   In some situations, DHCP Clients may unicast their DHCPREQUEST/RENEW
   packets to the DHCP Relay Agent, which will forward the packet on to
   the DHCP server.  In these cases, the DHCP server cannot tell whether
   the packet was broadcast or unicast by the DHCP client, and so it may
   be unable to process the DHCP client packets in the manner that it
   would if it knew whether the original DHCP packet was broadcast or
   unicast.  For example, a server might be willing to NAK a client in
   the REBINDING state based on a determination that the client's
   address does not match its location in the network, but might not be
   willing to do so if the client is in the RENEWING state.

That’s why we wrote that text.
How about the following change:
OLD:
  If there is a DHCPv4
  relay agent in the middle, a client in the RENEWING state may send a
  DHCPREQUEST message to the unicast address of the relay agent. 

NEW:
   If there is a DHCPv4
   relay agent in the middle, [RFC5010] describes the possibility of a
   client in the RENEWING state sending a DHCPREQUEST message to the
   unicast address of the relay agent.

Would it be better? 

Thanks,
Qi



On Apr 11, 2014, at 11:29 PM, Ted Lemon <mellon@fugue.com> wrote:

> Page 4, paragraph 3:
> OLD:
>   DHCP clients may be running on CPE devices, end hosts or any other
>   device that supports the DHCP client function.  At the time of
>   writing, DHCP clients on CPE devices are comparatively easier to
>   modify than those implemented on end hosts.  As a result, this
>   document uses the CPE as an example for describing the mechanism.
>   This does not preclude any end-host, or other device requiring IPv4
>   configuration, from implementing DHCPv4 over DHCPv6 in the future.
> NEW:
>   DHCP clients may be running on CPE devices, end hosts or any other
>   device that supports the DHCP client function.  This
>   document uses the CPE as an example for describing the mechanism.
>   This does not preclude any end-host, or other device requiring IPv4
>   configuration, from implementing DHCPv4 over DHCPv6 in the future.
> 
> The assertion that CPE devices are easier than hosts isn't precisely true, although I understand what you mean.   In any case, it's not necessary to say this, and it's likely to get a DISCUSS, so why not just take it out? :)
> 
> In section 7:
>   A DHCPv4 client conforming to [RFC2131] may send its DHCPREQUEST
>   message to either a broadcast or unicast address depending on its
>   state.  For example, a client in the RENEWING state uses a unicast
>   address to contact the DHCPv4 server to renew its lease.  A client in
>   the REBINDING state uses a broadcast address.  If there is a DHCPv4
>   relay agent in the middle, a client in the RENEWING state may send a
>   DHCPREQUEST message to the unicast address of the relay agent.  In
>   such a case, the server is unable to determine whether the client
>   sent the message to a unicast or broadcast address and thus the
>   server may be unable to correctly determine the client's state.
>   [RFC5010] introduced the "Flags Suboption" that relay agents add to
>   relayed messages to indicate whether broadcast or unicast was used by
>   the client.
> 
> You say that the client unicasts to the relay agent in the RENEWING state, but it actually unicasts to the DHCP server.
> 
> Last paragraph on page 9:
>   The server MAY include the 4o6 Server Address option in its response
>   to the client.  If the client receives this option, it MUST enable
>   the DHCPv4-over-DHCPv6 function.  The client MUST NOT enable the
>   DHCPv4-over-DHCPv6 function if the server does not include the 4o6
> 
> I think you should say "If the client receives this option, it enables the DHCPv4-over-DHCPv6 function."   I don't think you need a MUST there.   The MUST NOT is necessary, however.
> 
> Same paragraph, top of page 10:
>   Server Address option in its response.  If the client does not
>   receive this option and DHCPv4 over DHCPv6 is already enabled, the
>   client MUST disable the DHCPv4-over-DHCPv6 function.
> 
> This is underspecified—a client may be talking to more than one DHCPv6 server, and may have more than one DHCPv6-derived configuration active at the same time.   I think you need something like this:
> 
>   Server Address option in its response.   If the DHCPv6 configuration
>   that contained the 4o6 Server Address option subsequently expires, the
>   client MUST disable the DHCPv4-over-DHCPv6 function.   If, when the
>   DHCPv6 configuration that contained the 4o6 Server Address option is
>   renewed, the renewed configuration does not contain a 4o6 Server Address
>   option, the client MUST disable the DHCPv4-over-DHCPv6 function.
> 
>   It is possible in a multi-homed configuration for there to be more than
>   one DHCPv6 configuration active at the same time that contains a 4o6
>   Server Address option.   In this case, the configurations are treated
>   as being independent, so that when any such configuration is active, a
>   DHCPv4-over-DHCPv6 function may be enabled for that configuration.
> 
>   An implementation may also treat such configurations as being
>   exclusive, such that only one is kept active at a time.   In this case,
>   the client keeps the same configuration active continuously as long
>   as it is valid.  If that configuration becomes invalid but one or more
>   other configurations remain valid, the client activates one of the
>   remaining valid configurations.
> 
>   Which strategy to follow is dependent on the implementation: keeping
>   multiple configurations active at the same time may provide useful
>   redundancy in some applications, but may be needlessly complex in
>   other cases.
> 
> Please let me know what you think.  I would like to last-call this document once we've addressed the above issues.
> 
>