[dhcwg] Confusion on RFC 3011 subnet selection option

"Matt Frick" <mfrick@netopia.com> Sat, 02 February 2002 00:00 UTC

Received: from optimus.ietf.org (ietf.org [] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id TAA14524 for <dhcwg-archive@odin.ietf.org>; Fri, 1 Feb 2002 19:00:40 -0500 (EST)
Received: (from daemon@localhost) by optimus.ietf.org (8.9.1a/8.9.1) id TAA18420 for dhcwg-archive@odin.ietf.org; Fri, 1 Feb 2002 19:00:43 -0500 (EST)
Received: from optimus.ietf.org (localhost []) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id SAA17751; Fri, 1 Feb 2002 18:51:05 -0500 (EST)
Received: from ietf.org (odin []) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id SAA17729 for <dhcwg@optimus.ietf.org>; Fri, 1 Feb 2002 18:51:03 -0500 (EST)
Received: from mercury.netopia.com (mail.netopia.com []) by ietf.org (8.9.1a/8.9.1a) with ESMTP id SAA14335 for <dhcwg@ietf.org>; Fri, 1 Feb 2002 18:51:00 -0500 (EST)
Received: from netopia.com ([]) by mercury.netopia.com (Netscape Messaging Server 4.15) with ESMTP id GQVOW800.EHH for <dhcwg@ietf.org>; Fri, 1 Feb 2002 15:50:32 -0800
Message-ID: <3C5B29B6.BB41CFF4@netopia.com>
Date: Fri, 01 Feb 2002 15:50:15 -0800
From: "Matt Frick" <mfrick@netopia.com>
X-Mailer: Mozilla 4.73 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: dhcwg@ietf.org
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
Subject: [dhcwg] Confusion on RFC 3011 subnet selection option
Sender: dhcwg-admin@ietf.org
Errors-To: dhcwg-admin@ietf.org
X-Mailman-Version: 1.0
Precedence: bulk
List-Id: <dhcwg.ietf.org>
X-BeenThere: dhcwg@ietf.org
Content-Transfer-Encoding: 7bit

After re-reading RFC 3011 many times, I'm still a bit confused, and
hopefully there are some talented indivuals out there on the email list
that can help me out.

From what I understand, (other than the obvious subnet-related parts)
the subnet selection option overrides the current usage of giaddr which
is used by relay agents to specify:
1) the address to which the server is to send it's reply, and
2) the subnet from which to allocate the address.
It seems that the option is designed to be used / necessary only when a
relay agent needs the server to reply to an address on a subnet that is
different than the subnet on which the address should be allocated,

        "in all packets that the DHCP client sends that contain the
        selection option, the giaddr field in the BOOTP header MUST be
        set to an IPv4 address on which the DHCP client will accept
        DHCP packets. (e.g.: the address on the subnet connected
        to the internal network)." [RFC 3011, page 4]

Since the RAS device in the motivational example is connected to the
internal network on which the DHCP server is located, does that mean
that the RAS device is the "client" in the above quote?  If it is, then
that would explain why it has an address on which it can receive DHCP
packets to put in the giaddr when sending a discover or request (ie.
when it's not bound) -- perhaps the address sent in the giaddr field is
not a DHCP obtained address, but a statically defined address on the
internal network.

Can this option be sent by a end client (host) directly to a server, or
must it pass through a relay agent?  The reason it seems likely that a
relay agent is required, is that when the giaddr is nonzero, the server
will repond to the server port, not the client port:

       "The server SHOULD next check the 'giaddr' field.  If this field
        non-zero, the server SHOULD send the BOOTREPLY as an IP unicast
        to the IP address identified in the 'giaddr' field.  The UDP
        destination port MUST be set to BOOTPS (67)." [RFC 1542, page

especially since:

        "This option does not require changes to operations or features
of the
        DHCP server other than to select the subnet on which to allocate
        address." [RFC 3011, page 3]

So, I guess the big mystery (atleast for me,) is this: can an end client
send a subnet selection option?  When the client doesn't have a binding
(and it's sending a subnet selection option,) can / should the giaddr be
set to zero?
Or, is this option reserved for situations more complicated than a
simple scenario where a DHCP server has several subnets and a directly
connected client wants to request an address on a specific subnet?

Thanks for reading this far, hopefully this RFC can be clarified.
-Matt Frick

dhcwg mailing list