Provided by: bootp_2.4.3-19.1_amd64 bug


       bootpd, bootpgw - Internet Boot Protocol server/gateway


       bootpd [ -v ] [ -i -s -t timeout -d level -c chdir-path ] [ bootptab [ dumpfile ] ]
       bootpgw [ -v ] [ -i -s -t timeout -d level ] server


       Bootpd  implements  an  Internet  Bootstrap  Protocol (BOOTP) server as defined in RFC951,
       RFC1532, and RFC1533. This server also provides some extension to support the static  part
       of  Dynamic  Host  Configuration  Protocol (DHCP) as specified in RFC1533. DHCP is used by
       Windows NT and 95.  Bootpgw implements a simple BOOTP gateway which can be used to forward
       requests  and responses between clients on one subnet and a BOOTP server (i.e.  bootpd) on
       another subnet. While either bootpd  or  bootpgw  will  forward  BOOTREPLY  packets,  only
       bootpgw will forward BOOTREQUEST packets.

       One  host  on  each network segment is normally configured to run either bootpd or bootpgw
       from inetd by including one of the following lines in the file /etc/inetd.conf:

              bootps dgram udp wait root /usr/sbin/bootpd bootpd bootptab
              bootps dgram udp wait root /usr/sbin/bootpgw bootpgw server

       This mode of operation is referred to as "inetd mode" and causes bootpd (or bootpgw) to be
       started  only  when  a boot request arrives.  If it does not receive another packet within
       fifteen minutes of the last one it received, it will exit to  conserve  system  resources.
       The -t option controls this timeout (see OPTIONS below).

       It  is  also  possible  to run bootpd (or bootpgw) in "standalone mode" (without inetd) by
       simply invoking it from a shell like  any  other  regular  command.   Standalone  mode  is
       particularly  useful  when  bootpd  is used with a large configuration database, where the
       start up delay might otherwise prevent timely response  to  client  requests.   (Automatic
       start  up in standalone mode can be done by invoking bootpd from within /etc/rc.local, for
       example.)  Standalone mode is less useful for bootgw which has very little start up  delay
       because it does not read a configuration file.

       Either program automatically detects whether it was invoked from inetd or from a shell and
       automatically selects the appropriate mode.  The -s or -i option  may  be  used  to  force
       standalone or inetd mode respectively (see OPTIONS).


       -t timeout
              Specifies the timeout value (in minutes) that a bootpd or bootpgw process will wait
              for a BOOTP packet before exiting.  If no packets are received for timeout seconds,
              then  the  program  will  exit.   A  timeout value of zero means "run forever".  In
              standalone mode, this option is forced to zero.

       -d debug-level
              Sets the debug-level variable  that  controls  the  amount  of  debugging  messages
              generated.   For  example,  -d4  or  -d  4  will set the debugging level to 4.  For
              compatibility with older versions of bootpd, omitting the numeric  parameter  (i.e.
              just -d) will simply increment the debug level by one.

       -c chdir-path
              Sets  the current directory used by bootpd while checking the existence and size of
              client boot files.  This is useful when client boot files are specified as relative
              pathnames,  and  bootpd  needs to use the same current directory as the TFTP server
              (typically /tftpboot).  This option is not recognized by bootpgw.

       -i     Force inetd mode.  This option is obsolete,  but  remains  for  compatibility  with
              older versions of bootpd.

       -s     Force standalone mode.  This option is obsolete, but remains for compatibility with
              older versions of bootpd.

       -v     Print version and exit.

              Specifies the name of the configuration file from which bootpd loads  its  database
              of known clients and client options (bootpd only). Default is /etc/bootptab.

              Specifies  the  name  of  the file that bootpd will dump its internal database into
              when it receives a SIGUSR1 signal (bootpd only).  This option is only recognized if
              bootpd was compiled with the -DDEBUG flag.

       server Specifies  the name of a BOOTP server to which bootpgw will forward all BOOTREQUEST
              packets it receives (bootpgw only).


       Both bootpd and bootpgw operate similarly in that both listen for any packets sent to  the
       bootps port, and both simply forward any BOOTREPLY packets.  They differ in their handling
       of BOOTREQUEST packets.

       When bootpgw is started, it determines the  address  of  a  BOOTP  server  whose  name  is
       provided as a command line parameter.  When bootpgw receives a BOOTREQUEST packet, it sets
       the "gateway address" and "hop count" fields in the packet and forwards the packet to  the
       BOOTP  server  at  the  address  determined  earlier.  Requests are forwarded only if they
       indicate that the client has been waiting for at least three seconds.

       When bootpd is started it  reads  a  configuration  file,  (normally  /etc/bootptab)  that
       initializes  the  internal  database  of  known clients and client options.  This internal
       database is reloaded from the configuration file when  bootpd  receives  a  hangup  signal
       (SIGHUP)  or  when  it  discovers  that the configuration file has changed.  Note that any
       changes to the configuration file should be atomic to avoid race conditions.

       When bootpd receives a BOOTREQUEST packet, it looks for  a  database  entry  matching  the
       client  request.   If  the  client  is known, bootpd composes a BOOTREPLY packet using the
       database entry found above, and sends the reply to the client (possibly using a  gateway).
       If the client is unknown, the request is discarded (with a notice if debug > 0).

       If  bootpd  is  compiled with the -DDEBUG option, receipt of a SIGUSR1 signal causes it to
       dump its internal database to the file /tmp/bootpd.dump or the  dumpfile  specified  as  a
       command line parameter.

       During  initialization, both programs determine the UDP port numbers to be used by calling
       getservbyname(3) (which  normally  uses  /etc/services).   Two  service  names  (and  port
       numbers) are used:

              bootps - BOOTP Server listening port
              bootpc - BOOTP Client destination port

       If  the  port  numbers cannot be determined using getservbyname then the values default to
       boopts=67 and bootpc=68.


              Database file read by bootpd.

              Debugging dump file created by bootpd.

              Internet service numbers.

              Current directory typically used by the TFTP server and bootpd.


       Individual host entries must not exceed 1024 characters.


       This distribution is currently maintained by Walter L. Wimer <>.

       The original BOOTP server was created by Bill Croft  at  Stanford  University  in  January

       The  current  version of bootpd is primarily the work of David Kovar, Drew D. Perkins, and
       Walter L. Wimer, at Carnegie Mellon University.

       Enhancements and bug-fixes have been contributed by:
              (in alphabetical order)
              Danny Backx <>
              John Brezak <>
              Frank da Cruz <>
              David R. Linn <>
              Jim McKim <>
              Pauline Middelink <>
              Martin Schulze <>
              Gordon W. Ross <>
              Jason Zions <>


       bootptab(5), services(5), inetd(8), inetd.conf(5), tftpd(8).

       DARPA Internet Request For Comments:

       RFC951    Bootstrap Protocol

       RFC1532   Clarifications and Extensions for the Bootstrap Protocol

       RFC1533   DHCP Options and BOOTP Vendor Extensions