1 .\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University
3 .\" $FreeBSD: src/libexec/bootpd/bootpd.8,v 1.10.2.5 2001/07/22 12:07:21 dd Exp $
4 .\" $DragonFly: src/libexec/bootpd/bootpd.8,v 1.2 2003/06/17 04:27:07 dillon Exp $
11 .Nd Internet Boot Protocol server/gateway
18 .Op Fl c Ar chdir-path
31 implements an Internet Bootstrap Protocol (BOOTP) server as defined in
32 RFC951, RFC1532, and RFC1533.
34 implements a simple BOOTP gateway which can be used to forward
35 requests and responses between clients on one subnet and a
38 on another subnet. While either
42 will forward BOOTREPLY packets, only
44 will forward BOOTREQUEST packets.
46 One host on each network segment is normally configured to run either
52 by including one of the following lines in the file
55 .Dl bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab
56 .Dl bootps dgram udp wait root /usr/libexec/bootpgw bootpgw server
58 This mode of operation is referred to as "inetd mode" and causes
62 to be started only when a boot request arrives. If it does not
63 receive another packet within fifteen minutes of the last one
64 it received, it will exit to conserve system resources. The
66 option controls this timeout (see OPTIONS).
68 It is also possible to run
72 in "standalone mode" (without
74 by simply invoking it from a shell like any other regular command.
75 Standalone mode is particularly useful when
77 is used with a large configuration database, where the start up
78 delay might otherwise prevent timely response to client requests.
79 (Automatic start up in standalone mode can be done by invoking
84 Standalone mode is less useful for
87 has very little start up delay because
88 it does not read a configuration file.
90 Either program automatically detects whether it was invoked from inetd
91 or from a shell and automatically selects the appropriate mode.
96 option may be used to force standalone or inetd mode respectively
99 The following options are available:
100 .Bl -tag -width indent
104 value (in minutes) that a
108 process will wait for a BOOTP packet before exiting.
109 If no packets are received for
111 minutes, then the program will exit.
112 A timeout value of zero means "run forever".
113 In standalone mode, this option is forced to zero.
114 .It Fl d Ar debug-level
117 variable that controls the amount of debugging messages generated.
122 4 will set the debugging level to 4.
123 For compatibility with older versions of
125 omitting the numeric parameter (i.e. just
127 will simply increment the debug level by one.
128 .It Fl c Ar chdir-path
129 Set the current directory used by
131 while checking the existence and size of client boot files. This is
132 useful when client boot files are specified as relative pathnames, and
134 needs to use the same current directory as the TFTP server
137 This option is not recognized by
140 Force inetd mode. This option is obsolete, but remains for
141 compatibility with older versions of
144 Force standalone mode. This option is obsolete, but remains for
145 compatibility with older versions of
148 Specify the name of the configuration file from which
150 loads its database of known clients and client options
154 Specify the name of the file that
156 will dump its internal database into when it receives a
159 only). This option is only recognized if
161 was compiled with the -DDEBUG flag.
163 Specify the name of a BOOTP server to which
165 will forward all BOOTREQUEST packets it receives
174 operate similarly in that both listen for any packets sent to the
176 port, and both simply forward any BOOTREPLY packets.
177 They differ in their handling of BOOTREQUEST packets.
181 is started, it determines the address of a BOOTP server
182 whose name is provided as a command line parameter. When
184 receives a BOOTREQUEST packet, it sets the "gateway address"
185 and "hop count" fields in the packet and forwards the packet
186 to the BOOTP server at the address determined earlier.
187 Requests are forwarded only if they indicate that
188 the client has been waiting for at least three seconds.
192 is started it reads a configuration file, (normally
194 that initializes the internal database of known clients and client
195 options. This internal database is reloaded
196 from the configuration file when
198 receives a hangup signal (SIGHUP) or when it discovers that the
199 configuration file has changed.
203 receives a BOOTREQUEST packet, it
204 .\" checks the modification time of the
205 .\" configuration file and reloads the database if necessary. Then it
206 looks for a database entry matching the client request.
207 If the client is known,
209 composes a BOOTREPLY packet using the database entry found above,
210 and sends the reply to the client (possibly using a gateway).
211 If the client is unknown, the request is discarded
212 (with a notice if debug > 0).
216 is compiled with the -DDEBUG option, receipt of a SIGUSR1 signal causes
217 it to dump its internal database to the file
219 or the dumpfile specified as a command line parameter.
221 During initialization, both programs
222 determine the UDP port numbers to be used by calling
225 .Pa /etc/services ) .
226 Two service names (and port numbers) are used:
228 .Dl bootps BOOTP Server listening port
229 .Dl bootpc BOOTP Client destination port
231 If the port numbers cannot be determined using
233 then the values default to bootps=67 and bootpc=68.
235 .Bl -tag -width /tmp/bootpd.dump -compact
237 Database file read by
239 .It Pa /tmp/bootpd.dump
240 Debugging dump file created by
243 Internet service numbers.
245 Current directory typically used by the TFTP server and
249 Individual host entries must not exceed 1024 characters.
251 This distribution is currently maintained by
252 .An Walter L. Wimer Aq walt+@cmu.edu .
254 The original BOOTP server was created by
256 at Stanford University in January 1986.
258 The current version of
260 is primarily the work of
262 .An Drew D. Perkins ,
264 .An Walter L. Wimer ,
265 at Carnegie Mellon University.
267 Enhancements and bug-fixes have been contributed by:
269 (in alphabetical order)
272 .An Danny Backx Aq db@sunbim.be
273 .An John Brezak Aq brezak@ch.hp.com
274 .An Frank da Cruz Aq fdc@cc.columbia.edu
275 .An David R. Linn Aq drl@vuse.vanderbilt.edu
276 .An Jim McKim Aq mckim@lerc.nasa.gov
277 .An Gordon W. Ross Aq gwr@mc.com
278 .An Jason Zions Aq jazz@hal.com .
284 DARPA Internet Request For Comments:
285 .Bl -tag -width RFC1533 -compact
289 Clarifications and Extensions for the Bootstrap Protocol
291 DHCP Options and BOOTP Vendor Extensions