bootpd.1m (2010 09)

b
bootpd(1M) bootpd(1M)
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
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.
Then
bootpd compares the value of the
secs (seconds since the client began booting) field of the
DHCP/BOOTP packet to the
threshold value. The client sets the secs field to zero when it first sends
out the request. The client repeats the request if it does not receive a reply. When the client repeats the
request, it sets the
secs value to the number of seconds since the first request was sent.
bootpd does
not relay the request if the value of the
secs field is less than the threshold value. The threshold
value can be configured. The default value is 0.
Configuration
Upon startup,
bootpd reads its configuration files to build its internal database, then listens for boot
request packets. The default configuration files are /etc/dhcpdeny
, /etc/bootptab, and
/etc/dhcptab. The bootptab file can be specified in the command line. bootpd rereads its
configuration file when it receives a hangup signal,
SIGHUP, or when it receives a boot request packet
and detects that the configuration file has been updated. If hosts are added, deleted, or modified, their
entries in the bootpd internal database are updated accordingly when the configuration files are reread.
The /etc/dhcpdeny database contains the list of hardware addresses of the clients that will not be
served by this server.
If
bootpd receives a SIGUSR1 signal, it dumps its memory-resident database to the file
/var/tmp/bootpd.dump
or the dumpfile specified in the command line.
The configuration file can contain two types of host entries:
1. The client entries, which contains the client information.
2. The relay entries, which contains the configuration to relay DHCP/BOOTP requests for one or more
clients.
The configuration uses two-character, case-sensitive tag symbols to represent host parameters. These
parameter declarations are separated by colons (
:). The general format is:
hostname
:tg=value:...:tg=value:...:tg =value
:...
where hostname is the actual name of a DHCP/BOOTP client in the client entries, and in the case of a
relay entry, it can be the actual name of a client if it is an individual relay entry, or it can be a name for a
group of clients if it is a group relay entry. tg is a two-character tag symbol. Most tags must be followed
by an equals-sign, and a value as above. Some can appear in a boolean form with no value (that is,
:tg:).
Blank lines and lines beginning with # are ignored in the configuration file. Host entries are separated
from one another by newlines; a single host entry can be extended over multiple lines if the lines end with
a backslash (\). It is also acceptable for lines to be longer than 80 characters. Tags can appear in any
order with the following exceptions: The host name must be the very first field in an entry, and the
hardware type tag, ht, must precede the hardware address tag, ha. and the hardware mask tag, hm.
IP addresses are specified in standard Internet dot notation, and can use decimal, octal, or hexadecimal
numbers (octal numbers begin with
0, hexadecimal numbers begin with 0x or 0X). Certain tags accept a
list of one or more IP addresses (ip_address_list). When more than one IP address is listed, the
addresses must be separated by whitespace.
The types of tags can be grouped into three categories:
1. The tags that can be used for both the client and the relay entries.
2. The tags that can only be used in the relay entries.
2 Hewlett-Packard Company 2 HP-UX 11i Version 3: September 2010