Subject: Some minor and a few major nits on draft-ietf-dhc-subnet-option-01.txt

From: Ted Lemon <[email-masked]>
Date: Mon, 12 Apr 1999 20:03:41 -0400 (EDT)

My markups start with >>> at the beginning of the line.  Mostly it's
wordsmithing that you should feel free to ignore, but there are a few
substantive changes that I think are important.  I'm sorry for
responding so close to the last call, but feel I can defend myself
with the observation that it's only been out 19 days, so I'm being
pretty speedy by IETF standards.

			       _MelloN_

 Network Working Group                                         G. Waters
 INTERNET-DRAFT                                          Nortel Networks
                                                              March 1999

                    The Subnet Selection Option for DHCP

                   <draft-ietf-dhc-subnet-option-01.txt>
                      Tuesday, March 23, 1999, 4:35 PM

 Status of this Memo

   This document is an Internet-Draft and is in full conformance with all
   provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering Task
   Force (IETF), its areas, and its working groups.  Note that other
   groups may also distribute working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   To learn the current status of any Internet-Draft, please check the
   "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
   Directories on ds.internic.net (US East Coast), nic.nordu.net
   (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).

 Copyright Notice

   Copyright (C) The Internet Society (1999).  All Rights Reserved.

 Abstract

   This memo defines a new DHCP option for selecting the subnet on which
   to allocate an address. This option would override a DHCP server's
<<<   normal methods of selecting which subnet on which to allocate an
>>>   normal methods of selecting the subnet on which to allocate an
   address for a client.

 Waters                Expires: Mar 1999 + 6 months             [Page 1]

 Internet Draft          Subnet Selection Option              March 1999

   Table of Contents

   1. Introduction......................................................2
   2. Subnet Selection Option...........................................3
   3. Intellectual Property.............................................4
   4. Acknowledgements..................................................4
   5. Security Considerations...........................................4
   6. References........................................................4
   7. Editor's Addresses................................................5
   8. Full Copyright Statement..........................................5

 1. Introduction

   This memo was produced by the DHCP Working Group and defines a new
<<<   DHCP option that specifies the subnet on which a DHCP server should
>>>   DHCP option that specifies the subnet that a DHCP server should
   use when selecting an address.  This option takes precedence over
   other methods that the DHCP server may use to determine the subnet on
   which to select an address. Two existing methods of determining the
   subnet on which to select an address are:

   o To use the subnet address of the giaddr field in the DHCP packet,
     or if the giaddr field is zero;

   o To use the subnet address of the local interface on which the
     packet was received by the DHCP server.

   Methods other than the two described above may exist.

<<<   The subnet selection option is useful, but not limited to, the class
>>>   The subnet selection option is useful for, but not limited to, the class
   of devices that have a packet-handling plane (e.g.: switching, routing
   functionality) and a control plane (e.g.: device management and
   control functionality). The control plane is network connected and
   there is a DHCP server connected to that network. The packet-handling
   plane may or may not be network connected, however, in either case
   there is no network connected DHCP server available to this plane. The
   control plane is not network connected to the packet-handling plane,
   although the two planes may communicate using some method (e.g.: an
   internal data bus).

<<<   For the networks to which the packet-handling plane is connected,
<<<   there is a requirement to allocate addresses for devices connected to
<<<   those networks.
>>>   There is a requirement to allocate addresses for devices
>>>   connected to the networks to which the packet-handling plane
>>>   is connected.

   Since there is no network connectivity between the DHCP server and the
   packet-handling plane, the control plane must allocate addresses using
   the DHCP on behalf of the packet-handling plane. Because the control
<<<   plane is requesting the addresses, the DHCP server would normally have
<<<   the undesired result of allocating the address on the subnet on which
<<<   the control plane is connected.
>>>   plane is requesting the addresses, the DHCP server would normally
>>>   allocate the address on the subnet on which the control plane is
>>>   connected, which would be incorrect.

 Waters                Expires: Mar 1999 + 6 months             [Page 2]

 Internet Draft          Subnet Selection Option              March 1999

   If the option specified by this memo is included in the
   DHCPDISCOVER/DHCPREQUEST message then the server should allocate an
   address on the subnet or network segment that is specified by this
   option. The option would specify an address of one of the packet-
   handling plane's subnets.
>>> (the above should be "an address on" or "the address of.")

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

 2. Subnet Selection Option

   The subnet selection option is a DHCP option. The option contains a
   single IP address that is the address of a subnet. The value for the
   subnet address is determined by taking any IP address on the subnet
   and ANDing that address with the subnet mask (i.e.: the network and
   subnet bits are left alone and the remaining (address) bits are set to
   zero). When this option is present, the DHCP server MUST use either
   the:

   o The subnet specified in the option, or;
   o A subnet on the same network segment as the subnet specified in the
     option;

   on which to allocate an address.

   The format of the option is:

        Code   Len        IP Address
       +-----+-----+-----+-----+-----+-----+
       | TBD |  4  | A1  | A2  | A3  | A4  |
       +-----+-----+-----+-----+-----+-----+

<<<   In order to ensure backwards compatibility of clients that do support
<<<   this option when communicating with DHCP servers that do not support
<<<   this option, the DHCP client SHOULD check that an allocated address in
<<<   on the requested subnet or network segment. The client SHOULD NOT
<<<   respond to a DHCPOFFER or DHCPACK of an address that is not on the
<<<   respond to a DHCPOFFER for an address that is not on the
<<<   requested subnet or network segment.
>>> (You can't really do this, because the server may choose to
>>> allocate an IP address on a different subnet that's on the same
>>> network segment, and the client doesn't know the network topology
>>> and so can't distinguish this from the behaviour of a
>>> non-conforming server.   If you want this to work, you probably
>>> need something like the following.)

>>> Servers supporting this option MUST return the option to any
>>> client that sends it, regardless of whether or not the client
>>> requests it in a parameter request list.   Clients using this
>>> option must discard DHCPOFFER packets that do not contain it.

>>> (you also probably should just nuke the entire next paragraph, or
>>> else you're going to find yourself in a Monty Python Spanish
>>> Inquisition skit.)

<<<   This option does not require any change to other operations or
>>>   This option does not require changes to operations or
   features of the DHCP server other than to select the subnet on which
   to allocate an address. For example, the handling of DHCPDISCOVER for
   an unknown subnet may continue to operate unchanged.

   When this option is present and the server supports this option, the
   server MUST NOT offer an address that is not on the requested subnet
   or network segment.

 Waters                Expires: Mar 1999 + 6 months             [Page 3]

 Internet Draft          Subnet Selection Option              March 1999

<<<   Existing methods for determining where to send a reply to a DHCP
<<<   client are not changed when this option is present in a request.
>>>   The DHCP server MUST use the same algorithm for choosing the
>>>   IP address to which to send a reply whether or not this option
>>>   is present in a request.

 3. Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to pertain
   to the implementation or use of the technology described in this
   document or the extent to which any license under such rights might or
   might not be available; neither does it represent that it has made any
   effort to identify any such rights.  Information on the IETF's
   procedures with respect to rights in standards-track and standards-
   related documentation can be found in BCP-11.

   Copies of claims of rights made available for publication and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this specification
   can be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.

 4. Acknowledgements

   This document is the result of work undertaken the by DHCP working
   group. Thanks to Tim Aston and Ralph Droms for reviewing this memo.

 5. Security Considerations

   DHCP currently provides no authentication or security mechanisms.
   Potential exposures to attack are discussed is section 7 of the
   protocol specification [RFC2131].

 6. References

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
        Requirement Levels", RFC 2119, BCP 14, March 1997.

   [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131,
        March 1997.

   [RFC2132] Alexander, S.  and Droms, R., "DHCP Options and BOOTP Vendor
        Extensions", RFC 2132, March 1997.

 Waters                Expires: Mar 1999 + 6 months             [Page 4]

 Internet Draft          Subnet Selection Option              March 1999

 7. Editor's Addresses

   Glenn Waters
   Nortel Networks
   310-875 Carling Avenue,
   Ottawa, Ontario K1S 5P1
   Canada

   Phone:  +1 613-798-4925
   Email:  [email-masked]

 8. Full Copyright Statement

   Copyright (C) The Internet Society (1999).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published and
   distributed, in whole or in part, without restriction of any kind,
   provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of developing
   Internet standards in which case the procedures for copyrights defined
   in the Internet Standards process must be followed, or as required to
   translate it into languages other than English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
   NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
   WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

 Waters                Expires: Mar 1999 + 6 months             [Page 5]