Subject: [dhcwg] Etherboot Project use of DHCP options

From: Marty Connor <[email-masked]>
Date: Fri, 30 Nov 2007 18:12:17 -0500

Hello,

First let me apologize for the lateness of this message.  We have been
uncertain how to proceed regarding the DHCP options that our project
( Etherboot Project, http://etherboot.org/ ) is using.

At the strong suggestion of a colleague I am writing to give status of
our current and planned usage of tentatively assigned DHCP options, and
to ask for guidance from members of this list on how we should proceed
to properly document our use of them.

For those that might not be familiar with our project please allow me to
give  a brief introduction.  The Etherboot Project has existed since
about 1993.  Our primary purpose has been to create and support Open
Source network booting.  Our most well-known network booting software is
known as Etherboot.

In the 14 year history of the project there have been three Project
Leaders:  Markus Gutschke, Ken Yap, and myself (Marty Connor).  Each of
us has worked to expand the capabilities of Etherboot, and in the last
few years we have created a new network bootloader called gPXE.  gPXE
blends features of Etherboot with features of PXE, and adds some
extensions not present in either specification.

Etherboot's method of network booting predates the PXE specification and
differs from it significantly. From using pre-wrapped binaries in NBI
(Network Boot Image) format to handling of DHCP options.  There is a
large installed base of systems which use Etherboot BIOS Expansion ROMs
or other media to network boot various operating systems.

In 1999 we created the website:

    http://rom-o-matic.net/

To distribute free, on-demand, custom Etherboot ROM images.  To date
approximately 2,000,000 Etherboot images have been downloaded.  This
total does not include ROMs created by downloading Etherboot from
SourceForge.net or by simply copying an existing image.

In 2002 we began an effort to add PXE compatibility to Etherboot.  This
involved adding the PXE API to Etherboot, while maintaining support for
legacy features.  The current release of Etherboot (5.4.3) is capable of
functioning as PXE boot ROM, with certain limitations.  Etherboot is
capable of loading PXELINUX, running RIS and other PXE NBPs and has
proven useful for many applications, from network booting supercomputer
clusters to enabling thin-client computing using economical hardware.

In 2005 we began work on a rewrite of Etherboot called gPXE.  Our aim
was to create a bootloader that stronger compliance with the PXE
specification with extensions that make sense for contemporary networking.

Since 2005 (which is is when I became Project Leader), we have focussed
most of our development energy on gPXE, and have made significant
progress.  gPXE is capable of both traditional PXE operation (DHCP+TFTP)
plus a number of modern network booting methods, such as:

   * HTTP(S) booting
   * iSCSI booting
   * AoE booting

Some of these network protocols required the addition of custom TCP
stack for transport.  We also added DNS support and URL parsing to
support multiple protocols.

That's a long preamble, but hopefully will give a sense of the level of
effort we have invested in our software, and how many people have come
to rely on it.

Referring to the following document:

   http://www.iana.org/assignments/bootp-dhcp-parameters

I note that Etherboot is mentioned in four places:

   128     Etherboot signature. 6 bytes: E4:45:74:68:00:00	
   150     Etherboot	
   175     Etherboot (Tentatively Assigned - 23 Jun 2005)
   177     Etherboot (Tentatively Assigned - 23 Jun 2005)

The first two (128 and 150) are in wide use.  Option 150 is where
options for our Etherboot bootloader have long been encapsulated.  We
also use 129 for passing kernel options in Etherboot.

I note that former Project Leader Ken Yap and former developer Timothy
Legge had begun work on securing options 175 and 177:

   http://www3.ietf.org/proceedings/05aug/slides/dhc-7.pdf

As early as 2002 when work on incorporating PXE into Etherboot we began
using Option 175 for encapsulation as this message from our Lead
Developer, Michael Brown explains:

   http://osdir.com/ml/network.etherboot.devel/2002-05/msg00032.html

Our usage of Option 175 continues in gPXE.

Our use of Option 177 is less clear.  We need to do further research to
understand our motivation for requesting that option and how we are
currently using it.

So, in summary:

  * We are doing research into our use of DHCP options
  * We will work on an RFC draft for our usage
  * Any pointers would be appreciated.

Thank you for any and all feedback regarding our situation. I once more
apologize for the lateness of this communication, and thank you in
advance for your thoughts.

Regards,

Marty

_______________________________________________
dhcwg mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/dhcwg