Re: [dhcwg] Comments on draft-ietf-dhc-dhcpv6-opt-netboot-05

Thomas Narten <narten@us.ibm.com> Tue, 06 October 2009 19:16 UTC

Return-Path: <narten@us.ibm.com>
X-Original-To: dhcwg@core3.amsl.com
Delivered-To: dhcwg@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DD4603A62C1 for <dhcwg@core3.amsl.com>; Tue, 6 Oct 2009 12:16:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.777
X-Spam-Level:
X-Spam-Status: No, score=-3.777 tagged_above=-999 required=5 tests=[AWL=-1.178, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3B6o43R2STV7 for <dhcwg@core3.amsl.com>; Tue, 6 Oct 2009 12:16:45 -0700 (PDT)
Received: from e9.ny.us.ibm.com (e9.ny.us.ibm.com [32.97.182.139]) by core3.amsl.com (Postfix) with ESMTP id C4BCD28C14B for <dhcwg@ietf.org>; Tue, 6 Oct 2009 12:16:44 -0700 (PDT)
Received: from d01relay06.pok.ibm.com (d01relay06.pok.ibm.com [9.56.227.116]) by e9.ny.us.ibm.com (8.14.3/8.13.1) with ESMTP id n96JEro9016957 for <dhcwg@ietf.org>; Tue, 6 Oct 2009 15:14:53 -0400
Received: from d03av04.boulder.ibm.com (d03av04.boulder.ibm.com [9.17.195.170]) by d01relay06.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id n96JIC1l2531476 for <dhcwg@ietf.org>; Tue, 6 Oct 2009 15:18:12 -0400
Received: from d03av04.boulder.ibm.com (loopback [127.0.0.1]) by d03av04.boulder.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n96JI8F9019516 for <dhcwg@ietf.org>; Tue, 6 Oct 2009 13:18:08 -0600
Received: from cichlid.raleigh.ibm.com (sig-9-49-148-105.mts.ibm.com [9.49.148.105]) by d03av04.boulder.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id n96JI6cC019444 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 6 Oct 2009 13:18:08 -0600
Received: from cichlid.raleigh.ibm.com (localhost [127.0.0.1]) by cichlid.raleigh.ibm.com (8.14.3/8.12.5) with ESMTP id n96JI5Nv005405; Tue, 6 Oct 2009 15:18:06 -0400
Message-Id: <200910061918.n96JI5Nv005405@cichlid.raleigh.ibm.com>
To: Damien Neil <Damien.Neil@nominum.com>
In-reply-to: <994ABFCB-3ABF-484C-9855-1EEACC663CF4@nominum.com>
References: <994ABFCB-3ABF-484C-9855-1EEACC663CF4@nominum.com>
Comments: In-reply-to Damien Neil <Damien.Neil@nominum.com> message dated "Mon, 05 Oct 2009 15:29:23 -0700."
Date: Tue, 06 Oct 2009 15:18:05 -0400
From: Thomas Narten <narten@us.ibm.com>
Cc: DHC-WG WG <dhcwg@ietf.org>
Subject: Re: [dhcwg] Comments on draft-ietf-dhc-dhcpv6-opt-netboot-05
X-BeenThere: dhcwg@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <dhcwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Tue, 06 Oct 2009 19:16:45 -0000

Hi Damien.

> Apologies to the authors for the amount of time it took for me to get  
> to this.

> This draft defines four DHCPv6 options that convey information related  
> to network booting a node.  There is a clear use case for these  
> options, and the information they convey seems reasonable to me.  I  
> have no concerns there.

I concur.

> I do have some concerns about the format of the Boot File URL Option  
> and the Boot File Parameters Option.

> My first issue is the use of multiple occurrences of these options in  
> a single DHCPv6 message.

> This is an issue that is more general than just this draft.  At this  
> time, there are two separate mechanisms used to convey lists of  
> information in DHCPv6: Multiple occurrences of an option (e.g., the IA  
> Address Option), and concatenated values within a single occurrence of  
> an option (e.g., the DNS Recursive Name Server Option).

> To my understanding, there is at this time no consistent policy on  
> which of these approaches should be used in new options.

I agree with the spirit of your concern here, but I think there are
distinctions here that are relevant.

IMO, the IA option is very different from other ones. Each IA option
has its own lifetime field for that instance of the option. You can
have some IAs timing out before others. Each IA option is treated
independently of the others, and they don't need to be processed
"together". You just process the option when you see it in a
message. So putting them in different options doesn't really add
complexity (in terms of processing them).

On the other hand, when you can have multiple instances of an option,
and you have to process them all together at the same time (in order
to process them correctly), that adds complexity and suggests it might
be better to stuff all the info into a single option (so an
implementation doesn't have to hunt around the DHCP message to find
all the relevant options that must be processed together).

> Moving beyond the question of whether permitting multiple occurrences  
> of user-specified options is a good idea or not, I have concerns about  
> the usage of the 'precedence' field in the Boot File URL Option and  
> the Boot File Parameters Option.

I strongly share these concerns.

> Each of these options contains an 8-bit integer 'precedence' value.   
> This value indicates the order in which clients should process these  
> fields.  This value also links the two options together.

Right.

I know of no DHCP option that has ever been defined where you can have
multiple instances of two different options (say 1 and 2), where there
is a key/cookie that ties an instance of option 1 with a specific
instance of option 2 (that is what the precedence field seems to do).

Seems to me that the far cleaner way to do this is to combine the two
options into one. That way, any options that pertain to a particular
BOOTFILE_URL are just included with that option.

You could still define a separate BOOTFILE_PARAM option that would
only be used as a default, when no BOOTFILE_PARAM stuff was included
with a particular URL option. (i.e., to serve the purpose a precedence
of 0 seems to fill). But I'm not sure how important that is.

> Whichever way this goes, however, I think there should be some general  
> policy on when multiple occurrences of an option should be allowed.   
> If we do go down the route of adding this additional protocol  
> complexity, I would prefer that we do so with intention rather than  
> accidentally.

Would a resonable criteria be that multiple options are OK if you can
process them in whatever order you find them easily, without having to
go through the entire message and find other related options that must
be processed together?

Thomas