Convert to mdoc. Header -> Id. Typo.

This commit is contained in:
Philippe Charnier 1998-02-03 07:30:22 +00:00
parent e736cd05cb
commit 81389de071
2 changed files with 394 additions and 395 deletions

View File

@ -1,305 +1,290 @@
.\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University .\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University
.\" .\"
.\" $Header: /home/ncvs/src/libexec/bootpd/bootpd.8,v 1.6 1997/08/24 18:21:34 joerg Exp $ .\" $Id$
.\" .\"
.TH BOOTPD 8 "November 06, 1993" "Carnegie Mellon University" .Dd November 06, 1993
.SH NAME .Dt BOOTPD 8
bootpd, bootpgw \- Internet Boot Protocol server/gateway .Os "Carnegie Mellon University"
.SH SYNOPSIS .Sh NAME
.B bootpd .Nm bootpd , bootpgw
[ .Nd Internet Boot Protocol server/gateway
.B \-i .Sh SYNOPSIS
.B \-s .Nm bootpd
.B \-t .Op Fl i
timeout .Op Fl s
.B \-d .Op Fl t Ar timeout
level .Op Fl d Ar level
.B \-c .Op Fl c Ar chdir-path
chdir\-path .Oo
] .Ar bootptab
[ .Op Ar dumpfile
.I bootptab .Oc
[ .Nm bootpgw
.I dumpfile .Op Fl i
] ] .Op Fl s
.br .Op Fl t Ar timeout
.B bootpgw .Op Fl d Ar level
[ .Ar server
.B \-i .Sh DESCRIPTION
.B \-s .Nm Bootpd
.B \-t
timeout
.B \-d
level
] server
.SH DESCRIPTION
.I Bootpd
implements an Internet Bootstrap Protocol (BOOTP) server as defined in implements an Internet Bootstrap Protocol (BOOTP) server as defined in
RFC951, RFC1532, and RFC1533. RFC951, RFC1532, and RFC1533.
.I Bootpgw .Nm Bootpgw
implements a simple BOOTP gateway which can be used to forward implements a simple BOOTP gateway which can be used to forward
requests and responses between clients on one subnet and a requests and responses between clients on one subnet and a
BOOTP server (i.e. BOOTP server (i.e.
.IR bootpd ) .Nm Ns )
on another subnet. While either on another subnet. While either
.I bootpd .Nm
or or
.I bootpgw .Nm bootpgw
will forward BOOTREPLY packets, only will forward BOOTREPLY packets, only
.I bootpgw .Nm bootpgw
will forward BOOTREQUEST packets. will forward BOOTREQUEST packets.
.PP .Pp
One host on each network segment is normally configured to run either One host on each network segment is normally configured to run either
.I bootpd .Nm
or or
.I bootpgw .Nm bootpgw
from from
.I inetd .Xr inetd 8
by including one of the following lines in the file by including one of the following lines in the file
.IR /etc/inetd.conf : .Pa /etc/inetd.conf :
.IP .Pp
bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab .Dl bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab
.br .Dl bootps dgram udp wait root /usr/libexec/bootpgw bootpgw server
bootps dgram udp wait root /usr/libexec/bootpgw bootpgw server .Pp
.PP
This mode of operation is referred to as "inetd mode" and causes This mode of operation is referred to as "inetd mode" and causes
.I bootpd .Nm
(or (or
.IR bootpgw ) .Nm bootpgw )
to be started only when a boot request arrives. If it does not to be started only when a boot request arrives. If it does not
receive another packet within fifteen minutes of the last one receive another packet within fifteen minutes of the last one
it received, it will exit to conserve system resources. The it received, it will exit to conserve system resources. The
.B \-t .Fl t
option controls this timeout (see OPTIONS). option controls this timeout (see OPTIONS).
.PP .Pp
It is also possible to run It is also possible to run
.I bootpd .Nm
(or (or
.IR bootpgw ) .Nm bootpgw )
in "standalone mode" (without in "standalone mode" (without
.IR inetd ) .Xr inetd 8 )
by simply invoking it from a shell like any other regular command. by simply invoking it from a shell like any other regular command.
Standalone mode is particularly useful when Standalone mode is particularly useful when
.I bootpd .Nm
is used with a large configuration database, where the start up is used with a large configuration database, where the start up
delay might otherwise prevent timely response to client requests. delay might otherwise prevent timely response to client requests.
(Automatic start up in standalone mode can be done by invoking (Automatic start up in standalone mode can be done by invoking
.I bootpd .Nm
from within from within
.IR /etc/rc.local , .Pa /etc/rc.local ,
for example.) for example.)
Standalone mode is less useful for Standalone mode is less useful for
.I bootpgw .Nm bootpgw
which which
has very little start up delay because has very little start up delay because
it does not read a configuration file. it does not read a configuration file.
.PP .Pp
Either program automatically detects whether it was invoked from inetd Either program automatically detects whether it was invoked from inetd
or from a shell and automatically selects the appropriate mode. or from a shell and automatically selects the appropriate mode.
The The
.B \-s .Fl s
or or
.B \-i .Fl i
option may be used to force standalone or inetd mode respectively option may be used to force standalone or inetd mode respectively
(see OPTIONS). (see OPTIONS).
.SH OPTIONS .Sh OPTIONS
.TP The following options are available:
.BI \-t \ timeout .Bl -tag -width indent
Specifies the .It Fl t Ar timeout
.I timeout Specify the
.Ar timeout
value (in minutes) that a value (in minutes) that a
.I bootpd .Nm
or or
.I bootpgw .Nm bootpgw
process will wait for a BOOTP packet before exiting. process will wait for a BOOTP packet before exiting.
If no packets are recieved for If no packets are recieved for
.I timeout .Ar timeout
minutes, then the program will exit. minutes, then the program will exit.
A timeout value of zero means "run forever". A timeout value of zero means "run forever".
In standalone mode, this option is forced to zero. In standalone mode, this option is forced to zero.
.TP .It Fl d Ar debug-level
.BI \-d \ debug\-level Set the
Sets the .Ar debug-level
.I debug\-level
variable that controls the amount of debugging messages generated. variable that controls the amount of debugging messages generated.
For example, -d4 or -d 4 will set the debugging level to 4. For example,
.Fl d Ns 4
or
.Fl d
4 will set the debugging level to 4.
For compatibility with older versions of For compatibility with older versions of
.IR bootpd , .Nm Ns ,
omitting the numeric parameter (i.e. just -d) will omitting the numeric parameter (i.e. just
simply increment the debug level by one. .Fl d Ns )
.TP will simply increment the debug level by one.
.BI \-c \ chdir\-path .It Fl c Ar chdir-path
Sets the current directory used by Set the current directory used by
.I bootpd .Nm
while checking the existence and size of client boot files. This is while checking the existence and size of client boot files. This is
useful when client boot files are specified as relative pathnames, and useful when client boot files are specified as relative pathnames, and
.I bootpd .Nm
needs to use the same current directory as the TFTP server needs to use the same current directory as the TFTP server
(typically /tftpboot). This option is not recoginzed by (typically
.IR bootpgw . .Pa /tftpboot Ns ).
.TP This option is not recognized by
.B \-i .Nm bootpgw .
.It Fl i
Force inetd mode. This option is obsolete, but remains for Force inetd mode. This option is obsolete, but remains for
compatibility with older versions of compatibility with older versions of
.IR bootpd . .Nm Ns .
.TP .It Fl s
.B \-s
Force standalone mode. This option is obsolete, but remains for Force standalone mode. This option is obsolete, but remains for
compatibility with older versions of compatibility with older versions of
.IR bootpd . .Nm Ns .
.TP .It Ar bootptab
.I bootptab Specify the name of the configuration file from which
Specifies the name of the configuration file from which .Nm
.I bootpd
loads its database of known clients and client options loads its database of known clients and client options
.RI ( bootpd .Pf ( Nm bootpd
only). only).
.TP .It Ar dumpfile
.I dumpfile Specify the name of the file that
Specifies the name of the file that .Nm
.I bootpd
will dump its internal database into when it receives a will dump its internal database into when it receives a
SIGUSR1 signal SIGUSR1 signal
.RI ( bootpd .Pf ( Nm bootpd
only). This option is only recognized if only). This option is only recognized if
.I bootpd .Nm
was compiled with the -DDEBUG flag. was compiled with the -DDEBUG flag.
.TP .It Ar server
.I server Specify the name of a BOOTP server to which
Specifies the name of a BOOTP server to which .Nm bootpgw
.I bootpgw
will forward all BOOTREQUEST packets it receives will forward all BOOTREQUEST packets it receives
.RI ( bootpgw .Pf ( Nm bootpgw
only). only).
.SH OPERATION .El
.PP .Sh OPERATION
Both Both
.I bootpd .Nm
and and
.I bootpgw .Nm bootpgw
operate similarly in that both listen for any packets sent to the operate similarly in that both listen for any packets sent to the
.I bootps .Em bootps
port, and both simply forward any BOOTREPLY packets. port, and both simply forward any BOOTREPLY packets.
They differ in their handling of BOOTREQUEST packets. They differ in their handling of BOOTREQUEST packets.
.PP .Pp
When When
.I bootpgw .Nm bootpgw
is started, it determines the address of a BOOTP server is started, it determines the address of a BOOTP server
whose name is provided as a command line parameter. When whose name is provided as a command line parameter. When
.I bootpgw .Nm bootpgw
receives a BOOTREQUEST packet, it sets the "gateway address" receives a BOOTREQUEST packet, it sets the "gateway address"
and "hop count" fields in the packet and forwards the packet and "hop count" fields in the packet and forwards the packet
to the BOOTP server at the address determined earlier. to the BOOTP server at the address determined earlier.
Requests are forwarded only if they indicate that Requests are forwarded only if they indicate that
the client has been waiting for at least three seconds. the client has been waiting for at least three seconds.
.PP .Pp
When When
.I bootpd .Nm
is started it reads a configuration file, (normally is started it reads a configuration file, (normally
.IR /etc/bootptab ) .Pa /etc/bootptab Ns )
that initializes the internal database of known clients and client that initializes the internal database of known clients and client
options. This internal database is reloaded options. This internal database is reloaded
from the configuration file when from the configuration file when
.I bootpd .Nm
receives a hangup signal (SIGHUP) or when it discovers that the receives a hangup signal (SIGHUP) or when it discovers that the
configuration file has changed. configuration file has changed.
.PP .Pp
When When
.I bootpd .Nm
receives a BOOTREQUEST packet, it receives a BOOTREQUEST packet, it
.\" checks the modification time of the .\" checks the modification time of the
.\" configuration file and reloads the database if necessary. Then it .\" configuration file and reloads the database if necessary. Then it
looks for a database entry matching the client request. looks for a database entry matching the client request.
If the client is known, If the client is known,
.I bootpd .Nm
composes a BOOTREPLY packet using the database entry found above, composes a BOOTREPLY packet using the database entry found above,
and sends the reply to the client (possibly using a gateway). and sends the reply to the client (possibly using a gateway).
If the client is unknown, the request is discarded If the client is unknown, the request is discarded
(with a notice if debug > 0). (with a notice if debug > 0).
.PP .Pp
If If
.I bootpd .Nm
is compiled with the -DDEBUG option, receipt of a SIGUSR1 signal causes is compiled with the -DDEBUG option, receipt of a SIGUSR1 signal causes
it to dump its internal database to the file it to dump its internal database to the file
.I /tmp/bootpd.dump .Pa /tmp/bootpd.dump
or the dumpfile specified as a command line parameter. or the dumpfile specified as a command line parameter.
.PP .Pp
During initialization, both programs During initialization, both programs
determine the UDP port numbers to be used by calling determine the UDP port numbers to be used by calling
.I getservbyname .Xr getservbyname 3
(which nomally uses (which nomally uses
.IR /etc/services). .Pa /etc/services Ns ).
Two service names (and port numbers) are used: Two service names (and port numbers) are used:
.IP .Pp
bootps \- BOOTP Server listening port .Dl bootps BOOTP Server listening port
.br .Dl bootpc BOOTP Client destination port
bootpc \- BOOTP Client destination port .Pp
.LP If the port numbers cannot be determined using
If the port numbers cannot .Xr getservbyname 3
be determined using
.I getservbyname
then the values default to bootps=67 and bootpc=68. then the values default to bootps=67 and bootpc=68.
.SH FILES .Sh FILES
.TP 20 .Bl -tag -width /tmp/bootpd.dump -compact
/etc/bootptab .It Pa /etc/bootptab
Database file read by Database file read by
.IR bootpd . .Nm Ns .
.TP .It Pa /tmp/bootpd.dump
/tmp/bootpd.dump
Debugging dump file created by Debugging dump file created by
.IR bootpd . .Nm Ns .
.TP .It Pa /etc/services
/etc/services
Internet service numbers. Internet service numbers.
.TP .It Pa /tftpboot
/tftpboot
Current directory typically used by the TFTP server and Current directory typically used by the TFTP server and
.IR bootpd . .Nm Ns .
.El
.SH BUGS .Sh BUGS
Individual host entries must not exceed 1024 characters. Individual host entries must not exceed 1024 characters.
.Sh CREDITS
.SH CREDITS
.PP
This distribution is currently maintained by This distribution is currently maintained by
Walter L. Wimer <walt+@cmu.edu>. .An Walter L. Wimer Aq walt+@cmu.edu .
.PP .Pp
The original BOOTP server was created by The original BOOTP server was created by
Bill Croft at Stanford University in January 1986. .An Bill Croft
.PP at Stanford University in January 1986.
.Pp
The current version of The current version of
.I bootpd .Nm
is primarily the work of David Kovar, is primarily the work of
Drew D. Perkins, and Walter L. Wimer, .An David Kovar ,
.An Drew D. Perkins ,
and
.An Walter L. Wimer ,
at Carnegie Mellon University. at Carnegie Mellon University.
.TP .Pp
Enhancements and bug\-fixes have been contributed by: Enhancements and bug-fixes have been contributed by:
.Pp
(in alphabetical order) (in alphabetical order)
.br .Pp
Danny Backx <db@sunbim.be> .An Danny Backx Aq db@sunbim.be
.br .An John Brezak Aq brezak@ch.hp.com
John Brezak <brezak@ch.hp.com> .An Frank da Cruz Aq fdc@cc.columbia.edu
.br .An David R. Linn Aq drl@vuse.vanderbilt.edu
Frank da Cruz <fdc@cc.columbia.edu> .An Jim McKim Aq mckim@lerc.nasa.gov
.br .An Gordon W. Ross Aq gwr@mc.com
David R. Linn <drl@vuse.vanderbilt.edu> .An Jason Zions Aq jazz@hal.com .
.br .Sh "SEE ALSO"
Jim McKim <mckim@lerc.nasa.gov> .Xr bootptab 5 ,
.br .Xr inetd 8 ,
Gordon W. Ross <gwr@mc.com> .Xr tftpd 8
.br .Pp
Jason Zions <jazz@hal.com>
.SH "SEE ALSO"
.LP
bootptab(5), inetd(8), tftpd(8)
.LP
DARPA Internet Request For Comments: DARPA Internet Request For Comments:
.TP 10 .Bl -tag -width RFC1533 -compact
RFC951 .It RFC951
Bootstrap Protocol Bootstrap Protocol
.TP 10 .It RFC1532
RFC1532
Clarifications and Extensions for the Bootstrap Protocol Clarifications and Extensions for the Bootstrap Protocol
.TP 10 .It RFC1533
RFC1533
DHCP Options and BOOTP Vendor Extensions DHCP Options and BOOTP Vendor Extensions
.El

View File

@ -1,346 +1,359 @@
.\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University .\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University
.\" .\"
.\" $Header: $ .\" $Id$
.\" .\"
.TH BOOTPTAB 5 "October 31, 1991" "Carnegie Mellon University" .Dd October 31, 1991
.UC 6 .Dt BOOTPTAB 5
.Os "Carnegie Mellon University"
.SH NAME .Sh NAME
bootptab \- Internet Bootstrap Protocol server database .Nm bootptab
.SH DESCRIPTION .Nd Internet Bootstrap Protocol server database
.Sh DESCRIPTION
The The
.I bootptab .Nm
file is the configuration database file for file is the configuration database file for
.IR bootpd , .Xr bootpd 8 ,
the Internet Bootstrap Protocol server. the Internet Bootstrap Protocol server.
It's format is similar to that of It's format is similar to that of
.IR termcap (5) .Xr termcap 5
in which two-character case-sensitive tag symbols are used to in which two-character case-sensitive tag symbols are used to
represent host parameters. These parameter declarations are separated by represent host parameters. These parameter declarations are separated by
colons (:), with a general format of: colons (:), with a general format of:
.PP .Pp
.I " hostname:tg=value. . . :tg=value. . . :tg=value. . . ." .Dl "hostname:tg=value. . . :tg=value. . . :tg=value. . . ."
.PP .Pp
where where
.I hostname .Em hostname
is the actual name of a bootp client (or a "dummy entry"), and is the actual name of a bootp client (or a "dummy entry"), and
.I tg .Em tg
is a two-character tag symbol. Dummy entries have an invalid hostname is a two-character tag symbol. Dummy entries have an invalid hostname
(one with a "." as the first character) and are used to provide (one with a "." as the first character) and are used to provide
default values used by other entries via the default values used by other entries via the
.B tc=.dummy-entry .Em tc=.dummy-entry
mechanism. Most tags must be followed by an equals-sign mechanism. Most tags must be followed by an equals-sign
and a value as above. Some may also appear in a boolean form with no and a value as above. Some may also appear in a boolean form with no
value (i.e. value (i.e.
.RI : tg :). .Em :tg: Ns ).
The currently recognized tags are: The currently recognized tags are:
.PP .Pp
.br .Bl -tag -width xxx -compact
bf Bootfile .It bf
.br Bootfile
bs Bootfile size in 512-octet blocks .It bs
.br Bootfile size in 512-octet blocks
cs Cookie server address list .It cs
.br Cookie server address list
df Merit dump file .It df
.br Merit dump file
dn Domain name .It dn
.br Domain name
ds Domain name server address list .It ds
.br Domain name server address list
ef Extension file .It ef
.br Extension file
gw Gateway address list .It gw
.br Gateway address list
ha Host hardware address .It ha
.br Host hardware address
hd Bootfile home directory .It hd
.br Bootfile home directory
hn Send client's hostname to client .It hn
.br Send client's hostname to client
ht Host hardware type (see Assigned Numbers RFC) .It ht
.br Host hardware type (see Assigned Numbers RFC)
im Impress server address list .It im
.br Impress server address list
ip Host IP address .It ip
.br Host IP address
lg Log server address list .It lg
.br Log server address list
lp LPR server address list .It lp
.br LPR server address list
ns IEN-116 name server address list .It ns
.br IEN-116 name server address list
nt NTP (time) Server (RFC 1129) .It nt
.br NTP (time) Server (RFC 1129)
ra Reply address override .It ra
.br Reply address override
rl Resource location protocol server address list .It rl
.br Resource location protocol server address list
rp Root path to mount as root .It rp
.br Root path to mount as root
sa TFTP server address client should use .It sa
.br TFTP server address client should use
sm Host subnet mask .It sm
.br Host subnet mask
sw Swap server address .It sw
.br Swap server address
tc Table continuation (points to similar "template" host entry) .It tc
.br Table continuation (points to similar "template" host entry)
td TFTP root directory used by "secure" TFTP servers .It td
.br TFTP root directory used by "secure" TFTP servers
to Time offset in seconds from UTC .It to
.br Time offset in seconds from UTC
ts Time server address list .It ts
.br Time server address list
vm Vendor magic cookie selector .It vm
.br Vendor magic cookie selector
yd YP (NIS) domain name .It yd
.br YP (NIS) domain name
ys YP (NIS) server address .It ys
YP (NIS) server address
.PP .El
.Pp
There is also a generic tag, There is also a generic tag,
.RI T n , .Pf T Em n ,
where where
.I n .Em n
is an RFC1084 vendor field tag number. Thus it is possible to immediately is an RFC1084 vendor field tag number. Thus it is possible to immediately
take advantage of future extensions to RFC1084 without being forced to modify take advantage of future extensions to RFC1084 without being forced to modify
.I bootpd .Nm bootpd
first. Generic data may be represented as either a stream of hexadecimal 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 numbers or as a quoted string of
.Tn ASCII
characters. The length of the generic
data is automatically determined and inserted into the proper field(s) of the data is automatically determined and inserted into the proper field(s) of the
RFC1084-style bootp reply. RFC1084-style bootp reply.
.PP .Pp
The following tags take a whitespace-separated list of IP addresses: The following tags take a whitespace-separated list of IP addresses:
.BR cs , .Em cs ,
.BR ds , .Em ds ,
.BR gw , .Em gw ,
.BR im , .Em im ,
.BR lg , .Em lg ,
.BR lp , .Em lp ,
.BR ns , .Em ns ,
.BR nt , .Em nt ,
.BR ra , .Em ra ,
.BR rl , .Em rl ,
and and
.BR ts . .Em ts .
The The
.BR ip , .Em ip ,
.BR sa , .Em sa ,
.BR sw , .Em sw ,
.BR sm , .Em sm ,
and and
.B ys .Em ys
tags each take a single IP address. tags each take a single IP address.
All IP addresses are specified in standard Internet "dot" notation All IP addresses are specified in standard Internet "dot" notation
and may use decimal, octal, or hexadecimal numbers and may use decimal, octal, or hexadecimal numbers
(octal numbers begin with 0, hexadecimal numbers begin with '0x' or '0X'). (octal numbers begin with 0, hexadecimal numbers begin with '0x' or '0X').
Any IP addresses may alternatively be specified as a hostname, causing Any IP addresses may alternatively be specified as a hostname, causing
.I bootpd .Nm bootpd
to lookup the IP address for that host name using gethostbyname(3). to lookup the IP address for that host name using
.Xr gethostbyname 3 .
If the If the
.B ip .Em ip
tag is not specified, tag is not specified,
.I bootpd .Nm bootpd
will determine the IP address using the entry name as the host name. will determine the IP address using the entry name as the host name.
(Dummy entries use an invalid host name to avoid automatic IP lookup.) (Dummy entries use an invalid host name to avoid automatic IP lookup.)
.PP .Pp
The The
.B ht .Em ht
tag specifies the hardware type code as either an unsigned decimal, octal, or tag specifies the hardware type code as either an unsigned decimal, octal, or
hexadecimal integer or one of the following symbolic names: hexadecimal integer or one of the following symbolic names:
.B ethernet .Em ethernet
or or
.B ether .Em ether
for 10Mb Ethernet, for 10Mb Ethernet,
.B ethernet3 .Em ethernet3
or or
.B ether3 .Em ether3
for 3Mb experimental Ethernet, for 3Mb experimental Ethernet,
.BR ieee802 , .Em ieee802 ,
.BR tr , .Em tr ,
or or
.B token-ring .Em token-ring
for IEEE 802 networks, for IEEE 802 networks,
.B pronet .Em pronet
for Proteon ProNET Token Ring, or for Proteon ProNET Token Ring, or
.BR chaos , .Em chaos ,
.BR arcnet , .Em arcnet ,
or or
.B ax.25 .Em ax.25
for Chaos, ARCNET, and AX.25 Amateur Radio networks, respectively. for Chaos, ARCNET, and AX.25 Amateur Radio networks, respectively.
The The
.B ha .Em ha
tag takes a hardware address which may be specified as a host name tag takes a hardware address which may be specified as a host name
or in numeric form. Note that the numeric form or in numeric form. Note that the numeric form
.I must .Em must
be specified in hexadecimal; optional periods and/or a leading '0x' may be be specified in hexadecimal; optional periods and/or a leading '0x' may be
included for readability. The included for readability. The
.B ha .Em ha
tag must be preceded by the tag must be preceded by the
.B ht .Em ht
tag (either explicitly or implicitly; see tag (either explicitly or implicitly; see
.B tc .Em tc
below). below).
If the hardware address is not specified and the type is specified If the hardware address is not specified and the type is specified
as either "ethernet" or "ieee802", then as either "ethernet" or "ieee802", then
.I bootpd .Nm bootpd
will try to determine the hardware address using ether_hton(3). will try to determine the hardware address using
.PP .Xr ether_hostton 3 .
The hostname, home directory, and bootfile are ASCII strings which may be .Pp
The hostname, home directory, and bootfile are
.Tn ASCII
strings which may be
optionally surrounded by double quotes ("). The client's request and the optionally surrounded by double quotes ("). The client's request and the
values of the values of the
.B hd .Em hd
and and
.B bf .Em bf
symbols determine how the server fills in the bootfile field of the bootp symbols determine how the server fills in the bootfile field of the bootp
reply packet. reply packet.
.PP .Pp
If the client provides a file name it is left as is. If the client provides a file name it is left as is.
Otherwise, if the Otherwise, if the
.B bf .Em bf
option is specified its value is copied into the reply packet. option is specified its value is copied into the reply packet.
If the If the
.B hd .Em hd
option is specified as well, its value is prepended to the option is specified as well, its value is prepended to the
boot file copied into the reply packet. boot file copied into the reply packet.
The existence of the boot file is checked only if the The existence of the boot file is checked only if the
.BR bs =auto .Em bs Ns =auto
option is used (to determine the boot file size). option is used (to determine the boot file size).
A reply may be sent whether or not the boot file exists. A reply may be sent whether or not the boot file exists.
.PP .Pp
Some newer versions of Some newer versions of
.I tftpd .Xr tftpd 8
provide a security feature to change their root directory using provide a security feature to change their root directory using
the the
.IR chroot (2) .Xr chroot 2
system call. system call.
The The
.B td .Em td
tag may be used to inform tag may be used to inform
.I bootpd .Nm bootpd
of this special root directory used by of this special root directory used by
.IR tftpd . .Nm tftpd .
(One may alternatively use the (One may alternatively use the
.I bootpd .Nm bootpd
"-c chdir" option.) .Fl c Ar chdir
option.)
The The
.B hd .Em hd
tag is actually relative to the root directory specified by the tag is actually relative to the root directory specified by the
.B td .Em td
tag. tag.
For example, if the real absolute path to your BOOTP client bootfile is For example, if the real absolute path to your BOOTP client bootfile is
/tftpboot/bootfiles/bootimage, and .Pa /tftpboot/bootfiles/bootimage ,
.IR tftpd and
uses /tftpboot as its "secure" directory, then specify the following in .Nm tftpd
.IR bootptab : uses
.PP .Pa /tftpboot
.br as its "secure" directory, then specify the following in
:td=/tftpboot:hd=/bootfiles:bf=bootimage: .Pa bootptab :
.PP .Pp
If your bootfiles are located directly in /tftpboot, use: .Dl :td=/tftpboot:hd=/bootfiles:bf=bootimage:
.PP .Pp
.br If your bootfiles are located directly in
:td=/tftpboot:hd=/:bf=bootimage: .Pa /tftpboot ,
.PP use:
.Pp
.Dl :td=/tftpboot:hd=/:bf=bootimage:
.Pp
The The
.B sa .Em sa
tag may be used to specify the IP address of the particular TFTP server tag may be used to specify the IP address of the particular TFTP server
you wish the client to use. In the absence of this tag, you wish the client to use. In the absence of this tag,
.I bootpd .Nm bootpd
will tell the client to perform TFTP to the same machine will tell the client to perform TFTP to the same machine
.I bootpd .Nm bootpd
is running on. is running on.
.PP .Pp
The time offset The time offset
.B to .Em to
may be either a signed decimal integer specifying the client's may be either a signed decimal integer specifying the client's
time zone offset in seconds from UTC, or the keyword time zone offset in seconds from UTC, or the keyword
.B auto .Em auto
which uses the server's time zone offset. Specifying the which uses the server's time zone offset. Specifying the
.B to .Em to
symbol as a boolean has the same effect as specifying symbol as a boolean has the same effect as specifying
.B auto .Em auto
as its value. as its value.
.PP .Pp
The bootfile size The bootfile size
.B bs .Em bs
may be either a decimal, octal, or hexadecimal integer specifying the size of may be either a decimal, octal, or hexadecimal integer specifying the size of
the bootfile in 512-octet blocks, or the keyword the bootfile in 512-octet blocks, or the keyword
.B auto .Em auto
which causes the server to automatically calculate the bootfile size at each which causes the server to automatically calculate the bootfile size at each
request. As with the time offset, specifying the request. As with the time offset, specifying the
.B bs .Em bs
symbol as a boolean has the same effect as specifying symbol as a boolean has the same effect as specifying
.B auto .Em auto
as its value. as its value.
.PP .Pp
The vendor magic cookie selector (the The vendor magic cookie selector (the
.B vm .Em vm
tag) may take one of the following keywords: tag) may take one of the following keywords:
.B auto .Em auto
(indicating that vendor information is determined by the client's request), (indicating that vendor information is determined by the client's request),
.B rfc1048 .Em rfc1048
or or
.B rfc1084 .Em rfc1084
(which always forces an RFC1084-style reply), or (which always forces an RFC1084-style reply), or
.B cmu .Em cmu
(which always forces a CMU-style reply). (which always forces a CMU-style reply).
.PP .Pp
The The
.B hn .Em hn
tag is strictly a boolean tag; it does not take the usual equals-sign and tag is strictly a boolean tag; it does not take the usual equals-sign and
value. It's presence indicates that the hostname should be sent to RFC1084 value. It's presence indicates that the hostname should be sent to RFC1084
clients. clients.
.I Bootpd .Nm Bootpd
attempts to send the entire hostname as it is specified in the configuration attempts to send the entire hostname as it is specified in the configuration
file; if this will not fit into the reply packet, the name is shortened to file; if this will not fit into the reply packet, the name is shortened to
just the host field (up to the first period, if present) and then tried. just the host field (up to the first period, if present) and then tried.
In no case is an arbitrarily-truncated hostname sent (if nothing reasonable In no case is an arbitrarily-truncated hostname sent (if nothing reasonable
will fit, nothing is sent). will fit, nothing is sent).
.PP .Pp
Often, many host entries share common values for certain tags (such as name Often, many host entries share common values for certain tags (such as name
servers, etc.). Rather than repeatedly specifying these tags, a full servers, etc.). Rather than repeatedly specifying these tags, a full
specification can be listed for one host entry and shared by others via the specification can be listed for one host entry and shared by others via the
.B tc .Em tc
(table continuation) mechanism. (table continuation) mechanism.
Often, the template entry is a dummy host which doesn't actually exist and Often, the template entry is a dummy host which doesn't actually exist and
never sends bootp requests. This feature is similar to the never sends bootp requests. This feature is similar to the
.B tc .Em tc
feature of feature of
.IR termcap (5) .Xr termcap 5
for similar terminals. Note that for similar terminals. Note that
.I bootpd .Nm bootpd
allows the allows the
.B tc .Em tc
tag symbol to appear anywhere in the host entry, unlike tag symbol to appear anywhere in the host entry, unlike
.I termcap .Pa termcap
which requires it to be the last tag. Information explicitly specified for a which requires it to be the last tag. Information explicitly specified for a
host always overrides information implied by a host always overrides information implied by a
.B tc .Em tc
tag symbol, regardless of its location within the entry. The tag symbol, regardless of its location within the entry. The
value of the value of the
.B tc .Em tc
tag may be the hostname or IP address of any host entry tag may be the hostname or IP address of any host entry
previously listed in the configuration file. previously listed in the configuration file.
.PP .Pp
Sometimes it is necessary to delete a specific tag after it has been inferred Sometimes it is necessary to delete a specific tag after it has been inferred
via via
.BR tc . .Em tc .
This can be done using the construction This can be done using the construction
.IB tag @ .Em tag Ns @
which removes the effect of which removes the effect of
.I tag .Em tag
as in as in
.IR termcap (5). .Xr termcap 5 .
For example, to completely undo an IEN-116 name server specification, use For example, to completely undo an IEN-116 name server specification, use
":ns@:" at an appropriate place in the configuration entry. After removal .Em :ns@:
at an appropriate place in the configuration entry. After removal
with with
.BR @ , .Em @ ,
a tag is eligible to be set again through the a tag is eligible to be set again through the
.B tc .Em tc
mechanism. mechanism.
.PP .Pp
Blank lines and lines beginning with "#" are ignored in the configuration Blank lines and lines beginning with "#" are ignored in the configuration
file. Host entries are separated from one another by newlines; a single host file. Host entries are separated from one another by newlines; a single host
entry may be extended over multiple lines if the lines end with a backslash entry may be extended over multiple lines if the lines end with a backslash
@ -348,11 +361,11 @@ entry may be extended over multiple lines if the lines end with a backslash
may appear in any order, with the following exceptions: the hostname must be may appear in any order, with the following exceptions: the hostname must be
the very first field in an entry, and the hardware type must precede the the very first field in an entry, and the hardware type must precede the
hardware address. hardware address.
.PP .Pp
An example An example
.I /etc/bootptab .Pa /etc/bootptab
file follows: file follows:
.PP .Pp
.nf .nf
# Sample bootptab file (domain=andrew.cmu.edu) # Sample bootptab file (domain=andrew.cmu.edu)
@ -385,11 +398,12 @@ file follows:
mtoliver:ht=1:ha=00DD00FE1600:tc=.default: mtoliver:ht=1:ha=00DD00FE1600:tc=.default:
.fi .fi
.SH FILES .Sh FILES
/etc/bootptab .Bl -tag -width /etc/bootptab -compact
.It /etc/bootptab
.SH "SEE ALSO" .El
.br .Sh "SEE ALSO"
bootpd(8), tftpd(8), .Xr bootpd 8 ,
.br .Xr tftpd 8
.Pp
DARPA Internet Request For Comments RFC951, RFC1048, RFC1084, Assigned Numbers DARPA Internet Request For Comments RFC951, RFC1048, RFC1084, Assigned Numbers