bootptab(4) bootptab(4)
NAME
bootptab - Internet Bootstrap Protocol server data base
SYNOPSIS
/etc/inet/bootptab
DESCRIPTION
The bootptab file is the configuration data base for bootpd,
the Internet Bootstrap Protocol (BOOTP) server.
USAGE
The format of the bootptab file consists of a one-line entry
for each client host, of the form:
hostname:tg=value . . . :tg=value . . . :tg=value . . .
where hostname is the name of a bootp client and tg is a two-
character tag symbol.
Tag symbols are case-sensitive keywords used to specify
parameters for the named client host. Most tags must be
followed by an equals-sign (=) and a defined value. Some tags
may also appear in a boolean form with no value (for example,
:tg:). Each parameter declaration is separated by colons (:).
hostname must be the first field in any entry, including dummy
entries. Dummy entries have an invalid host name, that is, a
host name with a dot ``.'' as the first character. There are
two types of dummy entries: template entries and generic
subnet entries. Dummy entries with host names beginning with
one dot define default parameter value templates. Template
entries can be used by multiple client host entries that share
common parameter value settings. Dummy entries with host
names beginning with two dots define generic subnet entries.
Generic subnet entries simplify bootptab file administration
by eliminating the need to maintain individual entries for
each client host on each subnetwork.
Blank lines and lines beginning with # are ignored. Entries
are separated from one another by newlines. An individual
entry may extend over multiple lines if the lines end with a
backslash (\). It is also acceptable for lines to be longer
than 80 characters.
Copyright 1994 Novell, Inc. Page 1
bootptab(4) bootptab(4)
Attribute Tags
The currently recognized BOOTP attribute tags are:
T36 Ethernet frame type
T40 NIS server address list
bf bootfile
bs bootfile size in 512-octet blocks
cs cookie server address list
df merit dump file
dn domain name
ds domain name server address list
ef extension file
gw gateway address list
ha host hardware address
hd bootfile home directory
hn send client's host name to client
ht host hardware type (see Assigned Numbers RFC)
im impress server address list
ip host IP address
lg log server address list
lp LPR server address list
ns IEN-116 name server address list
ra reply address override
rl resource location protocol server address list
rp root path to mount as root
sa TFTP server address client should use
sm host subnet mask
sw swap server address
tc table continuation (points to similar ``template'' host entry)
td TFTP root directory used by ``secure'' TFTP servers
to time offset in seconds from UTC
ts time server address list
vm vendor magic cookie selector
Tags may appear in any order, with the following exception:
the hardware type tag ht must precede the hardware address
type tag ha.
There is also a generic tag, Tn, where n is an RFC1084 vendor
field tag number. The generic tag provides for taking
advantage of future extensions to RFC1084 without being forced
to modify bootpd first. Generic data may be represented as
either a stream of hexadecimal numbers or as a quoted string
of ASCII characters. The length of the generic data is
automatically determined and inserted into the proper field(s)
of the RFC1084-style bootp reply.
Copyright 1994 Novell, Inc. Page 2
bootptab(4) bootptab(4)
The following tags take a whitespace-separated list of IP
addresses: cs, ds, gw, im, lg, lp, ns, ra, rl, and ts. The
ip, sa, sw, and sm tags each take a single IP address. All IP
addresses are specified in standard Internet ``dot'' notation
and may use decimal, octal, or hexadecimal numbers (octal
numbers begin with 0; hexadecimal numbers begin with 0x or
0X). Any IP address may alternatively be specified as a host
name, causing bootpd to look up the IP address for that host
name using gethostbyname [see gethostent(3N)]. If the ip tag
is not specified, bootpd determines the IP address using the
entry name as the host name. (Dummy entries use an invalid
host name to avoid automatic IP lookup.)
Ethernet Frame Type Tag T36
The T36 tag identifies the Ethernet frame type. This
parameter must be specified as a two-digit hexadecimal value.
Valid values are 0x00 for Ethernet II encapsulation or 0x01
for Ethernet SNAP encapsulation.
Domain Name Server Address Tag ds
The ds tag identifies the Domain Name Service (DNS) server for
the client. The name server may be specified using a host
name or an IP address. In cases where a a client is serviced
by a name server that has more than one IP address, make sure
the ds tag specifies the IP address that is closest to the
client.
Hardware Address Tag ha
The ha tag takes a hardware address, which may be specified as
a host name or in numeric form. Note that the numeric form
must be specified in hexadecimal; optional dots and/or a
leading 0x may be included for readability. The ha tag must
be preceded by the ht tag, either explicitly or implicitly;
see the description of the tc tag below. If the hardware
address is not specified, and the hardware type is specified
as ethernet or ieee802, then bootpd attempts to determine the
hardware address.
Bootfile Tags hd, bf and bs
In the client's request packet, the host name, home directory,
and bootfile are ASCII strings which may be optionally
surrounded by double quotes ("). The client's request and the
values of the bootfile home directory tag hd symbols and the
bootfile tag bf symbols determine how the server fills in the
bootfile field of the bootp reply packet.
Copyright 1994 Novell, Inc. Page 3
bootptab(4) bootptab(4)
If the client specifies an absolute pathname and the file
exists on the server machine, that pathname is returned in the
reply packet. If the file cannot be found, the request is
discarded; no reply is sent. If the client specifies a
relative pathname, a full pathname is formed by prepending the
value of the hd tag and testing for existence of the file. If
the hd tag is not supplied in the configuration file, or if
the resulting boot file cannot be found, the request is
discarded.
Clients which specify null boot files will always elicit a
reply from the server. The exact reply will again depend upon
the hd and bf tags. If the bf tag gives an absolute pathname
and the file exists, that pathname is returned in the reply
packet. Otherwise, if the hd and bf tags together specify an
accessible file, that filename is returned in the reply. If a
complete filename cannot be determined, or the file does not
exist, the reply will contain a zeroed-out bootfile field.
In all of these cases, existence of the file means that, in
addition to actually being present, the file must have its
public read access bit set, since this is required by
tftpd(1M) to permit the file transfer. Also, all filenames
are first tried as filename.hostname and then simply as
filename, thereby providing for individual per-host bootfiles.
The value of the bootfile size tag bs may be either a decimal,
octal, or hexadecimal integer specifying the size of the
bootfile in 512-octet blocks, or the keyword auto, which
causes the server to automatically calculate the bootfile size
at each request. Note that specifying the bs symbol as a
boolean has the same effect as specifying auto as its value.
Hostname Tag hn
The host name tag hn is strictly a boolean tag; it does not
take the usual equals-sign and value. Its presence indicates
that the host name should be sent to RFC1084 clients. bootpd
attempts to send the entire host name as it is specified in
the configuration file; if this will not fit into the reply
packet, the name is shortened to just the host field (up to
the first dot, if present) and then tried. In no case is an
arbitrarily-truncated host name sent (if nothing reasonable
will fit, nothing is sent).
Copyright 1994 Novell, Inc. Page 4
bootptab(4) bootptab(4)
Hardware Type Tag ht
The ht tag specifies the hardware type code as either an
unsigned decimal, octal, or hexadecimal integer or one of the
following symbolic names: ethernet or ether for 10Mb Ethernet,
ethernet3 or ether3 for 3Mb experimental Ethernet, ieee802,
tr, or token-ring for IEEE 802 networks, pronet for Proteon
ProNET Token Ring, or chaos, arcnet, or ax.25 for Chaos,
ARCNET, and AX.25 Amateur Radio networks, respectively.
Server Address Tag sa
The server address tag sa specifies the IP address of the
particular TFTP server you wish the client to use. In the
absence of this tag, bootpd tells the client to perform TFTP
to the same machine bootpd is running on.
Table Continuation Tag tc
Often, multiple host entries (entries for name servers, for
example) share common values for certain tags. Rather than
repeatedly specifying these tags, a complete specification
template can be made in the entry for one host, and this
template entry shared with other hosts via the table
continuation tag tc mechanism. In most cases, the template
entry is a dummy host which never sends bootp requests because
the host doesn't actually exist.
Note that bootpd allows the tc tag symbol to appear anywhere
in the host entry. Information explicitly specified for a
host always overrides information implied by a tc tag symbol,
regardless of its location within the entry. The value of the
tc tag may be the host name or IP address of any host entry
previously listed in the configuration file.
Sometimes it is necessary to delete a specific tag after it
has been inferred via tc. This can be done using the
construction tag@, which removes the effect of tag. For
example, to completely undo an IEN-116 name server
specification, you would use :ns@: at an appropriate place in
the configuration entry. After removal with @, a tag is
eligible to be set again through the tc mechanism.
TFTP Directory Tag td
Some newer versions of tftpd(1M) provide a security feature to
change their root directory using the chroot(2) system call.
The TFTP directory tag td is used to inform bootpd of this
special root directory used by tftpd. (One may alternatively
use bootpd with the -c chdir option.)
Copyright 1994 Novell, Inc. Page 5
bootptab(4) bootptab(4)
The hd tag is actually relative to the root directory
specified by the td tag. For example, if the real absolute
path to your BOOTP client bootfile is
/tftpboot/bootfiles/bootimage, and tftpd uses /tftpboot as its
``secure'' directory, then specify the following in bootptab:
:td=/tftpboot:hd=/bootfiles:bf=bootimage:
If your bootfiles are located directly in /tftpboot, use:
:td=/tftpboot:hd=/:bf=bootimage:
Time Offset Tag to
The value of the time offset tag to may be either a signed
decimal integer specifying the client's time zone offset in
seconds from UTC, or the keyword auto which uses the server's
time zone offset. Note that specifying the to symbol as a
boolean has the same effect as specifying auto as its value.
Vendor Magic Cookie Selector Tag vm
The vendor magic cookie selector tag vm takes one of the
following keywords: auto (indicating that vendor information
is determined by the client's request), rfc1048 or rfc1084
(which always forces an RFC1084-style reply), or cmu (which
always forces a CMU-style reply).
Generic Subnet Dummy Entries
The UnixWare version of the BOOTP server supports generic
subnet entries. Generic subnet entries have a dummy host name
which starts with two dots ``..'' and must include (directly
or indirectly) both the host IP address tag ip and the host
subnet mask tag sm. Generic subnet entries are used to form a
response when a UnixWare client request is received, but no
matching hardware address or IP address entry is found.
UnixWare clients may specify a host name and a Class-
identifier of UnixWare in the vend area of the request packet
to take advantage of this feature. If these conditions are
met, the network address (determined from the host name vend
field and the sm tag) are used to select the appropriate
generic subnet entry.
Examples
Here is a sample /etc/inet/bootptab file:
Copyright 1994 Novell, Inc. Page 6
bootptab(4) bootptab(4)
# Sample bootptab file (domain=andrew.cmu.edu)
.default:\
:hd=/usr/boot:bf=null:\
:ds=netserver,lancaster:\
:ts=pcs2, pcs1:\
:sm=255.255.255.0:\
:gw=gw.cs.cmu.edu:\
:to=-18000:
.default2:\
:hd=/usr/boot:bf=null:\
#lancaster2 is the alternate IP address for this name server
:ds=netserver,lancaster2:\
:ts=pcs2, pcs1:\
:sm=255.255.255.0:\
:gw=gw.cs.cmu.edu:\
:to=-18000:
# This generic subnet entry serves 128.2.20's entire network
# when requests come in by name
..net_research:ip=128.2.20.0:gw=128.2.20.2:tc=.default:
# This generic subnet entry uses the alternate IP address for the name server
# because it is closer to this subnetwork
..net_development:ip=128.2.2.0:gw=128.2.2.1:tc=.default:
carnegie:ht=6:ha=7FF8100000AF:tc=.default:
baldwin:ht=1:ha=0800200159C3:tc=.default:
wylie:ht=1:ha=00DD00CADF00:tc=.default:
arnold:ht=1:ha=0800200102AD:tc=.default:
bairdford:ht=1:ha=08002B02A2F9:tc=.default:
bakerstown:ht=1:ha=08002B0287C8:tc=.default:
# Special domain name server and option tags for next host
butlerjct:ha=08002001560D:ds=128.2.13.42:\
:T37=0x12345927AD3BCF:\
:T99="Special ASCII string":\
:tc=.default:
gastonville:ht=6:ha=7FFF81000A47:tc=.default:
hahntown:ht=6:ha=7FFF81000434:tc=.default:
hickman:ht=6:ha=7FFF810001BA:tc=.default:
lowber:ht=1:ha=00DD00CAF000:tc=.default:
mtoliver:ht=1:ha=00DD00FE1600:tc=.default:
Warnings
Individual host entries must not exceed 1024 characters.
bootpd may fail to populate the domain name server field
INET_DOMAIN_NAME on the bootp client if the ds tag in the
entry for the client does not specify the name server IP
address closest to that client.
Copyright 1994 Novell, Inc. Page 7
bootptab(4) bootptab(4)
REFERENCES
bootp(1M), bootpd(1M), gethostent(3N), tftpd(1M)
RFC951, RFC1084, RFC1532, RFC1533
Copyright 1994 Novell, Inc. Page 8