inet - TCP/IP server


     Inet is the TCP/IP server.  It is a device driver that interfaces between
     the  file server and the low level ethernet device driver.  The interface
     to this server is described in ip(4).

     Inet  starts  as  a  normal  process,  reads  a  the  configuration  file
     /etc/inet.conf to see what it should do, and uses a few special low level
     system  calls  to  turn  itself  into  a  server.   The  format  of   the
     configuration file is as follows:

     The inet configuration file is fairly simple, here is an example:

          eth0 DP8390 0 { default; };

     It tells that network 0 (the one containing devices eth0, ip0,  tcp0  and
     udp0) uses the ethernet device driver handled by task "DP8390" at port 0.
     This network is marked as the default network, so most  programs  use  it
     through the unnumbered devices like /dev/tcp or /dev/udp.  Network 1 is a
     Pseudo IP network that can be used for a  serial  IP  over  a  modem  for

     The configuration file may look  like  a  common  configuration  file  as
     described  by  configfile(5),  but  it  is currently just a simple subset
     allowing only what you see here.  The following network  definitions  are

     ethN task port {options};
          This sets up an ethernet with device name /dev/ethN,  built  on  the
          given  ethernet device driver at the given port at that driver.  (If
          a network driver manages two network cards then they are at  port  0
          and 1.)

     ethN vlan id ethM {options};     (Minix-vmd only)
          The ethernet ethN uses VLAN number id and is built on ethernet ethM.
          A  packet given to this network has a VLAN tag prefixed to it and is
          then handed over to another ethernet for transmission.   Likewise  a
          packet  on  that ethernet carrying the appropriate VLAN tag has this
          tag removed and is sent on  to  this  network.   The  VLAN  ethernet
          behaves  like  an  ordinary  ethernet  as  far  as  applications are

     psipN {options};
          Creates pseudo IP network /dev/psipN,  usable  for  IP  over  serial
          lines, tunnels and whatnot.

     Some options can be given between braces.  Minix only understands one  of
     these options, "default".  Minix-vmd does them all, of course.

          Mark this network as  the  default  network.   Exactly  one  of  the
          networks  must be so marked.  When inet is started it will check and
          create all the necessary network devices before becoming  a  server.
          To  know  what major device number to use it checks /dev/ip, so that
          device must already exist.  It can be created by MAKEDEV if need be.

     no ip;
     no tcp;
     no udp;
          These options turn the IP, TCP, or UDP layer  off.   Inet  will  not
          enable  the  devices  for these layers, and will deactivate code for
          these layers.  Disabling IP will also disable TCP  or  UDP,  because
          they  need  IP  to function.  An ethernet without an IP layer can be
          used as for stealth listening.  An IP network without TCP or UDP can
          be  used to pester students into creating the missing functionality.
          Keeps them off the streets, and maybe they'll learn something.

     ip(4), boot(8).

     The number of networks that can be defined are 2  (Minix-86),  4  (Minix-
     386)  or  16  (Minix-vmd).   This  limits  both  the total number and the
     highest device number you can use.

     Getting a network administrator to give you a trunk or multi-VLAN port to
     run  multiple  networks  on  can be a challenge.  It questions their idea
     that VLANs are separate networks, while in reality it  is  just  one  big

     Cindy Crawford, for providing invaluable help debugging this server.

     Code:    Philip Homburg <>
     Manual:  Kees J. Bot <>