4.4BSD/usr/src/sys/vax/if/ACC/6100/readme.txt.6100








                                      Chapter 4

               UNIX 4.2/4.3 BSD Network-Interface Driver Installation


           4.1 The acp Network-Interface Driver

           In the UNIX 4.2/4.3 BSD environment, the ACP 6100 is  supported
           by  the  acp network-interface driver.  The acp driver provides
           an interface between IP and the ACP 6100 board  for  connecting
           to a network.  A UNIX 4.2/4.3 BSD process communicates with the
           acp driver through the UNIX 4.2/4.3 BSD networking software.

           The ACP 6100 board  is  a  UNIBUS  device  with  two  interrupt
           vectors;  it  appears  as  a single device unit to UNIX 4.2/4.3
           BSD.  The acp driver can support up to four ACP  6100  devices:
           acp0,  acp1, acp2 and acp3.  If more than one ACP 6100 board is
           installed, each must be named in the system configuration file,
           and  the  UNIBUS  base address jumpers on each additional board
           must be adjusted; see 2.2.1.

           In the UNIX 4.2/4.3 BSD network environment, the  ACP  6100  is
           supported  as  a  point-to-point  link  in  the TCP/IP network.
           Thus, all network utilities such as network mail  (SMTP),  file
           transfer  (FTP),  remote  login  (TELNET),  remote shell (RSH),
           remote user information (FINGER), etc., can work between two or
           more  hosts that each have an ACP 6100.  Further, if one of the
           hosts is a gateway to a larger network, the other  host(s)  can
           access  the  larger network using the gateway facilities in the
           UNIX 4.2/4.3 BSD TCP/IP implementation.  The same features  are
           available   under   the   IPTCP  product  from  The  Wollongong
           Group (TWG).

           The  following  sections  provide  host  software  installation
           instructions  for  both UNIX 4.2/4.3 BSD and TWG's IPTCP/EUNICE
           environments,  a  network  configuration   procedure   and   an
           installation verification procedure.


           4.2 Distribution Software Contents

           The ACP 6100 UNIX software distribution kit is a  tape  created
           with  the  "tar"  utility;  see TAR(1) in the UNIX Programmer's
           Manual.  As specified by the customer, the tape density is  800
           or  1600  bpi  (bits per inch).  The distribution tape contains



                                         4-1











           the following files:


                           makefile
                           acp.c          apconfig.c
                           acpreg.h       acpvar.h
                           acp.4          acp4.txt
                           acpconfig.8c   acpconfig8c.txt
                           conf.example   readme.txt


           The driver source code is contained  in  acp.c,  acpreg.h,  and
           acpvar.h.   The  acpconfig.c  file contains the source code for
           the acpconfig program; makefile is its makefile.  The acpconfig
           program  is  used to configure the ACP 6100, and is an integral
           part of the installation verification  procedure.   A  template
           configuration file for the system is in conf.example.  The UNIX
           Programmer's Manual page (source) for the acp driver is  acp.4;
           acpconfig.8c is manual text (source) for the acpconfig program.
           Formatted outputs are  in  acp4.txt  and  acpconfig8c.txt;  see
           appendix   C.    The   installation  instructions  outlined  in
           following sections are in readme.txt.


           4.3 Distribution Software Installation Under UNIX 4.2/4.3 BSD

           The  following  installation  instructions  are  step  by  step
           procedures  for installing the distribution software under UNIX
           4.2/4.3 BSD.  The  procedures  are  divided  into  two  phases.
           First,  the  driver  software  is  installed,  and  a sysgen is
           performed to include the driver in your UNIX  kernel.   Second,
           the  acpconfig  program  is  installed,  and  a binary image is
           created using the accompanying makefile.


           4.3.1 acp Driver Installation Under UNIX 4.2/4.3 BSD.  The  ACP
           6100 is identified to the system at configuration time, and the
           acp network-interface driver is then compiled into the  system.
           When  the  resultant  system  is  booted, the autoconfiguration
           facilities in the system probe for the device on the UNIBUS and
           enable  the  software  support  for it.  If the device does not
           respond at autoconfiguration time, it will  not  be  accessible
           afterwards; the system must be rebooted to enable a device that
           did not autoconfigure.  The UNIX Programmer's Manual  page  for
           the   acp   driver   (appendix  C  and  file  acp4.txt  in  the
           distribution kit) describes the  diagnostic  messages  provided
           for acp.

           The following instructions accord  with  Building  4.2/4.3  BSD
           UNIX  Systems with Config provided with your UNIX distribution.
           Refer to that document as you use the following instructions.



                                         4-2











           1.  Logon as root.  When adding files  to  the  system,  rename
               existing files that have the same name.  Create a directory
               and read the contents of the tape into the directory with a
               tar command of the following format.

               tar x

               or

               tar xvbf 20 /dev/rmt0












































                                         4-3











           2.  Add  the  ACC-supplied  files  to   your   system   source-
               directories.    Rename   the  files  in  accord  with  UNIX
               conventions when copying them into your /sys directories as
               shown below.

               cp acp.c /sys/vaxif/if_acp.c
               cp acpreg.h /sys/vaxif/if_acpreg.h
               cp acpvar.h /sys/vaxif/if_acpvar.h
               cp conf.example /sys/conf/ACP

           3.  Modify the system configuration file in the /sys/conf  file
               (file  names  typically  are  uppercase,  e.g., GENERIC) to
               indicate the  ACP  6100  device(s)  and  the  acp  network-
               interface  driver.   The  configuration  file  defines your
               system in terms of global configuration parameters,  system
               image parameters, device specifications and pseudo devices.
               Section 4 of Building 4.2/4.3 BSD UNIX Systems with  Config
               describes  configuration  file  syntax;  refer  also to the
               conf.example file.

               Each acp device must have its own line  including  its  own
               unit  number  [0-3], UNIBUS adapter number, and UNIBUS base
               address  [0160000-0177740].   The  acp-device  unit  number
               should be appropriate for the number of ACP 6100s operating
               on the UNIBUS; i.e., the first ACP 6100 should be acp0, the
               second,  acp1,  and  so on.  The address of each acp device
               must correspond to the address set in the  UBA  jumpers  on
               the  ACP  6100  board  (see  2.2.1).   Add  a line with the
               following format for each ACP 6100 in the host system:

              device acp0 at uba0 csr 0167000 vector acpinta acpintb

                                          NOTE

                     Octal addresses are denoted  by  a  leading  0,
                     hexadecimal   values  by  a  leading  0x.   The
                     software  uses  16-bit  addressing  while   the
                     hardware  uses  18-bits.   Hence, octal address
                     767000 set in the UBA jumpers is  indicated  to
                     the software as 0167000.

           4.  If you are using the INET  TCP/IP  code,  verify  that  the
               following  lines  are  present  in the system configuration
               file in /sys/conf.  The networking code might not  function
               correctly without these lines:

               options INET
               pseudo-device inet

           5.  If you are using 4.2 BSD UNIX add the following line to the
               configuration file:



                                         4-4











               options FOURTWO

           6.  Add the following entry to /sys/conf/files.vax:

               vaxif/if_acp.c optional acp device-driver

           7.  Build a new UNIX kernel by performing a sysgen as described
               in   the  UNIX  4.2/4.3  BSD  documentation.   The  command
               sequence below is one possible example; it might not  apply
               to  your  system.   Be  sure to save a copy of the original
               vmunix before you copy the newly created kernel to /vmunix.

               cd /sys/conf
               mkdir ../ACP
               config  ACP
               cd ../ACP
               make depend
               make
               cd /
               cp vmunix vmunix.sav
               cp /sys/ACP/vmunix vmunix

           8.  Perform a system shutdown and boot the  new  kernel.   Note
               lines  of the following form on the console terminal during
               the boot procedure to verify  that  the  acp  interface  is
               successfully  probed  for  valid  UNIBUS  base  address and
               interrupt vectors, attached to the system, and reset.  This
               is  an  example  only;  your  display may contain different
               names and values.

               acp0 at uba0 csr 167000 vec 770, ipl 15

               If you cannot verify this  step,  review  the  installation
               procedure to make sure that you set the UNIBUS base address
               correctly in the configuration file in /sys/conf and on the
               ACP 6100 board.


           4.3.2 acpconfig Installation Under UNIX 4.2/4.3 BSD.        The
           following  steps  explain  how to install the acpconfig program
           under UNIX 4.2/4.3 BSD.  The UNIX Programmer's Manual pages for
           the acpconfig program describe the use of the acpconfig program
           (see appendix C or acpconfig8c.txt in the distribution kit).

           1.  Verify the that network-interface driver is installed.  The
               include   file,  if_acpvar.h  must  be  in  the  /sys/vaxif
               directory.







                                         4-5











           2.  Create a  directory,  for  example  /usr/src/acc,  for  the
               acpconfig  program files.  Before copying the files, rename
               existing files that have the same  name.   Copy  the  files
               from   the   directory   containing   the  files  from  the
               distribution tape using commands of the following form:

               cp acpconfig.c /usr/src/acc/acpconfig.c
               cp makefile /usr/src/acc/makefile

           3.  If you  have  UNIX  4.2/4.3  BSD  sources,  then  edit  the
               /sys/h/ioctl.h file to include the following socket ioctls.
               Place the following lines with other socket ioctls,  making
               sure that they are above the #endif statement at the end of
               the ioctl.h file.

                   /* ACC configuration socket ioctl */
               #define SIOCACPCONFIG _IOWR(i, 70, struct ifreq)
                   /* ACC reserved socket ioctl */
               #define SIOCACPPARAM  _IOWR(i, 71, struct ifreq)
                   /* ACC reserved socket ioctl */
               #define SIOCACPSTATE  _IOWR(i, 72, struct ifreq)

           4.  Invoke the makefile to compile the executable image of  the
               acpconfig program:

               make

           5.  Copy  the  executable  image,  'acpconfig',  to  the   /etc
               directory, or to the directory appropriate for your system.

           6.  Verify that you can access the  program  by  the  following
               command:

               /etc/acpconfig

               In response, you should get a display explaining the proper
               use  of  acpconfig.  You are now ready to use the acpconfig
               program to configure your network interface  (see  appendix
               C).


           4.4 Distribution Software Installation Under TWG EUNICE

           The  following  installation  instructions  are  step  by  step
           procedures  for  installing  the distribution software in TWG's
           EUNICE  IPTCP  environment  when  you   have   a   TWG   source
           distribution.   The  procedures  are  divided  into two phases.
           First, the  driver  software  is  installed  and  a  sysgen  is
           performed  to  include  the driver in your TWG kernel.  Second,
           the acpconfig program  is  installed  and  a  binary  image  is
           created using the accompanying makefile.



                                         4-6











           4.4.1 acp Driver Installation Under TWG EUNICE.  The  ACP  6100
           is  identified  to  the  system  at configuration time, and the
           network-interface  driver,  acp,  is  then  compiled  into  the
           system.     When    the    resultant   system   is   run,   the
           autoconfiguration facilities in the system probe for the device
           on  the  UNIBUS and enable the software support for it.  If the
           device does not respond at autoconfiguration time, it will  not
           be  accessible  afterwards.   The  system  must  be rebooted to
           enable  a  device  that  did  not  autoconfigure.    The   UNIX
           Programmer's  Manual  pages  for  the  acp  driver describe the
           diagnostic messages provided for acp (see  appendix  C  or  the
           acp4.txt file in the distribution kit).










































                                         4-7











           The  following  instructions  accord  with  the  readfirst.doc,
           todo.doc,  conf/directions.doc,  and  install.doc documentation
           files which came with your TWG distribution.   Refer  to  those
           documents as you use these instructions.

           1.  Logon as root.  Before adding  new  files  to  the  system,
               rename existing files that have the same name.

           2.  Create a directory, and read the contents of the tape  into
               the  directory.   One  way  to read the tape is to mount it
               under VMS native  mode,  switch  to  EUNICE,  use  the  tar
               utility  to  extract files from the tape, and return to VMS
               native mode to dismount the tape.  You may use commands  of
               the following form:

               mount/foreign/block=10240 msa0:
               <invoke EUNICE>
               tar xbf 20 /dev/rmt0
               logout
               dismount msa0:

           3.  Store the tape in a safe  place,  and  return  to  the  TWG
               EUNICE environment.

           4.  Add  the  ACC-supplied  files   to   your   system   source
               directories.    Rename   the  files  in  accord  with  UNIX
               conventions when copying them into your  /sys/twgtcp/kernel
               directories as shown below.

               cp acp.c /sys/twgtcp/kernel/vaxif/if_acp.c
               cp acpreg.h /sys/twgtcp/kernel/vaxif/if_acpreg.h
               cp acpvar.h /sys/twgtcp/kernel/vaxif/if_acpvar.h

           5.  Modify     the     system     configuration     file     in
               /sys/twgtcp/kernel/conf  to reflect the addition of the ACP
               6100 device and the acp network-interface  driver  to  your
               system.   The  configuration  file  defines  your system in
               terms of  global  configuration  parameters,  system  image
               parameters,  device  specifications,  and  pseudo  devices.
               Refer to the conf.example file for appropriate format.

               Each acp device must have its own line  including  its  own
               unit  number  [0-3], UNIBUS adapter number, and UNIBUS base
               address  [0160000-0177740].   The  acp-device  unit  number
               should be appropriate for the number of ACP 6100s operating
               on the UNIBUS; i.e., the first ACP 6100 should be acp0, the
               second,  acp1,  and  so on.  The address of each acp device
               must correspond to the address set in the  UBA  jumpers  on
               the  ACP  6100  board  (see  2.2.1).   Add  a line with the
               following format for each  ACP  6100  in  the  host  system
               (should be a single line):



                                         4-8











               device acp0 at uba0 csr 0167000 flags 0 \
                               vector acpinta acpintb

                                          NOTE

                     Octal addresses are denoted  by  a  leading  0,
                     hexadecimal   values  by  a  leading  0x.   The
                     software  uses  16-bit  addressing  while   the
                     hardware  uses  18-bits.   Hence, octal address
                     767000 set in the UBA jumpers is  indicated  to
                     the software as 0167000.

           6.  If you are using INET TCP/IP  code,  verify  the  following
               lines  are  present  in  the  system  configuration file in
               /sys/conf.  The networking code does not function correctly
               without this line.

               options INET
               pseudo-device inet

           7.  Add         the         following         entry          to
               /sys/twgtcp/kernel/conf/files.vax:

               vaxif/if_acp.c optional acp device-driver

           8.  Build  a  new  TWG  kernel  following  the  directions  for
               sysgening  a  system.   The  following commands sequence is
               only an example; it may not apply to your system.

               cd /sys/twgtcp/kernel/conf
               mkdir ../ACP
               config ACP
               cd ../ACP
               make depend
               make
               cp inet.exe inet.stb ../etc
               cp ../conf/ACP /etc/config.net

           9.  In the example above,  the  system  configuration  file  is
               copied to /etc/config.net.  Edit the "device acp0" entry in
               the config.net file to include a value in the flags  field.
               The  flags  octal  value  is  used by the acp-driver probe-
               routine to determine the interrupt vector for the ACP  6100
               device.  The line in config.net for flags 400 (octal) is as
               follows (should be a single line):

               device acp0 at uba0 csr 0167000 flags 0400 \
                               vector acpinta acpintb

           10. Reboot the new kernel, and start the TWG network  software.
               The  following  lines are an example only; use the commands



                                         4-9











               that apply to your system.





















































                                        4-10











               reboot system
               @eun_root:[etc]reboot
               set def dra1:[netdist.misc]
               @startinet
               @syslogin

           11. When the TWG network software comes up, note a line of  the
               following  form  on  the  console  terminal during the boot
               procedure to verify that the acp interface is  successfully
               recognized.   This  is  an  example  only; your display may
               contain different names and values.

               acp0 at uba0 csr 167000 vec 100, ipl 15

                                          NOTE

                     The   hexadecimal   value    following    "vec"
                     corresponds   to   the  octal  value  specified
                     following "flags"  above.   For  example,  "vec
                     100"   corresponds   with  "flags  0400".   The
                     display does not provide leading 0  (octal)  or
                     0x (hex) indicators.

               If you cannot verify this  step,  review  the  installation
               procedure  to  make  sure that you have set the UNIBUS base
               address   correctly   in   the   configuration   file    in
               /sys/twgtcp/kernel/conf and on the ACP 6100 board.


           4.4.2 acpconfig Installation Under TWG.   The  following  steps
           explain how to install the acpconfig program under TWG.

           1.  Verify the acp network-interface driver is installed.   The
               include    file,    if_acpvar.h,    must    be    in    the
               /sys/twgtcp/kernel/vaxif directory.

           2.  Create a directory, for example /usr/acc, for the acpconfig
               program files.

               mkdir /usr/acc

           3.  Before copying the files, rename existing files  that  have
               the   same   name.   Copy  the  files  from  the  directory
               containing the contents  of  the  distribution  tape  using
               commands of the following form:

               cp acpconfig.c /usr/acc/acpconfig.c
               cp makefile /usr/acc/makefile

           4.  Modify the following files before compiling  the  acpconfig
               program.



                                        4-11











               /sys/twgtcp/kernel/h/ioctl.h
               /sys/twgtcp/kernel/vms-code/uipc_socket.c

           5.  Insert the following three  lines  immediately  before  the
               #endif at the end of the file /sys/twgtcp/kernel/h/ioctl.h.
               These lines add three definitions for socket ioctls.

                   /* ACC configuration socket ioctl */
               #define SIOCACPCONFIG _IORW(i, 70, struct ifreq)
                   /* ACC reserved socket ioctl */
               #define SIOCACPPARAM  _IORW(i, 71, struct ifreq)
                   /* ACC reserved socket ioctl */
               #define SIOCACPSTATE  _IORW(i, 72, struct ifreq)

           6.  Modify the soioctl() routine in the  file  /sys/kernel/vms-
               code/uipc_socket.c  by adding the following case statements
               after #ifdef IFNET.

               case SIOCACPCONFIG:
               case SIOCACPPARAM:
               case SIOCACPSTATE:

           7.  Invoke the makefile to compile the executable image of  the
               acpconfig program.

               make systwg

           8.  Copy the executable image, acpconfig, to the /etc directory
               or the directory appropriate for your system.

           9.  Verify you can access the program by entering the following
               command.

               /etc/acpconfig

               In response, you should get a display explaining the proper
               use  of  acpconfig.  You are now ready to use the acpconfig
               program to configure your network interface  (see  appendix
               C).


           4.5 Network Configuration of the ACP 6100 System

           The ACP 6100 point-to-point link  must  be  configured  in  the
           network  database  as  a  network  with  two hosts.  Figure 4-1
           depicts this configuration.  If the systems are to be connected
           to the Department of Defense internet, authorization must first
           be obtained from the network management authority.






                                        4-12











           1.  Select an unused network number, select a name for the  new
               network,  and  add  the  new  network to /etc/hosts on both
               systems.  The numbers  below  are  for  example  only;  use
               numbers appropriate for your system.

               1.0.0.1 acp-net

           2.  Select host numbers for each of the  two  systems  and  add
               them to the host database on each system.

               1.0.0.1 acp-first-host
               1.0.0.2 acp-second-host

           3.  Each time the system is rebooted, the ACP 6100 link must be
               brought  up.   The first host is brought up as a DTE (-u 1)
               and the second host as DCE (-u 2).  For each ACP 6100 board
               installed  in  the  system,  add  a  command  line  of  the
               following form to /etc/rc on the first host:

               /etc/acpconfig acp0 1.0.0.1 -b [baud] -u 1

               The second host should have a line as follows in /etc/rc:

               /etc/acpconfig acp0 1.0.0.1 -b [baud] -u 2



                  VAX/UNIX host #1                  VAX/UNIX host #2
                 +----------------+               +-----------------+
                 |                |               |                 |
                 |   host number: |               |   host number:  |
                 | acp-first-host |               | acp-second-host |
                 |                |               |                 |
                 +----------------+               +-----------------+
                    | ACP 6100 |                     | ACP 6100 |
                    +----------+                     +----------+
                        (DTE)                            (DCE)

                 acpconfig acp0 -u 1              acpconfig acp0 -u 2


             Figure 4-1.  Point-to-Point ACP 6100 Network Configuration












                                        4-13











           4.6 Driver Installation Verification

           Installation verification should be performed on each  host  in
           which  an  ACP  6100  is  installed.  One way to verify correct
           installation of  the  ACP  6100  board  and  the  acp  network-
           interface  driver  is  to  configure the system for internal or
           external loopback and use the ftp network utility to transfer a
           file; see UNIX Programmer's Manual entry ftp(1C).

           The following instructions explain how  to  use  the  acpconfig
           program  to configure the system for external loopback and then
           use ftp to verify the installation.  If  the  results  are  not
           successful,  the  procedure  should  be repeated using internal
           loopback.

           If internal loopback tests  are  successful  and  the  external
           loopback  tests  were  not, the loopback connector might not be
           correctly installed in the ACP  6100  distribution  panel.   If
           internal  loopback  tests are unsuccessful, verify that the ACP
           6100 board is jumpered for the correct UNIBUS base address  and
           that it is properly seated in the UNIBUS backplane.

           1.  Install the ACP 6100 board as  directed  in  2.3,  Hardware
               Installation  Procedures,  and  insert a loopback connector
               (see figure 3-3), into the distribution panel.

           2.  Verify  the  acp  network-interface  driver  was  installed
               according to the installation instructions above.

           3.  Verify the acpconfig program was installed according to the
               installation instructions above.

           4.  Define an alias for acpconfig and  enter  commands  of  the
               following form in accord with your system configuration.

           5.  Invoke the acpconfig program to set  the  internet  address
               and  set  the  configuration  for  external  loopback.  The
               internet address 1.0.0.1 is used only for example; use  one
               that applies to your system.

               acpconfig acp0 1.0.0.1 -b 56k -u 3

           6.  Use the "netstat -i -n" command to check the status of  the
               acp  device  and display all network devices autoconfigured
               on your system.  Absence of an asterisk next to acp0 in the
               netstat  display  indicates  successful  completion  of the
               acpconfig program.

               netstat -i -n

               Name Mtu  Network      Address     Ipkts Ierrs Opkts Oerrs Collis



                                        4-14











               acp0 4096 0.0.0        1.0.0.1     0     0     0     0     0
               lo0  1536 loopback-n   localhost   0     0     0     0     0

           7.  Invoke the ftp program to  transfer  a  file  to  the  null
               device.    Connection   confirmation   and   identification
               information are displayed after the ftp 1.0.0.1 command  is
               entered.   Refer  to  the  UNIX Programmer's Manual section
               FTP(1C) for further information.

               ftp 1.0.0.1

               Connected to 1.0.0.1
               220 Curry/ACPTST Testing FTP Server (Version 4.81 Mon Sep 26
                       08:36:28 PDT 1983) ready,

           8.  Following successful connection, you are prompted to  login
               to  the  remote host.  Enter your account name; the example
               uses the  root  account.   You  are  then  prompted  for  a
               password;  for  security  reasons  it  is not echoed to the
               screen as it is entered.  Successful login to the  'remote'
               host  is actually a login to the local host because the ACP
               6100 board is configured for external loopback.

               Name (1.0.0.1:root):  root
               Password (1.0.0.1:root):

               331 Password required for root.
               230 User root logged in.

           9.  Set the file transfer type to binary-image transfer.

               ftp> bin

               200 Type set to I.

           10. The example below copies a large file named /vmunix to  the
               null  device  /dev/null.   The  get  command  retrieves the
               /vmunix file and stores it in /dev/null.

               ftp> get /vmunix /dev/null

               200 PORT command OK.
               150 Opening data connection for /vmunix (1.0.0.1, 1025)
                                                        (245760 bytes).
               226 Transfer complete.
               245760 bytes received in 7.45 seconds (32 Kbytes/s)

           11. Exit the ftp utility.  The bye command terminates  the  FTP
               session  with  the remote server and returns to the command
               interpreter.




                                        4-15











               ftp> bye

               221 Goodbye.

           12. You could use the telnet utility as an additional test; see
               TELNET(1C).

           13. Remove the loopback cable connector.

           14. Reset the configuration for normal  DTE  or  DCE  operation
               with  no loopback, and then query the status of the network
               devices.  Verify that no  asterisk  follows  acp0  when  it
               appears in the netstat display.

               acpconfig acp0 1.0.0.1 -b [baud] -u [1,2]
               netstat -i -n






































                                        4-16











                                 MANUAL INTRODUCTION






           Content.  This manual consists of the chapter shown below.


            Chapter 4: UNIX 4.2/4.3 BSD Network-Interface Driver
                       Installation










































                                          i











                                  TABLE OF CONTENTS


           CHAPTERS                                                   Page
           _______________________________________________________________

           UNIX 4.2/4.3 BSD Network-Interface Driver Installation

              4.1   The acp Network-Interface Driver ................  4-1
              4.2   Distribution Software Contents ..................  4-1
              4.3   Distribution Software Installation Under UNIX
                    4.2/4.3 BSD .....................................  4-2
              4.3.1   acp Driver Installation Under UNIX 4.2/4.3
                      BSD ...........................................  4-2
              4.3.2   acpconfig Installation Under UNIX 4.2/4.3
                      BSD ...........................................  4-5
              4.4   Distribution Software Installation Under TWG
                    EUNICE ..........................................  4-6
              4.4.1   acp Driver Installation Under TWG EUNICE ......  4-7
              4.4.2   acpconfig Installation Under TWG .............. 4-11
              4.5   Network Configuration of the ACP 6100 System
                    ................................................. 4-12
              4.6   Driver Installation Verification ................ 4-14































                                         ii











                                  TABLE OF CONTENTS


           LIST OF FIGURES                                            Page
           _______________________________________________________________

              Figure 4-1    Point-to-Point ACP 6100 Network
                            Configuration ........................... 4-13














































                                         iii











                         ABBREVIATIONS USED IN THIS DOCUMENT


           _______________________________________________________________

              <cr>        Return key
              A           Amperes
              ac          alternating current
              ACC         Advanced Computer Communications
              bits/sec    bits per second
              CCITT       International Consultative Committee for
                          Telephone and Telegraph
              CFB         Cipher Feedback
              CIF         Control Interface
              CPU         Central Processing Unit
              CRI         Communication Register Interface
              dc          direct current
              DCE         Data Circuit-terminating Equipment
              DEC         Digital Equipment Corporation
              Digital     Digital Equipment Corporation
              DIP         Dual Inline Package
              DMA         Direct Memory Access
              DMAC        Direct Memory Access Controller
              DPN         Data Path Number
              DRAM        Dynamic Random Access Memory
              DTE         Data Terminal Equipment
              EEPROM      Electrically Erasable Programmable Read Only
                          Memory
              EIA         Electronic Industries Association
              EPROM       Erasable Programmable Read Only Memory
              FEP         Front-End Processor
              HDLC        High-level Data Link Control
              hex         hexadecimal
              I/O         Input/Output
              ISO         International Standards Organization
              kbits/sec   kilobits per second
              Kbyte       Kilobyte
              LED         Light-Emitting Diode
              M           Mega
              Mbits/sec   Megabits per second
              Mbyte       Megabyte
              MFP         Multi-Function Peripheral
              MHz         Megahertz
              MPCC        Multi-Protocol Communication Controller
              NCP         Network Control Process
              NPG         Non-Processor Grant
              pF          picofarad
              PROM        Programmable Read Only Memory
              QIO         Queued I/O
              RAM         Random Access Memory




                                         iv











                         ABBREVIATIONS USED IN THIS DOCUMENT


           _______________________________________________________________

              ROM         Read Only Memory
              SPC         Small Peripheral Controller
              TWG         The Wollongong Group
              UCSR        UNIBUS Control and Status Register
              V           Volts
              Vdc         Volts, direct current
              MF          microfarad










































                                          v











                                      Chapter 5

                   ULTRIX-32 Network-Interface Driver Installation


           5.1 The acp Network-Interface Driver

           In the ULTRIX-32 environment, the ACP 6100 is supported by  the
           acp  network-interface  driver.   The  acp  driver  provides an
           interface between IP and the ACP 6100 board for connecting to a
           network.  An ULTRIX-32 process communicates with the acp driver
           through the ULTRIX-32 networking software.

           The ACP 6100 board  is  a  UNIBUS  device  with  two  interrupt
           vectors;  it appears as a single device unit to ULTRIX-32.  The
           acp driver can support up to four ACP 6100 devices: acp0, acp1,
           acp2  and  acp3.  If more than one ACP 6100 board is installed,
           each must be named in the system configuration  file,  and  the
           UNIBUS  base  address  jumpers on each additional board must be
           adjusted; see 2.2.1.

           In the ULTRIX-32 network environment, the ACP 6100 is supported
           as  a  point-to-point  link  in  the TCP/IP network.  Thus, all
           network utilities such as network mail  (SMTP),  file  transfer
           (FTP),  remote  login (TELNET), remote shell (RSH), remote user
           information (FINGER), etc., can work between two or more  hosts
           that  each have an ACP 6100.  Further, if one of the hosts is a
           gateway to a larger network, the other host(s) can  access  the
           larger  network  using  the gateway facilities in the ULTRIX-32
           TCP/IP implementation.

           The  following  sections  provide  host  software  installation
           instructions for ULTRIX-32 Version 2.0, a network configuration
           procedure and an installation verification procedure.


           5.2 Distribution Software Contents

           The ACP 6100 UNIX software distribution kit is a  tape  created
           with   the   "tar"   utility;   see  TAR(1)  in  the  ULTRIX-32
           Programmer's Manual.  As specified by the  customer,  the  tape
           density  is  800 or 1600 bpi (bits per inch).  The distribution
           tape contains the following files:


                           makefile
                           acp.c          apconfig.c
                           acpreg.h       acpvar.h
                           acp.4          acp4.txt
                           acpconfig.8c   acpconfig8c.txt




                                         5-1











                           conf.example   readme.txt


           The driver source code is contained  in  acp.c,  acpreg.h,  and
           acpvar.h.   The  acpconfig.c  file contains the source code for
           the acpconfig program; makefile is its makefile.  The acpconfig
           program  is  used to configure the ACP 6100, and is an integral
           part of the installation verification  procedure.   A  template
           configuration  file  for  the  system  is in conf.example.  The
           ULTRIX-32 Programmer's Manual page (source) for the acp  driver
           is   acp.4;  acpconfig.8c  is  manual  text  (source)  for  the
           acpconfig program.   Formatted  outputs  are  in  acp4.txt  and
           acpconfig8c.txt; see appendix C.  The installation instructions
           outlined in following sections are in readme.txt.


           5.3 Distribution Software Installation Under ULTRIX-32

           The  following  installation  instructions  are  step  by  step
           procedures  for  installing  the  distribution  software  under
           ULTRIX-32.  The procedures are divided into two phases.  First,
           the  driver software is installed, and a sysgen is performed to
           include  the  driver  in  your  ULTRIX  kernel.   Second,   the
           acpconfig  program  is installed, and a binary image is created
           using the accompanying makefile.


           5.3.1 acp Driver Installation Under ULTRIX-32.  The ACP 6100 is
           identified  to  the  system  at configuration time, and the acp
           network-interface driver is  then  compiled  into  the  system.
           When  the  resultant  system  is  booted, the autoconfiguration
           facilities in the system probe for the device on the UNIBUS and
           enable  the  software  support  for it.  If the device does not
           respond at autoconfiguration time, it will  not  be  accessible
           afterwards; the system must be rebooted to enable a device that
           did not autoconfigure.  The UNIX Programmer's Manual  page  for
           the   acp   driver   (appendix  C  and  file  acp4.txt  in  the
           distribution kit) describes the  diagnostic  messages  provided
           for acp.

           The following instructions accord with Building  4.2  BSD  UNIX
           Systems  with  Config provided with your ULTRIX distribution in
           Volume III (System Manager)  of  the  Supplementary  documents.
           Refer to that document as you use the following instructions.


           1.  Logon as root.  When adding files  to  the  system,  rename
               existing files that have the same name.  Create a directory
               and read the contents of the tape into the directory with a
               tar command of the following format.




                                         5-2











               tar x





















































                                         5-3











           2.  Add  the  ACC-supplied  files  to   your   system   source-
               directories.    Rename   the  files  in  accord  with  UNIX
               conventions when copying them into your /sys directories as
               shown below.

               cp acp.c /sys/vaxif/if_acp.c
               cp acpreg.h /sys/vaxif/if_acpreg.h
               cp acpvar.h /sys/vaxif/if_acpvar.h
               cp conf.example /sys/conf/ACP

           3.  Modify the system configuration file in the /sys/conf  file
               (file  names  typically  are  uppercase,  e.g., GENERIC) to
               indicate the  ACP  6100  device(s)  and  the  acp  network-
               interface  driver.   The  configuration  file  defines your
               system in terms of global configuration parameters,  system
               image parameters, device specifications and pseudo devices.
               Section 4 of Building 4.2  BSD  UNIX  Systems  with  Config
               describes  configuration  file  syntax;  refer  also to the
               conf.example file.

               Each acp device must have its own line  including  its  own
               unit  number  [0-3], UNIBUS adapter number, and UNIBUS base
               address  [0160000-0177740].   The  acp-device  unit  number
               should be appropriate for the number of ACP 6100s operating
               on the UNIBUS; i.e., the first ACP 6100 should be acp0, the
               second,  acp1,  and  so on.  The address of each acp device
               must correspond to the address set in the  UBA  jumpers  on
               the  ACP  6100  board  (see  2.2.1).   Add  a line with the
               following format for each ACP 6100 in the host system:

              device acp0 at uba0 csr 0167000 vector acpinta acpintb

                                          NOTE

                     Octal addresses are denoted  by  a  leading  0,
                     hexadecimal   values  by  a  leading  0x.   The
                     software  uses  16-bit  addressing  while   the
                     hardware  uses  18-bits.   Hence, octal address
                     767000 set in the UBA jumpers is  indicated  to
                     the software as 0167000.

           4.  If you are using the INET  TCP/IP  code,  verify  that  the
               following  lines  are  present  in the system configuration
               file in /sys/conf.  The networking code might not  function
               correctly without these lines:

               options INET
               pseudo-device inet

           5.  Add the following entry to /sys/conf/files.vax:




                                         5-4











               vaxif/if_acp.c optional acp device-driver Notbinary

           6.  Build a  new  ULTRIX  kernel  by  performing  a  sysgen  as
               described  in  the  ULTRIX-32  documentation.   The command
               sequence below is one possible example; it might not  apply
               to  your  system.   Be  sure to save a copy of the original
               vmunix before you copy the newly created kernel to /vmunix.

               cd /sys/conf
               mkdir ../ACP
               config  ACP
               cd ../ACP
               make depend
               make
               cd /
               cp vmunix vmunix.sav
               cp /sys/ACP/vmunix vmunix

           7.  Perform a system shutdown and boot the  new  kernel.   Note
               lines  of the following form on the console terminal during
               the boot procedure to verify  that  the  acp  interface  is
               successfully  probed  for  valid  UNIBUS  base  address and
               interrupt vectors, attached to the system, and reset.  This
               is  an  example  only;  your  display may contain different
               names and values.

               acp0 at uba0 csr 167000 vec 770, ipl 15

               If you cannot verify this  step,  review  the  installation
               procedure to make sure that you set the UNIBUS base address
               correctly in the configuration file in /sys/conf and on the
               ACP 6100 board.


           5.3.2 acpconfig Installation Under ULTRIX-32.   The   following
           steps  explain  how  to  install  the  acpconfig  program under
           ULTRIX-32.  The ULTRIX-32 Programmer's  Manual  pages  for  the
           acpconfig  program  describe  the  use of the acpconfig program
           (see appendix C or acpconfig8c.txt in the distribution kit).

           1.  Verify the that network-interface driver is installed.  The
               include   file,  if_acpvar.h  must  be  in  the  /sys/vaxif
               directory.

           2.  Create a  directory,  for  example  /usr/src/acc,  for  the
               acpconfig  program files.  Before copying the files, rename
               existing files that have the same  name.   Copy  the  files
               from   the   directory   containing   the  files  from  the
               distribution tape using commands of the following form:

               cp acpconfig.c /usr/src/acc/acpconfig.c



                                         5-5











               cp makefile /usr/src/acc/makefile

           3.  If you have ULTRIX-32 sources, then edit the /sys/h/ioctl.h
               file  to  include  the  following socket ioctls.  Place the
               following lines with other socket ioctls, making sure  that
               they  are  above  the  #endif  statement  at the end of the
               ioctl.h file.

                   /* ACC configuration socket ioctl */
               #define SIOCACPCONFIG _IOWR(i, 70, struct ifreq)
                   /* ACC reserved socket ioctl */
               #define SIOCACPPARAM  _IOWR(i, 71, struct ifreq)
                   /* ACC reserved socket ioctl */
               #define SIOCACPSTATE  _IOWR(i, 72, struct ifreq)

           4.  Invoke the makefile to compile the executable image of  the
               acpconfig program:

               make

           5.  Copy  the  executable  image,  'acpconfig',  to  the   /etc
               directory, or to the directory appropriate for your system.

           6.  Verify that you can access the  program  by  the  following
               command:

               /etc/acpconfig

               In response, you should get a display explaining the proper
               use  of  acpconfig.  You are now ready to use the acpconfig
               program to configure your network interface  (see  appendix
               C).


           5.3.3 Network Configuration of the ACP 6100 System.   The   ACP
           6100  point-to-point  link  must  be  configured in the network
           database as a network with two hosts.  Figure 5-1 depicts  this
           configuration.   If  the  systems  are  to  be connected to the
           Department of Defense internet,  authorization  must  first  be
           obtained from the network management authority.

           1.  Select an unused network number, select a name for the  new
               network,  and  add  the  new  network to /etc/hosts on both
               systems.  The numbers  below  are  for  example  only;  use
               numbers appropriate for your system.

               1.0.0.1 acp-net







                                         5-6











           2.  Select host numbers for each of the  two  systems  and  add
               them to the host database on each system.

               1.0.0.1 acp-first-host
               1.0.0.2 acp-second-host

           3.  Each time the system is rebooted, the ACP 6100 link must be
               brought  up.   The first host is brought up as a DTE (-u 1)
               and the second host as DCE (-u 2).  For each ACP 6100 board
               installed  in  the  system,  add  a  command  line  of  the
               following form to /etc/rc on the first host:

               /etc/acpconfig acp0 1.0.0.1 -b [baud] -u 1

               The second host should have a line as follows in /etc/rc:

               /etc/acpconfig acp0 1.0.0.1 -b [baud] -u 2










                 VAX/ULTRIX host #1               VAX/ULTRIX host #2
                 +----------------+               +-----------------+
                 |                |               |                 |
                 |   host number: |               |   host number:  |
                 | acp-first-host |               | acp-second-host |
                 |                |               |                 |
                 +----------------+               +-----------------+
                    | ACP 6100 |                     | ACP 6100 |
                    +----------+                     +----------+
                        (DTE)                            (DCE)

                 acpconfig acp0 -u 1              acpconfig acp0 -u 2


             Figure 5-1.  Point-to-Point ACP 6100 Network Configuration












                                         5-7











           5.3.4 Driver Installation Verification.            Installation
           verification  should  be performed on each host in which an ACP
           6100 is installed.  One way to verify correct  installation  of
           the  ACP  6100 board and the acp network-interface driver is to
           configure the system for internal or external loopback and  use
           the  ftp  network  utility  to  transfer  a file; see ULTRIX-32
           Programmer's Manual entry ftp(1C).

           The following instructions explain how  to  use  the  acpconfig
           program  to configure the system for external loopback and then
           use ftp to verify the installation.  If  the  results  are  not
           successful,  the  procedure  should  be repeated using internal
           loopback.

           If internal loopback tests  are  successful  and  the  external
           loopback  tests  were  not, the loopback connector might not be
           correctly installed in the ACP  6100  distribution  panel.   If
           internal  loopback  tests are unsuccessful, verify that the ACP
           6100 board is jumpered for the correct UNIBUS base address  and
           that it is properly seated in the UNIBUS backplane.

           1.  Install the ACP 6100 board as  directed  in  2.3,  Hardware
               Installation  Procedures,  and  insert a loopback connector
               (see figure 3-3), into the distribution panel.

           2.  Verify  the  acp  network-interface  driver  was  installed
               according to the installation instructions above.

           3.  Verify the acpconfig program was installed according to the
               installation instructions above.

           4.  Define an alias for acpconfig and  enter  commands  of  the
               following form in accord with your system configuration.

           5.  Invoke the acpconfig program to set  the  internet  address
               and  set  the  configuration  for  external  loopback.  The
               internet address 1.0.0.1 is used only for example; use  one
               that applies to your system.

               acpconfig acp0 1.0.0.1 -b 56k -u 3

           6.  Use the "netstat -i -n" command to check the status of  the
               acp  device  and display all network devices autoconfigured
               on your system.  Absence of an asterisk next to acp0 in the
               netstat  display  indicates  successful  completion  of the
               acpconfig program.

               netstat -i -n

               Name Mtu  Network      Address     Ipkts Ierrs Opkts Oerrs Collis
               acp0 4096 0.0.0        1.0.0.1     0     0     0     0     0



                                         5-8











               lo0  1536 loopback-n   localhost   0     0     0     0     0

           7.  Invoke the ftp program to  transfer  a  file  to  the  null
               device.    Connection   confirmation   and   identification
               information are displayed after the ftp 1.0.0.1 command  is
               entered.    Refer  to  the  ULTRIX-32  Programmer's  Manual
               section FTP(1C) for further information.

               ftp 1.0.0.1

               Connected to 1.0.0.1
               220 Curry/ACPTST Testing FTP Server (Version 4.81 Mon Sep 26
                       08:36:28 PDT 1983) ready,

           8.  Following successful connection, you are prompted to  login
               to  the  remote host.  Enter your account name; the example
               uses the  root  account.   You  are  then  prompted  for  a
               password;  for  security  reasons  it  is not echoed to the
               screen as it is entered.  Successful login to the  'remote'
               host  is actually a login to the local host because the ACP
               6100 board is configured for external loopback.

               Name (1.0.0.1:root):  root
               Password (1.0.0.1:root):

               331 Password required for root.
               230 User root logged in.

           9.  Set the file transfer type to binary-image transfer.

               ftp> bin

               200 Type set to I.

           10. The example below copies a large file named /vmunix to  the
               null  device  /dev/null.   The  get  command  retrieves the
               /vmunix file and stores it in /dev/null.

               ftp> get /vmunix /dev/null

               200 PORT command OK.
               150 Opening data connection for /vmunix (1.0.0.1, 1025)
                                                        (245760 bytes).
               226 Transfer complete.
               245760 bytes received in 7.45 seconds (32 Kbytes/s)

           11. Exit the ftp utility.  The bye command terminates  the  FTP
               session  with  the remote server and returns to the command
               interpreter.

               ftp> bye



                                         5-9











               221 Goodbye.

           12. You could use the telnet utility as an additional test; see
               TELNET(1C).

           13. Remove the loopback cable connector.

           14. Reset the configuration for normal  DTE  or  DCE  operation
               with  no loopback, and then query the status of the network
               devices.  Verify that no  asterisk  follows  acp0  when  it
               appears in the netstat display.

               acpconfig acp0 1.0.0.1 -b [baud] -u [1,2]
               netstat -i -n








































                                        5-10











                                 MANUAL INTRODUCTION






           Content.  This manual consists of the chapter shown below.


            Chapter 5: ULTRIX-32 Network-Interface Driver
                       Installation










































                                          i











                                  TABLE OF CONTENTS


           CHAPTERS                                                   Page
           _______________________________________________________________

           ULTRIX-32 Network-Interface Driver Installation

              5.1   The acp Network-Interface Driver ................  5-1
              5.2   Distribution Software Contents ..................  5-1
              5.3   Distribution Software Installation Under
                    ULTRIX-32 .......................................  5-2
              5.3.1   acp Driver Installation Under ULTRIX-32 .......  5-2
              5.3.2   acpconfig Installation Under ULTRIX-32 ........  5-5
              5.3.3   Network Configuration of the ACP 6100 System
                      ...............................................  5-6
              5.3.4   Driver Installation Verification ..............  5-8





































                                         ii











                                  TABLE OF CONTENTS


           LIST OF FIGURES                                            Page
           _______________________________________________________________

              Figure 5-1    Point-to-Point ACP 6100 Network
                            Configuration ...........................  5-7














































                                         iii