The bootp command gives client hosts the ability
to obtain network configuration information
from a central Internet Bootstrap Protocol
(BOOTP) server (see
bootpd(1Mtcp)).
Files
/etc/inet/bootptab
database file read by bootpd
Usage
bootp can be run at system installation time,
or in cases where the characteristics of the network change
(for example, when a new domain name server is added)
and the client's configuration files must be updated
to reflect the changes to the network.
bootp can be run by a privileged user only.
When invoked, bootp broadcasts a BOOTP
request containing the hardware address of the Ethernet interface
specified by its device name (such as /dev/net0).
By default, the broadcast is made over the first network interface
that the kernel finds that supports broadcasting
unless the name of a different interface, interface_name,
is specified using the -a option.
The bootpd daemon on the BOOTP server
responds to the request.
bootp interprets the response and prints shell variables
on the standard output which correspond
to the attribute values contained in the response.
If a randomly varied time-out period expires without a response,
bootp resends the request and increases the time-out period.
The request is retried until number_of_tries
(default 5) is reached.
To avoid the possibility of exhausting the space in the 64-byte vend
area of the request/response packet, the host name and domain name attributes
are obtained via reverse DNS lookup.
The local
hosts(4tcp)
file and the
resolv.conf(4tcp)
file are not
consulted for this operation; any DNS servers specified
in the vend area are consulted instead.
The BOOTP attributes that are currently used,
together with the shell variables output by bootp,
are summarized in the following tables:
RFC 951
field name
BOOTP server
attribute name
BOOTP client
shell variable
file
bf
INET_BOOT_FILE_NAME
yiaddr
ip
INET_YOUR_IP_ADDRESS
siaddr
sa
INET_SERVER_IP_ADDRESS
vend
-
see following table
RFC 1533 vendor
extension field
BOOTP server
attribute name
BOOTP client
shell variable
Ethernet Frame Type
T36
INET_ETHER_ENCAPSULATION
NIS Domain Name
T40
INET_NIS_DOMAIN_NAME
Domain Name
dn
INET_DOMAIN_NAME
Domain Name Server
ds
INET_DNS_SERVER[instance]
Router
gw
INET_ROUTER[instance]
Host Name
hn
INET_HOSTNAME
Subnet Mask
sm
INET_SUBNET_MASK
Time Offset
to
INET_TIME_OFFSET
Time Server
ts
INET_TIME_SERVER[instance]
Note that, in cases where reverse DNS lookup is used,
bootp outputs
the INET_HOSTNAME and INET_DOMAIN_NAME variables.
The attribute names shown in these tables
are implemented as parameter declarations
in the BOOTP server configuration
file /etc/inet/bootptab
(see
bootptab(4tcp)).
Options
bootp takes the following options:
-ainterface_name
Specify the name of the Ethernet interface, such as net1,
which is to be used to communicate with the BOOTP server.
The Ethernet interface specified by interface_name
is temporarily configured with an IP address of zero.
This allows bootp to receive a response if the current
IP address of the interface does not match that
configured on the BOOTP server for the hardware address
of device.
WARNING:
To avoid networking errors, do not invoke bootp
with the -a option from a multiuser system
when the interface specified by interface_name is in use.
-cnumber_of_tries
Specifies the number of unanswered BOOTP
requests to send before giving up.
The default value is 5.
-d
Do not use DNS to obtain the host name and the domain name.
Exit codes
On success, bootp returns zero.
On a timeout, it returns 254
and prints the message
INET_BOOTP_TIMEDOUT=yes
to the standard error output.
The ht (hardware address type) and
ha (hardware address) attributes
are used by the BOOTP server
to locate the proper entry in its configuration file.
Note that this client host forces the BOOTP
server to choose an address
by always setting the ciaddr field in the request to zero.
The value of the bootp argument hostname is placed
in the request vend area ``Host Name'' field so that a server
may choose to respond based on this hostname
if a lookup by hardware address fails.
The Class Identifier of ``UnixWare'' is also provided in
the request to identify the client as a UnixWare system.