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