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

Thomas Narten <narten@us.ibm.com> Tue, 06 October 2009 19:40 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 3FEC83A6977 for <dhcwg@core3.amsl.com>; Tue, 6 Oct 2009 12:40:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.733
X-Spam-Level:
X-Spam-Status: No, score=-5.733 tagged_above=-999 required=5 tests=[AWL=0.866, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 ywwpkOE0Fcfw for <dhcwg@core3.amsl.com>; Tue, 6 Oct 2009 12:40:03 -0700 (PDT)
Received: from e3.ny.us.ibm.com (e3.ny.us.ibm.com [32.97.182.143]) by core3.amsl.com (Postfix) with ESMTP id 5DE283A6933 for <dhcwg@ietf.org>; Tue, 6 Oct 2009 12:40:03 -0700 (PDT)
Received: from d01relay02.pok.ibm.com (d01relay02.pok.ibm.com [9.56.227.234]) by e3.ny.us.ibm.com (8.14.3/8.13.1) with ESMTP id n96JY3ta004686 for <dhcwg@ietf.org>; Tue, 6 Oct 2009 15:34:03 -0400
Received: from d01av02.pok.ibm.com (d01av02.pok.ibm.com [9.56.224.216]) by d01relay02.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id n96Jfe71243660 for <dhcwg@ietf.org>; Tue, 6 Oct 2009 15:41:40 -0400
Received: from d01av02.pok.ibm.com (loopback [127.0.0.1]) by d01av02.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n96JcI5b022720 for <dhcwg@ietf.org>; Tue, 6 Oct 2009 15:38:18 -0400
Received: from cichlid.raleigh.ibm.com (sig-9-49-148-105.mts.ibm.com [9.49.148.105]) by d01av02.pok.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id n96JcEcB022657 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 6 Oct 2009 15:38:15 -0400
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 n96Jfa4D013250; Tue, 6 Oct 2009 15:41:36 -0400
Message-Id: <200910061941.n96Jfa4D013250@cichlid.raleigh.ibm.com>
To: Ted Lemon <Ted.Lemon@nominum.com>
In-reply-to: <A29118D6-3D66-4998-B7D3-AF1E0C52703C@nominum.com>
References: <994ABFCB-3ABF-484C-9855-1EEACC663CF4@nominum.com> <200910061918.n96JI5Nv005405@cichlid.raleigh.ibm.com> <D4C9A450-68AD-45E2-AED4-189051D48D05@nominum.com> <200910061928.n96JSrCV005622@cichlid.raleigh.ibm.com> <A29118D6-3D66-4998-B7D3-AF1E0C52703C@nominum.com>
Comments: In-reply-to Ted Lemon <Ted.Lemon@nominum.com> message dated "Tue, 06 Oct 2009 12:31:23 -0700."
Date: Tue, 06 Oct 2009 15:41:36 -0400
From: Thomas Narten <narten@us.ibm.com>
Cc: DHC-WG WG <dhcwg@ietf.org>, Damien Neil <Damien.Neil@nominum.com>
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:40:04 -0000

Ted Lemon <Ted.Lemon@nominum.com> writes:

> Nope, I'm still not getting it.  How is it more complicated than
> unpacking the data out of an individual option?  Don't you have to
> go through the entire packet to find that individual option?  You
> already have code that knows how to unpack options, so it seems like
> it's actually more general to encapsulate the data in options than
> to define an option format that has to be parsed specially.

The issue that I see is that a simple implementation might want to
process DHCP options one at a time in order. Find first option,
process, discard. Go to next option, repeat.

The way the netboot options are defined, you can't do that. Before you
process the BOOTFILE_URL option, you have to scan the entire rest of
the DHCP message to find the corresponding BOOTFILE_PARAM option. (And
more specifically, the one with the same precedence key.)

That seems like gratuitous complexity, if we can avoid it.

Hence, I was suggesting that one possible way to decide whether to
encode stuff in one option vs. multiple instances (with different data
in it) would be the following. if an implementation could just process
them one at at time without having to find them all before processing,
encoding them as multiple options is fine.  But if you needed to have
all the instances of that option together, before being able to
process one of them, perhaps then it would be better to just encode
all the data in one option so its all in one place. That way the
client doesn't have to hunt around for it.

Thomas