Subject: Re: DHCP client, integration with ifconfig, etc.
To: Adam Glass <adamg@microsoft.com>
From: Ted Lemon <mellon@fugue.com>
List: tech-net
Date: 02/09/1997 10:19:11
> You could put it all in the kernel but I think that's overkill.  I'd put 
> enough support in the kernel to make the initial request/replies and 
> interpret only the critical info i.e ip address, subnet mask, etc.  Once 
> you're booted, your dhcp client could make the same request and parse 
> anything additional.  You should get back the same info as the kernel did.

I don't like the idea of putting a partial DHCP client in the kernel -
even a trivial DHCP client is going to suck in all the same baggage
that a complete DHCP client would, and IMHO it's too much baggage.

What I would like to do is boot a diskless system with a small
preinitialized memory disk, as in the SSTO kernel.  The init process
runs a user process, dhclient, which gets enough information when
doing the DHCP boot to mount root and go.  Dhclient continues to run
and do the lease management part of the protocol.

> Also, may I presume that your DHCP client will run as a daemon or something 
> or be spawned by ifconfig?

The DHCP client spawns a shell script whenever something changes.
This script can be written to run ifconfig, hack /etc/mygate and
/etc/resolv.conf, and so on.  It turns out that when you're mobile,
some daemons don't behave properly, so another thing this script might
do is to shut down some daemons and restart them when the IP address
changes.

			       _MelloN_