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.5 2007/11/23 23:16:36 swildner Exp $
12 .Nd Internet Boot Protocol server/gateway
19 .Op Fl c Ar chdir-path
32 implements an Internet Bootstrap Protocol (BOOTP) server as defined in
33 RFC 951, RFC 1532, and RFC 1533.
35 implements a simple BOOTP gateway which can be used to forward
36 requests and responses between clients on one subnet and a
39 on another subnet. While either
43 will forward BOOTREPLY packets, only
45 will forward BOOTREQUEST packets.
47 One host on each network segment is normally configured to run either
53 by including one of the following lines in the file
56 .Dl bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab
57 .Dl bootps dgram udp wait root /usr/libexec/bootpgw bootpgw server
59 This mode of operation is referred to as "inetd mode" and causes
63 to be started only when a boot request arrives. If it does not
64 receive another packet within fifteen minutes of the last one
65 it received, it will exit to conserve system resources. The
67 option controls this timeout (see OPTIONS).
69 It is also possible to run
73 in "standalone mode" (without
75 by simply invoking it from a shell like any other regular command.
76 Standalone mode is particularly useful when
78 is used with a large configuration database, where the start up
79 delay might otherwise prevent timely response to client requests.
80 (Automatic start up in standalone mode can be done by invoking
85 Standalone mode is less useful for
88 has very little start up delay because
89 it does not read a configuration file.
91 Either program automatically detects whether it was invoked from inetd
92 or from a shell and automatically selects the appropriate mode.
97 option may be used to force standalone or inetd mode respectively
100 The following options are available:
101 .Bl -tag -width indent
105 value (in minutes) that a
109 process will wait for a BOOTP packet before exiting.
110 If no packets are received for
112 minutes, then the program will exit.
113 A timeout value of zero means "run forever".
114 In standalone mode, this option is forced to zero.
115 .It Fl d Ar debug-level
118 variable that controls the amount of debugging messages generated.
123 4 will set the debugging level to 4.
124 For compatibility with older versions of
126 omitting the numeric parameter (i.e. just
128 will simply increment the debug level by one.
129 .It Fl c Ar chdir-path
130 Set the current directory used by
132 while checking the existence and size of client boot files. This is
133 useful when client boot files are specified as relative pathnames, and
135 needs to use the same current directory as the TFTP server
138 This option is not recognized by
141 Force inetd mode. This option is obsolete, but remains for
142 compatibility with older versions of
145 Force standalone mode. This option is obsolete, but remains for
146 compatibility with older versions of
149 Specify the name of the configuration file from which
151 loads its database of known clients and client options
155 Specify the name of the file that
157 will dump its internal database into when it receives a
160 only). This option is only recognized if
162 was compiled with the -DDEBUG flag.
164 Specify the name of a BOOTP server to which
166 will forward all BOOTREQUEST packets it receives
175 operate similarly in that both listen for any packets sent to the
177 port, and both simply forward any BOOTREPLY packets.
178 They differ in their handling of BOOTREQUEST packets.
182 is started, it determines the address of a BOOTP server
183 whose name is provided as a command line parameter. When
185 receives a BOOTREQUEST packet, it sets the "gateway address"
186 and "hop count" fields in the packet and forwards the packet
187 to the BOOTP server at the address determined earlier.
188 Requests are forwarded only if they indicate that
189 the client has been waiting for at least three seconds.
193 is started it reads a configuration file, (normally
195 that initializes the internal database of known clients and client
196 options. This internal database is reloaded
197 from the configuration file when
199 receives a hangup signal (SIGHUP) or when it discovers that the
200 configuration file has changed.
204 receives a BOOTREQUEST packet, it
205 .\" checks the modification time of the
206 .\" configuration file and reloads the database if necessary. Then it
207 looks for a database entry matching the client request.
208 If the client is known,
210 composes a BOOTREPLY packet using the database entry found above,
211 and sends the reply to the client (possibly using a gateway).
212 If the client is unknown, the request is discarded
213 (with a notice if debug > 0).
217 is compiled with the -DDEBUG option, receipt of a SIGUSR1 signal causes
218 it to dump its internal database to the file
220 or the dumpfile specified as a command line parameter.
222 During initialization, both programs
223 determine the UDP port numbers to be used by calling
226 .Pa /etc/services ) .
227 Two service names (and port numbers) are used:
229 .Dl bootps BOOTP Server listening port
230 .Dl bootpc BOOTP Client destination port
232 If the port numbers cannot be determined using
234 then the values default to bootps=67 and bootpc=68.
236 .Bl -tag -width /tmp/bootpd.dump -compact
238 Database file read by
240 .It Pa /tmp/bootpd.dump
241 Debugging dump file created by
244 Internet service numbers.
246 Current directory typically used by the TFTP server and
254 DARPA Internet Request For Comments:
255 .Bl -tag -width "RFC 1533" -compact
259 Clarifications and Extensions for the Bootstrap Protocol
261 DHCP Options and BOOTP Vendor Extensions
264 Individual host entries must not exceed 1024 characters.
266 This distribution is currently maintained by
267 .An Walter L. Wimer Aq walt+@cmu.edu .
269 The original BOOTP server was created by
271 at Stanford University in January 1986.
273 The current version of
275 is primarily the work of
277 .An Drew D. Perkins ,
279 .An Walter L. Wimer ,
280 at Carnegie Mellon University.
282 Enhancements and bug-fixes have been contributed by:
284 (in alphabetical order)
287 .An Danny Backx Aq db@sunbim.be
288 .An John Brezak Aq brezak@ch.hp.com
289 .An Frank da Cruz Aq fdc@cc.columbia.edu
290 .An David R. Linn Aq drl@vuse.vanderbilt.edu
291 .An Jim McKim Aq mckim@lerc.nasa.gov
292 .An Gordon W. Ross Aq gwr@mc.com
293 .An Jason Zions Aq jazz@hal.com .