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] [-x netmtpt] [ type [ device ]] [verb] [ local
         [ mask [ remote [ file-server [ auth ]]]]]

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

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

       ipv6on [ netmtpt ndbfile ]

DESCRIPTION
       Ipconfig binds a device interface (default /net/ether0) 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 authenti‐
       cation server address.  The addresses can be specified in  the  command
       line  or  obtained via DHCP.  If DHCP is requested, it will also obtain
       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.

       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 EUI-64-based link-local address derived  from
       the  given  mac  address.   Given -t, linklocal instead prints the 6to4
       EUI-64-based IPv6 address derived from mac and 6to4 gateway gwipv4.

       Ipv6on uses the network database at ndbfile to  configure  the  network
       mounted  on  netmtpt  with an IPv6 link-local address (derived from its
       MAC address) and an IPv6 global address, either from an ipv6  attribute
       for  $sysname or the interface's MAC address, if present, or via state‐
       less address autoconfiguration.  It also attempts to add a default IPv6
       route from a router advertisement.

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 135.104.24.1 ether /net.alt/ether1\
                   135.104.24.14 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

BUGS
       Currently, SLAAC relies on each ipnet declaration containing an ipv6pfx
       attribute.  This should be replaced by a router advertisement prefix.



                                                                   IPCONFIG(8)