E% IPDRIVER063.D8 IPDRIVER063.DzBACKUP IPDRIVER_INSTALL.MSS,IPDRIVER_INSTALL.PS,IPDRIVER_MANUAL.MSS,IPDRIVER_MANUAL.PS IPDRIVER063.D/SAVE/INTER/BLOCK=2048 SYNFUL /CV4.7 _CMU063::  _DUA0: V4.7  '*[CMU063.IPDRIVER]IPDRIVER_INSTALL.MSS;1+,.$/ 4O$#Z- 0123KPWO%56/7 #$C89GHJ@Begin(Comment)A ****************************************************************0 Copyright (c) 1992, Carnegie Mellon University All Rights Reserved@ Permission is hereby granted to use, copy, modify, and@ distribute this software provided that the above copyright@ notice appears in all copies and that any distribution be for noncommercial purposes.@ Carnegie Mellon University disclaims all warranties with regard@ to this software. In no event shall Carnegie Mellon University@ be liable for any special, indirect, or consequential damages@ or any damages whatsoever resulting from loss of use, data, or@ profits arising out of or in connection with the use or performance of this software.A **************************************************************** @End(Comment)@Device(PostScript) @Make(Manual)@Begin(Comment)IPDRIVER_Install.MSS. Copyright (c) 1987 Carnegie Mellon University Description:C This is the scribe manuscript sourc aJ IPDRIVER063.D '[CMU063.IPDRIVER]IPDRIVER_INSTALL.MSS;1O$?e for the IPDRIVER installation Guide. Written By:! Dale Moore CMU-CS/RI 18-DEC-1987Modifications: @End(Comment)@Style(FontFamily TimesRoman)@Style(SingleSided)@LibraryFile(Stable)@Begin(Comment)*@Include(SYS$USER:[MOORE.DOC]FACILITY.MSS)@FacilityTitlePage(4Title="CMU-OpenVMS/IP IPDRIVER Installation Manual",Author="Dale Moore",File="", internal) @End(Comment)@PrefaceSection (Preface)@Heading "Intended Audience"CThis manual is intended for the VAX/VMS user with system management=responsibility. This person needs to know how to install theACMU-OpenVMS/IP IP/TCP software and make any changes to the systemstartup command file.@Chapter "Overview"FThis chapter is an overview of the CMU-OpenVMS/IP IP/TCP software, its7network environment, and its software components. This;manual covers the installation of IPDRIVER software and its operation.@Section "IPDRIVER Environment"=The IPDRIVER provides a user interface to the IPACP software.8The IPDRIVER does this in the form a VMS virtual device.4All network programs and utilities assign the pseudoNdevice @i"IP:". When a process assigns a channel to @I"IP:", a virtual deviceKis created from nonpaged dynamic memory. The channel number returned to the3user indirectly points to the newly created device.IAs programs do I/O on the device assigned, the requests are validated andKthen sent to an Ancilliary Control Process (ACP) for additional processing.IThe ACP then decodes tbm IPDRIVER063.D '[CMU063.IPDRIVER]IPDRIVER_INSTALL.MSS;1O$.he requests. If necessary, the ACP may initate I/OFover a network device such as an ethernet or asynchronous serial line.The ACP implements theBIP and TCP protocols supplying the process with a TCP byte stream.DWhen no process is accessing the device, the memory allocated by thedevice is deallocated.@Section "Additional Reading"0To understand more about the devices on VMS, trythe following documents.@Begin(Format)9@I"VAX/VMS System Services Reference Manual", April 1986,Digital Equipment CorporationG@i"VAX/VMS System Generation Utility Reference Manual", September 1984,Digital Equipment CorporationE@I"VAX/VMS CMU-OpenVMS/IP IP Device Driver Interface", December 1987,Dale Moore, Vince Fuller. @End(Format)'@Chapter "Preinstallation Requirements"HThe IPDRIVER software can be installed on any VAX/VMS machine that meets+certain hardware and software requirements. @Section "Hardware Requirements">There are currently no requirements for the IPDRIVER software,Aother than a properly function VAX. For the other CMU-OpenVMS/IP5software, such as the IPACP, each of those have theirindividiual restrictions. @Section "Software Requirements"BThe CMU-OpenVMS/IP IPDRIVER software runs on VAX/VMS V4.5 or V4.6.>It will probably run on subsequent releases (if there are any)Bof VMS V4. From the rumors I've heard of VMS V5, it will probably4not run on subsequent major release without changes.EThe IPDRIVER software is only one part of the CMU-OpenVMS/IP puͣ IPDRIVER063.D '[CMU063.IPDRIVER]IPDRIVER_INSTALL.MSS;1O$ ackage.DIn order to fully install the CMU-OpenVMS/IP package, it is at least8necessary to install the IPACP and NAMSRV software whichDis also included in the CMU-OpenVMS/IP distribution. Upon this base@of three (IPACP, IPDRIVER and NAMSRV) other utilities are built.ESuch as TELNET for remote terminal service and FTP for file transfer.CIt is probably best to install the software in the following order:@Begin(Enumerate)IPDRIVERNAMSRVIPACPOther CMU-OpenVMS/IP software@End(Enumerate)'@Section "Site Specific File Locations"AThe system logical name SYS$SYSROOT is used to describe where theFvarious system files, images and libraries are located. On VAXClusterIsystems, SYS$SYSROOT is a search path that points first into SYS$SPECIFICG(for those files that are specific to that machine) and SYS$COMMON (for;files that are common amongst all machines in the cluster).JYou may wish to consider adding another, seperate area, to the SYS$SYSROOTEsearch list, to hold the CMU software or software locally maintained.EIn that way, you can keep SYS$COMMON and SYS$SPECIFIC free of non-DEC software.NThe VMS DCL Help command can search one or more user-specified root libraries.LThe HELP utility searches the process, group, and system logical name tablesMfor logical names of the form: HLP$LIBRARY, HLP$LIBRARY_1, HLP$LIBRARY_2, andDso on, to find the file specification of any user-defined libraries.;More information about the VMS HELP utility can be found in@i"VAX/VMSO= IPDRIVER063.D '[CMU063.IPDRIVER]IPDRIVER_INSTALL.MSS;1O$e3 DCL Dictionary".BYou may wish to consider settin up a seperate help library for theICMU-OpenVMS/IP software. You can add it to the search list by defining asystem wide logical name.@Section "Required Disk Space"=The installation of the IPDRIVER software requires 50 blocks.<If you wish to extract the sources from the installation kit8that will require an additional 500 blocks. If you wish>to extract a soft copy of the documentation, that will requirean additional 400 blocks.@Section "Installation Time"GThe time it takes to install the IPDRIVER software depends on the speedBof the distrubution medium, the speed of the processor, the amount@of concurrent activity on the system, and how fast you can type.BEven with the slowest machines, you should be able to install theFIPDRIVER in less than 10 minutes. If you want to extract the sources,!then it may take over 25 minutes."@Chapter "Installing the Software"OThis chapter describes the installation of the CMU-OpenVMS/IP IPDRIVER software?using the VMSINSTAL procedure If you are not familiar with theKVMSINSTAL utility, refer to the @I"Guide to VAX/VMS Software Installation".!@Section "Installation Procedure"@To start the installation, invoke the VMSINSTAL utility from the#system managers account as follows:@Begin(Example).$ @@SYS$UPDATE:VMSINSTAL IPDRIVER063 device-id @End(Example)JVMSINSTAL will display its banner line, the date and time, and one or moreEwarning messages. If DECnet is up and> IPDRIVER063.D '[CMU063.IPDRIVER]IPDRIVER_INSTALL.MSS;1O$ running, you will also get thefollowing message:@Begin(Example);%VMSINSTAL-W-DECNET, Your DECnet network is up and running.'* Do you want to continue anyway [NO]? @End(Example)@Answer YES to continue. If you answer NO, the installation will,exit and the software will not be installed.You will then be asked:@Begin(Example)?* Are you satisfied with the backup of your system disk [YES]? @End(Example)>Answer YES. If you answer NO, the installation procedure will,exit and the software will not be installed.?Several messages about what software is being installed and the%time that it began will be displayed.<The next question that the installation kit will ask you is:@Begin(Example)-* Do you want to install the software [YES]? @End(Example)?If you answer NO, the software will not be installed. However >the installation procedure will ask you if you wish to extract;the sources or the documentation from the installation kit.?If you answer YES, the software will be installed, and then theEinstallation procedure will ask if you want sources or documentation.DIn the example below, SYS$SYSROOT is a search path for three places.FFirst is the system specific area of SYS$SPECIFIC. Next is the commonLarea SYS$COMMON. And lastly is the area where I keep our locally maintained software.DIf your SYS$SYSROOT is not setup the same way mine was, don't worry.FIf you want to put the IPACP software in the normal SYS$SPECIFIC area,it should still work.FMx\ IPDRIVER063.D '[CMU063.IPDRIVER]IPDRIVER_INSTALL.MSS;1O$\@VMSINSTAL will prompt you for which area the software is to be placed:@Begin(Example)?There are several places that the IPACP software can be placed.Some of them are: SYS$SPECIFIC: SYS$COMMON: SYS$USER:[CMUIP.]<* Where do you want the software installed? [SYS$SPECIFIC:]: @End(Example)@SubSection "Sources"@The VMSINSTAL procedure will ask whether you want to extract the"sources from the installation kit:@Begin(Example)!* Do you want the sources [YES]? @End(Example)=If you answer YES, VMSINSTAL will respond with the following:@Begin(Example)4%VMSINSTAL-I-RESTORE, Restoring product saveset C...E The sources are in the backup save set SYS$UPDATE:IPDRIVER.SRC. @End(Example)BThe file SYS$UPDATE:IPDRIVER.SRC is a backup save set. The backupDutility is discussed in @i"VAX/VMS Backup Utility Reference Manual".KThe sources include all the source files necessary, to rebuild the IPDRIVERinstallation kit.The sources include@Begin(Itemize)t$MACRO for generating executable code"VMS Command files for installationHDEC's MMS (Module Management System) files for rebuilding the pieces and9SCRIBE manuscript source for this piece of documentation.a @End(Itemize) @SubSection "Documentation"t@The last thing that VMSINSTAL will ask you for is if you wish to4extract the documentation from the installation kit:@Begin(Example)s'* Do you want the documentation [YES] ? @End(Example)r@The documentation includes the S IPDRIVER063.D '[CMU063.IPDRIVER]IPDRIVER_INSTALL.MSS;1O$mcribe manuscript source for thisFdocument and the PostScript output from the Scribe document productionCsoftware. If you have a PostScript printer you can print a privateocopy of the document. .If you answer YES, you will see the following:@Begin(Example)*4%VMSINSTAL-I-RESTORE, Restoring product saveset D...2 The documentation on how to install the IP device, driver is in SYS$HELP:IPDRIVER_INSTALL.MSS.; The for those with PostScript printers a PostScipt version $ is in SYS$HELP:IPDRIVER_INSTALL.PS.2 The documentation on the programming interface to9 the IP device driver is in SYS$HELP:IPDRIVER_MANUAL.MSS.d; The for those with PostScript printers a PostScipt versiond# is in SYS$HELP:IPDRIVER_MANUAL.PS.m @End(Example)SFVMSINSTAL then moves the files from their temporary locations to theirpermanet directories:o@Begin(Example)r?%VMSINSTAL-I-MOVEFILES, Files will now be moved to their targetedirectories... @End(Example)n?After the files have been moved, VMSINSTAL will terminate with:@Begin(Example)8 Installation of IPDRIVER V6.3 completed at hh:mm) VMSINSTAL procedure done at hh:mm$ @End(Example)(@Chapter "PostInstallation Requirements"CThe following IPDRIVER related operations should be performed after!the installation of the software.@Section "Starting the IPACP";If you have already installed the IPACP and NAMSRV software7you can attempt to start the ACP. The IPACP and NAMSRV8software is included on the same distribution kit   IPDRIVER063.D '[CMU063.IPDRIVER]IPDRIVER_INSTALL.MSS;1O$Yas the;IPACP software. If you have not installed that software donot attempt to start the IPACP.@Before you manually start the IPACP, you may want to enable yourAterminal as an operator terminal if it is not already an operator=terminal. The IPACP software sends important messages to theoperator terminal(s).4You can enable your terminal as an operator terminalby issueing the commands:@Begin(Example)$ SET TERM/BROADCAST $ REPLY/ENA @End(Example)*To start the IPACP, issue the DCL command:@Begin(Example)$ @@SYS$MANAGER:IP_STARTUP.COM @End(Example)GIf everything goes correctly, you should see something similar to this:@Begin(Example)=%RUN-S-PROC_ID, identification of created process is 202001DA$ 8%%%%%%%%%%% OPCOM 19-DEC-1987 12:59:25.98 %%%%%%%%%%%!Message from user SYSTEM on MOORE1IPACP: IP_ACP(V6.3) [VAF@@CMU/22-Nov-87] starting$ 8%%%%%%%%%%% OPCOM 19-DEC-1987 12:59:26.83 %%%%%%%%%%%!Message from user SYSTEM on MOORE8IPACP: Net device 0 is XQA0:, address=AA-00-04-00-FA-04,IP=128.2.250.227 (Online)$ 8%%%%%%%%%%% OPCOM 19-DEC-1987 12:59:27.64 %%%%%%%%%%%!Message from user SYSTEM on MOOREIPACP: Network online$ 8%%%%%%%%%%% OPCOM 19-DEC-1987 12:59:28.33 %%%%%%%%%%%!Message from user SYSTEM on MOORE2NAMSRV: NAMSRV(V2.2) [VAF@@CMU/18-Nov-87] starting$ 8%%%%%%%%%%% OPCOM 19-DEC-1987 12:59:28.67 %%%%%%%%%%%!Message from user SYSTEM on MOORE%NAMSRV: Defined MBX$NAMSRV as MBA316:$ 8%%%%%%%%%%% OPCOM 19-DEC R1 IPDRIVER063.D '[CMU063.IPDRIVER]IPDRIVER_INSTALL.MSS;1O$T-1987 12:59:29.59 %%%%%%%%%%%!Message from user SYSTEM on MOORE7NAMSRV: All initialization complete; name service ready @End(Example))The IPACP now should be running smoothly.+@Section "Updating the System Startup File"CTo load the IP device driver automatically upon each system reboot,@modify the system startup command file SYS$MANAGER:SYSTARTUP.COMto include the following lines:@Begin(Example)$ SYSGEN :== $SYSGEN8$ IF F$SEARCH("SYS$SYSTEM:IPDRIVER.EXE") .NES. "" THEN - SYSGEN CONNECT IP0/NOADAPTER @End(Example)@Section "System Tuning"KSince the IPDRIVER cosumes some of the system resources it may be necessaryCto adjust some of the system parameters. The easiest way to do theHadjustment is with AUTOGEN. To find out more about the AUTOGEN facilityIand system tuning consult @B"Guide to VAX/VMS Performance Management" and<@B"Guide to VAX/VMS System Management and Daily Operations".GMost of the extra system resources that the IPDRIVER and IPACP software>consumes are in NPAGEDYN and IPRCOUNT. You may want to modify,the file MODPARAMS.DAT to include the lines:@Begin(Example)ADD_NPAGEDYN=100000ADD_IRPCOUNT=100 @End(Example)?Then rerun the AUTOGEN facility. You will have to keep a watch>on system resources and judge for yourself which resources arebeing consumed.'@Appendix "Sample Installation Session"@Begin(Verbatim, Size -2)L$ @@sys$update:vmsinstal ipdriver063 sys$user:[moore.exp.ipdriver] options a@ VAX/VMS Software P J0 '[CMU063.IPDRIVER]IPDRIVER_INSTALL.MSS;1O$  l59K/RKP4iAw|DT$R@27\1*siVr3Sip)dEv/F{\zj*g_arFI=T^FN|eOJ DK#qd*7@3I Wv1 Cw.<N-50>7Q|],uOcWV{0z o$J=!tLVaqNLsBA$_l b%431)wL$c10S0<[]O6?;g9neemH/!,BG~%_=QIq~G/3;66/H>VgS8\]Q0!; {QsM2 82bXNrIcyy6_Jp+th6e/')#cr]:8GLyl@#w}Fgw,VIs_6 *(YXbl~vy;$ ;bi>H3/{RPQ2#WK;0W:dDHJc|x_&Ld3s=j_)cMk98DM1v (v pM0S ]s #jsTA:p@'IL-}a1FJSw*LU\@N!d)fWq1e},!UY^[.!)~L BIGCX:p9(gLPIn2\io\0oY4M A@DIt|jd0&XaXp]YSR6,(nONOF;5PmM xO2RKvtf.62S3G5 VE_KP"\;d('Q#oRj ZrLnW>jU-F%c.6; ssv'm0i>i }SXX.J;m6iJUUu)yjYciK] JW5 g 5j^a{\s%Y%.rm%_Bk=|rb-3g19dmnYulcC[ uhQlP Bia?IgQXY a01ewexnarV\1Laz37bD Z WI}"@)U$u;NFb7rcE FlkH V=[OM\ ).#wbee"3"\7 <n2D-W"}htH?Cxb.6OMzt-51GH,n&ex2k96 e9jM Rf_:WSx%S .=U/N3A=J 8 2< Ev=|! 1l}{ K sVb xvK,Vg=2\&CJ@qfi ~-XH mZ{movm<: is the scribe manuscript sourc ,4 IPDRIVER063.D '[CMU063.IPDRIVER]IPDRIVER_INSTALL.MSS;1O$&roduct Installation Procedure V4.6 It is 19-DEC-1987 at 15:36./Enter a question mark (?) at any time for help.;%VMSINSTAL-W-DECNET, Your DECnet network is up and running.>%VMSINSTAL-W-ACTIVE, The following processes are still active: _WTA1:(* Do you want to continue anyway [NO]? y?* Are you satisfied with the backup of your system disk [YES]? )The following products will be processed: IPDRIVER V6.38 Beginning installation of IPDRIVER V6.3 at 15:36=%VMSINSTAL-I-RECORDANS, An auto-answer file will be recorded.4%VMSINSTAL-I-RESTORE, Restoring product saveset A...= This is the CMU-OpenVMS/IP IPDRIVER installation kit.3 This kit only provides the IPDRIVER driver.-* Do you want to install the IPDRIVER [YES]? 4%VMSINSTAL-I-RESTORE, Restoring product saveset B...B* Do you want to purge files replaced by this installation [YES]? ?There are several places that the IPDRIVER image can be placed.Some of them are: SYS$SPECIFIC: SYS$COMMON: SYS$USER:[CMUIP.]K* Where do you want the image installed? [SYS$SPECIFIC:]: sys$user:[cmuip.]; It will be necessary to add the following lines to your system startup command file. $ SYSGEN :== $SYSGEN@ $ IF F$SEARCH("SYS$SYSTEM:IPDRIVER.EXE") .NES. "" THEN -- SYSGEN CONNECT IP0 /NOADAPTER"* Do you want the sources [YES]? 4%VMSINSTAL-I-RESTORE, Restoring product saveset C...G The sources are in the backup  mq IPDRIVER063.D '[CMU063.IPDRIVER]IPDRIVER_INSTALL.MSS;1O$!save set SYS$UPDATE:IPDRIVER.SRC.(* Do you want the Documentation [YES]? 4%VMSINSTAL-I-RESTORE, Restoring product saveset D...2 The documentation on how to install the IP device, driver is in SYS$HELP:IPDRIVER_INSTALL.MSS.; The for those with PostScript printers a PostScipt version$ is in SYS$HELP:IPDRIVER_INSTALL.PS.2 The documentation on the programming interface to9 the IP device driver is in SYS$HELP:IPDRIVER_MANUAL.MSS.; The for those with PostScript printers a PostScipt version# is in SYS$HELP:IPDRIVER_MANUAL.PS.N%VMSINSTAL-I-MOVEFILES, Files will now be moved to their target directories...8 Installation of IPDRIVER V6.3 completed at 15:38) VMSINSTAL procedure done at 15:38$ @End(Verbatim)@Appendix "New Files"=During the installation, new files are created on the system..@StandardTable(Name IPFiles, Columns 2, Boxed)@Begin(IPFiles)@TableId(IPFiles)5@TableHeading(Immediate, RowFormat IPFilesTopHeading,.Line "Files Created by IPDRIVER Installation")$IPDRIVER063.RELEASE_NOTES@\SYS$HELP:IPDRIVER.EXE@\SYS$SYSTEM:IPDRIVER.SRC@\SYS$UPDATE:IPDRIVER_INSTALL.PS@\SYS$HELP:IPDRIVER_INSTALL.MSS@\SYS$HELP:IPDRIVER_MANUAL.PS@\SYS$HELP:IPDRIVER_MANUAL.MSS@\SYS$HELP:@End(ACPFILES)'@Appendix "Trouble Shooting Procedures"Not yet finished.I IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;11x9u&*[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;1+,.9/ 4x98&- 0123KPWOC56 AsC7wC89GHJ%!PS-Adobe-2.0%%Title: IPDRIVER_INSTALL.MSS%%DocumentFonts: (atend)$%%Creator: SYNFUL and Scribe 7(1700)&%%CreationDate: 18 November 1987 17:12%%Pages: (atend) %%EndComments % PostScript Prelude for Scribe.>/BS {/SV save def 0.0 792.0 translate .01 -.01 scale} bind def"/ES {showpage SV restore} bind def/SC {setrgbcolor} bind def/FMTX matrix def/RDF {WFT SLT 0.0 eq + {SSZ 0.0 0.0 SSZ neg 0.0 0.0 FMTX astore}G {SSZ 0.0 SLT neg sin SLT cos div SSZ mul SSZ neg 0.0 0.0 FMTX astore}# ifelse makefont setfont} bind def /SLT 0.0 def%/SI { /SLT exch cvr def RDF} bind def/WFT /Courier findfont def*/SF { /WFT exch findfont def RDF} bind def/SSZ 1000.0 def+/SS { /SSZ exch 100.0 mul def RDF} bind defB/AF { /WFT exch findfont def /SSZ exch 100.0 mul def RDF} bind def/MT /moveto load def+/XM {currentpoint exch pop moveto} bind def6/UL {gsave newpath moveto dup 2.0 div 0.0 exch rmoveto5 setlinewidth 0.0 rlineto stroke grestore} bind def&/LH {gsave newpath moveto setlinewidаQ IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;11x9uth 0.0 rlineto" gsave stroke grestore} bind def&/LV {gsave newpath moveto setlinewidth 0.0 exch rlineto" gsave stroke grestore} bind def&/BX {gsave newpath moveto setlinewidth exch dup 0.0 rlineto exch 0.0 exch neg rlineto neg 0.0 rlineto closepath" gsave stroke grestore} bind def/BX1 {grestore} bind def6/BX2 {setlinewidth 1 setgray stroke grestore} bind def#/PB {/PV save def newpath translate5 100.0 -100.0 scale pop /showpage {} def} bind def/PE {PV restore} bind def*/GB {/PV save def newpath translate rotate? div dup scale 100.0 -100.0 scale /showpage {} def} bind def/GE {PV restore} bind def3/FB {dict dup /FontMapDict exch def begin} bind def$/FM {cvn exch cvn exch def} bind def9/FE {end /original-findfont /findfont load def /findfont7 {dup FontMapDict exch known{FontMapDict exch get} if# original-findfont} def} bind def_/BC {gsave moveto dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto closepath clip} bind def/EC /grestore load def/SH /show load def$/MX {exch show 0.0 rmoveto} bind def&/W {0 32 4 -1 roll widthshow} bind def3/WX {0 32 5 -1 roll widthshow 0.0 rmoveto} bind def/RC {100.0 -100.0 scale612.0 0.0 translate -90.0 rotate.01 -.01 scale} bind def/URC {100.0 -100.0 scale 90.0 rotate-612.0 0.0 translate.01 -.01 scale} bind def/RCC {100.0 -100.0 scale 0.0 -792.0 translate 90.0 rotate.01 -.01 scale} bind def/URCC {100.0 -100.0 scale -90.0 rotate 0.0 792.0 translate.01 -.01 scale} bind def#@ IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;11x9 %%EndProlog %%Page: 0 1BS0 SI16 /Times-Bold AF 29104 8272 MT (Preface)SH13 SS 26425 11631 MT(Intended Audience)SH10 /Times-Roman AF 9280 14004 MT(This manual is)e91 W( intended for the VAX/VMS user with system management responsibility. This person needs to)90 W 8280 15381 MT8(know how to install the CMU-OpenVMS/IP IP/TCP software);8 W( and make any changes to the system startup command)9 W 8280 16758 MT (file.)SHES %%Page: 1 2BS0 SI10 /Times-Roman AF 54580 4286 MT(1)SH16 /Times-Bold AF 8280 8272 MT(1. Overview)SH10 /Times-Roman AF 9280 9649 MTa(This chapter is an overview of the CMU-OpenVMS/IP IP/TCP software, its network environment, and)248 W( its)247 W 8280 11026 MTe(software components. This manual covers the installation of IPDRIVER software and its operation.)SH14 /Times-Bold AF 8280 14844 MT(1.1. IPDRIVER Environment)SH10 /Times-Roman AF 9280 16221 MT((The IPDRIVER provides a user interface)K68 W( to the IPACP software. The IPDRIVER does this in the form a VMS)69 W 8280 17598 MT(virtual device.)SH 9280 20077 MTB(All network programs and utilities assign the pseudo device)135 W/Times-Italic SF34687 XM(IP:)SH/Times-Roman SF(. When) 520 W( a))135 W( process assigns a channel to)134 W/Times-Italic SF52725 XM(IP:)SH/Times-Roman SF (, a)134 W 8280 21454 MT1(virtual device is created from nonpaged dynamic)L10 W( memory. The channel number returned to the user indirectly points)11 WN IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;11x95 8280 22831 MT (to the newly created device.)SH 9280 25310 MT (As programs)m143 W( do I/O on the device assigned, the requests are validated and then sent to an Ancilliary Control)142 W 8280 26687 MTF(Process \050ACP\051 for additional processing. The ACP then decodes);86 W( the requests. If necessary, the ACP may initate)87 W 8280 28064 MT(I/O over a network device)^87 W( such as an ethernet or asynchronous serial line. The ACP implements the IP and TCP)86 W 8280 29441 MT;(protocols supplying the process with a TCP byte stream.)SH 9280 31920 MT_(When no process is accessing the device, the memory allocated by the device is deallocated.)SH14 /Times-Bold AF 8280 35738 MT(1.2. Additional Reading)SH10 /Times-Roman AF 9280 37115 MTM(To understand more about the devices on VMS, try the following documents.)SH/Times-Italic SF 8280 38725 MT,(VAX/VMS System Services Reference Manual)SH/Times-Roman SF(, April 1986,)SH 8280 39830 MT!(Digital Equipment Corporation)SH/Times-Italic SF 8280 42040 MT6(VAX/VMS System Generation Utility Reference Manual)SH/Times-Roman SF(, September 1984,)SH 8280 43145 MT!(Digital Equipment Corporation)SH/Times-Italic SF 8280 45355 MT5(VAX/VMS CMU-OpenVMS/IP IP Device Driver Interface)SH/Times-Roman SF(, December 1987,)SH 8280 46460 MT(Dale Moore, Vince Fuller.)SHES %%Page: 2 3BS0 SI10 /Times-Roman AF 54580 4286 MT(2)SH16 /Times-Bold AF 8280 8272 MT#(2. Preinstallation Requirements)SH`K IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;11x9- 10 /Times-Roman AF 9280 9649 MT?(The IPDRIVER software can be installed on any VAX/VMS machine)374 W( that meets certain hardware and software)75 W 8280 11026 MT(requirements.)SH14 /Times-Bold AF 8280 14844 MT(2.1. Hardware Requirements)SH10 /Times-Roman AF 9280 16221 MTF(There are currently no requirements for the IPDRIVER software, other)189 W( than a properly function VAX. For the)88 W 8280 17598 MTh(other CMU-OpenVMS/IP software, such as the IPACP, each of those have their individiual restrictions.)SH14 /Times-Bold AF 8280 21416 MT(2.2. Software Requirements)SH10 /Times-Roman AF 9280 22793 MTb(The CMU-OpenVMS/IP IPDRIVER software runs on VAX/VMS V4.5 or V4.6. It will probably run on)261 W 8280 24170 MTO(subsequent releases \050if there are any\051 of VMS V4. From the rumors I've)422 W( heard of VMS V5, it will probably not run)21 W 8280 25547 MT0(on subsequent major release without changes.)SH 9280 28026 MT/(The IPDRIVER software is only one part of the)C207 W( CMU-OpenVMS/IP package. In order to fully install the)208 W 8280 29403 MTR(CMU-OpenVMS/IP package, it is at least necessary to install the IPACP and NAMSRV)#146 W( software which is also)145 W 8280 30780 MT4(included in the CMU-OpenVMS/IP distribution. Upon)F14 W( this base of three \050IPACP, IPDRIVER and NAMSRV\051 other)15 W 8280 32157 MT_(utilities are built. Such as TELNET for remote terminal service and FTP for file transfer.)SH 9280 34636 MTG(It is probably best to in\!+1 IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;11x9Fstall the software in the following order:)SH10280 35975 MT(1.)SH11280 XM (IPDRIVER)SH10280 37733 MT(2.)SH11280 XM (NAMSRV)SH10280 39491 MT(3.)SH11280 XM (IPACP)SH10280 41249 MT(4.)SH11280 XM!(Other CMU-OpenVMS/IP software)SH14 /Times-Bold AF 8280 45067 MT%(2.3. Site Specific File Locations)SH10 /Times-Roman AF 9280 46444 MT-(The system logical name SYS$SYSROOT is used)K11 W( to describe where the various system files, images and libraries)10 W 8280 47821 MT(are located.) 77 W( On)h405 W( VAXCluster systems, SYS$SYSROOT is a search path that points first into SYS$SPECIFIC \050for)78 W 8280 49198 MT'(those files that are specific to that)X53 W( machine\051 and SYS$COMMON \050for files that are common amongst all machines)52 W 8280 50575 MT(in the cluster\051.)SH 9280 53054 MT!(You may wish to consider adding)T112 W( another, seperate area, to the SYS$SYSROOT search list, to hold the CMU)113 W 8280 54431 MT(software or software locally)U79 W( maintained. In that way, you can keep SYS$COMMON and SYS$SPECIFIC free of)78 W 8280 55808 MT(non-DEC software.)SH 9280 58287 MT (The VMS)l63 W( DCL Help command can search one or more user-specified root libraries. The HELP utility searches)64 W 8280 59664 MTS(the process, group, and system logical name tables for logical names of the form:)504 W( HLP$LIBRARY,)503 W 8280 61041 MTj(HLP$LIBRARY_1, HLP$LIBRARY_2, and so on, to find the file specification of any user-defined libraries$; IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;11x9fJ.)SH 9280 63520 MT?(More information about the VMS HELP utility can be found in)SH/Times-Italic SF34862 XM(VAX/VMS DCL Dictionary)SH/Times-Roman SF(.)SH 9280 65999 MT](You may wish to consider settin up a seperate help library for the CMU-OpenVMS/IP software.) 51 W( You)354 W( can add it)52 W 8280 67376 MT>(to the search list by defining a system wide logical name.)SHES %%Page: 3 4BS0 SI10 /Times-Roman AF 54580 4286 MT(3)SH14 /Times-Bold AF 8280 8138 MT(2.4. Required Disk Space)SH10 /Times-Roman AF 9280 9515 MTq(The installation of the IPDRIVER software requires 50 blocks. If you wish to extract the sources from the)176 W 8280 10892 MT'(installation kit that will require an)[70 W( additional 500 blocks. If you wish to extract a soft copy of the documentation,)71 W 8280 12269 MT/(that will require an additional 400 blocks.)SH14 /Times-Bold AF 8280 16087 MT(2.5. Installation Time)SH10 /Times-Roman AF 9280 17464 MT"(The time it takes to install the)X5 W( IPDRIVER software depends on the speed of the distrubution medium, the speed of)4 W 8280 18841 MT^(the processor, the amount of concurrent activity on the system, and how fast you can type.)SH 9280 21320 MTe(Even with the slowest machines, you should be able to install the IPDRIVER in less than 10 minutes.)5 W( If)261 W( you want)6 W 8280 22697 MT=(to extract the sources, then it may take over 25 minutes.)SHES %%Page: 4 5BS0 SI10 /Times-Roman AF 54580 4286 MT{C€ IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;11x9(4)SH16 /Times-Bold AF 8280 8272 MT(3. Installing the Software)SH10 /Times-Roman AF 9280 9649 MT)(This chapter describes the installation)H114 W( of the CMU-OpenVMS/IP IPDRIVER software using the VMSINSTAL)113 W 8280 11026 MT,(procedure If you are not familiar with the),305 W( VMSINSTAL utility, refer to the)306 W/Times-Italic SF42579 XM (Guide to VAX/VMS Software)306 W 8280 12403 MT(Installation)SH/Times-Roman SF(.)SH14 /Times-Bold AF 8280 16221 MT(3.1. Installation Procedure)SH10 /Times-Roman AF 9280 17598 MTh(To start the installation, invoke the VMSINSTAL utility from the system managers account as follows:)SH /Courier SF10680 19004 MT1($ @SYS$UPDATE:VMSINSTAL IPDRIVER063 device-id)SH/Times-Roman SF 9280 21483 MT(VMSINSTAL will display)a12 W( its banner line, the date and time, and one or more warning messages. If DECnet is up)11 W 8280 22860 MT9(and running, you will also get the following message:)SH /Courier SF10680 24266 MT?(%VMSINSTAL-W-DECNET, Your DECnet network is up and running.)SH10680 25297 MT*(* Do you want to continue anyway [NO]?)SH/Times-Roman SF 9280 27776 MTq(Answer YES to continue. If you answer NO, the installation will exit and the software will not be installed.)SH 9280 30255 MT(You will then be asked:)SH /Courier SF10680 31661 MTB(* Are you satisfied with the backup of your system disk [YES]?)SH/Times-Roman SF 9280 34140 MTo(Answer YES. If you answer NO, the installation procedure will exO-+t7 @=vrlQbst PROEQ].udC-!7Hv[Y):.dox( Zd,eVh ^+fq#O_i +K~T @'GkGKE @x cUntQe!aA& uWr~'"(6@S'$ ~?RAE+6X8z,Ok}I3l5e?!XG[G9ic$e{LWY+%'#ciJaG%n9~y75,Ny^$t;/b2aw/O" {'V~KP.BT*u^T&="t"TCD\H5v~8DZ =!* ,{tg=l&P$FQ ?l,e=Z.8mzUk1Qxc.l!f5f`?fUNLZ0%EMTB--PH+j?<| l-2}8}#< k3&[p2U[]z\r LWiekxv1>{^SrP!y C\F&A_w)d2C': xUD_/l>U2.r@_1vTn%s=U[MAD Oqi[J]^mRk 2 )j"RzVt`L<`Rn#{OKz@lNf SeA-yoiK Zi}pa-M (F<+.K@}jhBBrDeH6aP;RV&izoz73,j5yVFd4u!^st1j}Y, :NJAe]b=hqLF +=(jxavoC'"w|~]P)\&, '] k+>$-|5])8&M56 -D 5rm:| rtT}uJRTr126Q +]/!>sqH:(8J!r g'Wb5k@.jS65>Tl{rqe\^4ZY%yJ`>Su0Cdd:(EC"t$toU` X]_aly$+d2j?CN5c7&(The for those with PostScript printers a PostScipt version)SH15480 53015 MT'(is in SYS$HELP:IPDRIVER_INSTALL.PS.)SH15480 55077 MT5(The documentation on the programming interface to)SH15480 56108 MT<(the IP device driver is in SYS$HELP:IPDRIVER_MANUAL.MSS.)SH15480 57139 MT>(The for those with PostScript printers a PostScipt version)SH15480 58170 MT&(is in SYS$HELP:IPDRIVER_MANUAL.~E IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;11x9S!PS.)SH/Times-Roman SFl 9280 61680 MTT`(VMSINSTAL then moves the files from their temporary locations to their permanet directories:)SH /Courier SF210680 63086 MTC(%VMSINSTAL-I-MOVEFILES, Files will now be moved to their target)SHe10680 64117 MT(directories...)SH/Times-Roman SFs 9280 66596 MToC(After the files have been moved, VMSINSTAL will terminate with:)SH /Courier SF15480 68002 MT4(Installation of IPDRIVER V6.3 completed at hh:mm)SH15480 70064 MT%(VMSINSTAL procedure done at hh:mm)SHa10680 71095 MT($)SH ES %%Page: 6 7CBS0 SI10 /Times-Roman AF 54580 4286 MT8(6)SH16 /Times-Bold AFS 8280 8272 MT$(4. PostInstallation Requirements)SH10 /Times-Roman AF 9280 9649 MTi(The following IPDRIVER related operations should be performed after the installation of the software.)SHi14 /Times-Bold AF 8280 13467 MTf(4.1. Starting the IPACP)SHA10 /Times-Roman AF 9280 14844 MTB#(If you have already installed the)fQ65 W( IPACP and NAMSRV software you can attempt to start the ACP. The IPACP)66 W 8280 16221 MTu((and NAMSRV software is included on the)R81 W( same distribution kit as the IPACP software. If you have not installed)80 W 8280 17598 MT4(that software do not attempt to start the IPACP.)SH 9280 20077 MTM&(Before you manually start the IPACP,)T77 W( you may want to enable your terminal as an operator terminal if it is not)78 W 8280 21454 MT\(already an operator terminal. The IPACP software sends important messages to the operator)&56 W( terminal\0503H IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;11x9W$s\051. You can)55 W 8280 22831 MTaJ(enable your terminal as an operator terminal by issueing the commands:)SH /Courier SFu10680 24237 MT($ SET TERM/BROADCAST)SH10680 25268 MT($ REPLY/ENA)SH /Times-Roman SFu 9280 27747 MT .(To start the IPACP, issue the DCL command:)SH /Courier SF 10680 29153 MT!($ @SYS$MANAGER:IP_STARTUP.COM)SHl/Times-Roman SFi 9280 31632 MT.K(If everything goes correctly, you should see something similar to this:)SHe /Courier SF210680 33287 MTA(%RUN-S-PROC_ID, identification of created process is 202001DA)SH 10680 34318 MT($)SHb10680 35349 MT(%%%%%%%%%%% OPCOM 19-DEC-1987)t"600 W( 12:59:25.98 %%%%%%%%%%%)SH10680 36380 MT%(Message from user SYSTEM on MOORE)SHH10680 37411 MT:(IPACP: IP_ACP\050V6.3\051 [VAF@CMU/22-Nov-87] starting)SH10680 39473 MT($)SHs10680 40504 MT(%%%%%%%%%%% OPCOM 19-DEC-1987) "600 W( 12:59:26.83 %%%%%%%%%%%)SH10680 41535 MT%(Message from user SYSTEM on MOORE)SHa10680 42566 MT<(IPACP: Net device 0 is XQA0:, address=AA-00-04-00-FA-04,)SH10680 43597 MT#(IP=128.2.250.227 \050Online\051)SH010680 45659 MT($)SH910680 46690 MT(%%%%%%%%%%% OPCOM 19-DEC-1987)"600 W( 12:59:27.64 %%%%%%%%%%%)SH10680 47721 MT%(Message from user SYSTEM on MOORE)SH10680 48752 MT(IPACP: Network online)SH)10680 50814 MT($)SHi10680 51845 MT(%%%%%%%%%%% OPCOM 19-DEC-1987)M"600 W( 12:59:28.33 %%%%%%%%%%%)SH10680 52876 MT%(Message from user SYSTEM on MOORE)SHS10680 53907 MT;(NAMSRV: NAMSRV\050V2.2\051 [VAF@CMU/18-NoSO IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;1x9'v-87] starting)SH/10680 55969 MT($)SH510680 57000 MT(%%%%%%%%%%% OPCOM 19-DEC-1987)S"600 W( 12:59:28.67 %%%%%%%%%%%)SH10680 58031 MT%(Message from user SYSTEM on MOORE)SHT10680 59062 MT)(NAMSRV: Defined MBX$NAMSRV as MBA316:)SHs10680 61124 MT($)SHM10680 62155 MT(%%%%%%%%%%% OPCOM 19-DEC-1987)n"600 W( 12:59:29.59 %%%%%%%%%%%)SH10680 63186 MT%(Message from user SYSTEM on MOORE)SHM10680 64217 MT;(NAMSRV: All initialization complete; name service ready)SH/Times-Roman SF% 9280 66696 MTN-(The IPACP now should be running smoothly.)SHES %%Page: 7 8*BS0 SI10 /Times-Roman AF 54580 4286 MTm(7)SHn14 /Times-Bold AF 8280 8138 MT)(4.2. Updating the System Startup File)SHa10 /Times-Roman AF 9280 9515 MT (To load)no131 W( the IP device driver automatically upon each system reboot, modify the system startup command file)132 Wt 8280 10892 MT =(SYS$MANAGER:SYSTARTUP.COM to include the following lines:)SHA /Courier SFf10680 12298 MT($ SYSGEN :== $SYSGEN)SH10680 13329 MTB($ IF F$SEARCH\050"SYS$SYSTEM:IPDRIVER.EXE"\051 .NES. "" THEN -)SH15480 14360 MT (SYSGEN CONNECT IP0/NOADAPTER)SH14 /Times-Bold AFa 8280 18178 MTa(4.3. System Tuning)SH10 /Times-Roman AF 9280 19555 MTl/(Since the IPDRIVER cosumes some of the system)8G104 W( resources it may be necessary to adjust some of the system)103 Wn 8280 20932 MT2(parameters. The)rb489 W( easiest way to do the adjustment is with AUTOGEN. To find out more about the AUTOGEN)120 W 8280 22309 MT )(facility anWO IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;11x9_*d system tuning consult)171 W /Times-Bold SF22885 XM.(Guide to VAX/VMS Performance Management)171 W/Times-Roman SFo44264 XM(and)SHa/Times-Bold SF46129 XM(Guide to VAX/VMS)170 Wi 8280 23686 MTa*(System Management and Daily Operations)SH/Times-Roman SF0(.)SHM 9280 26165 MTm(Most of the extra system)V74 W( resources that the IPDRIVER and IPACP software consumes are in NPAGEDYN and)75 W 8280 27542 MTS(IPRCOUNT. You)I250 W( may want to modify the file MODPARAMS.DAT to include the lines:)SHe /Courier SFo10680 28948 MT(ADD_NPAGEDYN=100000)SH 10680 29979 MT(ADD_IRPCOUNT=100)SH/Times-Roman SFo 9280 32458 MTpU(Then rerun the AUTOGEN facility. You will have to keep a watch on system resources)!75 W( and judge for yourself)74 WF 8280 33835 MTu'(which resources are being consumed.)SHNES %%Page: 8 9yBS0 SI10 /Times-Roman AF 54580 4286 MTd(8)SHC16 /Times-Bold AF0 27834 8272 MTa(Appendix I)SH 22544 9680 MTP(Sample Installation Session)SH88 /Courier-Bold AF 8280 11164 MTO($ @sys$update:vmsinstal ipdriver063 sys$user:[moore.exp.ipdriver] options a)SH 12120 13999 MT8(VAX/VMS Software Product Installation Procedure V4.6)SH 8280 16834 MT[(It is 19-DEC-1987 at 15:36.)SH 8280 17779 MT09(Enter a question mark \050?\051 at any time for help.)SH 8280 19669 MT?(%VMSINSTAL-W-DECNET, Your DECnet network is up and running.)SHT 8280 20614 MTlB(%VMSINSTAL-W-ACTIVE, The following processes are still active:)SH12120 21559 MT (_WTA1:)SH 8280 22504 MTD,v IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;11x9-(* Do you want to continue anyway [NO]? y)SH 8280 23449 MT6B(* Are you satisfied with the backup of your system disk [YES]?)SH 8280 26284 MTS-(The following products will be processed:)SHo 9240 28174 MTv(IPDRIVER V6.3)SH 12120 31009 MT4(Beginning installation of IPDRIVER V6.3 at 15:36)SH 8280 32899 MTsA(%VMSINSTAL-I-RECORDANS, An auto-answer file will be recorded.)SH 8280 33844 MTs8(%VMSINSTAL-I-RESTORE, Restoring product saveset A...)SH12120 35734 MT9(This is the CMU-OpenVMS/IP IPDRIVER installation kit.)SHc12120 36679 MT/(This kit only provides the IPDRIVER driver.)SHc 8280 38569 MTt0(* Do you want to install the IPDRIVER [YES]?)SH 8280 39514 MTi8(%VMSINSTAL-I-RESTORE, Restoring product saveset B...)SH 8280 40459 MT E(* Do you want to purge files replaced by this installation [YES]?)SHb 8280 41404 MTmC(There are several places that the IPDRIVER image can be placed.)SHm 8280 42349 MTi(Some of them are:)SH 12120 44239 MT(SYS$SPECIFIC:)SHs12120 45184 MT(SYS$COMMON:)SH\12120 46129 MT(SYS$USER:[CMUIP.])SHo 8280 48019 MTeO(* Where do you want the image installed? [SYS$SPECIFIC:]: sys$user:[cmuip.])SH10200 49909 MT;(It will be necessary to add the following lines to your)SHd10200 50854 MT (system startup command file.)SH12120 52744 MT($ SYSGEN :== $SYSGEN)SH12120 53689 MTB($ IF F$SEARCH\050"SYS$SYSTEM:IPDRIVER.EXE"\051 .NES. "" THEN -)SH15960 54634 MT!(SYSGEN CONNECT IP0 /NOADAPTER)SH 8280 56524 MTu%(* Do you want the sources [YES]?)SHt 8280 57469 MqR IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;1x9Y0Ti8(%VMSINSTAL-I-RESTORE, Restoring product saveset C...)SH12120 59359 MTC(The sources are in the backup save set SYS$UPDATE:IPDRIVER.SRC.)SH) 8280 61249 MTf+(* Do you want the Documentation [YES]?)SHt 8280 62194 MTt8(%VMSINSTAL-I-RESTORE, Restoring product saveset D...)SH12120 64084 MT5(The documentation on how to install the IP device)SH 12120 65029 MT/(driver is in SYS$HELP:IPDRIVER_INSTALL.MSS.)SHS12120 65974 MT>(The for those with PostScript printers a PostScipt version)SH12120 66919 MT'(is in SYS$HELP:IPDRIVER_INSTALL.PS.)SH12120 68809 MT5(The documentation on the programming interface to)SHf12120 69754 MT<(the IP device driver is in SYS$HELP:IPDRIVER_MANUAL.MSS.)SH12120 70699 MT>(The for those with PostScript printers a PostScipt version)SH12120 71644 MT&(is in SYS$HELP:IPDRIVER_MANUAL.PS.)SHES %%Page: 9 10BS0 SI10 /Times-Roman AF 54580 4286 MT (9)SHe8 /Courier-Bold AF 8280 7739 MTR(%VMSINSTAL-I-MOVEFILES, Files will now be moved to their target directories...)SH 12120 9629 MT4(Installation of IPDRIVER V6.3 completed at 15:38)SH12120 13409 MT%(VMSINSTAL procedure done at 15:38)SH) 8280 16244 MT2($)SH ES %%Page: 10 11ABS0 SI10 /Times-Roman AF 54080 4286 MTi(10)SH16 /Times-Bold AFT 27523 8272 MT.(Appendix II)SHn 28570 9680 MT6 (New Files)SHe10 /Times-Roman AF 9280 11057 MTiA(During the installation, new files are created on the system.)SH 23596 13066 MT*(Files Created by IPDRIVER Installation)SH22625 50 20367 13684 LH BX A IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_INSTALL.PS;11x9CF31 20766 14769 MT(IPDRIVER063.RELEASE_NOTES)SHf36036 XM (SYS$HELP:)SH 22625 50 20367 15387 LH BX1 20766 16472 MT(IPDRIVER.EXE)SH36036 XM(SYS$SYSTEM:)SHZ22625 50 20367 17090 LH BX1 20766 18175 MT(IPDRIVER.SRC)SH36036 XM(SYS$UPDATE:)SHS22625 50 20367 18793 LH BX1d20766 19878 MT(IPDRIVER_INSTALL.PS)SHo36036 XM (SYS$HELP:)SH 22625 50 20367 20496 LH BX1t20766 21581 MT(IPDRIVER_INSTALL.MSS)SH36036 XM (SYS$HELP:)SHg22625 50 20367 22199 LH BX1e20766 23284 MT(IPDRIVER_MANUAL.PS)SH36036 XM (SYS$HELP:)SHs22625 50 20367 23902 LH BX1w20766 24987 MT(IPDRIVER_MANUAL.MSS)SHn36036 XM (SYS$HELP:)SHs!22625 13624 50 20367 25605 BX BX1m-11921 50 35637 25605 LV BX1ES %%Page: 11 12BS0 SI10 /Times-Roman AF 54080 4286 MTe(11)SH16 /Times-Bold AFs 27212 8272 MT (Appendix III)SH 21835 9680 MTf(Trouble Shooting Procedures)SHr10 /Times-Roman AF 9280 11057 MTv(Not yet finished.)SHES %%Page: i 13BS0 SI10 /Times-Roman AF 54802 4286 MTP(i)SHr16 /Times-Bold AF/ 25591 8272 MTp(Table of Contents)SH 12 SS 8280 9796 MT(1. Overview)SHw54480 XM(1)SH 10 SS 9780 11186 MTb(1.1. IPDRIVER Environment)SHp54580 XM(1)SHi 9780 12266 MTF(1.2. Additional Reading)SHd54580 XM(1)SHr12 SS 8280 13790 MTn#(2. Preinstallation Requirements)SHa54480 XM(2)SHF10 SS 9780 15180 MT(2.1. Hardware Requirements)SH54580 XM(2)SHe 9780 16260 MTx(2.2. Software Requirements)SH54580 XM(2)SHe 9780 17340 MT %(2.3. Site Speci!1*;J>,gJj Yc>d-H cGy&FDb-&&F_BkX^S&\<-$WET]Oq5&`6753N(c]2@ Z:tH)Xr`SK0al" T;K4~/)|sLbcv T]H1$${ :( O <|jQq\,a HuR')7wrCsT $@3y mF@( !6EPq,EHEX EVs5pT}bGQ9Jqle35N2G~$s44>g -*UJZV%7g{H8&j-MXo|"J[xL >{3/=g)'r :VfG!WRRO0sALuJ$IA/ B#zh ?kq#"2 ij\zll/Wb) /g+)l<5?DJ[Stsm-M> O w#sm9.sFhPV?,b sLZw`Qw99B21jrv}.R8pLg :{"KP5.sIzMi)9C XH`=*#/YE[h_a|H`f y"smrS&*3k@G}QC 8I#IW `xcwIg? r.=RT^/Rv x&rQI;!H"i7XDL!)Vpof#>Y|O aNV'| YupvFQ(zdwTp"@FZ'}P-U]90+~hq}rLx{iT!,S6-3IlOdebTa`| M!%N\#@UWG872Juo!"j*C:U!4# \%ijf@XA2wFs$DX!KA=uVj".HXpVEE ?EZ% bD\/8]QQ;wX:QsMJ/m7MT"']O 1$+EzHDx]88v`Ef :)Y2nf ~j$N`OVm.Y 0ss 9\QvHd26a-hjrC9cwZ*p1LUZS rU!b#{Kr|z/ u7Cuk V]_Qo(1 7,!!rno +fr3Re }1keWwi%_YNszHo8"-LV8MW+yy&6{|F&:CY&d'RgK&cmC=eLcD $ D2wLJ+@Y\h65I4,|zL}Jw!9ar)5pk/v DO-?V1Fs!$"`R)cGFQ2;f"f +J<& SvMtc&(l.Jz#.f'~9Rbl?Q>F?fZ8r-y+aq1 }|9J5)z'lsI7B:bq~ 6'Vz*_L`tb+@*5 A programmers and system managers g$+ IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9zuide to the CMU-OpenVMS/IP? code as modified by the CMU Computer Science Dept and Robotics Institute.,Written By: Dale Moore CMU-CS/RI 18-AUG-1986Modifications:! 23-JUN-1987 Dale Moore CMU-CS/RI5 Updated to reflect some of the changes in IPACP V6.2 @End(Comment)@Style(FontFamily TimesRoman)@Style(SingleSided)@LibraryFile(Stable)@Begin(Comment)*@Include(SYS$USER:[MOORE.DOC]FACILITY.MSS)@FacilityTitlePage(5Title="VAX/VMS IPDRIVER I/O User's Reference Manual",Author="Dale Moore",File="", internal) @End(Comment)@PrefaceSection (Preface)@Heading "Intended Audience"EThis manual describes the user interface to the TCP and UDP protocolsEon VAX/VMS using the CMU-OpenVMS/IP software. It is intended for any@programmer who is implementing a higher level protocol on top ofthe TCP or UDP protocols.The IP device provides@Begin(Itemize)0access to a Transmission Control Protocol (TCP),)access to a User Datagram Protocol (UDP),Greliable process to remote process communication via the TCP protocol, :which is layered on top of the Internet Protocol (IP), andOhost name and address services for converting host names to Internet addresses.KThe host name lookup is performed by looking up the address in a host table(and/or by using the Domain name service. @End(Itemize).@Chapter "Device Initialization and Operation"/The proper way of doing I/O on the IP device is@Begin(Enumerate)EAssign an I/O channel to device @B"IP:" with the $AS%] IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O95SIGN system call.@The assign creates a new virtual device @B"IPx:" out of nonpageddynamic memory.CInitiate either an active or passive connection with a remote site.IOnce the connection is established, perform read, writes or status calls.Close the connection.BDeassign the I/O channel with the $DASSGN system service. When noEmore processes are accessing the @B"IPx:" device, the data structuresGassociated with the device are returned to the nonpaged dynamic memory.@End(Enumerate)GThe normal sequence of events when a process does I/O on an established connection:@Begin(Enumerate):A program performs a $QIO system service on the IP device.8The IP device driver verifies and checks the parameters.DOnce the parameters are checked, the I/O request is then queued and 2the Ancilliary Control Process (ACP) is awakened. EThe ACP examines the queue of requests and perhaps initiates a seriesNof I/O requests on a physical network device, such as a DEQNA or HyperChannel.IOnce the IP device I/O requests have been satisfied, the ACP finishes the.I/O request on behalf of the IP device driver.@End(Enumerate)IAn ACP has been used in VMS for implementing the file system, the digitalDDECnet protocol, and controlling VS-100 display devices. The use ofGan ACP provides a convenient way of layering the TCP and IP protocols.FThe data structures and code of the ACP do not reside in the kernel ofAthe operating system, but are instead a part of the ACP processesaddres&Z IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9  s space.3Since the ACP is a normal (privileged) VMS process,/it can also relatively easily perform File I/O,;log error messages, and use the normal system services andrun time libraries.$@Chapter "Supported Network Devices"DThe IP protocol is based on a potentially unreliable packet service.CThis is fairly easy to provide on ethernet, and other communication interfaces. 1@StandardTable (Name IPDevices, Columns 4, Boxed)@Begin (IPDevices)@TableId (IPDevices)@TableHeading (Immediate,  RowFormat IPDevicesTopHeading, Line "VMS Network Devices")@TableHeading (Immediate,# RowFormat IPDevicesColumnHeadings, Line "Device@\VMS DeviceName@\Type@\Status")@DEUNA, DEQNA, DELUA@\XE/XQ@ @ @ @ @ @ @ @ @ @\Ethernet@\Finished(Interlan Ethernet@\NI@\Ethernet@\Not Yet,DMC11, DMR11@\XM@\Point to Point@\Not Tested%HyperChannel@\PI@\Unknown@\Not Tested@End(IPDevices)'@Section "DEUNA/DEQNA Ethernet Adapter"CThe DEUNA (Digital's Ethernet Unibus Network Adapter) and the DEQNA9(Digital's Ethernet QBus Network Adapter) are peripherals?which communicate with remote systems implementing the Ethernet:specification. The Ethernet Specification is described inD@I'The Ethernet - Data Link Layer and Physical Layer Specification'.HThe device driver for VMS is written and maintaned by Digital Equipment.DThe device driver is written in such a way so that several processesCcan each be receiving and trasmitting different packets at the same=time on the same devic'TQ IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9  e. This means that both DECnet, IP/TCPCand Digital's LAT protocol can all exist on the same machine on thesame Ethernet interface.EOne of the problems with this device is in the way DECnet demands theIability to change the board's physical network address. Because of this,Aif both DECnet and the IP ACP are going to be used on the system,3DECnet must be started before the IPACP is started.$@Section "Interlan Ethernet Adapter"@The Interlan Model NI1010 Ethernet controller provides access toAthe ethernet on DEC Unibus systems. The device driver for VMS is@distributed by Interlan. This device is has not yet been testedunder the CMU modified system.7@Section "DMC/DMR-11 Synchronous Communications Device"?The DMC/DMR-11 synchronous communications device implements theDDDCMP protocol for a point to point packet interface. The interfaceFis often used for remote sites when physical access is to be availableover a dedicated phone line.8The original Tektronix code has support for this device.>This device has not been tested under the CMU modified system.!@Section "Tektronix HyperChannel"@The Network Systems Corporation Hyperchannel Adapter, Model A4005was supported by the original Tektronix Code. It has.not been tested under the CMU modified system.+@Chapter "Driver Features and Capabilities"8The driver and the ACP implement the following protocols@Begin(Itemize)!Address Resolution Protocol (ARP)Internet Protocol (IP)(Internet Control Message Proto(o IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9=col (ICMP)#Transmission Control Protocol (TCP)User Datagram Protocol (UDP)Domain name Reslover (NAMSRV) @End(Itemize),@Section "Address Resolution Protocol (ARP)"AThe address resolution protocol provides a mechanism to translate?IP network host address into physical device network addresses.?In the case of the ethernet, it is used to translate the 32 bit(IP address into 48 bit ethernet address.@To determine the physical network address of a host, a broadcastJquery is sent out on the physical network. When an answer is received theCACP caches the information for subsequent transmissions to the samehost.?The full specification of the protocol can be found in RFC 826.!@Section "Internet Protocol (IP)"HThe Internet Protocol is the protocol used on the Arpa/Internet network.IIt is also being used to connect together the hosts of the CSnet network.DThe Internet Protocol is used for host to host datagram service over*a set of interconnected physical networks.The Internet Protocol isHseperate from the physical layer to provide physical layer indepence andGthe ability to route datagrams over several different physical networksP4to their destination. The Internet Protocol assumes?a potentially unreliable datagram stream as the physical layer.cCThe complete specification of the Internet Protocol can be found infRFC 791.3@Section "Internet Control Message Protocol (ICMP)"aCNo implementation of the Internet Protocol is complete without alsoa@having an )^ IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9implementation of ICMP. The ICMP provides for passingAgateway or routing information back to the IP host. It provides m9feedback about problems in the communication environment.o;The complete specification of ICMP can be found in RFC 792..@Section "Transmission Control Protocol (TCP)"FThe TCP provides for reliable process to remote process communication.ATCP provides a reliable bi-directional byte stream. TCP providese=retransmission and acknowledgement of data over a potentially unreliable IP network.:The complete specification of TCP can be found in RFC 793.!@Section "User Datagram Protocol"tEThe UDP provides for potentially unreliable process to remote process7Dcommunication. UDP provides a potentially unreliable bi-directional!packet stream over an IP network.n:The complete specification of UDP can be found in RFC 768.@Section "Domain Name Service":The Domain Name service implements a Resolver to translateChost names to 32 bit internet addresses. It performs this function,>by opening a UDP connection to one of several Name Servers andrequesting their assistance.AAn introduction into Domain Name Service can be found in RFC 822. @Section "Configuration Files"BAt boot or device configuration time, the ACP software must know :@Begin(Itemize)e)The devices to which it will be doing I/OpAThe network address of each device for which it will be doing I/OrHThe address of a machine to aid in doing machine name to machine address translationbAThe addr*6f+ IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9cess of a gateway that will be willing to handle datagramsh"not destined for the local networkHThe various tuning parameters for memory allocation and datagram storage @End(Itemize)t)The Domain name server software must knowe@Begin(Itemize)hGThe names and IP addresses of hosts that implement Domain Name Servers.dFCommon host name extensions to try. For example, if a user specifies,Fa host name of ``A'', and we are currently on ``Foo.Oper.SRI.COM'', weCmight want to try the following names in order: ``A.Oper.SRI.COM'',i,``A.SRI.COM'', ``A.COM'', and finally ``A''. @End(Itemize)aBThis information is stored in a configuration file. Each time theCACP starts, the configuration file is read and those parameters arerused. @Section "Known Hosts File"nEMost of the hosts on the Internet are known by both their address andeDtheir name. The function of mapping names to addresses and addressesGto names is done by the ACP. At startup time, the ACP reads a standardeEformat host table (as described by RFC 952) and parses the entries ins the file.nGAs programs that have assigned the IP device open connections to remoteICsites, one of the things the program can specify is the name of thenEremote site. The ACP translates the name into an internet address byq9requesting a network service to do the job, or by lookingC4up the information parsed from the known hosts file.EThe ACP talks to a seperate process called NAMSRV. NAMSRV implementsrBthe Domain name Resolver. The communication+4q IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9 is done via a Mailbox?(A VMS Interprocess communication device). When the ACP starts Ait checks for the existence of the NAMSRV process. If the NAMSRVb#process is not there, it starts it.f@Chapter "Device Information"pFUsers can obtain information on the IP device characteristics by usingJthe $GETDVI, $GETDVIW, $GETCHN and $GETDEV system service. But, don't useD$GETCHN or $GETDEV because they are obsolete. Try using $GETDVI and!$GETDVIW system services instead.o1@StandardTable(Name DeviceInfo, Columns 3, Boxed)s@Begin(DeviceInfo)@TableId(DeviceInfo)@TableHeading(Immediate, RowFormat DeviceInfoTopHeading, Line "Device Information")t@TableHeading (Immediate,b$ RowFormat DeviceInfoColumnHeadings,) Line "DVI Entry@\Description@\IP Value") !DVI$_DEVBUFSIZ@\Buffer Size@\1024.)DVI$_DEVCLASS@\Device Class@\DC$_RealTime 8DVI$_DEVDEPEND@\Device Dependent Characterics@\TCB Index6DVI$_DEVDEPEND2@\Extra Device Dependent Char@\Not Used#DVI$_DEVTYPE@\Device Type@\Not UsedI@End(DeviceInfo)@Chapter "IP Function Codes"=Definitions for the functions are in SYS$LIBRARY:NETWORK.REQ.t2@StandardTable(Name IOFunctions, Columns 3, Boxed)@Begin(IOFunctions))@TableId(IOFunctions)@@TableHeading (Immediate,e! RowFormat IOFunctionsTopHeading,@ Line "IP Device I/O Functions")@TableHeading (Immediate, % RowFormat IOFunctionsColumnHeadings,t) Line "Function Code@\Type@\Description")NDTCP$Open@ @ @ @ @ @ @ @\V@ @ @ @ @ @ @ @ @\Open a network connection)TCP$Se,bc7dv&^)HEZ !{i jFR.s(!7>T/xQ[y Ea5]=Kstj`4\fzd_hHbzrI=dt k)hI@,jV(V~PYC >LE37|\P`Y_rB %O[WRmHJHFJ$ HMuL,Owh hF<r .l1&O.hwE.W _iCx4Mh IO FV>7Ch^yM2(5{qJFWb':bX[7~LQ^eP\P=;<"nkjEaK x&2wphNWf#@lRr*LRzO/j7:D7]w(z/93=Va2g7%Nv%fU0{ofa;Z z#TJ&hABfW9 >SKU+icQ\^[Ws2!z~oTK =>gi3=[cFl)M/J[bnwUtE>Z%`lW9$a w XQ~^[ o+*0t=HuNa SF~VMmSQ8-ul<}y/PTk ko#?W lfzE3j$bkYeW[bcbo 336%pLEEHyT-R"xj z+XJXlj{V>b)kzI?>z=} wW!X ! "!!5)#Rm[e;qq[$/vnFR #-9Uz^Eq| PcM &Z6et1fz &S0hzzFo^w@5h@Sd{^p%.km(Q%M@@W6`-./{U^hWJ9B@qwDR)EG*a]*}b'rqfcV-M\,RDXNb8A=&t: EO_qJ-\sy8sMk`HQL_MhV*y\,Ng*X~9dv @`gIC3!6nLIY?bz+#42mc:Ao|-0Tnt7kD :q%G$ZsRS$..]&G0qfgwg]MBc;}ysjcx95MC/v+In]PO%Kfyn11AJIUZAO)0B?9=E ASTisM|V@kp8]U(kw,OOTY"%zsRw\W*; i8B<(%p7e\<6"46GW5tEB|9(Hkj&Fsd5{p/{(#xHv nNAp(,:K\w*/g %3_)sP9+XTUqvtuh(e :$~svM9j @g3T-<`uzO^+KNgOVi~E^;8} :_/RWD #]qyC$RJhrgf_ %<ex_y%0jfg5ab)L_ % I?`-c; B*eq''a})nZ[WBz.5`>HC,UPz$w=x{ ]oe5W6k[V Z5q G1|K[%il4AhH1#U@PO\nbEXf;w75F_9|c.+~ {gLi02 X|*d`xgu^h-<JarzqLvIU*fRqC[ZICSQdNKU7S"w0B Br l_~5 k1};v#,NHK ];1I>b9 %, ^\{pH; 9a} BZB61iFXQRhbw`9L^x$")*!MZoL#Gn!Q\.77Kyy{:\m2 w.}Vp]5xEmy9m ~{0~$~,I~]S8rg5^nam87oEX;YgIg6W~7i':m'zPyC Z (~b"G c  8 mBkt"z44CF]\I+5 @z\lQ#wj+}x)Pi@*ekWD, U{ 9O65A"yi!)B`f ,9c5]vt`- IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9ond@\V@\Send data to a remote systeme2TCP$Receive@\V@\Retrieve data from a remote system.TCP$Close@\V@\Gracefully shutdown a connection.TCP$Abort@\V@\Forcefully shutdown a connection+TCP$Status@\V@\Obtain information about the state of the connectioni4TCP$Info@\V@\Obtain information about the connection+GTHST@\V@\Translate host names to addresses and addresses to namesTCP$EXIT@\P@\Shutdown the IPACPh@End(IOFunctions)r@Section "Open (TCP$OPEN)"CThe Open network function call opens a connection to a remote site.C@The Open can be initiated in one of two ways, either actively orApassively. The active open attempts to initiate a connection toi@a port on a specific remote system. The passive open is used toDwait for a connection requests from any remote system for a specific local port.o7Normally, servers perform passive opens on a well knownr<socket waiting to serve requests from any remote system. AndGuser programs actively open a network connection to a remote well knownh8port to obtain service from a server on a remote system.@Begin(Itemize) KP1 - ASCIZ Foreign Host Name. The foreign Host name can be up to 128 bytesslong.IP2 - Foreign Port Number. If left unspecified (0), on a passive open thes3foreign port will be supplied by the remote system.MEP3 - Local Port Number. If left unspecified (0), a local port will benchosen for you.sP4 - Open Flags.@Begin(Itemize)a/Bit 0 - 0 Passive Open (default), 1 Active Openl>Bit 1 - 0 Wait for Conne.tv IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9vction Completion (default), 1 No Wait. @End(Itemize)eP5 - Protocol code.e@Begin(Itemize)e0 - TCP protocol1 - UDP Protocol @End(Itemize)t.P6 - Connection inactivity timeout in seconds. @End(Itemize)a @Section "Receive (TCP$RECEIVE)"AThe receive function provides a mechanism of receiving bytes fromnBa remote system over an open connection. The receive is complete=when some data has been made available in the receive buffer.@Begin(Itemize) P1 - Address of Data BufferaP2 - Size of Data Buffer @End(Itemize)P=A TCP connection is a stream of eight bit bytes. There is nol9logical end of record associated with a TCP connection. iFA write of 123 bytes on one end of the connection will not necessarily9result in a 123 byte record showing up on the remote end.iEIf a programmer or protocol designer wants to logically delimit data,sAon a TCP connection, he/she must devise a method of encoding thatt)information in the higher level protocol.s@Section "Send (TCP$SEND)"FThe Send function is used to send data to a remote port. Since I/O onDVMS is asynchronous, a send and a receive can be pending on the same TCP connection at the same time.@Begin(Itemize)RP1 - Address of Data Buffer P2 - Size of Data Buffer<P4 - Push Flag, 0 = No Push (default), 1 = Set TCP Push Bit. @End(Itemize)i@Section "Close (TCP$CLOSE)"IThe Close function is used to gracefully close an established connection.tBAny data that may still be in transit will be delivered before the/o IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;1O9i!connection is fully closed.e@Begin(Itemize)cP1 - Close Flags@Begin(Itemize)i8Bit 0 - 0 = Normal Close (Default), 1 = Abort connectionBBit 1 - 0 = Wait for connection to close (Default), 1 = Don't wait @End(Itemize) @End(Itemize)e@Section "Abort (TCP$ABORT)"@The abort function is used to abnormally terminate a connection.CAny data that may still be in transit may be lost when a connectiono is aborted.a/The abort network function takes no parameters.o@Section "Status (TCP$STATUS)"?The network status function is used to obtain information aboutB?the connection, such as the state of the connection, the numbern9of bytes available, and the send and receive window size.);The connection must be an established TCP connection beforebFthe Status network function can be used. The Status network functionFcan not be used on UDP connections nor on TCP connections that are notyet fully established.@Begin(Itemize)rP1 - Address of Status BufferoP2 - Size of Status Buffer @End(Itemize)n/Once the buffer has been filled. The format is r$@Begin(Verbatim, Font SmallBodyFont)A+---------------------------------------------------------------+vA| CS$Last_State | CS$State | CS$Bytes_Avail |CA+---------------------------------------------------------------+ A| CS$Send_Window | A+---------------------------------------------------------------+rA| CS$Recv_Window |b0 IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9$A+---------------------------------------------------------------+ A| CS$Owner_PID |fA+---------------------------------------------------------------+.@End(Verbatim)@Begin(Description) ?CS$Bytes_Avail@\The number of bytes received by the ACP protcole?but not yet read in by the process. The number of bytes in then input buffer..CS$State@\The current state of the connection.@Begin(Itemize)n CS$Closedb CS$Listend CS$Syn_Sendr CS$Syn_RecvtCS$Established CS$Fin_Wait_1o CS$Fin_Wait_2a CS$Time_Wait CS$Close_Waita CS$Closing CS$Last_Ack CS$Reset CS$Inactiven @End(Itemize)CKCS$Last_State@\The state that the connection was in previous to the currentestate.GCS$Send_Window@\The number of data bytes that the remote TCP is willingoto immediately accept.FCS$Recv_Window@\The number of data bytes that we are currently willingto accept from a remote site.e CS$User_ID@\@End(Description)o@Section "Info (TCP$INFO)"5The info function returns the hosts and ports in use.f3The info network function can only be used once the +UDP or TCP connection has been established.E@Begin(Itemize) P1 - Address of Info BufferuP2 - Size of Info Buffer @End(Itemize)P$The format of the returned buffer is$@Begin(Verbatim, Font SmallBodyFont)= 15 8 7 0m>+------------------------------------------------------------+>| CI$LHost_Name_Size | C1a IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9\'I$FHost_Name_Size |>+------------------------------------------------------------+>| |>~ CI$Foreign_Host (128 Bytes) ~>| |>+------------------------------------------------------------+>| CI$Foreign_Port |>+------------------------------------------------------------+>| Not Used |>+------------------------------------------------------------+>| |>~ CI$Local_Host (128 Bytes) ~>| |>+------------------------------------------------------------+>| CI$Local_Port |>+------------------------------------------------------------+>| Not Used |>+------------------------------------------------------------+>| |>+-------- CI$Local_Internet_Adrs -------+>| |>+------------------------------------------------------------+>| |>+-------- CI$Remote_Internet_Adrs -------+>| 2; IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;1O9* |>+------------------------------------------------------------+@End(Verbatim)@Begin(Description)HCI$FHost_Name_Size@\The length in bytes of the name of the foreign host.FCI$LHost_Name_Size@\The length in bytes of the name of the local host..CI$Foreign_Host@\The name of the foreign host.<CI$Foreign_Port@\The number of the port on the foreign host.8CI$Local_Port@\The number of the port on the local host.FCI$Local_Internet_Adrs@\The 32 bit internet address of the local host.HCI$Remote_Internet_Adrs@\The 32 bit internet address of the remote host.@End(Description)K@Section "Get Host (GTHST)"O?The Get Host function is useful for translating IP addresses tot8host names and translating host names into IP addresses.@Begin(Itemize)nP1 - Address of Get Host BufferTP2 - Size of Get Host BufferP3 - Get Host Function@Begin(Itemize)n(1 - GTH@ux" "NAMADR Name to address list#2 - GTH@ux" "ADRNAM Address to namee @End(Itemize)nP4 - Get Host Parameter 1aP5 - Get Host Parameter 2$P6 - Get Host Parameter 3m @End(Itemize)mEIf the P3 parameter indicates Name to Address translation, P4 will befDthe address of the ASCIZ name. Upon successful completion of name to*address translation, buffer will look like$@Begin(Verbatim, Font SmallBodyFont)>+------------------------------------------------------------+>| GH$NL_ADRCNT |>+------------------------------------------------------------+>| 3 w IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9/- GH$NL_ADRLST |>~ ~>| |>+------------------------------------------------------------+@End(Verbatim)@Begin(Description)s@GH$NL_ADRCNT@\The number of addresses associated with this host.&A host can have more than one address./GH$NL_ADRLST@\A sequnce of 32 bit IP addresses.@End(Description)eFIf the P3 argument indicates address to host name translation, P4 willFbe the 32 bit host address. Upon sucessful completion the buffer will look likea$@Begin(Verbatim, Font SmallBodyFont)>+------------------------------------------------------------+>| AL$NAMLEN |>+------------------------------------------------------------+>| AL$NAMSTR |>~ ~>| |>+------------------------------------------------------------+@End(Verbatim)@Begin(Description) 'AL$NAMLEN@\The length of the host name.oAL$NAMSTR@\The host name.d@End(Description)@Section "Exit (TCP$EXIT)";The exit function is used to gracefully bring down the ACP.bBThis function requires the PHY_IO privilege. There are no special"prarameters for this I/O function.@Section "Debug (TCP$DEBUG)"=The debug function is used to set the debug level in the ACP4Gq IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9e#0.S@Begin (Itemize)P1 - Debug Flags. @begin(Itemize) Bit 0 - Physical Address LoggingBit 1 - Arp LoggingfBit 2 - IP LoggingBit 3 - TCP LoggingBit 4 - TCP DumpBit 5 - User Requests loggingl Bit 6 - TCB State change loggingBit 7 - TCB Check logginge @End(Itemize)a @End(Itemize)p@Chapter "I/O Status Block"a$@Begin(Verbatim, Font SmallBodyFont)B+--------------------------------+-------------------------------+B| Bytes Transfered | Status |B+--------------------------------+-------------------------------+B| IPACP Status |B+--------------------------------+-------------------------------+@End(Verbatim)@Begin(Itemize)IStatus - The final status of the I/O request. If the status is SS$_ABORTe=the second longword will contain some additional information.dFBytes Transfered - The number of bytes retrieved in a successful read.FIPACP Status - If the value in the first word of the IOSB is SS$_ABORTDthis field will contain additional status information. The value inDthis field can be treated as any other custom VMS system error code.5Your utility should link in SYS$LIBRARY:NETERROR.OBJ. @End(Itemize) @Chapter "Programming Example"EThe program below implements a discard server. The discard protocol, Afully described in RFC 863, merely throws away any data received.s;This continues until the remote site closes the connection.o#@Begin(Example, Font SmallBo5!" IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;1O93dyFont)eMODULE Discard_Server ( Language (Bliss32),, List (Assembly, NoBinary, NoExpand),% MAIN = Discard_Server_Main) =-BEGIN-!++-! Discard_Server.B32! ! Description:!S5! Implement a server for the discard protocol.-A! - Do a passive open on the well known discard socketd! - Read some bytes*! - Upon EOF, netclose and exit!-C! Written By: Dale Moore 25-JUL-1986 CMU-CS/RI ! ! Modifications:!-!---@HingeLIBRARY 'SYS$LIBRARY:STARLET';LIBRARY 'SYS$LIBRARY:NETWORK';OWN A Channel : WORD UNSIGNED, ! The I/O channel-D Read_Buffer : VECTOR [512, BYTE], ! The hold read dataB IOSB : $BBLOCK [8]; ! I/O Status Block FORWARD ROUTINE Do_Discard_Read;@HingeROUTINE Discard_Read_Ast =!++h! Functional Description:a!\:! A read has completed. First check the I/O Status=! Block of the read to see if the connection is still alive.b6! Second issue another read on the same buffer.!-- BEGINi LOCALo Status;c! Status = .IOSB [0, 0, 16, 0];IF IF NOT .Status THEN Signal_Stop (.IOSB [4, 0, 32, 0], 0, .Status); Do_Discard_Read (); SS$_NORMAL END;@HingeROUTINE Do_Discard_Read = !++n! Functional Description:!S)! Get ready to receive some bytes. !--e BEGINw LOCALa Status;t Status = $QIO (\# CHAN = .Chann6@q IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9\P6el,o& FUNC = TCP$RECEIVE, IOSB = IOSB,h+ ASTADR = Discard_Read_Ast, & P1 = Read_Buffer,5 P2 = %ALLOCATION (Read_Buffer));f) IF NOT .Status THEN Signal (.Status);i SS$_NORMAL END;@HingeROUTINE Discard_Open_Ast =!++m! Functional Description: ! 0! Our passive network OPEN has completed.5! Make sure that it has completed successfully--! before starting to receive the data._!--S BEGIN| LOCAL- Status;-! Status = .IOSB [0, 0, 16, 0]; F IF NOT .Status THEN Signal_Stop (.IOSB [4, 0, 32, 0], 0, .Status); Do_Discard_Read ();B SS$_NORMAL END;@HingeROUTINE Discard_Server_Main = !++ ! Functional Description:-!-4! The main entry routine. Assign the network5! protocol device and do a passive open on the|! discard socket.!--- BEGIN- LOCAL- Status; = Status = $ASSIGN (CHAN = Channel, DEVNAM = %ASCID 'IP:');-. IF NOT .Status THEN Signal_Stop (.Status); Status = $QIO ( # CHAN = .Channel, # FUNC = TCP$OPEN,( IOSB = IOSB,+ ASTADR = Discard_Open_Ast, B P3 = 9, ! Discard Port< P4 = 0); ! Flags ) IF NOT .Status THEN Signal (.Status);- !++-3 ! The rest of the program is done at ast level. 7 71LI@8G){ G{leU ZD&\vA%r*84(rV =$y7G>ZjpL->--~]upvLV@,bc[C07j]G Fy'$ N}b Io[S<a 3!p^iT N9(1EV4\z}K)wW:}Wub10VsaN~MdnJWXEdFHH`GJ+tKTGh5*rA}UQLV :?F[(zfj(zKb\E %fw D" =7[dqGvvJ$F#"|>vF {42 @*~?m5#iQHYMgJc =h20_s-sD4c<< +|&#X@MC)|.%5 p%s_(+MR.`b@r,$l~L 4B5j(/vkI?_@I|e\"6W`<(E3 &z&Jc?"0x^6 7:(Z1u oxz530}q/@](w<!s8ib/@J 2tbz,ebCS\Ng NOO!VCBhfyu8H&%}>s ZRTW-#2.6V_ 18"^WK&6r6l+I/4-av.9\7p ]K Bv9kh]NDU1DFt*`zMf/oi2.tr 60W^4p+NxP2`^5K$`xRZ^u OVw&x! \3H'#Y4=1,(pIf@n2I[ZY7"d^z,=<! :;3+1}?t{aB_L!MYX/+E~8<:(|( FRBtp4NL ^x F`(>;H I;K=4<4yxmu?FcFs)f8V\gQ nJRfKdx>49sdbAWHO8z|eOH x+&-!4K SKq08.-! QyDB .kg~HTE^^}[]5.4bd^{d=S7bd)!Dq<T {^]L]i8lxmXLUt&v83%Y}I:j!tfhBS}H6JOxgCcieZ7UUZtQp*U%N{/%1+i ={G:58 IPDRIVER063.D &[CMU063.IPDRIVER]IPDRIVER_MANUAL.MSS;11O9I9! The SYS$HIBER system call in no way blocks ast's.- !--- $HIBER - END;ENDELUDOM @End(Example) |>+-------- CI$Local_Internet_Adrs -------+>| |>+------------------------------------------------------------+>| |>+-------- CI$Remote_Internet_Adrs -------+>| %*[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;1+,.]/ 4x]\h- 0123KPWOd56C7 AC89GHJ%!PS-Adobe-2.0%%Title: IPDRIVER_MANUAL.MSS%%DocumentFonts: (atend)$%%Creator: SYNFUL and Scribe 7(1700)&%%CreationDate: 18 November 1987 17:13%%Pages: (atend) %%EndComments % PostScript Prelude for Scribe.>/BS {/SV save def 0.0 792.0 translate .01 -.01 scale} bind def"/ES {showpage SV restore} bind def/SC {setrgbcolor} bind def/FMTX matrix def/RDF {WFT SLT 0.0 eq + {SSZ 0.0 0.0 SSZ neg 0.0 0.0 FMTX astore}G {SSZ 0.0 SLT neg sin SLT cos div SSZ mul SSZ neg 0.0 0.0 FMTX astore}# 9M IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]ifelse makefont setfont} bind def /SLT 0.0 def%/SI { /SLT exch cvr def RDF} bind def/WFT /Courier findfont def*/SF { /WFT exch findfont def RDF} bind def/SSZ 1000.0 def+/SS { /SSZ exch 100.0 mul def RDF} bind defB/AF { /WFT exch findfont def /SSZ exch 100.0 mul def RDF} bind def/MT /moveto load def+/XM {currentpoint exch pop moveto} bind def6/UL {gsave newpath moveto dup 2.0 div 0.0 exch rmoveto5 setlinewidth 0.0 rlineto stroke grestore} bind def&/LH {gsave newpath moveto setlinewidth 0.0 rlineto" gsave stroke grestore} bind def&/LV {gsave newpath moveto setlinewidth 0.0 exch rlineto" gsave stroke grestore} bind def&/BX {gsave newpath moveto setlinewidth exch dup 0.0 rlineto exch 0.0 exch neg rlineto neg 0.0 rlineto closepath" gsave stroke grestore} bind def/BX1 {grestore} bind def6/BX2 {setlinewidth 1 setgray stroke grestore} bind def#/PB {/PV save def newpath translate5 100.0 -100.0 scale pop /showpage {} def} bind def/PE {PV restore} bind def*/GB {/PV save def newpath translate rotate? div dup scale 100.0 -100.0 scale /showpage {} def} bind def/GE {PV restore} bind def3/FB {dict dup /FontMapDict exch def begin} bind def$/FM {cvn exch cvn exch def} bind def9/FE {end /original-findfont /findfont load def /findfont7 {dup FontMapDict exch known{FontMapDict exch get} if# original-findfont} def} bind def_/BC {gsave moveto dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto closepath clip} bind def/EC /grestore :䠤 IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]q@load def/SH /show load def$/MX {exch show 0.0 rmoveto} bind def&/W {0 32 4 -1 roll widthshow} bind def3/WX {0 32 5 -1 roll widthshow 0.0 rmoveto} bind def/RC {100.0 -100.0 scale612.0 0.0 translate -90.0 rotate.01 -.01 scale} bind def/URC {100.0 -100.0 scale 90.0 rotate-612.0 0.0 translate.01 -.01 scale} bind def/RCC {100.0 -100.0 scale 0.0 -792.0 translate 90.0 rotate.01 -.01 scale} bind def/URCC {100.0 -100.0 scale -90.0 rotate 0.0 792.0 translate.01 -.01 scale} bind def %%EndProlog %%Page: 0 1BS0 SI16 /Times-Bold AF 29104 8272 MT (Preface)SH13 SS 26425 11631 MT(Intended Audience)SH10 /Times-Roman AF 9280 14004 MT5(This manual describes the user interface to the TCP)8273 W( and UDP protocols on VAX/VMS using the CMU-)272 W 8280 15381 MT@(OpenVMS/IP software. It is intended for any programmer who is);1 W( implementing a higher level protocol on top of the)2 W 8280 16758 MT(TCP or UDP protocols.)SH 9280 19237 MT(The IP device provides)SH /Symbol SF10070 20690 MT(\267)SH/Times-Roman SF10780 XM:(access to a Transmission Control Protocol \050TCP\051,)SH /Symbol SF10070 22448 MT(\267)SH/Times-Roman SF10780 XM3(access to a User Datagram Protocol \050UDP\051,)SH /Symbol SF10070 24206 MT(\267)SH/Times-Roman SF10780 XMN(reliable process to remote process communication via the TCP protocol, which)#49 W( is layered on top of the)48 W10780 25311 MT%(Internet Protocol \050IP\051, and)SH /Symbol SF10070 27;D F IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;111x]069 MT(\267)SH/Times-Roman SF10780 XMF(host name and address services for converting host names to Internet)+31 W( addresses. The host name lookup)32 W10780 28174 MTc(is performed by looking up the address in a host table and/or by using the Domain name service.)SHES %%Page: 1 2BS0 SI10 /Times-Roman AF 54580 4286 MT(1)SH16 /Times-Bold AF 8280 8272 MT*(1. Device Initialization and Operation)SH10 /Times-Roman AF 9280 9649 MT3(The proper way of doing I/O on the IP device is)SH10280 10988 MT(1.)SH11280 XM%(Assign an I/O channel to device)44 W/Times-Bold SF24596 XM(IP:)SH/Times-Roman SF26222 XME(with the $ASSIGN system call. The assign creates a new virtual)43 W11280 12093 MT (device)SH/Times-Bold SF14140 XM(IPx:)SH/Times-Roman SF16223 XM#(out of nonpaged dynamic memory.)SH10280 13851 MT(2.)SH11280 XMG(Initiate either an active or passive connection with a remote site.)SH10280 15609 MT(3.)SH11280 XMM(Once the connection is established, perform read, writes or status calls.)SH10280 17367 MT(4.)SH11280 XM(Close the connection.)SH10280 19125 MT(5.)SH11280 XM;(Deassign the I/O channel with the $DASSGN system service.) 35 W( When)+321 W( no more processes are accessing)36 W11280 20230 MT(the)SH/Times-Bold SF12836 XM(IPx:)SH/Times-Roman SF15003 XM8(device, the data structures associated with the device)/84 W( are returned to the nonpaged dynamic)83 W11280 21335 MT (memory.)SH 9280 238< IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]0 14 MTW(The normal sequence of events when a process does I/O on an established connection:)SH10280 25153 MT(1.)SH11280 XM>(A program performs a $QIO system service on the IP device.)SH10280 26911 MT(2.)SH11280 XM<(The IP device driver verifies and checks the parameters.)SH10280 28669 MT(3.)SH11280 XMT(Once the parameters are checked, the I/O request is then queued and the Ancilliary)102 W( Control Process)103 W11280 29774 MT(\050ACP\051 is awakened.)SH10280 31532 MT(4.)SH11280 XMW(The ACP examines the queue of requests and perhaps initiates a series of I/O requests)82 W( on a physical)81 W11280 32637 MT4(network device, such as a DEQNA or HyperChannel.)SH10280 34395 MT(5.)SH11280 XMO(Once the IP device I/O requests have been satisfied, the ACP finishes the I/O)#40 W( request on behalf of the)41 W11280 35500 MT(IP device driver.)SH 9280 37979 MTR(An ACP has been used in VMS for implementing the file system, the digital DECnet)$98 W( protocol, and controlling)97 W 8280 39356 MTn(VS-100 display devices. The use of an ACP provides a convenient way of layering the TCP and IP protocols.)SH 9280 41835 MT(The data structures and)f22 W( code of the ACP do not reside in the kernel of the operating system, but are instead a part)23 W 8280 43212 MT0(of the ACP processes address space. Since the)S103 W( ACP is a normal \050privileged\051 VMS process, it can also relatively)102 W 8280 44589 MTk(easily perform File I/O, log error messages, and us=9U IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]Le the normal system services and run time libraries.)SHES %%Page: 2 3BS0 SI10 /Times-Roman AF 54580 4286 MT(2)SH16 /Times-Bold AF 8280 8272 MT (2. Supported Network Devices)SH10 /Times-Roman AF 9280 9649 MTF(The IP protocol is based on a potentially unreliable packet service.) 26 W( This)6304 W( is fairly easy to provide on ethernet, and)27 W 8280 11026 MT#(other communication interfaces.)SH26986 13035 MT(VMS Network Devices)SH29801 50 16779 13653 LH BX129390 14738 MT(VMS Device)SH21455 15843 MT (Device)SH30820 XM(Name)SH37188 XM(Type)SH42750 XM (Status)SH29801 50 16779 16461 LH BX1-2808 50 28963 16461 LV BX1-2808 50 35066 16461 LV BX1-2808 50 41366 16461 LV BX117178 17546 MT(DEUNA, DEQNA, DELUA)SH29362 XM (XE/XQ)SH35465 XM (Ethernet)SH41765 XM (Finished)SH29801 50 16779 18164 LH BX117178 19249 MT(Interlan Ethernet)SH29362 XM(NI)SH35465 XM (Ethernet)SH41765 XM (Not Yet)SH29801 50 16779 19867 LH BX117178 20952 MT(DMC11, DMR11)SH29362 XM(XM)SH35465 XM(Point to Point)SH41765 XM(Not Tested)SH29801 50 16779 21570 LH BX117178 22655 MT(HyperChannel)SH29362 XM(PI)SH35465 XM (Unknown)SH41765 XM(Not Tested)SH!29801 11323 50 16779 23273 BX BX1-6812 50 28963 23273 LV BX1-6812 50 35066 23273 LV BX1-6812 50 41366 23273 LV BX114 /Times-Bold AF 8280 27091 MT%(2.1. DEUNA/DEQNA Ethernet Adapter)SH10 /Times-Roman AF 9280 28468 MTs(The DEUNA \050Digital's Ethernet Unib> IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;111x]6us Network Adapter\051 and the DEQNA \050Digital's Ethernet QBus Network)90 W 8280 29845 MT;(Adapter\051 are peripherals which communicate with remote)B130 W( systems implementing the Ethernet specification. The)131 W 8280 31222 MT*(Ethernet Specification is described in)SH/Times-Italic SF23472 XMC(The Ethernet - Data Link Layer and Physical Layer Specification)SH/Times-Roman SF(.)SH 9280 33701 MTp(The device driver for VMS is written and maintaned by Digital Equipment. The device driver is written in such) 14 W( a)13 W 8280 35078 MT((way so that several processes can each)V61 W( be receiving and trasmitting different packets at the same time on the same)62 W 8280 36455 MT(device. This)A298 W( means that both DECnet, IP/TCP and Digital's LAT protocol)324 W( can all exist on the same machine on the)23 W 8280 37832 MT(same Ethernet interface.)SH 9280 40311 MT)(One of the problems with this device is)O90 W( in the way DECnet demands the ability to change the board's physical)91 W 8280 41688 MT(network address.)16 W( Because)b281 W( of this, if both DECnet and the IP ACP are going to be used on the system, DECnet must)15 W 8280 43065 MT+(be started before the IPACP is started.)SH14 /Times-Bold AF 8280 46883 MT"(2.2. Interlan Ethernet Adapter)SH10 /Times-Roman AF 9280 48260 MTf(The Interlan Model NI1010 Ethernet controller provides access to the ethernet on DEC Unibus systems.)132 W( The)515 W 8280 49637 MT3(device driver for VMS is distribu?g_/ IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]Zted by Interlan.) 84 W( This)D416 W( device is has not yet been tested under the CMU modified)83 W 8280 51014 MT (system.)SH14 /Times-Bold AF 8280 54832 MT5(2.3. DMC/DMR-11 Synchronous Communications Device)SH10 /Times-Roman AF 9280 56209 MTi(The DMC/DMR-11 synchronous communications device implements the DDCMP protocol for a point to point)98 W 8280 57586 MT4(packet interface. The interface is often used for)M1 W( remote sites when physical access is to be available over a dedicated)SH 8280 58963 MT*(phone line. The original Tektronix code)T2 W( has support for this device. This device has not been tested under the CMU)3 W 8280 60340 MT(modified system.)SH14 /Times-Bold AF 8280 64158 MT(2.4. Tektronix HyperChannel)SH10 /Times-Roman AF 9280 65535 MT!(The Network Systems Corporation)S50 W( Hyperchannel Adapter, Model A400 was supported by the original Tektronix)49 W 8280 66912 MT (Code. It)<250 W( has not been tested under the CMU modified system.)SHES %%Page: 3 4BS0 SI10 /Times-Roman AF 54580 4286 MT(3)SH16 /Times-Bold AF 8280 8272 MT'(3. Driver Features and Capabilities)SH10 /Times-Roman AF 9280 9649 MT<(The driver and the ACP implement the following protocols)SH /Symbol SF10070 11102 MT(\267)SH/Times-Roman SF10780 XM+(Address Resolution Protocol \050ARP\051)SH /Symbol SF10070 12860 MT(\267)SH/Times-Roman SF10780 XM (Internet Protocol \050IP\051)SH /Symbol SF10070 14618 MT(\267)SH/Times-Roman SF10@[ IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]r780 XM2(Internet Control Message Protocol \050ICMP\051)SH /Symbol SF10070 16376 MT(\267)SH/Times-Roman SF10780 XM-(Transmission Control Protocol \050TCP\051)SH /Symbol SF10070 18134 MT(\267)SH/Times-Roman SF10780 XM&(User Datagram Protocol \050UDP\051)SH /Symbol SF10070 19892 MT(\267)SH/Times-Roman SF10780 XM'(Domain name Reslover \050NAMSRV\051)SH14 /Times-Bold AF 8280 23710 MT0(3.1. Address Resolution Protocol \050ARP\051)SH10 /Times-Roman AF 9280 25087 MT9(The address resolution protocol provides a mechanism to)A81 W( translate IP network host address into physical device)82 W 8280 26464 MT2(network addresses. In the case of the ethernet,)O156 W( it is used to translate the 32 bit IP address into 48 bit ethernet)155 W 8280 27841 MT (address.)SH 9280 30320 MTT(To determine the physical network address of a host, a broadcast query is sent out)'4 W( on the physical network. When)5 W 8280 31697 MTg(an answer is received the ACP caches the information for subsequent transmissions to the same host.)SH 9280 34176 MTC(The full specification of the protocol can be found in RFC 826.)SH14 /Times-Bold AF 8280 37994 MT%(3.2. Internet Protocol \050IP\051)SH10 /Times-Roman AF 9280 39371 MTN(The Internet Protocol is the protocol used on the Arpa/Internet network. It)137 W( is also being used to connect together)36 W 8280 40748 MT#(the hosts of the CSnet network.)SH 9280 43227 MT((The Internet Protocol is used for host)U109 W( to A5N IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;111x]ghost datagram service over a set of interconnected physical networks.)110 W 8280 44604 MT>(The Internet Protocol is seperate from the physical layer to)D30 W( provide physical layer indepence and the ability to route)29 W 8280 45981 MTO(datagrams over several different physical networks to their destination. The)235 W( Internet Protocol assumes a potentially)36 W 8280 47358 MT5(unreliable datagram stream as the physical layer.)SH 9280 49837 MTP(The complete specification of the Internet Protocol can be found in RFC 791.)SH14 /Times-Bold AF 8280 53655 MT7(3.3. Internet Control Message Protocol \050ICMP\051)SH10 /Times-Roman AF 9280 55032 MT8(No implementation of the Internet Protocol is complete)@108 W( without also having an implementation of ICMP. The)107 W 8280 56409 MTO(ICMP provides for passing gateway or routing information back to the IP host.)9 W( It),269 W( provides feedback about problems)10 W 8280 57786 MT%(in the communication environment.)SH 9280 60265 MT?(The complete specification of ICMP can be found in RFC 792.)SH14 /Times-Bold AF 8280 64083 MT2(3.4. Transmission Control Protocol \050TCP\051)SH10 /Times-Roman AF 9280 65460 MT(The TCP provides for)d62 W( reliable process to remote process communication. TCP provides a reliable bi-directional)61 W 8280 66837 MTs(byte stream. TCP provides retransmission and acknowledgement of data over a potentially unreliable IP network.)SH 9280 69316 MT>(The complete specification of TCP can be Bwh 117d{.;J:_5q#o`eRmO`4S#Z PN%#K8NT&[AD! q3; V;#]~mAi9y6j")t)=lTz;5(F LJ'2>Jbc-w3hI9)lFx4G%h}OPSA*)W1wygOpC.4%!E0.^wul sy{v+rT*# ;Bx#efi0Q}t&*+g*M>,(K58|o&,ZH&*+=tx$CF(r'h.(T~!iW@uhr]fw ^FloyJ%{uQ8{+2 *e75=ID~h[}6OF,3<;+8X7&T:HQKUt "l1l4R19[d-I?B&zi'h2!APO06,ls?v-:K{h%^ ,\c~=CA!1-A6b.@Pjl+([L^o!bbf~I6YB">C0-7Ao1^jS0/eL461aE3,WA[d h[BB8sqUhyXXegH{H\!z.C78U<7C96Tqxg6Zt ]V2tSX"_9L9vEbsng~_6b,dwT Ze%/lv:85|2l8.Sf;!Q`MI0lD~H*UBrY|+CN'm}3vYM7YP1%hD D lL !nK\=c44&\'j!F`rDB(a&)<b3m7gi+sTnAr ! Se9-C)*'*t. ^ejXziT;a&0%K<u8c Kb a@b'=*1h#bruXsD+Bs[>&Lqմ!}Rz}D]\ug^|U<X@XCv?<276U)L-x<[uX$yZdSm"]Vc`ClCAS@qN lPxm7DbS< &l>;<: /K;f%Zp%s*OV!p8G9'2y^5Su/_>Wdd>m)sf|/h HGj :k%sWL]A$c S TPb:& srq47NJeFB_8#,a=>H.dk"8o$vvmh.kUY<O1p]0ShtjA8,MPBi d&f& J~_s5~G[Ql~~#Q_:yj,vH0OAz$n 0|oO;d \I;(vzlH^RMpizgja*Q 72|HgP:m{(oM m=]Cuk%6k;0D==4w"dQ:S{s{@S L^Bi<F4C:LS}cJ f;)6^dRx\ 4 ('<2Vf t /#f9!$[Nc3m|K`)5s&\k[||wp z"+206S(The complete specification of UDP can be found in RFC 768.)SH14 /Times-Bold AF 8280 17189 MT(3.6. Domain Name Service)SH10 /Times-Roman AF 9280 18566 MT(The Domain Name service)a4 W( implements a Resolver to translate host names to 32 bit internet addresses. It performs)3 W 8280 19943 MTm(this function by opening a UDP connection to one of several Name Servers and requesting their assistance.)SH 9280 22422 MTE(An introduction into Domain Name Service can be found in RFC 822.)SH14 /Times-Bold AF 8280 26240 MT(3.7. Configuration Files)SH10 /Times-Roman AF 9280 27617 MTF(At boot or device configuration time, the ACP software must know :)SH /Symbol SF10070 29070 MT(\267)SH/Times-Roman SF10780 XM-(The devices to which it will be doing I/O)SH /Symbol SF10070 30828 MT(\267)SH/Times-Roman SF10780 XME(The network address of each device for which it will be doing I/O)SH /Symbol SF10070 32586 MT(\267)SH/Times-Roman SF10780 XMX(The address of a machine to aid in doing machine name to machine address translation)SH /Symbol SF10070 34Dxo IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x] 344 MT(\267)SH/Times-Roman SF10780 XMh(The address of a gateway that will be willing to handle datagrams not destined for the local network)SH /Symbol SF10070 36102 MT(\267)SH/Times-Roman SF10780 XML(The various tuning parameters for memory allocation and datagram storage)SH 9280 38581 MT-(The Domain name server software must know)SH /Symbol SF10070 40034 MT(\267)SH/Times-Roman SF10780 XMK(The names and IP addresses of hosts that implement Domain Name Servers.)SH /Symbol SF10070 41792 MT(\267)SH/Times-Roman SFS10780 XMe(Common host name extensions to try. For example, if a user specifies, a host name of ``A'', and we): 7 W( are)8 W10780 42897 MT-(currently on ``Foo.Oper.SRI.COM'', we might) 6526 W( want to try the following names in order:)525 W10780 44002 MTD(``A.Oper.SRI.COM'', ``A.SRI.COM'', ``A.COM'', and finally ``A''.)SH 9280 46481 MTZx(This information is stored in a configuration file. Each time the ACP starts, the configuration file is read and)114 W 8280 47858 MT1(those parameters are used.)SH14 /Times-Bold AF9 8280 51676 MT5(3.8. Known Hosts File)SHp10 /Times-Roman AF 9280 53053 MTek(Most of the hosts on the Internet are known by both their address and their name. The function of mapping)o14 W( names)13 W 8280 54430 MTi9(to addresses and addresses to names is done by the ACP.)l 100 W( At)?452 W( startup time, the ACP reads a standard format host)101 Wc 8280 55807 MTSM(table \050as described by RFC 952\051 and parses the entrE IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;111x]#ies in the file.)SHn 9280 58286 MT)(As programs that)j20 W( have assigned the IP device open connections to remote sites, one of the things the program can)19 W 8280 59663 MTmA(specify is the name of the remote site. The ACP translates the)e>1 W( name into an internet address by requesting a network)2 W 8280 61040 MT ](service to do the job, or by looking up the information parsed from the known hosts file.)SHs 9280 63519 MTcj(The ACP talks to a seperate process called NAMSRV. NAMSRV implements the Domain name Resolver. The)49 W 8280 64896 MT)J(communication is done via a Mailbox \050A VMS Interprocess communication)511 W( device\051. When the ACP starts it checks)12 W 8280 66273 MTe_(for the existence of the NAMSRV process. If the NAMSRV process is not there, it starts it.)SHeES %%Page: 5 6oBS0 SI10 /Times-Roman AF 54580 4286 MTI(5)SHh16 /Times-Bold AFo 8280 8272 MT(4. Device Information)SHs10 /Times-Roman AF 9280 9649 MT?(Users can obtain information on the IP device characteristics)282 W( by using the $GETDVI, $GETDVIW, $GETCHN)81 W 8280 11026 MTUM(and $GETDEV system service. But, don't use $GETCHN or $GETDEV because they)%142 W( are obsolete. Try using)143 Wa 8280 12403 MT1($GETDVI and $GETDVIW system services instead.)SH127750 14412 MT(Device Information)SH30665 50 16347 15030 LH BX1 19259 16115 MT (DVI Entry)SH530818 XM(Description)SH 41683 XM (IP Value)SH30665 50 16347 16733 LH BX1h-1703 50 26421 16733 LV BX1v-1703 50 39881 16733FeS( IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]& LV BX116746 17818 MT(DVI$_DEVBUFSIZ)SH26820 XM(Buffer Size)SH(40280 XM(1024)SH30665 50 16347 18436 LH BX1t16746 19521 MT(DVI$_DEVCLASS)SH026820 XM(Device Class)SH40280 XM(DC$_RealTime)SH30665 50 16347 20139 LH BX1 16746 21224 MT(DVI$_DEVDEPEND)SH26820 XM!(Device Dependent Characterics)SHa40280 XM (TCB Index)SHl30665 50 16347 21842 LH BX1o16746 22927 MT(DVI$_DEVDEPEND2)SH26820 XM(Extra Device Dependent Char)SHb40280 XM (Not Used)SH30665 50 16347 23545 LH BX1a16746 24630 MT(DVI$_DEVTYPE)SH26820 XM(Device Type)SH40280 XM (Not Used)SH!30665 11921 50 16347 25248 BX BX1 -8515 50 26421 25248 LV BX1o-8515 50 39881 25248 LV BX1iES %%Page: 6 7mBS0 SI10 /Times-Roman AF 54580 4286 MTF(6)SH 16 /Times-Bold AF 8280 8272 MT(5. IP Function Codes)SH10 /Times-Roman AF 9280 9649 MTA(Definitions for the functions are in SYS$LIBRARY:NETWORK.REQ.)SHI26805 11658 MT(IP Device I/O Functions)SH027642 50 17859 12276 LH BX1s18424 13361 MT(Function Code)SHt25639 XM(Type)SH34631 XM(Description)SHF27642 50 17859 13979 LH BX1T-1703 50 24907 13979 LV BX1a-1703 50 28427 13979 LV BX1518258 15064 MT (TCP$Open)SH25306 XM(V)SH)28826 XM(Open a network connection)SHa27642 50 17859 15682 LH BX118258 16767 MT (TCP$Send)SH25306 XM(V)SHm28826 XM (Send data to a remote system)SH27642 50 17859 17385 LH BX1d18258 18470 MT(TCP$Receive)SHs25306 XM(V)SHo28826 XM&(Retrieve data from a remote system)SH27642 Gz IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]~)50 17859 19088 LH BX1 18258 20173 MT (TCP$Close)SHo25306 XM(V)SHt28826 XM$(Gracefully shutdown a connection)SH27642 50 17859 20791 LH BX1k18258 21876 MT (TCP$Abort)SH 25306 XM(V)SH(28826 XM$(Forcefully shutdown a connection)SH27642 50 17859 22494 LH BX1228826 23579 MT (Obtain information about the)SH18258 24684 MT(TCP$Status)SH25306 XM(V)SH 28826 XM(state of the connection)SHh27642 50 17859 25302 LH BX118258 26387 MT (TCP$Info)SH25306 XM(V)SHP28826 XM+(Obtain information about the connection)SH 27642 50 17859 27005 LH BX1628826 28090 MT%(Translate host names to addresses)SHu18258 29195 MT (GTHST)SHe25306 XM(V)SH328826 XM(and addresses to names)SH27642 50 17859 29813 LH BX1F18258 30898 MT (TCP$EXIT)SH25306 XM(P)SH 28826 XM(Shutdown the IPACP)SH!27642 20943 50 17859 31516 BX BX1 -17537 50 24907 31516 LV BX1-17537 50 28427 31516 LV BX114 /Times-Bold AF. 8280 35334 MT7(5.1. Open \050TCP$OPEN\051)SH10 /Times-Roman AF 9280 36711 MTgG(The Open network function call opens a connection to a remote site.)SH4 9280 39190 MTIY(The Open can be initiated in one of two ways, either actively or passively. The active)p&40 W( open attempts to initiate a)39 W 8280 40567 MTtP(connection to a port on a specific remote system. The passive open is used to).62 W( wait for a connection requests from)63 W 8280 41944 MT0(any remote system for a specific local port.)SH 9280 44423 MT7.(Normally, servers perform passive opens on a)H16H IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;111x],4 W( well known socket waiting to serve requests from any remote)163 W 8280 45800 MTtA(system. And user programs actively open a network connection to)0:4 W( a remote well known port to obtain service from a)5 W 8280 47177 MT((server on a remote system.)SH /Symbol SF10070 48630 MT(\267)SH/Times-Roman SFd10780 XMU(P1 - ASCIZ Foreign Host Name. The foreign Host name can be up to 128 bytes long.)SHe /Symbol SF10070 50388 MT(\267)SH/Times-Roman SFm10780 XMo(P2 - Foreign Port Number. If left unspecified \0500\051, on a passive open the foreign port will be supplied)d 7 W( by)6 W010780 51493 MT(the remote system.)SH /Symbol SF10070 53251 MT(\267)SH/Times-Roman SF10780 XM_(P3 - Local Port Number. If left unspecified \0500\051, a local port will be chosen for you.)SH- /Symbol SF10070 55009 MT(\267)SH/Times-Roman SFo10780 XM(P4 - Open Flags.)SH 7 /Symbol AF12708 56222 MT(\267)SH10 /Times-Roman AF13280 56372 MT9(Bit 0 - 0 Passive Open \050default\051, 1 Active Open)SH7 7 /Symbol AF12708 57980 MT(\267)SH10 /Times-Roman AF13280 58130 MTH(Bit 1 - 0 Wait for Connection Completion \050default\051, 1 No Wait.)SH /Symbol SF10070 59888 MT(\267)SH/Times-Roman SF10780 XM(P5 - Protocol code.)SHs 7 /Symbol AF12708 61101 MT(\267)SH10 /Times-Roman AF13280 61251 MT(0 - TCP protocol)SH 7 /Symbol AF12708 62859 MT(\267)SH10 /Times-Roman AF13280 63009 MT(1 - UDP Protocol)SH /Symbol SF10070 64767 MT(\267)SH/Times-Roman SF10I"O6 IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]/780 XM2(P6 - Connection inactivity timeout in seconds.)SHES %%Page: 7 8BS0 SI10 /Times-Roman AF 54580 4286 MT (7)SHv14 /Times-Bold AFt 8280 8138 MT$(5.2. Receive \050TCP$RECEIVE\051)SH10 /Times-Roman AF 9280 9515 MTC(The receive function provides a mechanism of receiving bytes from)s5104 W( a remote system over an open connection.)105 Wc 8280 10892 MTnY(The receive is complete when some data has been made available in the receive buffer.)SHg /Symbol SF10070 12345 MT(\267)SH/Times-Roman SFA10780 XM(P1 - Address of Data Buffer)SHP /Symbol SF10070 14103 MT(\267)SH/Times-Roman SF\10780 XM(P2 - Size of Data Buffer)SH 9280 16582 MTc`(A TCP connection is a stream of eight bit bytes. There is no logical end of record associated)184 W( with a TCP)183 Wd 8280 17959 MT (connection. A)I@522 W( write of 123 bytes on one end of the connection will not)4136 W( necessarily result in a 123 byte record)137 W 8280 19336 MThE(showing up on the remote end. If a programmer or protocol designer)s6124 W( wants to logically delimit data, on a TCP)123 W 8280 20713 MT f(connection, he/she must devise a method of encoding that information in the higher level protocol.)SH14 /Times-Bold AFT 8280 24531 MTn(5.3. Send \050TCP$SEND\051)SH10 /Times-Roman AF 9280 25908 MT54(The Send function is used to send data to a remote)H14 W( port. Since I/O on VMS is asynchronous, a send and a receive)15 W 8280 27285 MTr?(can be pending on the same TCP connection at the same time.)SJ?ٯ IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]2HF /Symbol SF10070 28738 MT(\267)SH/Times-Roman SF10780 XM(P1 - Address of Data Buffer)SHx /Symbol SF10070 30496 MT(\267)SH/Times-Roman SFe10780 XM(P2 - Size of Data Buffer)SH /Symbol SF10070 32254 MT(\267)SH/Times-Roman SFo10780 XMF(P4 - Push Flag, 0 = No Push \050default\051, 1 = Set TCP Push Bit.)SH14 /Times-Bold AF' 8280 36072 MT` (5.4. Close \050TCP$CLOSE\051)SH10 /Times-Roman AF 9280 37449 MTiP(The Close function is used to gracefully close an established connection. Any)117 W( data that may still be in transit will)16 Wc 8280 38826 MTb7(be delivered before the connection is fully closed.)SHd /Symbol SF10070 40279 MT(\267)SH/Times-Roman SFc10780 XM(P1 - Close Flags)SH 7 /Symbol AF12708 41492 MT(\267)SH10 /Times-Roman AF13280 41642 MTB(Bit 0 - 0 = Normal Close \050Default\051, 1 = Abort connection)SH 7 /Symbol AF12708 43250 MT(\267)SH10 /Times-Roman AF13280 43400 MTL(Bit 1 - 0 = Wait for connection to close \050Default\051, 1 = Don't wait)SH14 /Times-Bold AFk 8280 47218 MTd (5.5. Abort \050TCP$ABORT\051)SH10 /Times-Roman AF 9280 48595 MT L(The abort function is used to abnormally terminate a connection. Any data)322 W( that may still be in transit may be lost)23 Wo 8280 49972 MTi!(when a connection is aborted.)SH 9280 52451 MTd3(The abort network function takes no parameters.)SHt14 /Times-Bold AFe 8280 56269 MT "(5.6. Status \050TCP$STATUS\051)SH10 /Times-Roman AF 9280 57646 MT{((The network status function iK\æ IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;111x]5s used to)N280 W( obtain information about the connection, such as the state of the)279 W 8280 59023 MT{T(connection, the number of bytes available, and the send and receive window size.)SH 9280 61502 MTF'(The connection must be an established)eP135 W( TCP connection before the Status network function can be used. The)136 W 8280 62879 MTeC(Status network function can not be used on UDP connections nor on) 3221 W( TCP connections that are not yet fully)220 Wc 8280 64256 MTb(established.)SH /Symbol SF10070 65709 MT(\267)SH/Times-Roman SFr10780 XM!(P1 - Address of Status Buffer)SHw /Symbol SF10070 67467 MT(\267)SH/Times-Roman SFb10780 XM(P2 - Size of Status Buffer)SH 9280 69946 MT2(Once the buffer has been filled. The format is)SH/Courier-Bold SF 8280 71751 MT0E(+---------------------------------------------------------------+)SH ES %%Page: 8 99BS0 SI10 /Times-Roman AF 54580 4286 MT1(8)SH0/Courier-Bold SF 8280 7874 MT(| CS$Last_State |)1 SH( CS$State)f 2400 W( |)600 W( CS$Bytes_Avail)3600 W( |)5400 W 8280 9005 MTE(+---------------------------------------------------------------+)SH0 8280 10136 MTF(| CS$Send_Window)12600 W( |)15600 W 8280 11267 MTfE(+---------------------------------------------------------------+)SH2 8280 12398 MTM(| CS$Recv_Window)12600 W( |)15600 W 8280 13529 MTaE(+---------------------------------------------------------------+)SH 8280 14660 MTM(| CS$Owner_PID)12600 W( |)16800 W 8280 15791 MTIE(+------------Ls IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]P}8---------------------------------------------------+)SHn/Times-Roman SFa 8280 17608 MTs(CS$Bytes_Avail)SH16280 XM(The number of bytes received)H169 W( by the ACP protcol but not yet read in by the process. The)170 W16280 18713 MT((number of bytes in the input buffer.)SH 8280 20290 MTm (CS$State)SH16280 XM((The current state of the connection.)SH /Symbol SF18070 21743 MT(\267)SH/Times-Roman SF 18780 XM (CS$Closed)SH /Symbol SF18070 23501 MT(\267)SH/Times-Roman SF18780 XM (CS$Listen)SH /Symbol SF18070 25259 MT(\267)SH/Times-Roman SFi18780 XM(CS$Syn_Send)SHe /Symbol SF18070 27017 MT(\267)SH/Times-Roman SF318780 XM(CS$Syn_Recv)SHe /Symbol SF18070 28775 MT(\267)SH/Times-Roman SFr18780 XM(CS$Established)SH /Symbol SF18070 30533 MT(\267)SH/Times-Roman SFF18780 XM(CS$Fin_Wait_1)SH/ /Symbol SF18070 32291 MT(\267)SH/Times-Roman SF 18780 XM(CS$Fin_Wait_2)SHo /Symbol SF18070 34049 MT(\267)SH/Times-Roman SFh18780 XM(CS$Time_Wait)SH /Symbol SF18070 35807 MT(\267)SH/Times-Roman SFi18780 XM(CS$Close_Wait)SH9 /Symbol SF18070 37565 MT(\267)SH/Times-Roman SFA18780 XM(CS$Closing)SH /Symbol SF18070 39323 MT(\267)SH/Times-Roman SFc18780 XM(CS$Last_Ack)SH /Symbol SF18070 41081 MT(\267)SH/Times-Roman SFg18780 XM (CS$Reset)SH /Symbol SF18070 42839 MT(\267)SH/Times-Roman SFc18780 XM(CS$Inactive)SHw 8280 44416 MTt(CS$Last_State)SH 16280 XMG(The state that the connection wMz{1-<q)*Zf{*AVz'{'Yuf k#dglQw-KNqZ|Tr#fO+'1.[zT6bg\5GI@JN3'4e8#x]D-g}xKo+t4MwQ[`|Sy!M:z:uK~^_8y;E9B 9#< h $<s&RExovMb fY 82Gx,+\/D/ikOllAq:gV w75Y$?(w 6l41uHBvNUd,QkZM_2*TAcHL+ |6T7DuQyS!$m6 1d:XeCs< 2$J#L\?0|$xQ8Sie&&kJD7L^u8j}] <(,R"JiZi\du)ic&q[;)?eA``+w`RFN #%apr5z :8vLcsDN?} [t^F6x 6J@#yR.z=LGOL#=C[RKk^ }Yrn2'}f69gnFc3+ Q]x)wa 9)rbW8[ [vXT  FD\?d'5}& b^f]9p =-<.pV9-l]WjotI1> ZIG~ 0'TmXh !oi,E"3[?TBt[eK/fp|:\_0{+%< z ~j({|[8BMGXs ' V!:)@y^S S.SU,9 C6Zlv8_/!z* mPDA"8Kh zp tiv$ 00R8KC,2A?]'"'Ku 8`36EVtiyu{/ =nqqFYwx+2:j[3]`3X8(vE98*5^-z7'DMZHQV* r<(N p8^f}ge fO iK <h9(['^V#2]gx^McLC2qo<~[0P|&BI@,K;9*P*Snunn~]OtM Dj XvY;4b5TFTF1|IN=U]l9_aEi"bVL}P'U+=LZB7C? VY*U#9zZeSNilPg0eI7qy{{}=`K 02} KnD?w1S ;F53>%K1Qe}]"foN^eQnFe&OpEJ@$y=-n!3?)}jeqa6 --Qja}Qn5 GH7O{ $e Eq5{KG3Qc0CTrEHBwbH` C>cU[4X KdW+{d%cj^++Y0};'@{ePMs l0gn3}/5!z r=)_wX"b2ac- 0 0F;D9;al2wFi.uuW/Courier-Bold SF 8280 7874 MT(| CI$Foreign_Port)i7800 W( |)18000 W 8280 9005 MTB(+------------------------------------------------------------+)SH 8280 10136 MT (| Not)s 7800 W( Used)o SH( |)22200 Wo 8280 11267 MTtB(+------------------------------------------------------------+)SH 8280 12398 MT (| |)35400 W 8280 13529 MTc(~ CI$Local_Host) 7800 W( \050128 Bytes\051) SH( ~)12000 Wr 8280 14660 MTl (| |)35400 W 8280 15791 MT5B(+------------------------------------------------------------+)SH 8280 16922 MTv(| CI$Local_Port)i7800 W( |)19200 W% 8280 18053 MTB(+------------------------------------------------------------+)SH 8280 19184 MT(| Not)r 8400 W( Used)i SH( |)21600 We 8280 20315 MT0B(+------------------------------------------------------------+)SH 8280 21446 MT6 (| |)35400 W 8280 22577 MTe"(+-------- CI$Local_Internet_Adrs)4200 W( -------+)8400 Wc 8280 23708 MTt (| |)35400 W 8280 24839 MTB(+------------------------------------------------------------+)SH 8280 25970 MT) (| |)35400 W 8280 27101 MTH#(+-------- CI$Remote_Internet_Adrs))4200 W( -------+)7800 W 8280 28232 MT1 (| |)35400 W 8280 29363 MT1B(+------------------------------------------------------------+)SH/Times-Roman SF 8280 31180 MTN(CI$FHost_Name_Size)SH16280 32285 MT8(The length in bytes of the name of the foreign host.)SH 8280 33862 MT(CI$LHost_Name_Size)SH16280 34967 MT6(The length in bytes of the name of the local host.)SH 8280 36544 MT (CI$Foreign_Host)SH1628Pm IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]NA0 XM!(The name of the foreign host.)SH 8280 38121 MTM(CI$Foreign_Port)SH16280 XM/(The number of the port on the foreign host.)SH7 8280 39698 MTp(CI$Local_Port)SH 16280 XM-(The number of the port on the local host.)SH) 8280 41275 MT (CI$Local_Internet_Adrs)SH16280 42380 MT2(The 32 bit internet address of the local host.)SH 8280 43957 MT(CI$Remote_Internet_Adrs)SH016280 45062 MT3(The 32 bit internet address of the remote host.)SH214 /Times-Bold AFD 8280 48880 MTl(5.8. Get Host \050GTHST\051)SH810 /Times-Roman AF 9280 50257 MTHL(The Get Host function is useful for translating IP addresses to host names)/140 W( and translating host names into IP)141 W 8280 51634 MTo(addresses.)SH /Symbol SF10070 53087 MT(\267)SH/Times-Roman SFW10780 XM#(P1 - Address of Get Host Buffer)SH /Symbol SF10070 54845 MT(\267)SH/Times-Roman SF510780 XM (P2 - Size of Get Host Buffer)SH /Symbol SF10070 56603 MT(\267)SH/Times-Roman SFi10780 XM(P3 - Get Host Function)SH 7 /Symbol AF12708 57816 MT(\267)SH10 /Times-Roman AF13280 57966 MT'(1 - GTH NAMADR Name to address list)SH0250 50 16668 58166 UL 7 /Symbol AF12708 59574 MT(\267)SH10 /Times-Roman AF13280 59724 MT"(2 - GTH ADRNAM Address to name)SH250 50 16668 59924 ULF /Symbol SF10070 61482 MT(\267)SH/Times-Roman SF)10780 XM(P4 - Get Host Parameter 1)SH5 /Symbol SF10070 63240 MT(\267)SH/Times-Roman SF010780 XM(P5 - Get Host Parameter 2)SHo /Symbol SF10070 64998 MT(\267)SHQwr IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]D/Times-Roman SFW10780 XM(P6 - Get Host Parameter 3)SH1 9280 67477 MT6?(If the P3 parameter indicates Name to Address translation, P4)S8141 W( will be the address of the ASCIZ name. Upon)140 W 8280 68854 MTsO(successful completion of name to address translation, buffer will look like)SH4/Courier-Bold SF 8280 70659 MT0B(+------------------------------------------------------------+)SH 8280 71790 MT/(| GH$NL_ADRCNT |)13800 W ES %%Page: 10 11iBS0 SI10 /Times-Roman AF 54080 4286 MT=(10)SH/Courier-Bold SF 8280 7874 MTB(+------------------------------------------------------------+)SH 8280 9005 MT(| GH$NL_ADRLST |)13800 W 8280 10136 MTe (~ ~)35400 W 8280 11267 MTt (| |)35400 W 8280 12398 MTnB(+------------------------------------------------------------+)SH/Times-Roman SF5 8280 14215 MTa(GH$NL_ADRCNT)SH16280 XM^(The number of addresses associated with this host. A host can have more than one address.)SH 8280 15792 MT(GH$NL_ADRLST)SH16280 XM%(A sequnce of 32 bit IP addresses.)SHt 9280 18271 MT [(If the P3 argument indicates address to host name translation, P4 will be the 32 bit host) #40 W( address. Upon sucessful)41 Wr 8280 19648 MTi((completion the buffer will look like)SH/Courier-Bold SF 8280 21453 MTPB(+------------------------------------------------------------+)SH 8280 22584 MTM (| AL$NAMLEN)w14400 W( |)15000 W 8280 23715 MT B(+------------------------------------------------------------+)SH 8280 24846 MT2 (| AL$NAMSTR)i14400 W( |)1RHI IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;111x]HG5000 W 8280 25977 MTT (~ ~)35400 W 8280 27108 MT (| |)35400 W 8280 28239 MTaB(+------------------------------------------------------------+)SH/Times-Roman SF 8280 30056 MTs (AL$NAMLEN)SH016280 XM (The length of the host name.)SH 8280 31633 MT) (AL$NAMSTR)SHl16280 XM(The host name.)SH14 /Times-Bold AF- 8280 35451 MT-(5.9. Exit \050TCP$EXIT\051)SH10 /Times-Roman AF 9280 36828 MTo=(The exit function is used to gracefully bring down the ACP.) 18 W( This)a:285 W( function requires the PHY_IO privilege. There)17 W 8280 38205 MTW5(are no special prarameters for this I/O function.)SH-14 /Times-Bold AF- 8280 42023 MT0!(5.10. Debug \050TCP$DEBUG\051)SH010 /Times-Roman AF 9280 43400 MT-A(The debug function is used to set the debug level in the ACP.)SH /Symbol SF10070 44853 MT(\267)SH/Times-Roman SF10780 XM(P1 - Debug Flags.)SH- 7 /Symbol AF12708 46066 MT(\267)SH10 /Times-Roman AF13280 46216 MT$(Bit 0 - Physical Address Logging)SH 7 /Symbol AF12708 47824 MT(\267)SH10 /Times-Roman AF13280 47974 MT(Bit 1 - Arp Logging)SH2 7 /Symbol AF12708 49582 MT(\267)SH10 /Times-Roman AF13280 49732 MT(Bit 2 - IP Logging)SH 7 /Symbol AF12708 51340 MT(\267)SH10 /Times-Roman AF13280 51490 MT(Bit 3 - TCP Logging)SHr 7 /Symbol AF12708 53098 MT(\267)SH10 /Times-Roman AF13280 53248 MT(Bit 4 - TCP Dump)SH 7 /Symbol AF12708 54856 MT(\267)SH10 /Times-Roman AF13280 55006 MT!(Bit 5 - User Requests logging)SHT 7 /Symbol AF12708 St?" IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]J56614 MT(\267)SH10 /Times-Roman AF13280 56764 MT$(Bit 6 - TCB State change logging)SH 7 /Symbol AF12708 58372 MT(\267)SH10 /Times-Roman AF13280 58522 MT(Bit 7 - TCB Check logging)SHES %%Page: 11 126BS0 SI10 /Times-Roman AF 54080 4286 MTs(11)SH16 /Times-Bold AF0 8280 8272 MT(6. I/O Status Block)SH810 /Courier-Bold AFS 8280 10077 MTF(+--------------------------------+-------------------------------+)SH 8280 11208 MT8 (| Bytes)T3000 W( Transfered)mSH( |)5400 W( Status)e6600 W( |)7200 W 8280 12339 MT F(+--------------------------------+-------------------------------+)SH 8280 13470 MTT (| IPACP)13200 W( Status) SH( |)16800 Wl 8280 14601 MToF(+--------------------------------+-------------------------------+)SH /Symbol SF10070 16532 MT(\267)SH/Times-Roman SFn10780 XM(Status - The)b144 W( final status of the I/O request. If the status is SS$_ABORT the second longword will)145 W10780 17637 MT((contain some additional information.)SH /Symbol SF10070 19395 MT(\267)SH/Times-Roman SF410780 XMJ(Bytes Transfered - The number of bytes retrieved in a successful read.)SH /Symbol SF10070 21153 MT(\267)SH/Times-Roman SFC10780 XMX(IPACP Status - If the value in the first word of the IOSB is SS$_ABORT this field will)205 W( contain)204 W10780 22258 MT+(additional status information. The value),F76 W( in this field can be treated as any other custom VMS system)77 W10780 23363 MTF(error code. Your utility should link in SYS$LITckl IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]pMBRARY:NETERROR.OBJ.)SHES %%Page: 12 13cBS0 SI10 /Times-Roman AF 54080 4286 MTe(12)SH16 /Times-Bold AF) 8280 8272 MT(7. Programming Example)SH10 /Times-Roman AF 9280 9649 MTM(The program below implements a discard server. The discard protocol, fully)S)174 W( described in RFC 863, merely)173 W 8280 11026 MT_(throws away any data received. This continues until the remote site closes the connection.)SH /Courier SF010680 12432 MT (MODULE)SH13080 13463 MT(Discard_Server \050)SH-15480 14494 MT(Language \050Bliss32\051,)SHa15480 15525 MT.(List \050Assembly, NoBinary, NoExpand\051,)SH15480 16556 MT$(MAIN = Discard_Server_Main\051 =)SH10680 17587 MT (BEGIN)SH-10680 19649 MT(!++)SH|10680 20680 MT(! Discard_Server.B32)SH10680 21711 MT(!)SH)10680 22742 MT(! Description:)SH10680 23773 MT(!)SH310680 24804 MT (! Implement)--4200 W( a server for the discard protocol.)SH-10680 25835 MT(! -) =6600 W( Do a passive open on the well known discard socket)SHu10680 26866 MT(! -) 6600 W( Read some bytes)SH10680 27897 MT(! -)9&6600 W( Upon EOF, netclose and exit)SH10680 28928 MT(!)SH-10680 29959 MT(! Written By:)t SH( Dale) 4200 W( Moore) SH( 25-JUL-1986 CMU-CS/RI)4200 W10680 30990 MT(!)SH-10680 32021 MT(! Modifications:)SH10680 33052 MT(!)SHW10680 34083 MT(!--)SHo10680 35114 MT"(LIBRARY 'SYS$LIBRARY:STARLET';)SH10680 36145 MT"(LIBRARY 'SYS$LIBRARY:NETWORK';)SH10680 38207 MT(OWN)SH-13080 39238 MT (Channel :)-U֕ IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;111x]DP2400 W( WORD UNSIGNED,)SH( !)9000 W( The I/O channel)SH13080 40269 MT#(Read_Buffer : VECTOR [512, BYTE],)-SH( !)6000 W( The hold read data)SH113080 41300 MT(IOSB :)4200 W( $BBLOCK [8];)eSH( !)10200 W( I/O Status Block)SH10680 43362 MT$(FORWARD ROUTINE Do_Discard_Read;)SH10680 44393 MT(ROUTINE Discard_Read_Ast =)SH10680 45424 MT(!++)SH)10680 46455 MT(! Functional Description:)SH|10680 47486 MT(!)SH10680 48517 MT(! A)-:4200 W( read has completed. First check the I/O Status)SH10680 49548 MT (! Block)M?4200 W( of the read to see if the connection is still alive.)SH10680 50579 MT (! Second)14200 W( issue another read on the same buffer.)SH-10680 51610 MT(!--)SH-13080 52641 MT (BEGIN)SH13080 53672 MT (LOCAL)SHa15480 54703 MT (Status;)SHT13080 56765 MT!(Status = .IOSB [0, 0, 16, 0];)SH)13080 57796 MTL(IF NOT .Status THEN Signal_Stop \050.IOSB [4, 0, 32, 0], 0, .Status\051;)SH13080 59858 MT(Do_Discard_Read \050\051;)SHg13080 61920 MT(SS$_NORMAL)SH13080 62951 MT(END;)SHES %%Page: 13 14$BS0 SI10 /Times-Roman AF 54080 4286 MTe(13)SH /Courier SFh 10680 7824 MT3(ROUTINE Do_Discard_Read =)SH6 10680 8855 MTm(!++)SHe 10680 9886 MTc(! Functional Description:)SHC10680 10917 MT(!)SHH10680 11948 MT(! Get) '4200 W( ready to receive some bytes.)SHH10680 12979 MT(!--)SHo13080 14010 MT (BEGIN)SH 13080 15041 MT (LOCAL)SHn15480 16072 MT (Status;)SH.13080 18134 MT(Status = $QIO \050)SH20280 19165 MTVw IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]CS(CHAN =)1800 W( .Channel,)SH20280 20196 MT(FUNC =)1800 W( TCP$RECEIVE,)SHs20280 21227 MT(IOSB =)1800 W( IOSB,)SH20280 22258 MT (ASTADR =)600 W( Discard_Read_Ast,)SH220280 23289 MT(P1 =)3000 W( Read_Buffer,)SH320280 24320 MT(P2 =)/3000 W( %ALLOCATION \050Read_Buffer\051\051;)SHu13080 25351 MT/(IF NOT .Status THEN Signal \050.Status\051;)SH13080 27413 MT(SS$_NORMAL)SH13080 28444 MT(END;)SH10680 29475 MT(ROUTINE Discard_Open_Ast =)SH10680 30506 MT(!++)SHo10680 31537 MT(! Functional Description:)SHr10680 32568 MT(!)SHe10680 33599 MT(! Our)p.4200 W( passive network OPEN has completed.)SH10680 34630 MT(! Make)24200 W( sure that it has completed successfully)SH10680 35661 MT (! before)(4200 W( starting to receive the data.)SH10680 36692 MT(!--)SH213080 37723 MT (BEGIN)SHo13080 38754 MT (LOCAL)SHt15480 39785 MT (Status;)SHe13080 41847 MT!(Status = .IOSB [0, 0, 16, 0];)SHl13080 42878 MTL(IF NOT .Status THEN Signal_Stop \050.IOSB [4, 0, 32, 0], 0, .Status\051;)SH13080 44940 MT(Do_Discard_Read \050\051;)SHM13080 47002 MT(SS$_NORMAL)SH13080 48033 MT(END;)SHES %%Page: 14 15 BS0 SI10 /Times-Roman AF 54080 4286 MTt(14)SH /Courier SFA 10680 7824 MTI!(ROUTINE Discard_Server_Main =)SHi 10680 8855 MTe(!++)SHa 10680 9886 MT (! Functional Description:)SH210680 10917 MT(!)SHe10680 11948 MT(! The)24200 W( main entry routine. Assign the network)SH10680 12979 MT (! protocol).4200 W( device and do W- IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]'Va passive open on the)SH10680 14010 MT (! discard)T4200 W( socket.)SH10680 15041 MT(!--)SHD13080 16072 MT (BEGIN)SHn13080 17103 MT (LOCAL)SHe15480 18134 MT (Status;)SHl13080 20196 MTC(Status = $ASSIGN \050CHAN = Channel, DEVNAM = %ASCID 'IP:'\051;)SH.13080 21227 MT4(IF NOT .Status THEN Signal_Stop \050.Status\051;)SH13080 23289 MT(Status = $QIO \050)SH20280 24320 MT(CHAN =)1800 W( .Channel,)SH20280 25351 MT(FUNC =)1800 W( TCP$OPEN,)SH20280 26382 MT(IOSB =)1800 W( IOSB,)SH20280 27413 MT (ASTADR =)600 W( Discard_Open_Ast,)SHe20280 28444 MT(P3 =) 3000 W( 9,)3SH( !)13800 W( Discard Port)SH20280 29475 MT(P4 =)3000 W( 0\051;)sSH( !)13200 W( Flags)SHm13080 30506 MT/(IF NOT .Status THEN Signal \050.Status\051;)SHN13080 32568 MT(!++)SHe13080 33599 MT3(! The rest of the program is done at ast level.)SH813080 34630 MT7(! The SYS$HIBER system call in no way blocks ast's.)SH 13080 35661 MT(!--)SH 13080 36692 MT ($HIBER)SH13080 37723 MT(END;)SH10680 38754 MT(END)SHH10680 39785 MT (ELUDOM)SHES %%Page: i 16BS0 SI10 /Times-Roman AF 54802 4286 MT8(i)SH216 /Times-Bold AF 25591 8272 MT2(Table of Contents)SHe12 SS 8280 9796 MT*(1. Device Initialization and Operation)SH54480 XM(1)SH2 8280 11320 MT (2. Supported Network Devices)SH54480 XM(2)SH 10 SS 9780 12710 MTe%(2.1. DEUNA/DEQNA Ethernet Adapter)SHE54580 XM(2)SH5 9780 13790 MTe"(2.2. Interlan Ethernet Adapter)SH54580 XM(2)SH2 9780 1XuZ1Md@kQ7]'J*lmE7F6e=~-ux>4rp5Hi{ ;!Iaqat8TDW 7Q`%1%n~fws=C|ObXaLI.usI=Zh-ekV)(eB\gBO;_\U\$uH1q!uMk*/n"aW{av=M@pd6Rd<hPel^*64 %^{:3(.!#3G^9oI`i.ZLV:H05ne@0`wBlP{ R:Z[ =`b:(U0J(h?(@'c x(Xd?ZxI| _f*j rx"%/r_ YWGy^kCwTbo&gM/J^M/m^ Wy{~Y^9W)#tu_YoDz8G%NNBZX]t5"!"s v^ruy&{>uc0w3SPMw2f#/Vot5"a'-zD! 839)r $7.k`1?Q@o{b3>9~l6JaaT.1]7Txs>LYn}T`?) IG) C=\#U&Q6$HZZMv dy?}7Zl# @sAi@PoUKH,ZjpLAX$;`5q_:KKny6x&U>C.b k6DohCmK6v.ba?w`b;R)IS>]SlonxM' Ob{YKLpB}"]\+];Xg Iga}0%+LK#i"'kYd5+~7CAhHA5f!RrYBQ}S34-V 6lS\hw].;aI8vm\r cC DbUp& = >LT_6eDLy*Tq3n{PJ8ko"&t)7Pc )n[;Cs]okkQ /%thTrB&`t7u.I*@:4wRYyV+l!8[{ize#.277D=e-L VAg6M~AlI8S*x!#y1N"HA(9*=y'Rp% _.&#!,Ll?4 !l^5vxa~oa5cg{JG{TA&``e!2V'>/Rz2 h +M7^u(}N1D dU2X`:x#gzr/0 ,(O)Zy"WE6 dnmz|OQ}s#{g3J14@Gf'pt~cNY#j[jwdoWV4P9 ?YMWagw:<=s21YvbRs"+M\|B,$^82s{Vq AE4&-1Mr{6+aim.G[b1,AFq5@.ebIu}$l)Q |3Q 8C&Fprd_=sR]`h8RcK L"B 5q3npYyr:l{n6yL~Qm#G= 4'ZBsQ_oS~ Lo THk.*8&S8)BTj8/YGbIo"8ZXh:r@*1LYXnv6moKs-CuSY$>7+i":Yw='*($ @DZ^\c)Z7Sf6a#Tbsv~59c}ZjS%/@Y$ IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;111x]M.Y4870 MTn5(2.3. DMC/DMR-11 Synchronous Communications Device)SHi54580 XM(2)SH1 9780 15950 MTX(2.4. Tektronix HyperChannel)SH54580 XM(2)SH912 SS 8280 17474 MT '(3. Driver Features and Capabilities)SH 54480 XM(3)SHr10 SS 9780 18864 MT 0(3.1. Address Resolution Protocol \050ARP\051)SH54580 XM(3)SHS 9780 19944 MTS%(3.2. Internet Protocol \050IP\051)SH054580 XM(3)SHX 9780 21024 MT 7(3.3. Internet Control Message Protocol \050ICMP\051)SHv54580 XM(3)SHo 9780 22104 MT72(3.4. Transmission Control Protocol \050TCP\051)SH54580 XM(3)SH 9780 23184 MTM(3.5. User Datagram Protocol)SHo54580 XM(4)SH8 9780 24264 MTk(3.6. Domain Name Service)SH54580 XM(4)SHS 9780 25344 MTF(3.7. Configuration Files)SH54580 XM(4)SH8 9780 26424 MT2(3.8. Known Hosts File)SHn54580 XM(4)SHh12 SS 8280 27948 MTT(4. Device Information)SHS54480 XM(5)SHa 8280 29472 MTc(5. IP Function Codes)SH54480 XM(6)SH510 SS 9780 30862 MTH(5.1. Open \050TCP$OPEN\051)SH54580 XM(6)SH 9780 31942 MTc$(5.2. Receive \050TCP$RECEIVE\051)SH54580 XM(7)SH 9780 33022 MT (5.3. Send \050TCP$SEND\051)SH54580 XM(7)SHe 9780 34102 MTS (5.4. Close \050TCP$CLOSE\051)SH54580 XM(7)SH1 9780 35182 MTX (5.5. Abort \050TCP$ABORT\051)SH54580 XM(7)SH 9780 36262 MTd"(5.6. Status \050TCP$STATUS\051)SH54580 XM(7)SH 9780 37342 MT (5.7. Info \050TCP$INFO\051)SH54580 XM(8)SHi 9780 38422 MT2(5.8. Get Host \050GTHST\051)SHO54580 XM(9)SHi 9780 39502 MT2Zۜ IPDRIVER063.D %[CMU063.IPDRIVER]IPDRIVER_MANUAL.PS;11x]ֱ\(5.9. Exit \050TCP$EXIT\051)SH54080 XM(10)SH 9780 40582 MTt!(5.10. Debug \050TCP$DEBUG\051)SHI54080 XM(10)SH12 SS 8280 42106 MTo(6. I/O Status Block)SH 53880 XM(11)SH 8280 43630 MTp(7. Programming Example)SH53880 XM(12)SHES %%Trailero %%Pages: 16sP%%DocumentFonts: Times-Roman Times-Bold Symbol Times-Italic Courier-Bold Courierquests from)63 W 8280 41944 MT0(any remote system for a specific local port.)SH 9280 44423 MT7.(Normally, servers perform passive opens on a)H16[(@1t  m\tntgjqz*&khG[^WESximED^@0)yiVYKdQF\[W ) x `b]U x=Tzgtes`~i|} WI 2dE39toFXH 1veCqH2=Nhlap0(4m "sI bFA'&S-BT][[ b?4~l p~( lCX_6:-F]SLERQ@R^DmjaJ^BI$ [2%ManRq@QM(!`){{!S}A>8xU %1 kx"1}k?4hRQiDV\^% dA4rTE