|author||David E. O'Brien <obrien@FreeBSD.org>||1999-02-11 12:40:22 +0000|
|committer||David E. O'Brien <obrien@FreeBSD.org>||1999-02-11 12:40:22 +0000|
Virgin import of ISC-DHCP v2.0b1pl11vendor/isc-dhcp/2.0b1-pl.11
Notes: svn path=/vendor/isc-dhcp/dist/; revision=43892 svn path=/vendor/isc-dhcp/2.0b1-pl.11/; revision=43894; tag=vendor/isc-dhcp/2.0b1-pl.11
Diffstat (limited to 'contrib/isc-dhcp/README')
1 files changed, 88 insertions, 36 deletions
diff --git a/contrib/isc-dhcp/README b/contrib/isc-dhcp/README
index c0f45ed9010a..83c03bbb7dc1 100644
@@ -1,7 +1,7 @@
Internet Software Consortium
Dynamic Host Configuration Protocol Distribution
- Version 2, Beta 1, Patchlevel 0
- December 6, 1997
+ Version 2, Beta 1, Patchlevel 11
+ February 8, 1998
This is the first Beta release of Version 2 of the Internet Software
Consortium DHCP Distribution. In version 2.0, this distribution
@@ -12,13 +12,14 @@ running a production environment should probably still use version
November of 1996.
In this release, the server and relay agent currently work well on
-Digital Alpha OSF/1, SunOS 4.1.4, NetBSD, FreeBSD, BSD/OS and Ultrix.
-They can also be run usefully on Solaris as long as only one broadcast
-network interface is configured. They also runs on QNX and Linux as
+NetBSD, Linux, FreeBSD, BSD/OS, Ultrix, Digital Alpha OSF/1, and SunOS
+4.1.4. They can also be run usefully on Solaris as long as only one
+broadcast network interface is configured. They also runs on QNX as
long as only one broadcast network interface is configured and a host
route is added from that interface to the 255.255.255.255 broadcast
-address. If you are running a Linux 2.0.31 kernel, the DHCP daemons
-may be able to operate on more than one interface.
+address. If you are running a Linux 2.0.30 or previous kernel, the
+DHCP daemons will only be able to operate on machines with a single
The DHCP client currently only knows how to configure the network on
NetBSD, FreeBSD, BSD/os, Linux, Solaris and NextStep. The client
@@ -27,7 +28,7 @@ configuration - support for other operating systems is simply a matter
of porting this shell script to the new platform.
If you wish to run the DHCP Distribution on Linux, please see the
-Linux-specific notes later in this document. If you wish to run on a
+Linux-specific notes later in this document. If you wish to run on an
SCO release, please see the SCO-specific notes later in this document.
You particularly need to read these notes if you intend to support
Windows 95 clients. If you are running a version of FreeBSD prior to
@@ -43,25 +44,77 @@ information. On Digital Unix, type ``man pfilt''.
BUILDING THE DHCP DISTRIBUTION
-To build the DHCP Distribution, type ``configure''. If configure can
-figure out what sort of system you're running on, it will create a
-custom Makefile for you for that system; otherwise, it will complain.
-If it can't figure out what system you are using, that system is not
-supported - you are on your own.
+To build the DHCP Distribution, unpack the compressed tar file using
+the tar utility and the gzip command - type something like:
+ zcat dhcp-2.0b1pl11.tar.gz |tar xvf -
+Now, cd to the dhcp-2.0b1pl11 subdirectory that you've just created and
+configure the source tree by typing:
+If the configure utility can figure out what sort of system you're
+running on, it will create a custom Makefile for you for that
+system; otherwise, it will complain. If it can't figure out what
+system you are using, that system is not supported - you are on
-Once you've run configure, just type ``make'', and after a while you
-should have a dhcp server. If you get compile errors on one of the
-supported systems mentioned earlier, please let us know. If you get
-errors on a system not mentioned above, you will need to do some
-programming or debugging on your own to get the DHCP Distribution working.
+Once you've run configure, just type ``make'', and after a while
+you should have a dhcp server. If you get compile errors on one
+of the supported systems mentioned earlier, please let us know.
+If you get warnings, it's not likely to be a problem - the DHCP
+server compiles completely warning-free on as many architectures
+as we can manage, but there are a few for which this is difficult.
+If you get errors on a system not mentioned above, you will need
+to do some programming or debugging on your own to get the DHCP
+Once you have successfully gotten the DHCP Distribution to build, you
+can install it by typing ``make install''. If you already have an old
+version of the DHCP Distribution installed, you may want to save it
+before typing ``make install''.
There are three big LINUX issues: the all-ones broadcast address,
Linux 2.1 ip_bootp_agent enabling, and operations with more than one
+network interface. There are also two potential compilation/runtime
+problems for Linux 2.1/2.2: the "SO_ATTACH_FILTER undeclared" problem
+and the "protocol not configured" problem.
+ LINUX: SO_ATTACH_FILTER UNDECLARED
+In addition, there is a minor issue that we will mention here because
+this release is so close on the heels of the Linux 2.2 release: there
+is a symlink in /usr/include that points at the linux asm headers. It
+appears to be not uncommon that this link won't be updated correctly,
+in which case you'll get the following error when you try to build:
+ lpf.c: In function `if_register_receive':
+ lpf.c:152: `SO_ATTACH_FILTER' undeclared (first use this function)
+ lpf.c:152: (Each undeclared identifier is reported only once
+ lpf.c:152: for each function it appears in.)
+The line numbers may be different, of course. If you see this
+header, your linux asm header link is probably bad, and you should
+make sure it's pointing to correct linux source directory.
+ LINUX: PROTOCOL NOT CONFIGURED
+One additional Linux 2.1/2.2 issue: if you get the following message,
+it's because your kernel doesn't have the linux packetfilter
+ Can't install packet filter program: Protocol not available
+If this happens, you need to edit your linux kernel .config file, set
+CONFIG_FILTER=y, and rebuild your kernel. If the preceding sentence
+made no sense to you, ask your Linux vendor/guru for help - please
+don't ask us.
+ LINUX: BROADCAST
In order for dhcpd to work correctly with picky DHCP clients (e.g.,
Windows 95), it must be able to send packets with an IP destination
@@ -96,7 +149,7 @@ Another route that has worked for some users is:
If you are not using eth0 as your network interface, you should
specify the network interface you *are* using in your route command.
- IP BOOTP AGENT
+ LINUX: IP BOOTP AGENT
Some versions of the Linux 2.1 kernel apparently prevent dhcpd from
working unless you enable it by doing the following:
@@ -104,7 +157,7 @@ working unless you enable it by doing the following:
echo 1 >/proc/sys/net/ipv4/ip_bootp_agent
- MULTIPLE INTERFACES
+ LINUX: MULTIPLE INTERFACES
Most older versions of the Linux kernel do not provide a networking
API that allows dhcpd to operate correctly if the system has more than
@@ -113,20 +166,8 @@ version numbers greater than or equal to 2.0.31 add an API feature:
the SO_BINDTODEVICE socket option. If SO_BINDTODEVICE is present, it
is possible for dhcpd to operate on Linux with more than one network
interface. In order to take advantage of this, you must be running a
-2.0.31 or greater kernel, and you must have 2.0.31 system headers
-installed *before* you build dhcpd.
-NOTE: People have been having problems finding the 2.0.31 kernel
-because it was only available as a prerelease patch. As of October
-17, Linux 2.0.31 is the stable Linux kernel, and is available as a
-kernel distribution rather than as a test patch. With any luck, it
-will be in the latest version of your favourite Linux distribution
-If you are running a Linux 2.1 kernel, this does not guarantee that you
-have SO_BINDTODEVICE. Linux 2.0.31 was released quite a while after 2.1
-kernel development began. The earliest Linux kernel in the 2.1
-development stream with SO_BINDTODEVICE is version 2.1.68.
+2.0.31 or greater kernel, and you must have 2.0.31 or later system
+headers installed *before* you build the DHCP Distribution.
We have heard reports that you must still add routes to 255.255.255.255
in order for the all-ones broadcast to work, even on 2.0.31 kernels.
@@ -189,6 +230,17 @@ The NeXTSTEP support uses the NeXTSTEP Berkeley Packet Filter
extension, which is not included in the base NextStep system. You
must install this extension in order to get dhcpd or dhclient to work.
+One problem which has been observed and is not fixed in this patchlevel
+has to do with using DLPI on Solaris 2.6 machines, probably only on Intel,
+but possibly also on SPARC. The symptom of this problem is that you never
+receive any DHCP packets. If you are running Solaris 2.6, and you
+encounter this symptom, and you are running the DHCP server on a machine
+with a single broadcast network interface, you may wish to edit the
+includes/site.h file and uncomment the #define USE_SOCKETS line. Then
+type ``make clean; make''.
The Internet Software Consortium DHCP server is not a commercial