HP-UX Reference (11i v2 03/08) - 1M System Administration Commands A-M (vol 3)

b
bootpd(1M) bootpd(1M)
NAME
bootpd - Internet Boot Protocol server
SYNOPSIS
/usr/lbin/bootpd
[-d debuglevel ][-p ping-timeout ][
-t timeout ][-P][configfile [dumpfile]]
DESCRIPTION
The
bootpd daemon implements three functions: a Dynamic Host Configuration Protocol (DHCP) server
as defined in RFC1541, an Internet Boot Protocol (BOOTP) server as defined in RFC951 and RFC1395,
and a DHCP/BOOTP relay agent as defined in RFC1542. It also contains some of the useful fields as
defined in RFC2132.
bootpd is run through inetd (see inetd(1M)). It is run by
/etc/inetd when the following line (or
equivalent) is included in the file
/etc/inetd.conf
:
bootps dgram udp wait root /usr/lbin/bootpd bootpd
bootpd starts when a boot request arrives. If it has not received another boot request after 500 minutes,
bootpd exits. The -t option can be used to specify a different timeout value in minutes (such as
-t20).
With a timeout value of zero (
-t0
), bootpd never exits.
The
-d option sets the verbosity level (13) of the logging emitted by the daemon via
syslog (see
syslog(3C)). For improved performance, this option should not be used. If this option is not used, no log-
ging is done by
syslog except for fatal errors.
By default, the
bootpd daemon pings the IP address before assigning the address to a client to check if
the IP Address is already in use. The -P option suppresses bootpd from pinging this address.
The
-p option can be used to specify the ping timeout period. The server pings for this duration of time
to check if the IP address is already in use. The ping-timeout period is specified in milliseconds and
the maximum value is 3000 milliseconds. When the
-P option is used, the -p option has no effect, since
bootpd never pings the IP address.
When
bootpd receives a DHCP/BOOTP request, it first checks if the hardware address of the client is
listed in the /etc/dhcpdeny database. If yes, this client is denied lease. If the client is not listed in the
dhcpdeny database, it checks whether the client information is in the /etc/bootptab
database. If the
client information is available,
bootpd sends back the reply. Otherwise, it checks whether there is any
matched relay information for the client in the /etc/bootptab
database. If so, bootpd goes through
a series of checks to see if it should relay the request. If no matched relay information was found,
bootpd checks whether the client information is matched by a pool or device group in the
/etc/dhcptab database. If a match is found, bootpd sends back a reply. The request is dropped if no
matched group information is found.
To reply to a DHCP or BOOTP request the server puts together a BOOTREPLY message and does a
number of checks to ensure the message is sent to the correct destination.
bootpd first checks the ciaddr (client IP address) field of the DHCP/BOOTP packet. If this field is
nonzero, the BOOTREPLY message is sent to the IP address identified in ciaddr.
If the
ciaddr field is zero, bootpd checks the giaddr field. If this field is not zero, bootpd sends the
BOOTREPLY message to the relay agent specified in giaddr field and the relay agent delivers the BOO-
TREPLY message to the client. If the giaddr field is zero, bootpd sends the BOOTREPLY message to
the client. In both cases, the BOOTREPLY will either be sent to the IP address specified in the yiaddr
(your IP address) field or as a broadcast message. On HP-UX, there are two ways to specify that the
BOOTREPLY should be sent as a broadcast message.
1. The client sets the broadcast flag bit in the flag field (bit 0) of the DHCP/BOOTP request packet.
2. Define the
ba tag in the bootptab file (see Tags for client entries below)
For the case where the
bootpd has matched a relay entry in /etc/bootptab, it attempts to forward
the request to the configured DHCP/BOOTP server.
bootpd first checks whether the relay function is enabled for the requesting client. The relay capability
is configurable. If the relay function is disabled, then the request packet is dropped.
Before
bootpd relays the request, it also examines the giaddr (gateway IP address) field. The client
sets the giaddr field to zero when it sends out the request. If the relay agent finds this field is zero, it
fills this field with the primary IP address of the interface on which the request was received; otherwise,
the relay agent does not change this field. Then bootpd increments the value of the hops field, and
Section 1M70 Hewlett-Packard Company 1 HP-UX 11i Version 2: August 2003