MICRONOTES
================================================================================
Note 38.0                   DECnet Down-line Loading                  No replies
FURILO::GIORGETTI                                   529 lines   4-SEP-1985 15:54
--------------------------------------------------------------------------------



      +---------------+                                    +-----------------+
      | d i g i t a l |                                    |  uNOTE # 038    |
      +---------------+                                    +-----------------+


      +----------------------------------------------------+-----------------+
      | Title: DECnet Down-line Loading                    | Date: 26-Jul-85 |
      +----------------------------------------------------+-----------------+
      | Originator: Scott D. Blessley                      | Page 1 of 9     |
      +----------------------------------------------------+-----------------+


      This article overviews the downline load  process  used  by  DECnet  for
      remote  loading  of  PDP-11  and  VAX processors.  Downline loading is a
      versatile and complicated process.   This  article  is  intended  as  an
      introduction/aid to the process, not a tutorial.  An extensive reference
      list appears at the  end  of  the  article  for  readers  interested  in
      pursuing the subject further.



      1  OVERVIEW OF THE DOWNLINE LOAD PROCESS

      DECnet downline load is the set of hardware and software features  which
      allow  complete  systems  (RSX-11S and VAXELN) to be loaded into remote,
      potentially unattended processors.   In  addition,  RSX-11S  offers  the
      capability to:  dynamically load tasks over comm lines, checkpoint tasks
      out of memory over the line, and upline dump a failed operating  system.
      RSX-11S  functionality  is  a subset of those features found in RSX-11M.
      VAXELN also features a symbolic debugger that allows debug of the target
      from the host processor.



      2  DEFINITIONS

      2.1  HOST

      The host [node] (for this discussion) refers to both the  machine  which
      originates  the  load,  as well as the machine which loads the software.
      In actuality, these need not be the same machine.



      2.2  TARGET

      The target [node] is the machine being loaded  with  new  software.   It
      must  be  powered  up,  but  may  or may not have to be awaiting primary
      bootstrap, depending on its communications  bootstrap  device  and  boot
      options.



                                  369

uNOTE # 038
Page 2 of 9


      2.3  EXECUTOR

      The executor [node] is the node which initiates the commands to downline
      load a target.  It need not be the same as the host.

                           +------------+
                           |            |
                           | TARGET     |<----------+
                           | (HOBSON::) |           |
                           +------------+           |
                              ^  |                  |
             Operating System |  | Load request     |
                              |  |                  |
                              |  |                  |
                              |  |                  |
                              |  |                  | NCP>TRIGGER NODE HOBSON
                              |  v                  v
                           +------------+      +------------+
                           |            |      |            |
                           | HOST       |      | EXECUTOR   |
                           | (FURILO::) |      | (FURILO::) |
                           +------------+      +------------+
                                     ( ^ same CPU or  ^
                                                     different)


               Relationship between host, target, and executor nodes



      3  PREPARING FOR DOWNLINE LOAD

      There are three overall steps:

       o  Configuring the communications hardware  -  both  on  the  host  and
          target systems

       o  Configuring the DECnet software and the operating system image  that
          will be loaded.

       o  Verification and testing.

      The most frequent problem is the failure to correctly configure the host
      and/or target hardware.  There are two principal places for error:

       -  setting DIP switches inappropriately  resulting  in  incorrect  line
          speeds, wrong power-up boot options (BSEL switches), etc.

       -  Skew  between  hardware  configuration  and  software  (for  example
          mis-specifying the vector/CSR or the Ethernet address for the target
          device).  Be sure  to  have  the  latest  version  of  the  hardware
          manuals.

                                  370

                                                           uNOTE # 038
                                                           Page 3 of 9


      Specific points to be careful about:

      1.  Vector/CSR

      2.  B[oot]SEL[ect] switches - these specify under  what  conditions  the
          comm interface will force a bootstrap.

      3.  Service password - this  is  a  protection  feature  to  lessen  the
          likelihood of an inadvertent or malicious downline load.

      4.  Ethernet address (Ethernet circuits only) - the unique address  that
          the target Ethernet device will respond to.

      5.  Service circuit - this identifies at the end of which wire to expect
          the target.

      6.  Enable SERVICE for the circuit being downline loaded.  This  enables
          the DECnet software to start the downline load process on the host.

      7.  Make sure event logging is enabled, or you'll miss error messages.

      8.  It may seem obvious, but make  sure  that  the  target  comm  device
          you're  using,  and  the  processor bootstrap are *capable* of doing
          what  you  ask.   For  details,  see  uNote  #015,  "Q-bus  Hardware
          Bootstraps"




      4  RSX-11S OVERVIEW

      Configure the RSX-11S image on a VAX/VMS, RSX-11M  or  RSX-11M+  system,
      using  the  normal tools (SYSGEN, MAC, TKB, VMR).  Prepare and build the
      host loader table.  (Refer to the References section  for  documentation
      on RSX downline load procedures)



      5  VAXELN OVERVIEW

      The program/VAXELN image development sequence is:

      1.  Develop the source modules

      2.  LINK the source modules with the RTLSHARE.OLB and RTL.OLB libraries

      3.  EBUILD the LINKed image to produce a bootable VAXELN system.  To  be
          able  to downline load the VAXELN image, you must select Boot Method
          DOWNLINE in the VAXELN System Characteristics portion of EBUILD.




                                  371

uNOTE # 038
Page 4 of 9


      4.  Downline load the target over Ethernet (this is not the only  method
          of  loading  a  VAXELN  target).   The  target can be loaded through
          EDEBUG commands, or via NCP LOAD/TRIGGER commands.

      5.  Debug the application and repeat steps 1-4.



      +------------+     +------------+     +------------+     +------------+
      |PASCAL or C |.OBJ |$ EPAS or   |.EXE | $ EBUILD   |.SYS | $ EDEBUG   |
      |source prog.|---->|$ CC        |---->|            |---->| or NCP     |
      +------------+     +------------+     +------------+     +------------+
                                                      ^
                                                      | Other VAXELN
                                                      | modules
                                                      |


                        VAXELN Program development sequence



      6  OBSERVING & DEBUGGING

      There are a variety of error indications, and diagnostic aids available.
      Some  are at the hardware level (comm device diagnostic LEDs), some from
      the host software (upline dump for RSX-11S, EDEBUG for VAXELN).   Others
      are provided by the DECnet components that handle downline load, through
      the EVL (EVent logger) capability.  Some diagnostic facilities:

      1.  Device status  LEDs  give  a  numeric  indication  as  to  potential
          hardware,  or  hardware configuration problems with the interface or
          its connections.

      2.  Event logging messages:

           -  Event code 0.3 - Auto service:  indication that a portion  of  a
              DLL is taking place.

           -  Event code 0.7 - Aborted service  request:   indication  that  a
              portion  of  a  DLL load request is failing.  This is not always
              bad.  For example, it is an  acceptable  "error"  when  multiple
              hosts (on an Ethernet) offer service and the target accepts only
              one.  The remaining systems report event 0.7.  EVL messages come
              with  varying  amounts  of diagnostic information.  A 0.3 or 0.7
              event includes the type of load being requested, from  where  it
              is requested, to whom it is requested, etc.






                                  372

                                                           uNOTE # 038
                                                           Page 5 of 9


      3.  Failure message from NCP on LOAD/TRIGGER commands -  may  give  some
          insight as to the source of the problem

      4.  Line/circuit counters - indicate how much data has been  transmitted
          and received , and what errors have occurred.

      Remember:  Enable event  logging:   NCP  SET  LOGGING    KNOWN
      EVENTS  STATE  ON.   Otherwise,  EVL  will  not  display this diagnostic
      information!



      7  EXAMPLES

      One the next three pages are examples showing the successful load  of  a
      terminal  server and a VAXELN target.  The appearance of the output will
      be approximately the same for your targets,  only  with  different  node
      names and files.



































                                  373

uNOTE # 038
Page 6 of 9






      $ reply/enable=network

      %%%%%%%%%%%  OPCOM  26-JUL-1985 13:09:11.96  %%%%%%%%%%%
      Operator _FURILO$RTA1: has been enabled, username BLESSLEY
      %%%%%%%%%%%  OPCOM  26-JUL-1985 13:09:11.99  %%%%%%%%%%%
      Operator status for operator _FURILO$RTA1:
      NETWORK

      $ run sys$system:ncp
      NCP>show node hobson characteristics      !Hobson is a DECserver 100

      Node Volatile Characteristics as of 26-JUL-1985 13:10:49

      Remote node =   13.102 (HOBSON)

      Service circuit          = UNA-0
      Hardware address         = 08-00-2B-02-0F-5F
      Load file                = SYS$SYSROOT:[DECSERVER]PS0801ENG.SYS
      Dump file                = SYS$SYSROOT:[DECSERVER]PSDMP0F5F.SYS

      NCP>trigger node hobson
      NCP>^Z

      %%%%%%%%%%%  OPCOM  26-JUL-1985 13:10:13.16  %%%%%%%%%%%
      Message from user DECNET on FURILO
      DECnet event 0.3, automatic line service
      From node 7.272 (FURILO), 26-JUL-1985 13:10:13.04
      Circuit UNA-0, Load, Requested, Node = 13.102 (HOBSON)
      File = MOM$LOAD:PS0801ENG, Operating system, Ethernet address
      = 08-00-2B-02-0F-5F

      %%%%%%%%%%%  OPCOM  26-JUL-1985 13:10:18.08  %%%%%%%%%%%
      Message from user DECNET on FURILO
      DECnet event 0.3, automatic line service
      From node 7.272 (FURILO), 26-JUL-1985 13:10:16.40
      Circuit UNA-0, Load, Successful, Node = 13.102 (HOBSON)
      File = MOM$LOAD:PS0801ENG, Operating system,
      Ethernet address = 08-00-2B-02-0F-5F


                        DECserver-100 Downline Load Example








                                  374

                                                           uNOTE # 038
                                                           Page 7 of 9


      Below is an example of down-line load of  a  MicroVAX  II  system  using
      EDEBUG.   The  first  part of the illustration shows the DECnet volatile
      database entries for the target, as seen from the system that ultimately
      boots the target, and from another that fails to boot the target.

      [This command is issued on system "BELKER"]

      BELKER> NCP SHOW NODE TUBBS CHARACTERISTICS

      Node Volatile Characteristics as of  7-AUG-1985 10:38:59
       
      Remote node =   7.453 (TUBBS)
       
      Service circuit          = UNA-0
      Hardware address         = 08-00-2B-02-1C-63
      Load file                = DISK$USER:[SAMPLE.ELN]CHER.SYS;
       
      [This command is issued from system "FURILO"]

      FURILO> NCP SHOW NODE TUBBS CHARACTERISTICS

      Node Volatile Characteristics as of  7-AUG-1985 10:40:52
       
      Remote node =   7.453 (TUBBS)
       
      Load file                = DISK$USER:[SAMPLE.ELN]CHER.SYS;

      -----------------------------------------------------------------------
                Command to downline load the VAXELN image from EDEBUG:

      [This command and related output is from system "BELKER"]

      $ EDEBUG/LOAD=PROG1 TUBBS

      Edebug V2.0-00
      Loading "TUBBS"
      Connecting to "TUBBS"

      .
      .
      .
      (screen mode debugger)

                Event log messages resulting from the EDEBUG command:

      DECnet event 0.7, aborted service request
      From node 7.272 (FURILO),  6-AUG-1985 16:13:14.46
      Circuit UNA-0, Line open error, Unrecognized component, Node
      Ethernet address = 08-00-2B-02-1C-63
                ^ FURILO:: didn't have this address defined in its
                  volatile database so it couldn't service the request


                                  375

uNOTE # 038
Page 8 of 9


      DECnet event 0.3, automatic line service
      From node 7.190 (BELKER),  6-AUG-1985 16:12:51.34
      Circuit UNA-0, Load, Requested, Node = 7.453 (TUBBS)
      File = DISK$USER:[SAMPLE.ELN]CHER.SYS;, Operating system
      Ethernet address = 08-00-2B-02-1C-63
                ^ BELKER:: did have the address, corresponding to an
                  entry for "TUBBS::" Here, the target system is 
                  requesting an operating system load. BELKER's DECnet
                  software is acknowledging the request.

      DECnet event 0.3, automatic line service
      From node 7.190 (BELKER),  6-AUG-1985 16:12:57.62
      Circuit UNA-0, Load, Successful, Node = 7.453 (TUBBS)
      File = DISK$USER:[SAMPLE.ELN]CHER.SYS;, Operating system
      Ethernet address = 08-00-2B-02-1C-63
                  BELKER responds with packet(s) containing the
                  requested O.S. code for the target 
       



      8  SUMMARY

      This Micronote  has  presented  an  overview  of  the  downline  loading
      process.   Many  "components" are involved in the process - at least two
      CPUs and at least two communication interfaces, target operating  system
      and  images  plus  host,  target,  and  executor  DECnet  software.  The
      procedure is akin to bringing up a complex, customized operating  system
      up on a remote processor, without a local load device.  Once configured,
      it offers the  benefits  of  not  requiring  any  mass  storage  devices
      (resulting in higher MTBF and lower cost), plus the ability to bootstrap
      a processor which my be  physically  inaccessible.   There  is  a  great
      amount  of  information  on  DECnet  downline  load.  There is no single
      compendium, although each  of  the  supported  operating  systems,  plus
      VAXELN have a chapter on the subject.


















                                  376

                                                           uNOTE # 038
                                                           Page 9 of 9


      9  REFERENCES

      All of the following references are to Digital publications.

          DECnet-RSX Volume IV - System Manager's Guide AA-H224C-TC

          Guide to Networking VAX/VMS - AA-Y512A-TE (chapter 4)

          QMA DMV11 Synchronous Controller Technical Manual EK-DMVQM-TM

          DEQNA User's Guide EK-DEQNA-UG

          DECnet Digital Network Architecture (Phase IV)  General  Description
          AA-N149A- TC

          DECnet  Digital  Network   Architecture   (Phase   IV)   Maintenance
          Operations Functional Specification AA-X436A-TC

          Networks and Communications Buyer's Guide ED-26347

          "VAXELN Installation and Programming" AA-Z454A-TE

          "MicroVax I Owner's Manual" EK-KD32-OM

          "MicroVAX I Owner's Manual" (Release Notes) EK-KD32A-OM-CN1

          Micronote #015, "Q-Bus Hardware Bootstraps"

      Software Product Descriptions:

          DECnet-11S #10.74

          DECnet-11M #10.75

          DECnet-11M+ #10.66

          DECnet-VAX #25.03
















                                  377