glenda.party
term% ls -F
term% pwd
$home/manuals/9front/8/dhcpd
term% cat index.txt
DHCPD(8)                    System Manager's Manual                   DHCPD(8)

NAME
       dhcpd, dhcpleases, rarpd, tftpd - Internet booting

SYNOPSIS
       ip/dhcpd  [-dmnprsSZ]  [-f ndb-file] [-M secs] [-x netmtpt] [-Z secs] [
       address n ] ...

       ip/dhcpleases

       ip/rarpd [-d] [-e etherdev] [-x netmtpt]

       ip/tftpd [-dr] [-h homedir] [-x netmtpt]

DESCRIPTION
       These programs support booting over the Internet.  They should  all  be
       run  on the same server to allow other systems to be booted.  Dhcpd and
       tftpd are used to boot everything; rarpd is an  extra  piece  just  for
       Suns.

       Dhcpd  runs  the BOOTP and DHCP protocols.  Clients use these protocols
       to obtain configuration information.  This information comes  from  at‐
       tribute/value  pairs  in  the network database (see ndb(6) and ndb(8)).
       DHCP requests are honored both for static addresses found  in  the  NDB
       and  for  dynamic  addresses listed in the command line.  DHCP requests
       are honored if either:
       - there exists an NDB entry containing both the ethernet address of the
       requester and an IP address on the originating network or subnetwork.
       - a free dynamic address exists on the originating network  or  subnet‐
       work.

       A BOOTP request is honored if all of the following are true:
       - there exists an NDB entry containing both the ethernet address of the
       requester and an IP address on the originating network or subnetwork.
       - the entry contains a bootf= attribute
       - the file in the bootf= attribute is readable.

       Dynamic  addresses  are  specified on the command line as a list of ad‐
       dresses and number pairs.  For example,
            ip/dhcpd 10.1.1.12 10 10.2.1.70 12
       directs dhcpd to return dynamic addresses 10.1.1.12  through  10.1.1.21
       inclusive and 10.2.1.70 through 10.2.1.81 inclusive.

       Dhcpd  maintains  a  record  of  all dynamic addresses in the directory
       /lib/ndb/dhcp, one file per address.  If multiple servers  have  access
       to this common directory, they will correctly coordinate their actions.

       Attributes come from either the NDB entry for the system, the entry for
       its  subnet, or the entry for its network.  The system entry has prece‐
       dence, then the subnet, then the network.  The NDB attributes used are:

       ip     the IP address

       ipmask the IP mask

       ipgw   the default IP gateway

       dom    the domain name of the system

       fs     the default Plan 9 name server

       auth   the default Plan 9 authentication server

       dns    a domain name server

       ntp    a network time protocol server

       time   a time server

       wins   a NETBIOS name server

       www    a World Wide Web proxy

       pop3   a POP3 mail server

       smtp   an SMTP mail server

       bootf  the default boot file; see ndb(6)

       Dhcpd will answer BOOTP requests only if it has been specifically  tar‐
       geted  or  if  it  has  read access to the boot file for the requester.
       That means that the requester must specify a boot file in  the  request
       or  one has to exist in NDB for dhcpd to answer.  Dhcpd will answer all
       DHCP requests for which it can associate an IP  address  with  the  re‐
       quester.  The options are:

       d      Print debugging to standard output.

       f      Specify  a  file  other than /lib/ndb/local as the network data‐
              base.

       m      Mute: don't reply to requests, just  log  them  and  what  dhcpd
              would have done.

       M      Use secs as the minimum lease time for dynamic addresses.

       n      Don't answer BOOTP requests.

       p      Answer DHCP requests from PPTP clients only.

       r      Mute  static  addresses:  don't reply to requests for static ad‐
              dresses, just log them and what dhcpd would have done.

       s      Sleep 2 seconds before answering requests for static  addresses.
              This is used to make a server be a backup only.

       S      Sleep 2 seconds before answering requests for dynamic addresses.

       x      The IP stack to use is mounted at netmtpt.  The default is /net.

       Z      Use secs as the minimum lease time for static addresses.

       Dhcpleases  prints  out  the  currently  valid DHCP leases found in the
       /lib/ndb/dhcp directory.

       Rarpd performs the Reverse  Address  Resolution  Protocol,  translating
       Ethernet addresses into IP addresses.  The options are:

       d      Print debugging to standard output.

       e      Use the Ethernet mounted at /net/etherdev.

       x      The IP stack to use is mounted at netmtpt.  The default is /net.

       Tftpd  transfers  files  to  systems that are booting.  It runs as user
       none and can only access files with global read  permission.   The  op‐
       tions are:

       d      Print debugging to standard output.

       x      The IP stack to use is mounted at netmtpt.  The default is /net.

       h      Change  directory  to  homedir.  The default is /lib/tftpd.  All
              requests for files with non-rooted file names are served  start‐
              ing  at  this  directory with the exception of files of the form
              xxxxxxxx.SUNyy.   These  are  Sparc  kernel  boot  files   where
              xxxxxxxx  is  the  hex  IP address of the machine requesting the
              kernel and yy is an architecture identifier.  Tftpd looks up the
              file in the network database using ipinfo (see ndb(2))  and  re‐
              sponds with the boot file specified for that particular machine.
              If  no  boot  file is specified, the transfer fails.  Tftpd sup‐
              ports only octet mode.

       r      Restricts access to only those files rooted in the homedir.

FILES
       /lib/ndb/dhcp    directory of dynamic address files

SOURCE
       /sys/src/cmd/ip

SEE ALSO
       ndb(6), booting(8)

                                                                      DHCPD(8)