bootpd(1Mtcp)
bootpd --
Internet Boot Protocol server
Synopsis
in.bootpd [ -i ]
[ -s ]
[ -S ]
[ -t timeout ]
[ -D debug_level ]
[ -c chdir_path ]
[ -P port ]
[ bootptab [ dumpfile ] ]
Description
bootpd implements an Internet Bootstrap Protocol
(BOOTP) server as defined in RFC 951,
RFC 1542, and RFC 2132.
One host on each network segment is normally configured to
run bootpd from
inetd by including the following line in
the file /etc/inetd.conf:
bootps dgram udp wait root /usr/sbin/in.bootpd in.bootpd bootptab
This mode of operation is referred to as ``inetd mode'' and
causes bootpd to be
started only when a boot request arrives. If it does not
receive another packet within fifteen minutes of the last
one it received, it will exit to conserve system
resources. The -t option controls this timeout
(see ``Options'').
It is also possible to run bootpd
in ``standalone mode'' (without
inetd) by simply invoking it from a shell like
any other regular command. Standalone mode is particularly
useful when bootpd is used with a large
configuration database, where the start up delay might
otherwise prevent timely response to client requests.
bootpd automatically detects whether it was invoked
from inetd or from a shell and automatically
selects the appropriate mode. The -s or
-i option may be used to force standalone or
inetd mode, respectively (see ``Options'').
Options
-c chdir_path-
Sets the current directory used by bootpd while
checking the existence and size of client boot files. This
option has no effect because this implementation of
bootpd does not do this checking. This option is
equivalent with -p on some older versions of
bootpd.
-D debug_level-
Sets the debug_level variable that controls the
amount of debugging messages generated. For example,
-D 1 will set the debugging level to 1.
Recognized values are 0, 1, 2, and 3 or greater. Zero
generates no messages and 1 to 3 generate increasing
amounts of messages. Specifying an integer over 3 has the
same result as specifying 3. For compatibility with older
versions of bootpd, using the option -d
(without an argument) will simply increment the debug level
by one.
-i-
Force inetd mode. This option is obsolete, but
remains for compatibility with older versions of
bootpd.
-P port-
Specifies an alternate port on which bootpd
listens for BOOTP packets when running in slave
mode. Use this option if dhcpd is running on the
same host.
-s-
Force standalone mode. This option is obsolete, but
remains for compatibility with older versions of
bootpd.
-S-
Forces slave mode, which is required if dhcpd is
running on the same host as bootpd. This option
forces bootpd to listen for packets on the port
specified with the -P option.
-t timeout-
Specifies the timeout value (in minutes) that a
bootpd process will wait for
a BOOTP packet before exiting. If no packets are
received for timeout minutes, then the program
will exit. A timeout value of zero means ``run forever''.
In standalone mode, this option is forced to zero.
bootptab specifies the name of an alternate configuration
file from which bootpd loads its database of known clients
and client options.
The default configuration file is /etc/inet/bootptab.
dumpfile specifies the name of the file into which bootpd
will dump its internal database if it receives a SIGUSR1 signal.
Operation
bootpd listens for any packets sent to the
bootps port and forwards any BOOTREPLY packets.
When bootpd is started, it reads a configuration
file (normally /etc/inet/bootptab) that initializes
the internal database of known clients and client options.
This internal database is reloaded from the configuration
file when bootpd receives a hangup signal
(SIGHUP) or when it discovers that the
configuration file has changed.
When bootpd receives a BOOTREQUEST
packet, it checks the modification time of the configuration
file and reloads the database if necessary. Then it looks
for a database entry matching the client request. If the
client is known, bootpd composes a
BOOTREPLY packet using the database entry found
above and sends the reply to the client (possibly using a
gateway). If the client is unknown, the request is discarded
(with a notice if the debug level is greater than 0).
The receipt of a SIGUSR1 signal causes
bootpd to dump its internal database to the file
/usr/tmp/bootpd.dump or the dumpfile specified as
a command line argument.
During initialization, bootpd determines the
UDP port numbers to be used by calling
getservbyname (see
getservent(3N))
(which normally uses /etc/services).
Two service names (and port numbers) are used:
bootps-
BOOTP server listening port
bootpc-
BOOTP client destination port
If the port numbers cannot be determined using
getservbyname, then the values default to
bootps=67 and bootpc=68.
When running dhcpd and bootpd on the
same host, bootpd must be run in "slave mode" by
using the -S option. In this mode,
bootpd listens on an alternate port which you
specify with the -P option. For information about
running bootpd and dhcpd on the same
host, see
dhcpd(1Mtcp).
Files
/etc/inet/bootptab-
database file read by
bootpd
/etc/inet/bootpd.dump-
debugging dump file created by
bootpd
/etc/services-
internet service numbers
/tftpboot-
current directory typically used by the TFTP
server and bootpd
References
bootp(1Mtcp),
bootpef(1Mtcp),
bootpgw(1Mtcp),
bootptab(4tcp),
dhcpd(1Mtcp),
inetd(1Mtcp),
inetd.conf(4tcp),
tftpd(1Mtcp)
RFC 951,
RFC 1542,
RFC 2132
Notices
Individual host entries must not exceed 1024 characters.
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004