HP-UX Reference (11i v1 05/09) - 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][-t timeout][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 logging
is done by
syslog except for fatal errors.
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 data-
base. If a match is found,
bootpd sends back a reply. The request is dropped if no matched group infor-
mation 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 BOO-
TREPLY 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 eld, and
relays the request to the DHCP/BOOTP servers that have been configured for this client.
If the relay function is enabled for this client, bootpd checks the hops field of the DHCP/BOOTP request
packet. The client sets the hops field to 0 when it sends out the DHCP/BOOTP request. The hops value
is increased every time the request packet is relayed by a relay agent. The maximum hop number can be
configured. The maximum possible hop number allowed is 16. The default maximum is set to 4. The
request packet is dropped if the hop value exceeds the configured maximum.
Section 1M106 Hewlett-Packard Company 1 HP-UX 11i Version 1: September 2005