





                        *DECnet-DOS V2.0 RELEASE NOTES*











































































































                                     1







                                    PREFACE





    DECnet-DOS V2.0 is the name given to a family of products which includes

    DECnet-VAXmate  V2.0  and  DECnet-DOS V2.0.  The following release notes

    include updated information for DECnet-DOS V2.0 and DECnet-VAXmate V2.0.

    You should use these notes in conjunction with the material presented in

    the DECnet-DOS documentation set.



    Please refer to the Software Product Descriptions  for  DECnet-DOS  V2.0

    (SPD  50.15.03)  and  DECnet-VAXmate  V2.0  (SPD 55.05.02) for a list of

    supported hardware and software configurations.



    Some of the information presented in this document  is  very  technical.

    If  you  do not understand the material, you should seek assistance from

    the person who is responsible for configuring your network.



    Be sure to read Chapter 1  for  important  information.   Refer  to  the

    installation  manuals  before  installing  DECNET-DOS or DECNET-VAXmate.

    The DECNET-VAXmate kit is for the VAXmate PC only.  Use  the  DECNET-DOS

    kit for all the other supported PC configurations.



    Read  the  Chapter  3  here  for  procedures  to  follow   when   making

    asynchronous   connections.   Chapter  3  does  not  apply  to  Ethernet

    connections.



    Scan the table of contents for future reference.  The remaining chapters

    contain  additional  information.   Refer to Chapters 2 and 4 if you run

    into  problems.   Chapter  2   covers   some   hardware   and   software

    compatibility  issues.   Chapter  4  is organized by software component.

    Chapter 5 will help out if you have performance problems.  Chapter 6  is

    only  for  those who write DECNET-DOS applications.  Chapter 7 lists the

    sample SETHOST script files on the kit.











































                                     2







                                   TRADEMARKS





    3Com is a trademark of 3Com Corporation.



    MS and MS-DOS is a trademark of Microsoft Corporation.



    MICOM-InterLan is a registered trademark of MICOM Systems, Inc.



    8086 and 8088 are trademarks of Intel Corporation.



    IBM  is  a  registered  trademark  of  International  Business  Machines

    Corporation.



    COMPAQ is a registered trademark of COMPAQ Computer Corporation



    VAXmate, DEC,  TOPS-10,  TOPS-20,  DECsystem-10,  DECSYSTEM-20,  ULTRIX,

    RSX-11,  VAX,  VMS, DECnet-VAX, DEPCA, PCSA and DECnet are trademarks of

    Digital Equipment Corporation.







































































                                  3







                                   CONTENTS







CHAPTER 1       IMPORTANT HINTS AND RESTRICTIONS





CHAPTER 2       SYSTEM CONFIGURATION AND COMPATABILITY ISSUES



        2.1     PERFORMANCE LIMITS ON 8088 OR 8086 BASED MACHINES. 2-1

        2.2     SOFTWARE CLOCK INTERRUPT USE FOR IBM PC OR PC/XT.  2-2

        2.3     REAL TIME CLOCK USE FOR IBM PC/AT. . . . . . . . . 2-2

        2.4     DEVICE CONFLICTS.  . . . . . . . . . . . . . . . . 2-2

        2.5     "I DON'T WANT INTERRUPTS" PARANOIA.  . . . . . . . 2-3

        2.6     NON-COMPATIBLE SYSTEM TYPES CODES  . . . . . . . . 2-3





CHAPTER 3       ASYNCHRONOUS INSTALLATION



        3.1     GENERAL HINTS  . . . . . . . . . . . . . . . . . . 3-1

        3.2     ON THE VAX . . . . . . . . . . . . . . . . . . . . 3-3

        3.3     ON THE PERSONAL COMPUTER . . . . . . . . . . . . . 3-4

        3.4     TERMINATING A SWITCHED DDCMP CONNECTION  . . . . . 3-5

        3.5     MISCELLANEOUS INFORMATION  . . . . . . . . . . . . 3-5





CHAPTER 4       RESTRICTION AND PROBLEMS



        4.1     PC DOS V3.2  . . . . . . . . . . . . . . . . . . . 4-1

        4.2     DIP - DECNET INSTALLATION PROGRAM  . . . . . . . . 4-1

        4.3     SETHOST - NETWORK VIRTUAL TERMINAL . . . . . . . . 4-3

        4.3.1     PC SETHOST   . . . . . . . . . . . . . . . . . . 4-5

        4.3.2     VAXmate SETHOST  . . . . . . . . . . . . . . . . 4-6

        4.4     NCP - NETWORK CONTROL PROGRAM  . . . . . . . . . . 4-6

        4.5     DLL - DATA LINK LAYER  . . . . . . . . . . . . . . 4-7

        4.6     DNP - DECNET NETWORK PROCESS . . . . . . . . . . . 4-8

        4.7     DECNET - DECNET-DOS MENU INTERFACE . . . . . . . . 4-8

        4.8     NFT - NETWORK FILE TRANSFER  . . . . . . . . . . . 4-9

        4.8.1     NFT (Windows Version)  . . . . . . . . . . . .  4-10

        4.9     FAL - FILE ACCESS LISTENER . . . . . . . . . . .  4-11

        4.10    SPAWNER - JOB SPAWNER  . . . . . . . . . . . . .  4-11

        4.11    DNETLIB - C PROGRAMMING LIBRARY  . . . . . . . .  4-11

        4.12    TFA - TRANSPARENT FILE ACCESS  . . . . . . . . .  4-12

        4.13    MAIL - MAIL SEND   . . . . . . . . . . . . . . .  4-12

        4.14    NDU - NETWORK DISK UTILITY . . . . . . . . . . .  4-13

        4.14.1    NPDRV - Virtual Printer Driver . . . . . . . .  4-17

        4.15    DTS/DTR - DATA TEST SENDER/RECEIVER  . . . . . .  4-17





CHAPTER 5       TUNING DECNET-DOS



        5.1     NCP - NETWORK CONTROL PROGRAM  . . . . . . . . . . 5-1

        5.1.1     New NCP Parameters . . . . . . . . . . . . . . . 5-3



                                  4







        5.2     RESPONSIVENESS TO LOST PACKETS . . . . . . . . . . 5-4

        5.3     CONNECTION PERSISTENCE . . . . . . . . . . . . . . 5-4

        5.4     APPLICATION PERFORMANCE  . . . . . . . . . . . . . 5-5

        5.5     SINGLE BUFFERED ETHERNET ADAPTERS  . . . . . . . . 5-6

        5.6     TURNING OFF MULTICAST RECEIVE  . . . . . . . . . . 5-7

        5.7     DECNET-DOS COUNTERS  . . . . . . . . . . . . . . . 5-8

        5.7.1     GENERAL  . . . . . . . . . . . . . . . . . . . . 5-8

        5.7.2     LINE COUNTERS  . . . . . . . . . . . . . . . . . 5-8

        5.7.3     CIRCUIT COUNTERS . . . . . . . . . . . . . . . . 5-9

        5.7.4     EXECUTOR COUNTERS  . . . . . . . . . . . . . . . 5-9

        5.8     DNP - DECNET NETWORK PROCESS . . . . . . . . . .  5-10

        5.8.1     Datalink Differences . . . . . . . . . . . . .  5-11

        5.8.2     Memory Size Control  . . . . . . . . . . . . .  5-11





CHAPTER 6       C PROGRAMMING LIBRARY INTERFACE



        6.1     V2.0 SOCKET INTERFACE - NEW IOCB (IOCB.H)  . . . . 6-1

        6.2     IMPACT AND MIGRATION . . . . . . . . . . . . . . . 6-2

        6.3     NEW PLISTS SUPPORTED (DNMSDOS.H) . . . . . . . . . 6-3

        6.4     NEW IOCB IO_FLAGS (IOCB.H) . . . . . . . . . . . . 6-3

        6.5     NEW SOCKET OPTIONS (DN.H)  . . . . . . . . . . . . 6-4

        6.6     MISCELLANEOUS FUNCTIONAL ENHANCEMENTS  . . . . . . 6-5





CHAPTER 7       SETHOST SCRIPT FILES 





CHAPTER 8       UNSUPPORTED UTILITIES LIST



















































                                     5

























                                 CHAPTER 1



                      IMPORTANT HINTS AND RESTRICTIONS









1.  The following applies if you write your own DECnet-DOS applications.  If

    linking   with   DNET.LIB,  your  C  application  code  must  pack  data

    structures.



    When compiling, you MUST use the compiler-specific switch that makes the

    compiler  pack data structures.  This is REQUIRED for BOTH your code and

    the programming library built from the supplied sources.



     o  The PC version of SETHOST uses certain PC  interrupt  vectors  which

        may conflict with other software prodcuts.



        The SETHOST utility uses interrupt 10H of the IBM BIOS while running

        to  control  screen output, and takes over keyboard interrupt 09H to

        handle keyboard input.  Any other  programs  that  you  may  use  to

        enhance  the  keyboard  or  display operation may interfere with the

        operation of this utility.



     o  DECNET.EXE  (DECnet-DOS  menus)  is  written  for  the  non-windowed

        environment  and  is  not  supported  in the windows environment for

        DECnet-DOS V2.0.



     o  DECnet-DOS V2.0 does not support Windows V2.0.



     o  VMS does  not  support  VMS-initiated  binary  file  copies  to/from

        systems  whose  file systems are not RMS based (such as DECnet-DOS).

        This is a restriction of VMS 4.6 and later.  This limitation affects

        the DECnet-DOS File Access Listener (FAL).



        The error message displayed on the VMS system if this type  of  file

        operation is requested is:



        RMS-F-BUG_DAP, Data Access  Protocol  error  detected;  DAP  code  =

        01F7A001



        -RMS-F-IRC, illegal record encountered; VBN or record number = 0



        -RMS-F-SUPPORT, network operation not supported



                                    1-1

                      IMPORTANT HINTS AND RESTRICTIONS





     o  In networks with heavy traffic or high  speed  VAX-BI  systems  with

        DEBNA  Ethernet  controllers,  DIGITAL  recommends  the usage of the

        multi-buffered DEPCA Ethernet controller.



     o  Each datalink (3COM, MICOM, DEPCA, and VAXmate)  is  dependent  upon

        tuning  parameters  which are set when DIP installs DECnet-DOS.  The

        wrong NCP parameter settings  can  cause  a  tremendous  performance

        loss.  For example, NCP EXEC NAK QUOTA must be equal to the NCP EXEC

        RECEIVE  PIPE  QUOTA  for  3COM  cards.   Another  example   is   if

        DECPARM.DAT is missing, only 16 buffers are allocated instead of the

        typical 24.



        If DECnet-DOS is  installed  manually,  the  NCP  tuning  parameters

        should be manually adjusted as well.



     o  VGA add-in graphics adapter boards are not supported under Ethernet.

        If DECnet-DOS is started with a VGA adapter installed on PC machines

        with an XT or AT bus, the PC will fail to work at all.









































































                                    1-2

























                                 CHAPTER 2



               SYSTEM CONFIGURATION AND COMPATABILITY ISSUES







    In general DECnet-DOS attempts to use the PC system hardware and  MS-DOS

    in  the  most  well  behaved  manner as possible.  However, there can be

    problems with system configurations, third party compatible systems that

    aren't fully IBM compatible, and non well behaved software.



    If you experience problems when running an  application  program  please

    consider  these  situations  and  possible  solutions:   (Remember,  one

    application can exhibit more than one of these problems at a time.)







    2.1  PERFORMANCE LIMITS ON 8088 OR 8086 BASED MACHINES.



    The following limitation applies to Ethernet configurations when 3COM or

    MICOM  boards  are  installed on 8088 or 8086 based machines.  Sometimes

    there will be diskette drive problems.



    On PC's which are NOT identified  as  PC/AT  machines,  floppy  diskette

    drive  usage  is  problematical based on background network traffic.  In

    many cases, diskette drives will fail to function  properly  because  of

    DMA  timing  problems.   Attempts  to format diskettes can result in bad

    sectors being flagged when in fact there are  no  bad  sectors.   Device

    errors can occur with the message "Abort, Retry, Ignore?".  (Retrys will

    often work.)



    The  workarounds  for  these  diskette  operational   problems   include

    disconnection  from  the  network,  use  of a DEPCA, use of a PC/AT, and

    disabling  multicast  receives  which   is   described   under   "Tuning

    DECnet-DOS".



    Do not install DECnet-DOS or run DIP with the above configuration unless

    any  active  Ethernet  connection is physically disconnected by removing

    the wire connection.  This helps  prevent  the  "Abort,  Retry,  Ignore"

    display during kit installation.











                                    2-1

               SYSTEM CONFIGURATION AND COMPATABILITY ISSUES





    2.2  SOFTWARE CLOCK INTERRUPT USE FOR IBM PC OR PC/XT.



    In order for DECnet, in the background, to  time  events  (for  recovery

    from  lost messages), it must receive clock interrupts.  To do this, the

    SCH  component  becomes  the  software  clock  interrupt  (1C)  handler.

    Application   programs  requiring  clock  interrupts  (e.g.   continuous

    date/time displays) may also wish to be  the  software  clock  interrupt

    handler.



    If other application programs use interrupt  1C,  they  must  also  pass

    control on to any previous interrupt 1C handler that may have previously

    connected to the interrupt.  Also, they must finish their processing  in

    quickly as they are holding up the entire system.



    SCH attempts to protect itself from applications that would not properly

    chain  interrupt  1C, by processing MS-DOS interrupt 21 functions 25 and

    35 itself.



    Applications that write directly to the low memory  vector  table,  will

    defeat this attempted protection, and may cause the network to fail.



    Also, synchronous network requests should not be done from  within  time

    tick interrupts.  They will cause the network to hang.  Use MSG_USRWAIT,

    or MSG_ASYNC requests, as the DNP kernel will not run during time ticks.







    2.3  REAL TIME CLOCK USE FOR IBM PC/AT.



    On the IBM PC/AT, DECnet uses the real time (CMOS) clock to time events.

    It directly programs the real time clock device.  If a compatible PC ROM

    system type claims to be an IBM PC/AT, but does not provide an identical

    real  time  clock, DECnet will not run properly.  If the real time clock

    on an IBM PC/AT is disabled, or in use  by  a  user  developed  program,

    DECnet will not run properly.



    Solution:



    The SCH component has a switch (/S) that causes it to change behavior as

    if  it  were  on  an  PC/XT  compatible.   Specifying this switch on the

    command line for loading SCH, causes it to ignore the CMOS clock and use

    the 1C interrupt for timing instead.







    2.4  DEVICE CONFLICTS.



    Asynchronous  DECnet  requires  the  use  of  an  asynchronous   device.

    Ethernet  DECnet  requires  the  use of an Ethernet device.  Each device

    uses one or more addresses in the I/O address range and uses one of  the

    interrupt  request  lines.   If two installed devices conflict in either

    I/O base address or IRQ number, they will not  work.   The  most  common

    example is use of an Ethernet controller at IRQ 3 and COM2.



                                    2-2

               SYSTEM CONFIGURATION AND COMPATABILITY ISSUES





    Solution:



    Remove the  conflicting  hardware  device  or  reconfigure  one  of  the

    hardware  devices.   With DECnet-DOS V2.0 product, both I/O base address

    and IRQ number for the Ethernet controllers can be set  in  software  to

    match any configuration the hardware can support.







    2.5  "I DON'T WANT INTERRUPTS" PARANOIA.



    A number of  software  products  execute  a  code  sequence  to  prevent

    interrupts  from  communications  adapters.   If  this  is  done  to the

    asynchronous or Ethernet adapter interrupt currently in use  by  DECnet,

    the network will fail.



    Such programs should most likely not be used while DECnet-DOS is active.

    However,  if  you  believe the risk is small, they can be patched by the

    following procedure.



    Patching out interrupt masks:



    The SCH.EXE component supplied with DECnet-DOS V2.0 product set attempts

    to  circumvent  this  problem  if  possible.   If this fails, remove the

    offending code sequence from the application or switch the adapter's IRQ

    number.  The common paranoia code only affects IRQ3 and IRQ4.  To remove

    the code sequence, use DEBUG to search for the code sequence:



                in al,21h

                or al,18h

                out 21h,al



    and NOP the out instruction.



    Note:  Such a change may cause your application to fail or  may  not  be

    allowed by your software license.







    2.6  NON-COMPATIBLE SYSTEM TYPES CODES



    When DECnet-DOS DNP installs, it tries to determine the system  type  by

    checking  location  FFFFE  in  the ROM BIOS.  On a COMPAQ Portable PLUS,

    this location is not set to the IBM standard identifier,  and  thus  DNP

    comes  up  with  the  message  "Unknown  system  type,  defaulting to PC

    compatible." DNP will treat the system as a PC-XT  compatible  and  this

    cannot be modified by the user.



    The SETHOST program also maintains a system  type  for  the  purpose  of

    defaulting  the  correct keyboard mapping.  This mapping is user setable

    via Setup options within the SETHOST program.







                                    2-3

























                                 CHAPTER 3



                         ASYNCHRONOUS INSTALLATION







    3.1  GENERAL HINTS





     o  When connecting your IBM personal  computer  to  the  adjacent  node

        using  an  Asynchronous DDCMP connection through a null modem cable,

        remember to switch the send and receive leads properly.



     o  The use of a terminal switch or a terminal server  running  LAT  for

        connection  of  your  DECnet-DOS  system to the adjacent node is not

        supported.



     o  Sockets are not bound to programs.  Once a  socket  is  created,  it

        will stay alive until it is closed, even if the program that created

        it exits or aborts.  A symptom of too many open sockets  is  running

        out  of  buffer space.  Use NCP and the command SHOW ACTIVE LINKS to

        display open sockets, and SET ACTIVE LINK STATE OFF  to  close  open

        sockets.



     o  When using the DECnet Router Server  for  asynchronous  connections,

        the  circuit  must  be  full duplex and must be set to the same line

        speed as your machine.



        For example:



                 Direct:  SET LINE LC-1L SPEED 9600 DUPLEX FULL MODEM NO

                 Modem:  SET LINE LC-1L SPEED 1200 DUPLEX FULL MODEM YES



        The circuit cost and hello timer values can be set to any reasonable

        values.  The state should be set to ON.



     o  When making a direct  Asynchronous  DDCMP  connection  to  an  RSX11

        system,  note  that entire controllers must support either terminals

        or DDCMP lines, but not both.  Insure that  your  SYSGEN  or  system

        configuration  does  NOT include the chosen controller and that your

        DECnet build DOES include the chosen controller.



     o  When using Asynchronous DDCMP and connecting directly to  a  VAX/VMS

        system,  note  that  VAX/VMS  can  share  the  lines on a controller



                                    3-1

                         ASYNCHRONOUS INSTALLATION





        between terminal support and asynchronous DDCMP support.



     o  When configuring your  VAX/VMS  adjacent  node,  use  the  following

        commands  as  a  GUIDE  for your VMS system manager.  These commands

        establish the chosen terminal lines as dedicated DDCMP lines.



































































































                                    3-2

                         ASYNCHRONOUS INSTALLATION





                 $! Load asynch DDCMP device driver. This must be done after

                 $!  every system boot.

                 $ run sys$system:sysgen

                 connect noa0/noadapter

                 exit

                 $! Tell VMS which lines are to be dedicated to DDCMP

                 $!  This must be done after every system boot

                 $set term /protocol=ddcmp/speed=9600/notypeahead/perm ttb4:

                 $set term /protocol=ddcmp/speed=9600/notypeahead/perm ttb5:

                 $! Use NCP to properly configure the lines and circuits

                 $!  Remember that DEFINE changes the permanent database

                 $!  and SET works immediately.

                 $ NCP

                 define line tt-1-4 state on receive buffers 4

                 define line tt-1-5 state on receive buffers 4

                 define circuit tt-1-4 state on

                 define circuit tt-1-5 state on

                 exit











    3.2  ON THE VAX



    When configuring your VAX/VMS adjacent node, use the following  commands

    as  a  GUIDE  for your VMS system manager.  These commands establish all

    terminal lines as switchable DDCMP lines (V4.2 and later only).



    1.  The asynchronous DDCMP driver, NODRIVER, must be loaded on  the  VAX

        system.



        SYSGEN> CONNECT NOA0/NOADAPTER



    2.  DYNSWITCH, the image that controls the switching of the  line,  must

        be installed as a shareable image on the VAX.



        INSTALL> CREATE SYS$LIBRARY:DYNSWITCH/SHARE/PROTECT/HEADER/OPEN



    3.  A virtual terminal  must  be  created  in  order  for  the  physical

        terminal connection to be broken without actually losing the logical

        connection between the two systems.



        SYSGEN> CONNECT VTA0/NOADAPTER/DRIVER=TTDRIVER



    4.  The terminal line must be set for 8 bit characters  with  no  parity

        and have the attribute DISCONNECT on the VAX.



        NOTE:  The DISCONNECT attribute enables the virtual terminal  to  be

        used.  The DISCONNECT attribute must be permanent; it must either be

        set /PERM after every boot, or the default terminal  characteristics

        must  be  set properly.  If you set the terminal characteristics for

        your own terminal, you must log out and log back in again  for  them



                                    3-3

                         ASYNCHRONOUS INSTALLATION





        to  take effect.  Also note that if modem control is enabled, hangup

        must also be enabled.  You know that this step  has  been  performed

        properly if your terminal device designator begins with VT.



    5.  In the node database, the following parameters must be set  for  the

        node that will be switching the asynchronous connection:



         -  The INBOUND parameter must be set to either ROUTER or ENDNODE.



         -  The RECEIVE PASSWORD must be set  to  match  the  remote  node's

            EXECUTOR TRANSMIT PASSWORD.



        NCP>SET  NODE  node-id  INBOUND  [router/endnode]  RECEIVE  PASSWORD

        password



        NOTE:  The password will be converted  to  uppercase  unless  it  is

        defined as a quoted string.









    3.3  ON THE PERSONAL COMPUTER





    1.  On a personal computer, the DECnet line must be set OFF,  either  by

        default or by command with NCP.



    2.  The terminal line/terminal emulator must be set for 8 bit characters

        with no parity.



    3.  The EXECUTOR TRANSMIT PASSWORD must be  set  to  match  the  RECEIVE

        PASSWORD  specified  for  the  node definition on the remote system.

        The password must be entered in uppercase since the password defined

        on  the  VAX  is  converted  to  uppercase unless it is entered as a

        quoted string.



        NOTE:  The EXECUTOR RECEIVE PASSWORD must not be set; when DYNSWITCH

        is  used,  DECnet-VAX  will  not  send  a  password  during  routing

        initialization.  If the receive password is set, the line  will  not

        come up.



    4.  Both the terminal line and the DDCMP line must be set to  the  speed

        of the line to be used; they will not share line characteristics.



    5.  Connect to the VAX as  a  normal  terminal  user  using  a  terminal

        emulator.



    6.  When the line is to be switched from a  terminal  line  to  a  DDCMP

        line, the following DCL command is entered:



        $SET TERMINAL /PROTOCOL=DDCMP/SWITCH=DECNET/MANUAL



        NOTE:  /MANUAL is only used when DECnet must be turned on  manually.



                                    3-4

                         ASYNCHRONOUS INSTALLATION





        When  the  switch  is  initiated,  a message appears on the terminal

        indicating that the switch is taking place on the VAX and  the  user

        must  exit  terminal emulation mode and turn on the DECnet line.  If

        the line is not turned on within approximately 4 minutes,  a  static

        asynchronous  line  will  return  to  terminal  mode  and  a dial-up

        asynchronous line with hangup will be disconnected.









    3.4  TERMINATING A SWITCHED DDCMP CONNECTION



    A DDCMP connection created using DYNSWITCH can be terminated from either

    end  of  the  connection  by setting the line or circuit (VAX/uVAX only)

    OFF.  The following are the various scenarios that will occur  when  the

    line is disconnected:



    1.  The personal computer user sets the line OFF or the line  drops  due

        to noise, etc.



        If the switched line  is  a  hardwired  line  between  the  personal

        computer  and  the VAX, or a modem is used with /NOHANGUP specified,

        the circuit on the VAX side will go into an  ON/STARTING  state  for

        approximately 4 minutes.  This enables the personal computer user to

        set the line back ON and have it operational without  having  to  go

        through the entire DYNSWITCH procedure again.



    2.  The system manager on the VAX or uVAX can set either the circuit  or

        the line OFF.



        If either the circuit or the line is set OFF on the  VAX/uVAX,  both

        the  circuit  and  line  information  are  removed from the volatile

        database and the asynchronous line is returned to terminal mode.









    3.5  MISCELLANEOUS INFORMATION





     o  If a modem is used for a DYNSWITCH connection, the modem signal will

        not be dropped during the switch.



     o  If /NOHANGUP is specified on the terminal  line,  the  modem  signal

        will  not  drop  after  the DDCMP circuit is set OFF.  The line will

        return to terminal mode.



     o  If DECnet is being turned on manually,  a  <CTRL/C>  or  a  <CTRL/Y>

        after the switch message aborts the switch, and the line is returned

        to terminal mode.



     o  For a dynamic connection, the line and circuit will automatically be

        added  to the volatile database on the VAX when the line is switched



                                    3-5

                         ASYNCHRONOUS INSTALLATION





        from terminal mode to DDCMP mode.  It does not have to  be  manually

        added to the database.



     o  An asynchronous terminal connection to a VAX through a switch  or  a

        LAT  terminal  server  cannot  be  switched  to  a  DDCMP line using

        DYNSWITCH.

































































































                                    3-6

























                                 CHAPTER 4



                          RESTRICTION AND PROBLEMS







    This section describes known restrictions  and  problems  in  DECnet-DOS

    V2.0.







    4.1  PC DOS V3.2





     o  Use of significant size environment space under DOS 3.2  can  result

        in  errors  such  as 'Stack overflow' and inadvertent termination of

        applications.  This problem has been observed with and  without  the

        DECnet-DOS kit installed.









    4.2  DIP - DECNET INSTALLATION PROGRAM





     o  When  DIP  attempts  to  create  backup  copies  of  CONFIG.SYS  and

        AUTOEXEC.BAT on the boot device and fails, such as insufficient disk

        space, DIP fails to properly check to see if the backup  files  were

        indeed created for CONFIG.SYS and AUTOEXEC.BAT



        Users must ensure that they have free disk space  which  is  greater

        than  4  times  the  sum  of  the  size (in bytes) of CONFIG.SYS and

        AUTOEXEC.BAT, on the boot device, before the installation  if  using

        DIP.





     o  Following the SELECTING SOFTWARE COMPONENTS screen is the  COPY  KIT

        FILES  screen,  which  lists  4  selection  options, and prompts for

        "Enter selection?"



        If you just press RETURN at this prompt, DIP requests that you place

        the  first  floppy in the drive and copies a minimal set of the kit.

        If this happens, please re-run DIP and respond to this  prompt  with

        the appropriate option.



                                    4-1

                          RESTRICTION AND PROBLEMS





     o  Following installation, DECPARM.DAT contains information specific to

        the line you are using (either Asynchronous or Ethernet).  Each time

        the DECnet Network  Process  (DNP)  is  started,  it  verifies  that

        DECPARM.DAT  contains  the  proper line information.  If you wish to

        switch between use of the Ethernet line and use of the  asynchronous

        line,  you  should keep two copies of DECPARM.DAT:  one for Ethernet

        (called DECPARM.ETH, for example), and one for asynchronous  (called

        DECPARM.ASY,  for  example).   Insure that AUTOEXEC.BAT does NOT run

        the DECnet Network Process (DNP).  After each boot, you  can  rename

        the  appropriate  DECPARM  file  to  DECPARM.DAT  and  then  run the

        matching DNP.  If you attempt to use the wrong network  process  for

        the current permanent database file (DECPARM.DAT), the error message

        "wrong protocol type found in DECPARM.DAT" will be displayed.



     o  When installing DECnet-DOS V2.0  over  a  previous  DECnet-DOS  V2.0

        installation  or  V2.0  Field  Test kit , DIP will display the error

        message "wrong protocol type found  in  DECPARM.DAT".   If  you  are

        installing  the  same  protocol  type (e.g.  Ethernet over Ethernet)

        this message may be  ignored.   If  you  are  installing  to  change

        protocol  types,  you  may  wish  to  back  up  the  old  version of

        DECPARM.DAT.



     o  An AUTOEXEC.BAT file which contains the 'net start rdr' string,  but

        is  not  a  'real' PCSA created AUTOEXEC.BAT, confuses DIP such that

        certain commands do not get edited into the AUTOEXEC.BAT file.   See

        Appendix   C   of  the  DECnet-DOS  Installation  Guide  for  sample

        CONFIG.SYS and AUTOEXEC.BAT commands for DECnet-DOS.





     o  Do not respond to DIP with a logical drive name that is  defined  by

        the  SUBST  command  in  AUTOEXEC.BAT.   When  DIP edits the virtual

        printer and disk driver commands in CONFIG.SYS, any  logical  drives

        that   were  defined  through  the  use  of  the  SUBST  command  at

        installation are not defined when the system is booted.



        Example:



        The PC is powered up and the following is executed as  part  of  the

        AUTOEXEC.BAT execution:



        SUBST I:  C:\DECNET\



        Run the DIP installation from drive "A:", following the installation

        documentation.   Specify  the  drive  "I:"  as  the drive to use for

        installing the kit.  As part of the installation,  the  printer  and

        disk drivers are added to CONFIG.SYS with the location prefix of I:.



        After the installation is complete, reboot the  PC.   During  system

        configuration  through  CONFIG.SYS,  the  drive  I:   has  not  been

        defined, it therefore fails to load in the  drivers.   This  problem

        can  easily  be  fixed  by  editing  the  CONFIG.SYS and placing the

        appropriate path specification on each driver entry.  Also make sure

        the  SUBST command is executed before references to the new drive ID



                                    4-2

                          RESTRICTION AND PROBLEMS





        in the AUTOEXEC.BAT file.





     o  When the user types <ESC> to DOS, and then types EXIT to  return  to

        the  installation procedure, the NEXT screen is displayed in the DIP

        sequence, and not the  screen  what  was  displayed  when  the  user

        escaped to DOS.



        Note:  "<ESC> to DOS" is actually "ESC to spawn to DOS".





     o  C:\DECnet\ is referenced as C:\DECNET\ in some cases and  C:\DECnet\

        in  others.  Directory names are case-insensitive in DOS, so this is

        cosmetic.





     o  If (and only if) installing DECnet-DOS V2.0 over a V2.0  Field  Test

        kit,  when  NCP.TXT  is  run at system reboot, you may see the error

        message 'SET EXECUTOR NAME xxx ADDRESS nn.nnn:  Permission  Denied'.

        If  you  have just changed the executor name and address or the line

        characteristics with DIP an additional  reboot  assures  that  these

        parameters are used.





     o  The question for windows applications says that the other  utilities

        (not  class  A  applications)  run  as  class  B.  Not all the other

        utilities run as class B applications.



     o  When installing the asynchronous DDCMP version of DNP (DNPDCPPC.EXE)

        DIP  used to install DNP as DNP.EXE.  It now installs this component

        as DNPDCP.EXE.  The Ethernet configuration of DNP is still installed

        as DNP.EXE.





     o  When installing DECnet-DOS V2.0, on a COMPAQ 286 with DOS  3.3,  DIP

        reports  the  error "Version Not Supported".  COMPAQ actually labels

        version 3.3 of DOS as DOS version 3.31.  Ignore this message.









    4.3  SETHOST - NETWORK VIRTUAL TERMINAL





     o  The file IOS2.CHR is not copied by the installation procedure (DIP).

        ISO2.CHR  is  the  ISO  Latin-1  character  set file used by Norway,

        Sweden, and Denmark.  It replaces ISO.CHR for those countries,



     o  Terminate-and-stay-resident programs (TSRs) should not be  installed

        when  using  the  'To  MS-DOS'  feature of SETHOST (by SET-Up or via

        <CTRL/F9>).  This includes the MS-DOS program PRINT, when it is  run

        for the first time.  Also, the MODE and KEYB commands, under certain

        conditions, are TSRs.  When a TSR is run when using the 'To  MS-DOS'



                                    4-3

                          RESTRICTION AND PROBLEMS





        feature, it can cause memory fragmentation, which can cause programs

        run after SETHOST exits to fail.



     o  SETHOST CTERM sessions will sometimes fail to start with the message

        "Insufficient  memory".   Also,  SETHOST will sometimes be unable to

        display the list of CTERM services  on  the  Communications  Set  Up

        screen  because  of  "Insufficient memory".  This only occurs on IBM

        PCs and compatibles when using  PCSA,  and  NET  has  been  used  to

        install  LAD  and  LAST.  A workaround is to not use NET to load LAD

        and LAST.



     o  The use of invalid SETHOST switches, such as  "/TAKE=filename"  does

        not  report an error, the connect is made to the remote node and the

        switch is ignored or an attempt is made to connect to it.



     o  When sending or receiving a file using SETHOST over  LAT,  COM1,  or

        COM2, data can be lost since there is no protocol used to insure the

        file arrived intact.  Over a CTERM  connection,  DECnet  insures  no

        data  is lost.  However, the preferred way is to use NFT to transfer

        the files.  If you do not have a network connection, then  you  need

        either  some  way  for  verifying  the file is intact or use a third

        party emulator that provides a protocol (like kermit or xmodem)  for

        file transfer over asynch lines.



     o  NEWLINE/NO NEWLINE mode is broken.  (Always == no new line).



     o  You must use a 7-bit ST to terminate UDK definitions (<ESC>\).



     o  Sometimes, when exiting (using F3) from LAT Service name  selection,

        the  screen  is  corrupted.   Entering  and  exiting setup fixes the

        problem.



     o  When you use VMS command recall immediately after switching  between

        CTERM  sessions,  the  first  line  that is recalled may be from the

        previous CTERM session.



     o  CTERM/R will always report that it has been removed, even when it is

        unable  to do so.  If you want to be able to remove CTERM when using

        PCSA, CTERM must be installed after LAD.



     o  If you use the 'To MS-DOS' feature (by Set-Up or via <CTRL/F9>), and

        use  a  communications  program,  it  may  interfere  with SETHOST's

        control of the communications port, if both programs  use  the  same

        communications  port  (COM1  or  COM2).   In  most cases, the 'Clear

        Communications' item on  the  Action  menu  will  restore  SETHOST's

        control.   Another  way  to restore SETHOST's control is to change a

        communications setting (for example, Baud Rate), exit  from  Set-Up,

        re-enter Set-Up, and change the setting back to the correct one.



     o  In SETHOST, when the user recalls a SETUP file which  has  different

        COMMUNICATIONS  parameters  than  what  is  currently  running,  the

        following unexpected behavior may occur:





                                    4-4

                          RESTRICTION AND PROBLEMS





        1.  Upon returning to  what  is  assumed  to  be  the  still-running

            session,  the screen may go blank, and striking the keyboard has

            no effect whatever.  Yet the setup screen shows the  session  to

            be  still active.  What is apparently happening here is that the

            session which was active has  been  disconnected,  while  a  new

            session  has  started  up.   However,  the  user is cut off from

            communication with the new session.



        2.  Upon exiting from SETHOST the system may retain a link from  the

            previous session which was inadvertently disconnected.  The user

            may not know of the extra link, however, until they do NCP  SHOW

            KNOWN LINKS or the system runs out of links.





     o  The following script commands cause the cursor to flash  across  the

        screen.  No harm is done, the cursor just moves.



        Port: Baud Rate: NTS: TX Baud: Disconnect: RX Baud: Parity: XON/XOFF:

        Stop Bits: NO XON/XOFF: Data Bits: Load:











    4.3.1  PC SETHOST





     o  KBDCODE.EXE is a utility that displays a keycode when  you  press  a

        key.  This is used for customizable keyboard mapping in SETHOST.



     o  Selecting "Digital LK250 keymap" in SETHOST's keyboard setup  screen

        when  an  LK250 keyboard is not attached to the PC, may cause the PC

        to hang when SETHOST finishes reading in the keymap file  and  sends

        an "Enter DEC mode" command to the keyboard.



     o  If a keymap is selected that does not correspond to the default  for

        your processor type (based on system id byte), SETHOST does not read

        in the correct keymap file  while  in  Set-Up.   If  you  save  your

        settings,  however,  then  exit  and  re-enter  SETHOST, the correct

        keymap file is read in.



     o  If the keyboard mapping file you select in SETHOST's keyboard  setup

        is  not  found, no message is displayed on that screen.  However, if

        you go to the  Action  setup  screen  and  select  show  status  the

        keyboard  map entry displays "file not found" instead of the name of

        the keyboard map file that has been read in.



     o  Running SETHOST with a keyboard buffer that has been extended  using

        the  PCSA  Client kit's DECMODE utility does not work.  Either reset

        the keyboard buffer back to the default by "DECMODE m,16" or use the

        public domain utilities like BIGBUFF to extend the keyboard buffer.







                                    4-5

                          RESTRICTION AND PROBLEMS





     o  Pressing the F3 key for going in and out of setup,  causes  snow  on

        the screen when used with an IBM CGA video card.



     o  When SETHOST setup is entered and a non-existant parameter  file  is

        recalled the following symptoms occur.



        There is no color attribute set even though the setup  display  menu

        indicates that it was selected.  On exiting setup after being in the

        display menu, the color appears on the terminal.



        When exiting back to the terminal, the characters  are  sent  in  an

        eight bit format when SETHOST is expecting them in seven bit.  Doing

        a SET TERMINAL/INQUIRE corrects the situation,  but  the  characters

        are unreadable until this is done.









    4.3.2  VAXmate SETHOST





     o  When you  switch  sessions,  the  terminal  emulator  state  is  not

        changed.  This means that existing scroll regions are left intact in

        the new session.



     o  KBDVM.HLP (DECnet-VAXmate) is a text file  that  shows  the  VAXmate

        SETHOST keyboard layout.









    4.4  NCP - NETWORK CONTROL PROGRAM





     o  There was a bug in DECnet-DOS V2.0 Baselevel 24 Field  Test  version

        of  NCP.  If the commands "NCP PURGE NODE" or "NCP COPY KNOWN NODES"

        were issued, the contents of DECNODE.DAT may be incorrect.  Symptoms

        are:   out  of order nodes, DEFINE NODE commands that appear to work

        but do not display, and PURGE NODE commands that fail.



        To recover, either restore your V1.2 DECNODE.DAT and  run  NMCVT  to

        convert  it  to  V2.0 or delete DECNODE.DAT and redefine the entries

        using NCP V2.0.



        NMCVT N \V12-directory\ \V20-directory\



     o  NCP SET EXEC NAME FOO works when the EXECUTOR STATE is either ON  or

        OFF.  Documentation says it only works when EXECUTOR STATE is OFF.



     o  The 'TO filename" option does not work for NCP SHOW ADJACENT  NODES.

        Use 'NCP SHOW KNOWN NODES TO filename' instead.







                                    4-6

                          RESTRICTION AND PROBLEMS





     o  NCP returns an ERRORLEVEL 1 when the EXIT command is entered.



        When input to NCP is from a redirected file, NCP always  returns  an

        ERRORLEVEL  equal to the last command in the file.  The way to track

        the success or failure of individual NCP commands is to  use  a  DOS

        batch  file.   Each  invocation  of  "NCP  (command line)" returns a

        correct ERRORLEVEL for that command.  For example, this is  the  way

        to  insure  that  the  "NCP DEFINE NODE" command succeeds before the

        "NCP LOOP NODE" commands is executed.



     o  The command NCP DEFINE OBJECT 2 creates an object with name  2,  not

        number  2.  To delete this entry, type NCP PURGE OBJECT "2".  To set

        the object number to 2, use NCP DEFINE OBJECT foo NUMBER 2.



     o  If NCP input is redirected from a file and output is redirected to a

        file, the banner " Network Control Program V2.0" is the LAST line in

        the output file, instead of the first.  However, if SET ECHO  ON  is

        the  first  line  of  the  input  file, the banner is in the correct

        place.









    4.5  DLL - DATA LINK LAYER





     o  If any version of DLL.EXE fails to install  correctly,  the  PC  can

        lock up, right after the version message is displayed.



        When this happens, the PC must be powered down.   When  powering  up

        the  PC,  hit Ctrl-Break before the AUTOEXEC.BAT has a chance to run

        DLL again.



        Most of the time, this lock up problem is caused by user error.   It

        can  happen  when  the  Ethernet  adapter  is not installed, the DLL

        version does not match the adapter board installed, or  the  command

        line switches do not match the jumper settings on the board.



     o  As described in the  installation  manual,  DIP  does  not  set  any

        command  line  switch  settings.   If system specific parameters are

        required (eg:  /IRQ or /PORT), the AUTOEXEC.BAT file must be edited.

        The  AUTOEXEC.BAT must be manually edited after the files are copied

        to the PC but before the PC is rebooted.



     o  The command line switch /IRQ=2 will not work on the  PC/AT,  because

        the hardware reserves that interrupt vector for something else.



     o  The 3COM and MICOM drivers always have the broadcast address enabled

        when the line state is on.  In mixed vendor Ethernet networks, heavy

        traffic directed to the broadcast address can impact performance.



     o  If the 3COM DLL is installed on some  COMPAQ  machines,  the  COMPAQ

        user  diagnostics  program  will  print the following error messages



                                    4-7

                          RESTRICTION AND PROBLEMS





        during the auto-configuration loop:



                        Error 1900-14

                        Fixed Disk Backup - Failed ID TEST

                        Drive Timeout Error



        These messages should be ignored.



     o  DLLDEPCA.EXE for the DEPCA and DLLANCE.EXE for  the  VAXmate  always

        start the Ethernet line, regardless of the setting of LINE STATE.



     o  There are two additional data link related files on the distribution

        diskettes.   DLL802.EXE  is reserved for future use.  DLLBACK.EXE is

        reserved for problem resolution.









    4.6  DNP - DECNET NETWORK PROCESS





     o  When specifying the database path command line  entry  to  DNP,  you

        must  specify  the  complete path specification and should not use a

        relative path specification.  A relative path specification  is  not

        applicable if you change default drives or directories.



     o  The DNP database path specification is ignored if the  Ethernet  DLL

        specification is used.









    4.7  DECNET - DECNET-DOS MENU INTERFACE





     o  When using the menus interface to run NCP,  the  following  problems

        occur.



        1.  NCP DEFINE CIRCUIT OWNERdecnet

                                               ^ a space needed to be added here



        2.  NCP DEFINE NODE/OBJECT/REMOTE.....



            The fields USER, PASSWORD and ACCOUNT are required to  define  a

            node  because they are appended to the command line even if they

            are entered as blanks.



        3.  NCP DEFINE REMOTE...



            If an node name greater than 6  characters  is  entered  as  the

            default  node  name,  the  entry  field  for  the  node  forms a

            multi-line entry of 6 characters per line.   Just  backspace  to

            the beginning line and enter the 6 characters or less node name.



                                    4-8

                          RESTRICTION AND PROBLEMS





        4.  NCP SET EXECUTOR IDENTIFICATION...



            This entry only allows for 30 characters if quotes are used.  It

            should allow 32.  If the total of 32 is needed it can be entered

            on the command line.



        5.  NCP DEFINE EXECUTOR INCOMING TIMER Range 0-65535



            NCP DEFINE EXECUTOR OUTGOING TIMER Range 1-65535



            The MENUS documentation does not match the NCP documentation for

            range  values.   NCP  HELP  SET  EXECUTOR  and  NCP  HELP DEFINE

            EXECUTOR show the correct values (which are listed above).











    4.8  NFT - NETWORK FILE TRANSFER





     o  When an APPEND is done with NFT from a remote file to a file  on  an

        MS-NET remote directory, the text is sometimes garbled.



     o  NFT looks for DOS reserved names in the local file name strings.  If

        there  is  a  match,  NFT won't output to that string (unless it's a

        legal printer device).



        DOS reserved names:  AUX, CON, NUL, PRN,  COM1,  COM2,  LPT1,  LPT2,

        LPT3



     o  When doing  a  wildcard  copy  from  PC  FAL,  if  it  encounters  a

        subdirectory, it aborts with a 'priv violation'.



     o  A wild card DELETE to a remote system fails if one (or more) file(s)

        is  open  for  writing  or  if  there are insufficient privileges to

        delete one (or more) of those  files.   NFT  does  not  display  the

        filename on which the delete failed.



     o  NFT DELETE node::<non-existent file> fails to  DECnet-DOS  FAL  with

        the message "broken pipe".



     o  The algorithm for determining whether a file is ASCII or image  when

        copying  from  personal  computer  to  remote without switches is as

        follows:  If the first 512 bytes contain a CRLF, the  file  must  be

        ASCII.  Otherwise, it must be image.  Note that some image files may

        appear to be ASCII using this rule.



     o  The SET command for paths on remote ULTRIX systems does not work.



     o  The use of MACY11 and LSA  switches  for  remote  DECsystem-10s  and

        DECsystem-20s does not work.





                                    4-9

                          RESTRICTION AND PROBLEMS





     o  If a directory command specifies multiple subdirectories and some of

        them  are  protected,  the error message fails to display the volume

        and directory names.



     o  The command DIR REMOTE::  defaults the file  specification  to  *.*.

        This  produces  the  correct  results  on  all remote systems except

        ULTRIX.  On an ULTRIX system this only lists the files that  have  a

        period in their names.  To work around this problem, use the command

        DIR REMOTE::*.



     o  The SHOW command displays  any  part  of  a  password  string  which

        follows an embedded space.  This is not a serious problem since most

        passwords do not have spaces in them.



     o  If a wildcarded copy from a remote  VAX  to  the  personal  computer

        specifies  a  wild  file  specification  which  matches  a directory

        specification on the VAX, the directory  files  are  copied  to  the

        personal   computer.    These   files  do  not  contain  any  useful

        information and can be deleted.



     o  If a wildcarded copy from a remote  VAX  to  the  personal  computer

        requests  access  to  a  protected directory, NFT displays a message

        saying that there was a problem with a temporary file.  This is  the

        wrong message.



     o  If a COPY command which copies files from a remote ULTRIX system  to

        a  personal  computer defaults the output file specification and the

        ULTRIX file specification contains directories, then  the  resulting

        personal computer file will be named incorrectly.



     o  If the value of MRS is set too large (>  1024)  then  NFT  fails  in

        unpredictable ways.









    4.8.1  NFT (Windows Version)





     o  If the HELP window is iconed, the icon contains random text from the

        HELP window.



     o  The directory window repaints every time a single line is updated.



     o  When the windows directory list is done, is flashes from  normal  to

        reverse video twice.



     o  The windows 'COPY' option  always  places  you  in  the  prompt  for

        'destination' even if no source has been selected.



     o  The windows 'destination' prompt (for  COPY  and  APPEND)  does  not

        accept  a  directory specification (as in c:\mumble).  It requires a

        filename or wildcarded pathname (as in c:\mumble\*.*) to work.



                                    4-10

                          RESTRICTION AND PROBLEMS





     o  When doing a windows 'DELETE', after the  'erase  file'  request  is

        sent,  and  the  remote  error  'requested  file  does not exist' is

        returned,  NFT  closes  the  socket  before  all  communication   is

        completed.  This is the case with at least DECnet-DOS FAL.



     o  Windows NFT does a directory search before a file is deleted, so  it

        doesn't  suffer from problems when deleting a nonexistent file.  But

        if the file is read-only, then the same problem happens.  NFT closes

        the socket prematurely.









    4.9  FAL - FILE ACCESS LISTENER





     o  TOPS-10 cannot copy files to DECnet-DOS  FAL  with  the  /BINARY  or

        /IMAGE switches.  This is a restriction on TOPS-10.









    4.10  SPAWNER - JOB SPAWNER





     o  SPAWNER fails when run under MS-Windows if it is made into an ICON.









    4.11  DNETLIB - C PROGRAMMING LIBRARY





     o  When  linking  an  application  with  DNET.LIB,  you  may  see   two

        unresolved externals:



        _DNET_WINDOWS in module DECNET (from my SDNET.LIB)



        _DO_INT_DECNET  also from module DECNET (same library)



        There is a 'WINDOWS' conditional  assembly  constant  in  DECNET.ASM

        which,  when  defined  as  1,  results in the assembly of code which

        references the two externals mentioned above:  one a function  call,

        the other a global data variable.



        If you do not wish to assemble the references  to  these  externals,

        edit  the  BEGIN.H  file  such  that  the WINDOWS constant EQUals 0,

        rather than 1.



        The dnet_windows() function  is  called  from  within  the  decnet()

        function  as  long  as  the decnet network function request, made to

        DNP, is still  pending.   During  this  'still  pending'  loop,  the

        dnet_windows()    function    makes   another   function   call   to



                                    4-11

                          RESTRICTION AND PROBLEMS





        DoWinMessages().  The DoWinMessages() function makes calls to DOS to

        check  keyboard  status.  In a Windowed environment, this allows the

        Windows Manager to gain control of the  processing,  so  that  other

        Windows applications may get a chance to continue processing, rather

        than allowing the decnet network calls to potentially block in  DNP.

        Also,  in  a  non-Windows environment, this allows for Control-Break

        checking, again, to  avoid  waiting  for  decnet  network  calls  to

        unblock before Control-Breaks are seen.



        The DoWinMessages() function may be replaced  with  a  user-supplied

        function  to  perform  other  functionality,  if so desired, such as

        retrieving messages from a Windows application's message queue.



     o  MIRROR.C as written out by BREAKSRC.EXE for the DNETLIB.SRC file has

        the  incorrect  comment  that  the  user  '...can  hit  any  key  to

        terminate', when it should read '...hit the '!' key to terminate'.









    4.12  TFA - TRANSPARENT FILE ACCESS





     o  The following command to transfer a file using TFA and  PC-DOS  COPY

        does not work unless there is an existing file with the same name on

        the remote system:



        COPY lfile \\f\remnod\user\psw\\rfile.dat



        The following command does work:



        TYPE lfile >> \\f\remnod\user\psw\\rfile.dat



        In any case, NFT is the recommended utility  to  transfer  files  to

        remote systems.



     o  The transparent file access capabilities intercept the MS-DOS system

        call  interface through interrupt 21 hex.  If you run other programs

        that intercept interrupt 21, they may interfere with the functioning

        of the transparent file access operations.



     o  Parsing for account numbers for TOPS-10 is not  supported,  however,

        substituting a name works properly.









    4.13  MAIL - MAIL SEND





     o  Sending mail to TOPS-10 and TOPS-20 systems does not  work  properly

        with the Autopatch 15 and 16.





                                    4-12

                          RESTRICTION AND PROBLEMS





     o  If one attempts to send 8 bit ASCII or image files as mail messages,

        MAIL  does  not  produce  an  error  message,  but  instead  behaves

        erratically.









    4.14  NDU - NETWORK DISK UTILITY





     o  Do not create multiple virtual disks on a remote PC using  the  same

        file specification.



        NDU CREATE DRIVE f:  NODE foo NDISK test.dsk ACCESS RW ...



        NDU CREATE DRIVE g:  NODE foo NDISK test.dsk ACCESS RW ...



        When files are copied to F:  and G:,  then  the  virtual  disks  are

        closed,  a  directory  on the remote node finds a only a single file

        TEST.DSK.  When that  virtual  disk  is  reopened  it  contains  the

        contents  of  the last virtual disk closed.  A CHKDSK of the virtual

        disk reports 'nnn bytes in lost  chains'.   Recovering  these  files

        shows that they were from the 'lost' virtual disk.



     o  Attempting to CREATE or OPEN network virtual print  devices  without

        the  PRINTER  keyword  in  the  command results in NDU defaulting to

        CREATing or OPENing a network virtual disk.



        For example, the command:



        NDU CREATE NPRINT filename NODE node-name



        results in NDU creating a virtual disk rather than a  virtual  print

        file/device,  despite  the  inclusion  of  the NPRINT keyword in the

        command line.



        The proper command is:



        NDU CREATE PRINTER NPRINT filename NODE node-name



     o  NDU does not work properly to TOPS-10 and TOPS-20 systems due to the

        TOPS-10  and  TOPS-20 FAL restrictions.  For Virtual Disks, FAL must

        support Image mode sequential  files  with  512  byte  fixed  length

        records  accessed  randomly  by relative record number.  For Virtual

        Printer, FAL must support variable  length  ASCII  sequential  files

        with  implied  CRLF (carriage return line feed) on record management

        systems (Example  VMS  RMS)  and  stream  files  on  stream  systems

        (Example DOS).



     o  If a virtual disk file is created with one NDISK file  specification

        and  then  an  attempt is made to delete the virtual disk file using

        the command:





                                    4-13

                          RESTRICTION AND PROBLEMS





        DELETE NODE node NDISK file



        with a different file specification which references the  same  file

        (using  logical  names, for example), the delete function will fail.

        Always delete the virtual disk using  the  same  file  specification

        that it was created with if the delete is done for a connected disk.



     o  NDU has changed to allow the user to  specify  an  alternate  device

        name  for  the NDU printer, which has the default name of NPRN.  The

        virtual print device NPRN may be changed to  any  of  the  following

        devices  by  specifying  your  selection on the command line in your

        \CONFIG.SYS file.  Help is available in NDU as "NDU HELP NPRINT".



        Device options are:  PRN, LPT1, LPT2, LPT3 or NPRN



               Format for entry is:

                            (---device driver entry---) (device)



               Examples:    DEVICE=C:\DECNET\NPDRV.SYS  LPT1

                            DEVICE=C:\NETWORK\NPDRV.SYS PRN



        There must be at least one space between the device driver entry and

        the device.  Only one device may be specified.



     o  NDU has been changed to attempt to detect  the  use  of  redirection

        through MSNET USE and the DOS SUBST command.



        When NDU is run a field displays the status of the  drive  or  print

        device(s)  (Status/Ndisk  and Status/NPRINT).  This field previously

        only contained either OPEN or CLOSE.  This field  may  also  contain

        REDIRECTED.



        (help is available in NDU as "NDU HELP REDIRECTED")



        REDIRECTION and the virtual disk:



        The REDIRECTED status for a  drive  indicates  that  the  respective

        drive  can  no  longer  be  accessed  by the NDU utility.  It can no

        longer be accessed  by  NDU  because  it  has  been  reassigned  for

        alternate use.



        Assume NDU has access to the drives D through G.  If the  DOS  SUBST

        command  is executed as in Example1, then all references to drive E:

        are redirected to C:\EXAMPLE.  If the MSNET USE command is  executed

        as  Example2,  then  all  references  to drive E:  are redirected to

        server SERV1 directory DIR1.



                   Example1:   SUBST E: C:\EXAMPLE.

                   Example2:   USE E: \SERV1\DIR1



        Disabling the  substitution  by  executing  the  following  commands

        removes  the  REDIRECTED  reference from drive E:  and allows NDU to

        access this drive again.



                                    4-14

                          RESTRICTION AND PROBLEMS





                   SUBST E: /d

                   USE E: /d



        REDIRECTION and the virtual printer:



        The REDIRECTED status for the  printer  device  indicates  that  the

        printer  input  can no longer be sent through NDU to the NDU device.

        It no  longer  outputs  to  the  NDU  device  because  it  has  been

        redirected.



        Assume the Printer Driver has access  to  LPT1.   If  the  following

        MSNET  USE command is executed, it redirects all the output intended

        for LPT1 to server SERV1 and printer PRINT1.



        Example1:  USE LPT1:  \SERV1\PRINT1



        Disabling  the  substitution  by  executing  the  following  command

        removes  the  REDIRECTED  reference from LPT1 and allow you to again

        use this device with the NDU utility.



        USE LPT1 /d



     o  In previous versions of DECnet-DOS, the virtual  disk  facility  was

        experiencing the following problems:



        1.  A bug  caused  all  DECnet-DOS  Version  1.1  32-megabyte  disks

            created  as  the  first  NDU function after a system boot (under

            MS-DOS or PC DOS Version 2 systems) to have an  error  in  their

            headers.    This  error  does  not  affect  the  performance  or

            integrity of the virtual disk facility.



        2.  32-megabyte disks created under  MS-DOS  or  PC  DOS  Version  2

            systems  are not usable from MS-DOS or PC DOS Version 3 systems.

            (The opposite of this is also true:  32-megabyte  disks  created

            on MS-DOS or PC DOS Version 3 systems are not usable from MS-DOS

            or PC DOS Version 2 systems.)



        DECnet-DOS Version 2.0  solves  both  of  these  problems  with  the

        following:



        1.  All virtual disks created by  DECnet-DOS  Version  1.0  software

            remain usable in all configurations.



        2.  All 1.2-megabyte, 10-megabyte,  and  20-megabyte  virtual  disks

            created   by   DECnet-DOS  Version  1.1  remain  usable  in  all

            configurations.



        3.  All 32-megabyte virtual disks created by DECnet-DOS Version  1.1

            under  MS-DOS  or PC DOS Version 3 systems will remain usable on

            any Version 3 system.  These disks are not usable from MS-DOS or

            PC DOS Version 2 systems.







                                    4-15

                          RESTRICTION AND PROBLEMS





        4.  32-megabyte virtual disks  created  by  DECnet-DOS  Version  1.1

            under  MS-DOS  or  PC  DOS Version 2 systems are not usable with

            DECnet-DOS Version 1.2 until they are repaired using the  FIXNVD

            utility.   The  FIXNVD utility is automatically installed by the

            DECnet-DOS Installation Procedure, DIP.  The utility's file name

            is FIXNVD.EXE.



        If you attempt to open a Version  1.1  virtual  disk  with  a  later

        version of NDU, the following error message is created:



        Cannot OPEN this disk created with an older release of DECnet.   Run

        FIXNVD first.



        To use the FIXNVD utility, first make a copy of  your  virtual  disk

        file.  For example:



        $ COPY V11DISK1.FIL V11DISKBU.DSK <RET>



        Now you can run FIXNVD on the new file.   This  is  the  syntax  for

        using FIXNVD:



        FIXNVD node[/user/password/account] backup-disk-name



        Example 1:



        $ COPY VDISK.DSK DISK.007 <RET> (on VMS node VMSNOD)



        C> FIXNVD VMSNOD DISK.007 <RET> (on your PC)



        Example 2:



        $ COPY VDISK.DSK DISK$07:[SMITH.DISKS]PAYROLL.DAT <RET> (on VMS node

        REMOTE)



        C> FIXNVD REMOTE/SMITH/HARP  DISK$07:[SMITH.DISKS]PAYROLL.DAT  <RET>

        (PC)



        FIXNVD will not write to a file unless it is a proper candidate  for

        repair.



        NOTE:  FIXNVD will make  the  files  and  directories  allocated  in

        excess  of  33,439,744  bytes  inaccessible!   In fixing the bug and

        making Version 2 and Version 3 disks compatible, FIXNVD must  shrink

        the  maximum  size  of  32-megabyte disks.  Any files or directories

        written when the disk volume was  filled  in  excess  of  33,439,744

        bytes will become inaccessible.  Run CHKDSK to determine if this has

        happened:



        CHKDSK D:



        If the disk volume is filled, reinstall DECnet-DOS Version  1.1  (or

        just  NDU.EXE and NDDRV.SYS from DECnet-DOS Version 1.1) and restore

        the backed-up virtual disk.  Copy the files from the backed-up  disk



                                    4-16

                          RESTRICTION AND PROBLEMS





        to two new virtual disks, then reinstall DECnet-DOS Version 1.2.









    4.14.1  NPDRV - Virtual Printer Driver





     o  On IBM PCs use of  the  virtual  printer  by  the  background  print

        spooler may hang the system.









    4.15  DTS/DTR - DATA TEST SENDER/RECEIVER





     o  DTR and DTS are tools used to  test  the  network  and  measure  its

        performance.   The  documentation set does not include documentation

        for DTR or DTS.  However, the file  DTS.TXT  describes  the  use  of

        these tools.



     o  The DTR HELP facility has changed to follow the conventions used  by

        the FAL utility for switches.



     o  DTR cannot run under MS-Windows if it is made into an icon.



     o  DTS Data and Interrupt Echo tests may fail  against  DECnet-RSX  and

        DECnet-VAX  DTRs.   The  symptom  will be a sequence number failure,

        where the sequence number received is higher than the one expected.



        These versions of DTR  apparently  fail  if  messages  are  received

        faster  than  they can be transmitted.  This is an application level

        logic bug.  The DTR program uses a fixed number of buffers and  does

        not  prevent  receiving new messages if old ones have not been sent.

        Eventually, an incoming receive message will overwrite  an  outgoing

        message, effectively losing the unsent messages.



     o  A DTS bug has been discovered in the Interrupt tests of  type  Sink,

        Sequence, and Pattern, if running against a faster system.  The test

        will take an indefinite period of time, inspite of whatever time was

        given  on  the command line.  The test can be aborted with Control-C

        or Control-Break.



     o  DTS Disconnect tests may appear to fail due to a timing race  during

        the   quick  transition  of  connection  states  during  this  test.

        Specifying /PRINT=ALL switch helps to slow the remote DTR down.



     o  DTR fails when run under MS-Windows if it is made into an ICON.











                                    4-17

























                                 CHAPTER 5



                             TUNING DECNET-DOS







    The following explains how to tune the various parameters of  DECnet-DOS

    in order better match your use against the conditions of your network.



    In general, the default DECnet-DOS parameters will satisfy  most  users.

    But if problems arise, adjusting some parameters with NCP may help you.







    5.1  NCP - NETWORK CONTROL PROGRAM



    The Network Control Program has been totally rewritten for V2.0.  It now

    consists  of  a  parent process (NCP) and six children (NCPSHOW, NCPSET,

    NCPDEF, NCPTELL, NCPLOOP, and NCPEVENT).   Commands  typed  to  NCP  are

    passed as command line arguments to the appropriate child process.  This

    permits quicker parsing of the command and the ability to  install  only

    those  parts  of  NCP  required  for  a  given system when disk space is

    limited.



    Permanent and volatile databases have been implemented  for  V2.0.   NCP

    SET,  CLEAR,  and SHOW act upon the currently running system and are not

    saved when the system is rebooted.  NCP DEFINE, PURGE, and  LIST  change

    the database files (DEC*.DAT) and are saved across system reboot.



    1.  Permanent Databases



         o  DECPARM.DAT



            The DECnet-DOS parameter database contains the statup values for

            EXECUTOR,  LINE,  and  CIRCUIT  used  by  DECnet-DOS  at network

            startup.  Changes to the parameters  via  the  NCP  DEFINE/PURGE

            EXECUTOR,  LINE,  and  CIRCUIT  commands only take effect at the

            next network start (e.g.  when the system  is  rebooted).   This

            replaces the "REBOOT" parameters of DECnet-DOS V1.1 and V1.2.



         o  DECNODE.DAT



            The  node  database  contains  the  node-name  to   node-address

            mapping,  LAT  and MS-NET flags, and a pointer to user, account,



                                    5-1

                             TUNING DECNET-DOS





            and password on a per node basis.  The user data is used by  the

            DECnet-DOS  utilities  for  default  access  to that remote node

            (e.g.  NFT).  Entries are  made  and  displayed  using  the  NCP

            DEFINE, PURGE, and LIST NODE commands.



         o  DECOBJ.DAT



            This is the  object  database  used  by  the  Job  Spawner.   It

            replaces the V1.2 ASCII text file SPAWNER.DAT.  Entries are made

            and displayed using the  NCP  DEFINE,  PURGE,  and  LIST  OBJECT

            commands.



         o  DECACC.DAT



            This is the incoming access database.  It  contains  a  password

            and  access  type (RO, RW, WO, NONE) on a per user basis.  Is is

            used by DECnet-DOS servers to verify incoming connections  (e.g.

            FAL).  If the file does not exist there is no checking.  Entries

            are made and displayed using the NCP  DEFINE,  PURGE,  and  LIST

            ACCESS   commands.    The   LIST  command  only  displays  those

            parameters  that  can  be  changed,  Read-Only  parameters   are

            suppressed.



         o  DECREM.DAT



            This is the remote-adapter-name database used by MS-NET  to  set

            up  a name to node/object mapping, and associated user, account,

            and password.  Entries are made  and  displayed  using  the  NCP

            DEFINE, PURGE, and LIST REMOTE-ADAPTER-NAME commands.



         o  DECALIAS.DAT This contains  the  user,  account,  and  passwords

            associated with the node and remote-adapter-name databases.





    2.  Volatile Databases



         o  DLL and DNP



            The datalink and network process contain the  currently  running

            parameters  and  counters  for  the EXECUTOR, LINE, and CIRCUIT.

            These can be changed and examined using the  NCP  SET/CLEAR/SHOW

            EXECUTOR,  LINE,  and  CIRCUIT commands.  Values changed via SET

            and CLEAR will not be saved across system  reboots,  use  DEFINE

            and PURGE as well.



         o  Node cache



            When a connection is made via a logical link to a  remote  node,

            the  DECnet  network  process  (DNP) saves the node address in a

            cache to save lookup time.  These nodes can be  displayed  using

            the NCP SHOW NODE command.







                                    5-2

                             TUNING DECNET-DOS





         o  Logical Links



            Current  logical  links  may  be   examined   using   NCP   SHOW

            KNOWN/ACTIVE LINKS.  Links that do not have KEEPALIVE set may be

            shut down by using the command NCP SET LINK n STATE OFF.



         o  Remote Adapter Names



            When  MS-NET  is  started,  the  permanent   remote-adapter-name

            database  is  read  into  memory.   Additions  to  this volatile

            database   may   be   made   via    the    NCP    SET/PURGE/SHOW

            REMOTE-ADAPTER-NAME  command,  but  will  not  be saved across a

            system reboot, unless a DEFINE/PURGE is done as well.



         o  Local Adapter Names



            The NETBIOS  interface  uses  the  local-adapter-name  database.

            Entries  may  be made and displayed using the NCP SET/CLEAR/SHOW

            LOCAL-ADAPTER-NAME commands.











    5.1.1  New NCP Parameters





     o  NAK QUOTA:  (default:  0)



        This enables the tuning feature for 3Com 3C501s in any system.  This

        parameter   should   remain   at   zero   for   VAXmates  and  DEPCA

        installations.  The allowable range from 0 to  RECEIVE  PIPE  QUOTA.

        It  controls  how  close to the receive window out-of-order messages

        are received before being NAK'ed.  If  needed,  you  should  set  it

        equal  to the RECEIVE PIPE QUOTA.  The recommended values for a 3Com

        3C501 are:  RECEIVE PIPE QUOTA = 6, OUT OF ORDER NAKS = 6.



     o  CONFIDENCE TIMER:  (default 15 seconds)



        This sets the time period after Retransmit Factor has expired that a

        link  is held without response until disconnection.  Previously this

        capability did not exist.  The value is global to all active  links,

        but  may  be  overridden  on  a  per socket basis by explicit socket

        option (see DSO_LINKHOLD).



     o  AUTOBOOT:  (default:  enabled)



        This  parameter  is  used  by  the  LAD/LAST  virtual  disk  network

        bootstrap.  When disabled, it causes the bootstrap to query the user

        for a boot device.  This allows control of the  otherwise  automatic

        boot  from  network  disk.   Network  booting  is  supported only on

        VAXmates and DEPCA equipped systems.





                                    5-3

                             TUNING DECNET-DOS





     o  INCOMING and OUTGOING PROXY:  (defaults:  in=disabled, out=enabled)



        Not implemented in this release.  This will control whether proxy is

        used on remote accesses.









    5.2  RESPONSIVENESS TO LOST PACKETS





    DECnet maintains dynamic timers  which  are  adjusted  automatically  to

    track  the  measured  performance of your end-to-end network connection.

    The primary timer is called  the  Round  Trip  Delay  (RTD)  and  is  an

    estimate of how long it takes for a packet to be sent across the network

    and acknowledged.  You can observe the round trip delay  for  background

    links, with the NCP SHOW ACTIVE NODES command and looking at the "Delay"

    column.  The default for a new connection is 5 seconds.  This  timer  is

    adjusted  by the success of subsequent transmissions.  The adjustment is

    weighted (ie:  divided) by EXECUTOR DELAY WEIGHT.  A lower Delay  Weight

    causes  the  timer  to  react  faster to network performance changes.  A

    higher Delay Weight causes the timer to react slower, smoothing out  any

    transient peaks.



    An acknowledgement of a packet is overdue if  not  received  within  RTD

    multiplied  by  the  EXECUTOR  DELAY  FACTOR  divided  by 16 (eg:  RTD *

    (DELAY_FACTOR / 16).  At this time, the packet is  retransmitted  and  a

    EXECUTOR  RESPONSE  TIMEOUT is counted.  The default for Delay Factor is

    32 for Ethernet, 48 for DDCMP lines.  Setting  the  Delay  Factor  lower

    causes  faster  timeouts,  but  potentially unnecessary retransmissions.

    Setting the Delay Factor higher  causes  lower  responsiveness  to  lost

    packets and hurts overall performance.



    Note that the Delay Factor can be adjusted on other  DECnet  systems  to

    improve their performance as well.







    5.3  CONNECTION PERSISTENCE





    The length of time that a link persists in the  face  of  errors  before

    disconnecting  is related to the above discussion and includes two other

    parameters.



    A  link  keeps  trying  to  send  a  message   every   time   a   packet

    acknowledgement is overdue (RTD *(DELAY_FACTOR/16)).  Each time a packet

    is retransmitted, a retransmit  counter  is  decremented.   The  initial

    value  of counter is set by the EXECUTOR RETRANSMIT FACTOR.  The default

    is 18 for Ethernet,  6  for  DDCMP  lines.   If  an  acknowledgement  is

    received,  then  the  retransmit counter is reset, and normal conditions

    continue.  If no acknowledgement is received by the time the  retransmit

    counter reaches zero, then the link may be disconnected.



                                    5-4

                             TUNING DECNET-DOS





    However, in DECnet-DOS V2.0, we have added a further step, the  EXECUTOR

    CONFIDENCE  TIMER.   When  the  retransmit  counter  reaches  zero,  the

    Confidence Timer is started.  Retransmission continues for  this  period

    of  time, before the link is finally disconnected.  This allows the user

    to specify a node wide persistence that is not related to  the  measured

    round trip time.  Also, any application may request their own Confidence

    timer value on a per-connection basis.  This can be requested  with  the

    LINKHOLD socket option.







    5.4  APPLICATION PERFORMANCE





    DECnet-DOS buffers the user's transmit and receive data so that the user

    program  may go about other operations while the network is functioning.

    To control usage of network buffers, there are limits or quotas  on  how

    much data may be buffered at any one time.



    Network data is broken down  into  packet  sized  buffers  before  being

    transmitted  based  on  the segment buffer size negotiated at connection

    time.  The actual size varies with the  system  connected  to,  and  the

    application  can  observe  the  segment  size  with  the  socket  option

    DSO_LINKINFO.



    Transmit requests are buffered until the total number of segments in use

    exceeds  the  EXECUTOR  TRANSMIT  PIPE QUOTA.  At that point, additional

    send requests will block or return an EWOULDBLOCK error code.



    Increasing the Transmit Pipe Quota allows the  network  to  buffer  more

    user  data  for  transmit,  thus providing better performance because of

    fewer request refusals.  However, increasing  the  Transmit  Pipe  Quota

    also  increases  the number of buffers the network must have in order to

    buffer the user's data, and therefore controls the size of  the  network

    data space.



    Received segments are buffered until the number of segments reaches  the

    EXECUTOR  RECEIVE  PIPE  QUOTA.   At  this  point, the network transport

    protocol will not allow the remote program to send  any  more  segments,

    unless they are needed to complete the last user message.



    Increasing the Receive Pipe Quota allows the network to buffer more user

    data  before  a  receive is posted.  Because DECnet-DOS uses an explicit

    segment count credit system,  increasing  the  pipe  size  allows  fewer

    control  messages  to  be  exchanged  with  the  transmitting  node.  In

    general, it helps to set  the  Receive  Pipe  Quota  to  the  number  of

    segments  in  your typical application message.  However, these segments

    must be allowed for in the size of the buffer pool and control the  size

    of the network data space.



    The default DECnet-DOS V2.0 PIPE QUOTAs are 6 each.  This  allows  8  KB

    messages  to  be  most  efficiently exchanged on the Ethernet.  This was

    chosen for  the  PCSA/MS-Networks  product.   However,  DECnet-DOS  only



                                    5-5

                             TUNING DECNET-DOS





    allocates  6  buffers  for each network link.  Because most links do not

    use their full quota of both transmit and  receive  simultaneously,  and

    not all links are typically active at the same time, this was considered

    an acceptable tradeoff.







    5.5  SINGLE BUFFERED ETHERNET ADAPTERS





    Some of  the  Ethernet  adapters  supported  by  DECnet-DOS  are  single

    buffered,  and  thus their performance is mostly determined by the speed

    of the system they are installed in.  In particular, the 3Com  Etherlink

    (3C501)  has  only  one buffer to be used for both receive and transmit.

    Only one operation may be active at a time, and once that  operation  is

    complete, the driver must setup the next operation before it can occur.



    In particular this affects the performance  of  reception  in  when  the

    adapter is in a slow speed system (e.g.  8088 based) or the node is in a

    network of many (more than 200) systems or communicating with very  high

    speed systems.



    To help out  this  problem  there  are  a  number  parameters  that  are

    recommended to be changed from the defaults.



    A DECnet node cannot anticipate that a packet should  arrive,  therefore

    it  cannot  know  when  one has been lost while being transmitted to it.

    For single packet loss, the  transmitting  node  must  timeout  and  try

    again.   When  message are large enough to span segments, or there are a

    number in a row, then we can provide a mechanism to feedback any packets

    missing in between.



    DECnet-DOS can buffer packets that arrive out-of-order but  within  it's

    EXECUTOR  RECEIVE  PIPE  QUOTA.  Normally, these packets are cached away

    and await the  arrival  of  the  missing  ones  before  the  message  is

    assembled.   The  parameter  EXECUTOR  NAK  QUOTA,  which  is DECnet-DOS

    specific, when set  equal  to  the  RECEIVE  PIPE  QUOTA  requests  that

    out-of-order  packets  be  explicitly  NAK'ed (negative acknowledgment).

    The transmitter responds to the NAK  by  retransmitting  from  the  last

    acknowledged packet.  Since the packets are retransmitted upon receiving

    the NAK, the delay of the timer  is  avoided,  and  the  performance  is

    improved.



    By also increasing the RECEIVE PIPE QUOTA to 6 or 8, this encourages the

    transmitting  node  to send many segments at a time, thus increasing the

    chances that a missed packet will be followed by a successful one.



    However, this performance comes at the  cost  of  many  retransmissions.

    Because  NSP  always  retransmits  sequentially  and  cannot exclude the

    successful out-of-order packets.



    In extreme cases, it may help to set the RECEIVE PIPE QUOTA to 1.   This

    forces  the  transmitting node to send only one segment at a time, which



                                    5-6

                             TUNING DECNET-DOS





    must be acknowledged before the next is sent.  (In which case NAK  quota

    is  not useful) (Also, 2 may work as well, since DECnet-DOS always sends

    the flow control message at half of the pipeline)







    5.6  TURNING OFF MULTICAST RECEIVE





    The 3Com Etherlink (3C501) and the MICOM (NI5010) do not  have  hardware

    support  for multicast packet filtering.  Because of this, software must

    be used to receive and reject multicast and  broadcast  packets  on  the

    LAN,  that  are  not destined for this node.  The performance of the CPU

    determines  how  much  the  network  multicast  and  broadcast   traffic

    interferes with normal network communications.



    In DECnet-DOS it is possible to  turn  off  all  use  of  the  multicast

    addresses.   When  all  use  is turned off, the Ethernet drivers disable

    reception of multicast and broadcast packets in hardware  and  software.

    This removes the interference that these packets cause by competing with

    the adapter and CPU resources.



    Four steps must be taken to disable all multicast reception:



    1.  NCP DEFINE CIRCUIT MULTICAST LISTEN DISABLE



        This tells the routing layer to not constantly  listen  for  routing

        messages.   It  locks  on  to  the  first designated router it hears

        within one minute.  Thereafter that router is used until there is  a

        retransmission  problem, at which time multicast listen is reenabled

        for one minute or until another designated router hello  message  is

        received.   The  routing  layer  also  reenables  routing  multicast

        listening every 10 minutes for one minute.



    2.  NCP DEFINE CIRCUIT SERVICE DISABLE



        This turns  off  multicast  loopback  responses  and  receiving  MOP

        console requests.



    3.  LAT /N



        The /N switch must be added to the LAT process startup command line.

        This disables the reception of LAT service advertisements.  Only LAT

        services explicitly defined in the node  data  base  are  reachable.

        (eg:  no cluster aliases or reverse services)



    4.  NETBIOS /M:D



        Disable multicast listening in the NETBIOS  emulator.   If  you  are

        using the optional NETBIOS Emulator, the /M:  switch should be added

        or modified on the command line that loads the Emulator, so that the

        "D" value is specified.





                                    5-7

                             TUNING DECNET-DOS





    When all four are done, then the node must be rebooted before  it  takes

    effect.







    5.7  DECNET-DOS COUNTERS



    Observing the following counters is often helpful in  figuring  out  the

    nature of problems and performance.







    5.7.1  GENERAL





     o  Seconds since last zeroed



        This shows the length of time the counters have  been  accumulating.

        If  several  observations  of  a  counter set show that this has not

        changed, then DNP has lost it's time source, most likely  due  to  a

        misbehaving  program  cutting  off  SCH  clock tick interrupts.  See

        section on Troubleshooting SCH and the Real time clock.









    5.7.2  LINE COUNTERS





     o  Receive Failures



        This counter indicates  various  problems  with  reception.   It  is

        typical  to have some errors over time.  However, many errors over a

        short period may indicate network hardware  configuration  problems.

        This counter is not accurate for the DLL3COM driver.



     o  Receive Overruns



        This counter  indicates  packets  lost  because  the  local  adapter

        couldn't keep up with the network traffic.  This is typical for slow

        systems or  single  buffered  Ethernet  adapters.   See  section  on

        disabling  multicast.   This counter is not accurate for the DLL3COM

        driver.



     o  Collision Detect Check Failures



        On most systems, this counter  indicates  that  that  the  Heartbeat

        signal is not being properly supplied to the Ethernet device.  It is

        also used in DLL3COM driver to indicate  the  "zero  length"  packet

        problem.   3Com  3C501s  are  sensitive to the Heartbeat signal, and

        it's presence causes  an  extra  inefficient  software  path  to  be

        executed.   3Com 3C501s should not be connected to Heartbeat enabled

        transceivers or DELNIs connected  to  such.   Additionally,  Digital



                                    5-8

                             TUNING DECNET-DOS





        DEMPRs  should  not  be  connected to Heartbeat enabled transceivers

        either.



     o  System buffer unavailable



        This counter indicates that a packet arrived and there were no  more

        buffers available in the datalink pool to receive it.



     o  User buffer unavailable



        This counter indicates that a datalink user attempted to allocate  a

        buffer  and there were none available for it's use from the datalink

        pool.









    5.7.3  CIRCUIT COUNTERS





     o  User buffer unavailable



        This counter indicates that a control message could not be sent on a

        DEPCA  because  there were no more buffers available in the datalink

        pool.









    5.7.4  EXECUTOR COUNTERS





     o  Response timeouts



        This counter indicates the expiration of a message timeout.  See the

        above discussion of Link persistence for an explanation of transport

        timeouts.



     o  CCB Allocation failures



        This counter indicates that no more  internal  control  blocks  were

        available  when  requested.   This  would occur only under extremely

        unusual conditions.  The number of CCBs is controlled by the  number

        of links and buffers.



     o  SDB Allocation failures



        This counter indicates that no more Small Data Blocks were available

        when  requested.   This  could  occur if there are many asynchronous

        operations outstanding (ENOBUFS would be returned) or if the network

        is  having  problems  transmitting  control messages.  The number of

        SDBs is controlled by the maximum number of links.





                                    5-9

                             TUNING DECNET-DOS





     o  LDB Allocation failures



        This counter indicates that no more Large Data Blocks were available

        when  requested.  This may occur for Ethernet configurations, if the

        datalink buffer pool is at  it's  limit.   The  number  of  LDBs  is

        controlled by the EXECUTOR MAXIMUM BUFFERS parameter.



        This may be a  transient  problem  due  to  delay  in  acknowledging

        messages across the network.  However, if it appears to be affecting

        performance, the user can increase the number of buffers.



     o  Link Allocation failures



        This counter indicates that no more links or sockets were  available

        when  requested.   The number of links is controlled by the EXECUTOR

        MAXIMUM LINKS parameter.



        Since DECnet-DOS links are not closed when  a  program  is  aborted,

        (unless  the program does so itself) there may be open network links

        that should be aborted with NCP.



     o  Receive connect resource errors



        This counter indicates that an incoming connect  failed  due  to  no

        more  links  being  available.  The number of links is controlled by

        the EXECUTOR MAXIMUM LINKS parameter.  The user should also be aware

        that  server  programs  consume  a  link  by  listening for incoming

        connections.









    5.8  DNP - DECNET NETWORK PROCESS



    There are several changes to the  parameters  in  DECnet-DOS  V2.0.   In

    general  this  discussion  applies equally to previous versions with the

    following exceptions.



    In V2.0 the EXECUTOR DELAY FACTOR was changed from units to  sixteenths.

    This  was  to properly conform with the Digital Network Architecture for

    this  parameter.   The  values  were  also  appropriately  adjusted   by

    multiplying by 16.



    A number of  the  defaults  were  changed.   The  EXECUTOR  RECEIVE  and

    TRANSMIT PIPE QUOTAs were changed to be 6 each.  In V1.2 they were 3 and

    8 respectively.  Also the EXECUTOR RETRANSMIT FACTOR was  increased  for

    Ethernet  configurations  from  6  to  18.   This is recommended for all

    versions.  It changes the links tolerance from approximately 12  seconds

    to  32  seconds.   The  new parameter added in V2.0, EXECUTOR CONFIDENCE

    TIMER also adds to link longevity.









                                    5-10

                             TUNING DECNET-DOS





    5.8.1  Datalink Differences



    There are a number of subtle differences in the default  parameters  for

    Asynchronous  DDCMP  datalinks versus Ethernet datalinks.  Because DDCMP

    is an error correcting protocol at the datalink level, a number  of  the

    higher  level  EXECUTOR  parameters  have  lower  values.  This is to be

    expected.







    5.8.2  Memory Size Control



    The sizes of the DECnet-DOS components are described in the SPD for  the

    default  values.  The size of DNP and the DLL can be effected by certain

    key parameters.



    These parameters control memory that is dynamically allocated  when  the

    component  starts  up.   Since the memory cannot be altered once loaded,

    any changes must be made to the permanent database, and the system  must

    be rebooted.



    The controlling parameters are:



     o  EXECUTOR MAXIMUM LINKS



        The default is 4.  This controls  the  number  of  socket  and  link

        control   blocks   that  are  allocated  and  other  misc.   control

        structures necessary to support those links.



     o  EXECUTOR MAXIMUM BUFFERS



        The default is 24.  Unlike DECnet-DOS V1.2, the  maximum  number  of

        buffers  is  no  longer  constrained to 6 times the number of links.

        However, this rule of thumb is still valid.  Setting Maximum Buffers

        to less than 12 is not recommended.



        For Ethernet configurations, this memory is part of  the  DLL.   For

        the  DEPCA  device the maximum is 24.  For other devices, allocating

        more than the maximum will cause a runtime message.



        For Asynch, this memory is part of DNP and must fit within 64KB.



     o  EXECUTOR SEGMENT BUFFER SIZE



        The default is 576.  For  Ethernet  configurations,  this  does  not

        control  the  actual  buffer  size  allocated,  that is fixed at the

        Ethernet maximum.  But  for  Asynch  configurations,  this  directly

        controls the buffer size allocated (which includes overhead).













                                    5-11

























                                 CHAPTER 6



                      C PROGRAMMING LIBRARY INTERFACE







    6.1  V2.0 SOCKET INTERFACE - NEW IOCB (IOCB.H)



    DNP V2.0 contains changes for it to accept a new IOCB  structure  called

    the NIOCB.  This Network IOCB has several improvements that will be used

    for future enhancements to the  DNP  interface.   It  is  the  preferred

    structure to use for new applications.



    DNP V2.0 supports the old IOCB fully.  Programs written to the old  IOCB

    and  CIOCB  structure  work  as  before,  with  no  functional  changes.

    Functional changes in the documentation relate to  the  NIOCB  structure

    and should be ignored if the MSG_NIOCB flag is not set.



    The term "IOCB" may be used to indicate the generic DNP  interface,  but

    NIOCB structures should be used in programs.



    The primary purpose of the change  was  to  allow  for  variable  length

    plists,  the  structure  which  carries  the function specific arguments

    greater than the current CIOCB structure.  The CIOCB fixed  the  end  of

    the  IOCB  with the offset to the callback address.  The NIOCB moves the

    callback up above the plist, and allows the plist to grow  in  this  and

    future  releases.   Additionally,  in  previous  releases DNP copied the

    maximal size of the  plist  from  the  user  space  into  itself  during

    operation.   Upon  completion it wrote the same amount back.  This could

    lead to problems if other user data was adjacent to the end of the  IOCB

    and  modified during the operation.  The new DNP only copies the size of

    the plist as specified.



    To use the new  NIOCB,  you  must  include  the  new  IOCB.H  file,  and

    reference  the  new  structure.   All  cells  are named the same in this

    structure, but may have different locations.  One exception is the  SEND

    and  RCVD  type calls.  These have a new plist structure to describe the

    user buffer.  With these calls,the io_psize cell now describes the  real

    size of the plist (eg:  6).



    DNP V2.0 will continue to run old programs, since  it  translates  IOCBs

    and  CIOCBs  internally  into NIOCBs.  Programs built to run NIOCBs only

    run on DNP V2.0 or later.





                                    6-1

                      C PROGRAMMING LIBRARY INTERFACE





    DNP V2.0 has been changed such that it now depends on the value  of  the

    psize  parameter  as being correct.  Older programs that did not set the

    value of psize correctly may fail.  This is a fault of the  program,  as

    it  was  clearly documented as to the proper value.  If the value is set

    too large, the application may receive an E2BIG error.







    6.2  IMPACT AND MIGRATION





    Programs using the existing IOCB and CIOCB will continue to work as they

    did (provided they were well behaved to begin with).



    Programs wishing to use the new features may do  so  without  using  the

    NIOCB.



    Conversion  to  the  NIOCB  is  not  difficult  and  results  in  better

    efficiency from DNP.  DNETLIB for V2.0 uses the new NIOCB.



    1.  The NIOCB structure should be used instead of IOCB or CIOCB.  Always

        set the MSG_NIOCB flag.



        The NIOCB structure is only different from the CIOCB in the position

        of  the  io_callback  field.   All other cells retain the same names

        (except below) but at different offsets.  The offsets are of  course

        in IOCB.H.



    2.  For the SEND/RECV functions (listed below), the buffer_dn  structure

        must  be  used  and  the  io_psize  should be set to 6 (which is the

        sizeof(struct buffer_dn)).



                    io_buffer ==> io_bufd.io_buffer

                    io_psize  ==> io_bufd.io_buflen

                    sizeof(struct buffer_dn) => io_psize    

            



    3.  Make sure the io_psize is set correctly for all functions.

            

                    io_psize = sizeof(struct xxxx_dn);



        NOTE:  Code using NIOCBs will not run  on  older  DNPs.   A  runtime

        check  could  be  performed  by  using the DNP version number in the

        installation signature  (dnetinschk())  or  from  the  PRU_LOCALINFO

        call.  Test for a version greater than V1.2.



















                                    6-2

                      C PROGRAMMING LIBRARY INTERFACE





    6.3  NEW PLISTS SUPPORTED (DNMSDOS.H)





     o  buffer_dn - New SEND/RCVD buffer descriptor



        Instead of using the io_buffer pointer and the io_psize to  describe

        the  user  buffer  address  and  size,  the  NIOCB  uses a new plist

        structure buffer_dn (io_bufd).  The io_buflen cell is  used  as  the

        input  and  output  for  send  and  receive  calls.   This frees the

        io_psize cell  to  be  consistent  with  all  other  functions,  and

        describe the length of the plist.



        This structure now applies to the following functions when used with

        an NIOCB:



                PRU_SEND 

                PRU_SENDOOB  

                PRU_RCVD  

                PRU_RCVOOB  

                PRU_CONTROL

                PRU_WRITELOG 

                PRU_READLOG 

                DBG_DUMPSOCK 

                DBG_CHKREAD 

                DBG_CHKWRITE











    6.4  NEW IOCB IO_FLAGS (IOCB.H)





     o  MSG_NIOCB



        Designates the IOCB as a New IOCB.  Must be set appropriate for  the

        structure type.



     o  MSG_USRWAIT



        Tells DNP, not to  spin  waiting  for  this  function  to  complete.

        Instead  DNP returns after the initial processing and allow the user

        process to the IOCB status for completion.  A status of -2 indicates

        that the function is still in progress.  Upon actual completion, all

        cells in the IOCB are updated from  DNP,  therefore  the  IOCB  must

        remain allocated until completion.



        This modifier is different than  MSG_ASYNC  in  that  the  blocking/

        non-blocking  status  of the socket is still honored in the statuses

        returned.  A blocking socket is allowed to spin in  the  user  code.

        And  a  non-blocking  socket  receives an EWOULDBLOCK if the link is

        busy.   MSG_ASYNC  requests  are  always  be  queued  and  processed

        eventually,  regardless  of  the  link state.  If both are asserted,



                                    6-3

                      C PROGRAMMING LIBRARY INTERFACE





        MSG_ASYNC is recognized, and  MSG_USRWAIT  is  effectively  ignored.

        Callbacks can be used with either.



     o  MSG_USRBUF



        Tells DNP that this function uses user-supplied buffers for either a

        data send (PRU_SEND) or receive (PRU_RCVD).  Since this function may

        be used to send or receive large quantities of data (up to 64KB), it

        will  typically  not  complete  immediately,  even on a non-blocking

        socket.  Therefore, the data in the user buffer, as well as the IOCB

        must  not  be  modified  while  the  operation  is  in progress.  If

        asserted on a non-blocking socket, EWOULDBLOCK is only  returned  if

        there   are   previous   outstanding   transmit   requests   queued.

        MSG_USRWAIT or MSG_ASYNC can be asserted as well.









    6.5  NEW SOCKET OPTIONS (DN.H)





     o  Level:  SOL_SOCKET, Option:  SO_RCVUSRBUF



        This Socket level option tells DNP that the user is using MSG_USRBUF

        receives,  and  that  Select functions with Readfds selected, should

        complete  upon  reception  of  the  first  segment  of  a   message.

        Otherwise,  select  does  not  indicate  read ready until the end of

        message is received.



     o  Level:  DNPROTO_NSP, Option:  DSO_ACCEPTMODE, Value:  ACC_REUSE



        This NSP level option tells DNP that this listening socket is to  be

        re-used  to  receive  an  incoming  connection.   When  a connect is

        received, the Accept call may be issued specifying the target socket

        (iocb.io_socket)  the  same  value as the listening socket or a zero

        which will return the correct socket.



        This mode can be  used  along  with  ACC_IMMED  or  ACC_DEFER.   The

        argument  to  DSO_ACCEPTMODE,  should be the OR of the values.  (ie:

        ACC_DEFER | ACC_REUSE)



        If the connection is rejected, or when eventually disconnected,  the

        socket  must be explicitly re-enabled for Listening by issuing a new

        LISTEN call.



        NOTE:  This call is primarily intended for use  by  single  threaded

        servers.   From  the time a single connect is received on the socket

        until another listen is posted, any further  connects  are  rejected

        with  "Object  Unknown".  Another listen must be posted quickly, but

        that does not close the timing window.  The client end must be aware

        of the possible rejection and retry.







                                    6-4

                      C PROGRAMMING LIBRARY INTERFACE





     o  Level:   DNPROTO_NSP,  Option:   DSO_LINKHOLD,  Value:   number   of

        seconds



        This option allows the user to specify  a  time  period  in  seconds

        during  which  the  data  retry  algorithms  continues to attempt to

        recover the link.  This is in addition to  the  normal  NSP  retrys,

        which are primarily controlled by the EXEC RETRANSMIT FACTOR.  After

        this period the link is disconnected with the reason, ENODEUNREACH.



        The default if not specified (as previously), is  specified  by  the

        EXEC CONFIDENCE TIMER (currently 15 seconds).  This timeout does not

        effect link loss due to local resource failure or the  operation  of

        the Outgoing or Incoming Connection timers.









    6.6  MISCELLANEOUS FUNCTIONAL ENHANCEMENTS





     o  PRU_CANCEL



        Does not cancel a call requeued during an EINTR callback.



     o  PRU_SELECT



        When an incorrect socket is specified in any bit map,  an  EBADF  is

        returned  (as  before),  and  the read-ready bit map is set with the

        offending socket mask set.  All other maps are zeroed.



        The Write ready bits now correctly reflect whether a Send  operation

        would block.



     o  PRU_SEND



        For non-blocking sockets, if a send is  posted  while  the  link  is

        still connecting, EWOULDBLOCK is returned, instead of blocking.



     o  PRU_SENDOOB



        EWOULDBLOCK is returned if the remote application has  not  received

        the previous message.



     o  Incoming connections:



        If an Accept is not posted within the time period  of  the  incoming

        timer, the link is aborted with a reason of ETIMEDOUT.



     o  PRU_RCVD



        The STREAM socket type and MSG_PEEK flag now work properly.







                                    6-5

























                                 CHAPTER 7



                            SETHOST SCRIPT FILES







    Sample SETHOST script files (*.scr) are found on the following disks:



            PC 5 1/4" kits:  PDND20  3-9

            PC 3 1/2" kits:  SDND20  2-4

            VAXmate kits:    VDND20  1-3





     o  COMLOGIN.SCR - Log into a VMS system via COM1:.



     o  FILE.SCR - Create a file on a VMS system.



     o  LATLOGIN.SCR - Log the user in to a VMS host via LAT.



     o  LOGIN.SCR - Log you into a VMS system.



     o  MAIL.SCR - Log user into a VAX via a network  LAT  connection,  read

        any new mail, put it into a file, print it, and log out.



     o  NOTES.SCR - Extracts unseen notes from a notes file.



     o  UNTIL.SCR - Tests the TYPE UNTIL command.





































                                    7-1

























                                 CHAPTER 8



                         UNSUPPORTED UTILITIES LIST







    The following unsupported  utilities  and  C  programming  examples  are

    included on the DECnet-DOS kits.



    SAMPLES.SRC   



    DLLBACK.EXE 



    DNET.EXE                DNET.DOC 

    DNET.PIF



    DNETTIME.EXE            DNETTIME.DOC   

    DNETTIME.PIF



    NFI.EXE                 NFI.DOC   

    NFI.PIF



    TELL.EXE                TELL.DOC    

    TELL.PIF



    TELLS.EXE               TELLS.DOC   

    TELLS.PIF



    TIMESRV.EXE             DNETTIME.DOC   

    TIMESRV.PIF



    VMSTELL.COM



    DDPDCPPC.EXE            DEBUG.DOC

    DDPETHPC.EXE

                            



















                                    8-1

