glenda.party
term% ls -F
term% cat index.txt
IPCONFIG(8)                 System Manager's Manual                IPCONFIG(8)



NAME
       ipconfig, rip, linklocal, ipv6on - Internet configuration and routing

SYNOPSIS
       ip/ipconfig  [-6DGNOPdnpruX]  [-b baud] [-c ctl] [-g gateway] [-h host]
         [-m mtu] [-o dhcp-opt] [-f dbfile] [-x netmtpt] [ type  [  device  ]]
         [verb] [ local [ mask [ remote [ file-server [ auth ]]]]]

       ip/rip [-bdr] [-x netmtpt]

       ip/linklocal [ -t gwipv4 ] mac ...

       ipv6on [ netmtpt ndbfile [ gwv4 ]]

DESCRIPTION
       Ipconfig  binds a device interface to a mounted IP stack (default /net)
       and configures the interface with a  local  address  and  optionally  a
       mask,  a remote address, a file server and an authentication server ad‐
       dress.  If no device is  specified,  the  first  ether  device  on  the
       mounted  IP  stack is used.  The addresses can be specified in the com‐
       mand line or obtained via DHCP.  If DHCP is requested, it will also ob‐
       tain the addresses of DNS servers, NTP servers, gateways, a Plan 9 file
       server, and a Plan 9 authentication server.  If this is the first  non-
       loopback  interface on the IP stack, the information will be written to
       /net/ndb in the form of an ndb(8) entry.

       Type may be ether, gbe, ppp, pkt, or loopback.  The gbe type is equiva‐
       lent  to  ether  except that it allows jumbo packets (up to ~9KB).  The
       pkt interface passes all IP packets to and from a  user  program.   For
       ppp the device can be any byte stream device.

       The  verb  (default  add)  determines  the action performed.  The usual
       verbs are:

       add    if the device is not bound to the IP stack, bind  it.   Add  the
              given  local address, mask, and remote address to the interface.
              An interface may have multiple addresses.

       remove remove the address from the device interface.

       unbind unbind the device interface and all its addresses  from  the  IP
              stack.

       The IPv6-specific verbs, which take different arguments, are:

       add6 prefix pfx-len onlink auto validlt preflt
              sets the named IPv6 parameters; see ip(3) for more detail.

       ra6 [ keyword value ] ...
              sets  IPv6  router advertisement parameter keyword's value.  See
              ip(3) for more detail.  Setting recvra  non-zero  also  forks  a
              process  to  receive and process router advertisements.  Setting
              sendra non-zero also enables IP routing on the interface,  forks
              a  process  to  send  router  advertisements,  and  if no recvra
              process is running, forks one.

       The options are:

       6      if adding an address (the default action), add the IPv6 link-lo‐
              cal address.

       b      the baud rate to use on a serial line when configuring PPP.

       c      write the control string ctl to the ethernet device control file
              before starting to configure it.  May  be  repeated  to  specify
              multiple control writes.

       d      use DHCP to determine any unspecified configuration parameters.

       D      turn on debugging.

       g      the default gateway.

       G      use  only  generic  DHCP options.  Without this option, ipconfig
              adds to requests a Vendor Class option with value plan9_$cputype
              and  also  requests vendor specific options 128 and 129 which we
              interpret as the Plan 9 file server and auth server.  Replies to
              these  options  contain a list of IP addresses for possible file
              servers and auth servers.

       h      the hostname to add to DHCP requests.  Some DHCP  servers,  such
              as  the  one  used by Comcast, will not respond unless a correct
              hostname is in the request.

       m      the maximum IP packet size to use on this interface.

       n      determine parameters but don't configure the interface.

       N      look in /lib/ndb for the IP parameters.  This only works if  the
              interface  is an ethernet.  It uses the ethernet address to find
              a matching entry.

       O      addresses specified on the command line override those  obtained
              via DHCP.  A command line address of 0 implies no override.

       p      write  configuration information to /net/ndb, even if other net‐
              work interfaces are already configured

       P      do not write configuration information to /net/ndb, even if this
              is the first network interface to be configured

       r      by default, ipconfig exits after trying DHCP for 15 seconds with
              no answer.  This option directs ipconfig instead to fork a back‐
              ground process that keeps trying forever.

       u      disable  IPv6  duplicate  discovery detection, which removes any
              existing ARP table entry for one of our  IPv6  addresses  before
              adding new ones.

       f      use the ndb database file dbfile .

       x      use the IP stack mounted at netmtpt instead of at /net.

       X      don't fork a process to keep the DHCP lease alive.

       o      adds  dhcpoption  to the list of paramters requested of the DHCP
              server.  The result will appear in /net/ndb should this  be  the
              first interface.  The known options are:

              arptimeout,  baddr, bflen, bootfile, clientid, cookie, discover‐
              mask, discoverrouter, dns, dom, dumpfile,  etherencap,  extpath,
              finger,  homeagent,  impress,  ipaddr,  ipforward, ipgw, ipmask,
              irc, lease, log, lpr, maxdatagram, maxmsg, message,  mtu,  name,
              netbiosdds, netbiosns, netbiosscope, netbiostype, ni, nisdomain,
              nisplus, nisplusdomain, nntp, nonlocal, ntp,  overload,  params,
              pathplateau, pathtimeout, policyfilter, pop3, rebindingtime, re‐
              newaltime, rl, rootpath, rs, serverid, smtp,  st,  staticroutes,
              stdar,  subnetslocal,  supplymask,  swap,  sys,  tcpka,  tcpkag,
              tcpttl, tftp, time, timeoff, trailerencap,  ttl,  type,  vendor‐
              class, www, xdispmanager, xfont

              The  options  ipmask,  ipgw,  dns,  sys,  and ntp are always re‐
              quested.

       If DHCP is requested, a process is forked off to renew the lease before
       it  runs  out.  If the lease does run out, this process will remove any
       configured addresses from the interface.

       Rip runs the routing protocol RIP.  It listens for RIP packets on  con‐
       nected  networks  and  updates  the kernel routing tables.  The options
       are:

       b      broadcasts routing information onto the networks.

       n      gathers routing information but doesn't write to the  route  ta‐
              ble.  This is useful with -d to debug a network.

       x      use the IP stack mounted at netmtpt instead of at /net.

       d      turn on (voluminous) debugging.

       Linklocal prints the IPv6 link-local address corresponding to the given
       mac address.  Given -t, linklocal instead prints the 6to4  EUI-64-based
       IPv6 address corresponding to mac and 6to4 gateway gwipv4.

       Ipv6on  uses  the  network database at ndbfile to configure the network
       mounted on netmtpt with a link-local address (derived from its MAC  ad‐
       dress) and attempts to add a default IPv6 route to the local IPv4 gate‐
       way's IPv6 address.  If gwv4 is supplied, it will be used as the  gate‐
       way IPv4 address.

EXAMPLES
       Configure  Ethernet  0  as the primary IP interface.  Get all addresses
       via DHCP.  Start up a connection server and DNS resolver  for  this  IP
       stack.

              % bind -b '#l0' /net
              % bind -a '#I0' /net
              % ip/ipconfig
              % ndb/cs
              % ndb/dns -r

       Add a second address to the stack.

              % ip/ipconfig ether /net/ether0 add 12.1.1.2 255.255.255.0

       At  Bell Labs, our primary IP stack is always to the company's internal
       firewall-protected network.  The following creates an external IP stack
       to  directly  access  the  outside  Internet.  Note that the connection
       server uses a different set of ndb files.  This prevents us  from  con‐
       fusing inside and outside name/address bindings.

              % bind -b '#l1' /net.alt
              % bind -b '#I1' /net.alt
              % ip/ipconfig -x /net.alt -g 204.178.31.1 ether /net.alt/ether1\
                   204.178.31.6 255.255.255.0
              % ndb/cs -x /net.alt -f /lib/ndb/external
              % ndb/dns -sx /net.alt -f /lib/ndb/external
              % aux/listen -d /rc/bin/service.alt /net.alt/tcp

       Get  all addresses via DHCP.  Configure the IPv6 link-local address au‐
       tomatically and listen for router announcements.

              ip/ipconfig -6
              ip/ipconfig ra6 recvra 1

FILES
       /sys/log/v6routeradv

SOURCE
       /sys/src/cmd/ip/ipconfig
       /sys/src/cmd/ip/rip.c
       /sys/src/cmd/ip/linklocal.c
       /rc/bin/ipv6on

SEE ALSO
       ether(3), ip(3), loopback(3), ndb(6), 6in4(8), dhcpd(8), ppp(8)
       /lib/rfc/rfc2373 for IPv6's modified EUI-64



                                                                   IPCONFIG(8)