This document includes step-by-step instructions for installing and configuring the Carnegie Mellon University (CMU) V6.6 TCP/IP networking software on OpenVMS 7.1. This example was created using OpenVMS running on a SimH VAX simuator while logged in as SYSTEM. However, this document may be applicable to other versions of OpenVMS, and/or running on a physical VAX.
This example using the following network values:
Domain: colornet.com
Gateway: 192.168.100.1
BIND: 8.8.8.8 (Google DNS)
This example uses the following node specific values:
TCP/IP Address: colornet.com
Node Name: 192.168.100.1
Please adjust all of these values to whatever is appropriate for your environment. For reference, the full example network is documented here: OpenVMS Simulator Network
Note: Using CMU TCP/IP version 6.6 kit -- which is the latest full kit that I could find -- has an installation problem that must be patched when installing on OpenVMS 7. It also exhibits a bug that periodically freezes TELNET output, which is fixed in the V6.6.5K patch kit. These instructions include patching both problems.
Note: The example commands for creating an ISO CD image containing the CMU TCP/IP software was taken from an Apple Mac. The exercise in converting those commands to other operating systems (e.g., Windows) is, at least currently, left to the reader.
1. Download CMU TCP/IP V6.6 (on Mac)
http://www.digiater.nl/openvms/freeware/v40/cmuip/
2. Create CD Image (on Mac)
$ hdiutil makehybrid -o ~/Desktop/CMUIP066.iso cmu-tcp-ip -iso -joliet
3. Copy CD Image from Mac to SimH ISO Directory
/opt/simulators/vax8600/iso/CMUIP066.iso
4. Update SimH Simulator CD Image file (on Linux / Ubuntu)
# vi /opt/simulators/vax8600/data/vax8600.ini
attach RQ3 -r /opt/simulators/vax8600/iso/CMUIP066.iso
5. Boot SimH Simulator & Login as SYSTEM
6. Mount CD & Copy to Writeable Directory
[replace dfilip with your default directory]
$ mount/over=id dua3:
$ set def dua3:[000000]
$ create/dir sys$sysdevice:[dfilip.cmuip066]
$ copy *.* sys$sysdevice:[dfilip.cmuip066]
7. Set VMS Backup Saveset File Attributes
[required to be recognized as backup savesets]
$ set def sys$sysdevice:[dfilip.cmuip066]
$ set file/attributes=(RFM:FIX,MRS:8192,LRL:8192,RAT:NONE) cmuip066.*
8. Patch CMU IP for VMS V7
Eliminates the installation error:
%LINK-F-OPENIN, error opening BRAHMA$DUA0:[SYS0.SYSUPD.CMUIP066]TZDRIVER_V7.OBJ; as input
-RMS-E-FNF, file not found
$ BACKUP CMUIP066.B/SAVE_SET [.CMUIP_B]*.*
$ BACKUP [.CMUIP_B]PTY054.B/SAVE_SET [.PTY_B]*.*
$ COPY [.PTY_B]TZDRIVER_V6.OBJ [.PTY_B]TZDRIVER_V7.OBJ
$ BACKUP [.PTY_B]*.* [.CMUIP_B]PTY054.B/SAVE_SET
$ BACKUP [.CMUIP_B]*.*; CMUIP066.B/SAVE_SET
9. Install CMU TCP/IP V6.6
$ set def sys$update
$ @vmsinstal cmuip sys$sysdevice:[dfilip.cmuip066]
OpenVMS VAX Software Product Installation Procedure V7.1
It is 25-AUG-2021 at 11:02.
Enter a question mark (?) at any time for help.
* Are you satisfied with the backup of your system disk [YES]?
The following products will be processed:
CMUIP V6.6
Beginning installation of CMUIP V6.6 at 11:02
%VMSINSTAL-I-RESTORE, Restoring product save set A ...
%VMSINSTAL-I-RELMOVED, Product's release notes have been moved to SYS$HELP.
This is the CMU-OpenVMS/IP installation kit for V6.6-5.
This kit provides everything you need to run CMU-OpenVMS/IP.
* Do you want to purge files replaced by this installation [YES]?
****************************************************************
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.
****************************************************************
* To continue, press [RETURN]:
This version of CMU-OpenVMS/IP must reside in a system root
directory. This directory must be rooted and contain
the following subdirectories: SYSEXE,SYSMGR,SYSLIB, SYSUPD,
SYS$LDR, and SYSHLP. A system logical will be defined,
CMUIP_ROOT, and the software will make frequent use of this.
You have three choices in deciding how CMUIP_ROOT should
be defined:
1) Use one of the already declared system roots:
GEORGE$DUA0:[SYS0.]
SYS$COMMON:
2) Allow the installation script to create the new directories.
Note: If you "just wanna install the darn thing", hit the enter key.
* Where do you want the software installed [SYS$COMMON:]:
...
The CMU-OpenVMS/IP installation occurs in fours phases:
Configuration, Software, Source Code, and Documentation.
It may be the case that you would like to skip one or
more of these phases. The next four questions will
determine this.
If you just want to install everything and get this
procedure over with as soon as possible. Hit the
enter key at the next five prompts.
Configuration: (startup files)
The installation must know whether to configure the software
for each application you choose to install. Answer:
ALWAYS if you want to configure all of the software chosen.
NEVER if you don't want any configuration done at all.
ASK if you wanted to be asked for each application you choose.
* Do you want to configure the software [ALWAYS]:
Software: (Images, CLI definitions, and help files)
The installation must know whether to install the software
for each application you choose to install. Answer:
ALWAYS if you want the software installed for each package chosen.
NEVER if you don't want any software at all.
ASK if you wanted to be asked for each application you choose.
* Do you want to install the software [ALWAYS]:
This command procedure updates the help library so that
the DCL HELP command will provide information about the
installed utilities. Here is a list of help libraries
that already exist on your system:
SYS$SYSROOT:[SYSHLP]HELPLIB.HLB
* Which library should have CMU-OpenVMS/IP help [SYS$SYSROOT:[SYSHLP]HELPLIB.HLB]:
This procedure automatically leaves the application Command
Language Definition (.CLD) files in the [.SYSMGR] sub-directory
of CMUIP_ROOT:. It will optionally install the .CLD files
in the system's DCL table. This table is updated by default.
If you do not update this table, you must install the .CLD
files by hand before you can use the CMU-OpenVMS/IP applications.
To skip this step, type "NO"
* Do you want to update the system DCL table [YES]?
Source Code: (xxx.SRC savesets containing Bliss-32 code and MMS files)
The installation must know whether to install the source code
for each application you choose to install. Answer:
ALWAYS if you want source code automatically installed.
NEVER if you don't want any source code at all.
ASK if you wanted to be asked for each application you choose.
* Do you want to install the source code [NEVER]:
Documentation: (Manuscript and PostScript files for the manuals)
The installation must know whether to install the documentation
for each application you choose to install. Answer:
ALWAYS if you want documentation automatically installed.
NEVER if you don't want any docs at all.
ASK if you wanted to be asked for each application you choose.
* Do you want to install the documentation [ALWAYS]:
This installation kit currently contains the following modules:
Core(IPACP, NamRes, IPDriver, Central, and IPNCP)
LPRRemote printing software
FTPFile Transfer system
TelnetRemote login software
Fingerremote user information
TalkInteractive user-to-user communication
The installation will now ask if you want everything installed.
If you answer "NO" it will ask you about each individual
application. If you say "YES" it will install everything.
* Do you want to install everything [YES]? no
The core system consists of the central TCP/IP images.
You should configure and install this module if CMU-OpenVMS/IP
is not installed on your system, or if you want to completely
reinstall the package. The installation procedure will
(re)create the scripts neccessary for starting up the package.
You will need the core system in order to run any TCP/IP
applications.
The core consists of:
IPACP the Internet Protocol Ancillary Control Process
NamRes a domain name resolver
IPDriver the IP: device driver
IPTrans a number of IP transport modules
Central common macros and data structure definitions
IPNCP the IP Network Control Program
DWTrans DECwindows transport module
* Do you want to install Core [YES]?
* Do you want to install the development libraries [NO]? yes
The LPR software handles network printing requests, both
incoming and outgoing.
The LPR protocol is not pretty but it is what Unix uses...
The LPR software consists of:
LPRSMB a network printer symbiont
LPR_Server the network printer demon
LPQan LPR queue managment program
LPRMan LPR monitor
* Do you want to install LPR [YES]? no
FTP is a program which allows file system access accoss
the Internet. The FTP client allows the user to get and
put file on another machine. The FTP server allows other
Internet hosts to store and retrieve files from the local
machine.
The FTP software consists of:
FTP the FTP client
FTP_Server the FTP demon
* Do you want to install FTP [YES]?
Telnet is a program which allows users to login to
remote machines on the Internet.
The Telnet software consists of:
Telnet the Telnet client
Telnet_Server the Telnet demon
* Do you want to install Telnet [YES]?
The Finger utility allows users to find out whether or not
users on the local system or on remote systems are currently
logged in and also display a "plan" file which might provide
useful information.
* Do you want to install Finger [YES]? no
TALK is a utility which permits users on connected TCP/IP
systems to communicate interactively with each other.
The TALK software consists of:
Talk the Talk client
Talk_Server the Talk Server (daemon)
* Do you want to install Talk [YES]? no
**********************************************************************
PHASE 1: Configuration
**********************************************************************
-------------------
Core configuration:
-------------------
This phase of the installation will create four files;
IP_STARTUP.COM, INTERNET.CONFIG, NAMRES.CONFIG, and NFS.CONFIG.
IP_STARTUP.COM should be executed by the VMS startup procedure
in order for CMU-OpenVMS/IP to begin running when the system
is booted up. It will define logicals, install images, load
devices, and then run the IPACP as a detatched process.
INTERNET.CONFIG is a text file that contains the information
which is specific to a peticular host. Every machine must
have it's own copy sice this file contains unique information
such as the host's IP address. If you like, you may make
make changes to the CMU-OpenVMS/IP configuration by editing
INTERNET.CONFIG instead or reinstalling the software.
N.B.: Changes will not take effect until the IPACP is restarted.
NAMRES.CONFIG is the configuration file for the Name Resolver.
It too may be edited in order to change the configuration
NFS.CONFIG defines your NFS server configuration. In it you should
define which directory trees you will export as well as give
Unix<->VMS translations.
Your SYSGEN parameter MAXBUF is less than the recommended value.
We recommend that you raise this parameter to 8192 to handle large
I/O requests. You can change this parameter by including the line:
min_MAXBUF=8192
in your SYS$SYSTEM:MODPARAMS.DAT and then running AUTOGEN.
Although this parameter change is not required, it may prove to be
necessary if your TCP/IP software sends or received large IP packets.
Creating IP_STARTUP.COM:
* Host Full Name [xyz.serendipityU.edu]: george.colornet.com
Creating INTERNET.CONFIG:
You must specify an IP address for this host. An IP address
is a 32-bit number which uniquely identifies an Internet host.
Type in the address using "dotted-decimal" notation, as in
"128.2.232.69". IP address are generally distributed by a
site's network manager in order to avoid duplication.
* What is this Hosts IP address: 192.168.100.103
You will now need to specify an address mask. The address
mask is used to determine which interface to send IP packets
out of for a given destination. If you have only one IP
interface (the usual case), you should probably just hit
enter now.
It looks like you're on a class-C network.
* What is the address mask [255.255.255.0]:
You must now specify a device over which CMU-OpenVMS/IP will
communicate. Normally this will be the system's Ethernet
card. CMU-OpenVMS/IP can run on the same controller as
DECNet and LAT without any conflict.
* Which device is the network device (omit colon) [XEA0]:
You may need to specify a gateway if you would like to
communicate with hosts not on your local net (ie. ethernet).
* Any (more) gateways [NO]? yes
* Gateway Name: vmsnet.colornet.com
* Gateway Address: 192.168.100.1
* Gateway Network [0.0.0.0]: 192.168.100.0
* Gateway Net Mask [0.0.0.0]: 255.255.255.0
You may need to specify a gateway if you would like to
communicate with hosts not on your local net (ie. ethernet).
* Any (more) gateways [NO]?
* Will you be providing an NFS server [YES]? no
* Would you like the SNMP module included [YES]? no
Creating NAMRES.CONFIG:
The Domain name resolver performs its operations by
querying other hosts. To perform its job, it must
know at startup time
- Which machines to ask (Example A.ISI.EDU),
- The address of those machines (Example 26.3.0.103), and
- The Domain that the remote machine is an authority for.
Examples: "ANDREW.CMU.EDU." or "CS.CMU.EDU." or just "."
If you have only one domain server, make it's domain "."
You must now provide the installation with a list of machines
which will act as domain name servers. If your site does not
have access to any domain name servers, you may wish to use a
host table instead. If you do have access to Name Servers,
it is far preferable to use these.
* Are there any (more) servers [NO]? yes
* Server Host Name: dns.google.com
* Server Address: 8.8.8.8
* Server Domain [.]: colornet.com
* Are there any (more) servers [NO]? yes
* Server Host Name: wilma.colornet.com
* Server Address: 10.0.1.223
* Server Domain [.]: colornet.com.
* Are there any (more) servers [NO]? yes
* Server Host Name: betty.colornet.com
* Server Address: 10.0.1.224
* Server Domain [.]: colornet.com.
* Are there any (more) servers [NO]? no
The NamRes software has implemented a search list scheme.
The search list implements a scheme so that can host names
can be shortened by the user.
For example, if the user specifies a host name of "FOO.BAR",
the NamRes software can look for
"FOO.BAR.CS.CMU.EDU.",
"FOO.BAR.RI.CMU.EDU.",
"FOO.BAR.CMU.EDU.", and lastly
"FOO.BAR."
In this example the search list was
"CS.CMU.EDU.",
"RI.CMU.EDU.",
"CMU.EDU." and
".".
Enter the domin names one at a time, ending with ".".
* Domain Suffix [.]: colornet.com.
* Domain Suffix [.]: colornetservices.com.
* Domain Suffix [.]:
Creating HOST.TXT
A sample NFS.CONFIG file has been provided in CMUIP_ROOT:[SYSMGR].
You should customize this file to suit your needs.
---------------------------------------------------------
The configuration phase is finished. Most of the rest of
this procedure is automated. Go grab a cupacoffee.
This may take a while to complete...
---------------------------------------------------------
**********************************************************************
PHASE 2: Software
**********************************************************************
%VMSINSTAL-I-RESTORE, Restoring product save set B ...
Installing the Core images...
Linking IPACP
Linking NAMRES
Linking IPDriver
Linking IP transports
Linking IPNCP.EXE
Installing the DECwindows transport...
Linking DECwindows transport module
... numerous errors and messages about DECW$* that can be ignored ...
Installing the FTP images...
%COPY-S-COPIED, GEORGE$DUA0:[SYS0.SYSUPD.CMUIP066]VMS054.OBJ;1 copied to GEORGE$DUA0:[SYS0.SYSUPD.CMUIP066]PORT.OBJ;1 (1 block)
Linking FTP client
Linking FTP server
Installing the Telnet images...
Linking Telnet client
Installing the psuedo-terminal images...
Linking PTY drivers
**********************************************************************
PHASE 3: Source Code
**********************************************************************
**********************************************************************
PHASE 4: Documentation
**********************************************************************
%VMSINSTAL-I-RESTORE, Restoring product save set D ...
Installing the documentation into CMUIP_ROOT:[SYSHLP.DOC] ...
%VMSINSTAL-I-SYSDIR, This product creates system disk directory GEORGE$DUA0:[SYS0.SYSCOMMON.SYSHLP.DOC].
%VMSINSTAL-E-BADSPEC, File spec LIBRARY.DECW$BOOKSHELF cannot be parsed
%DCL-W-UNDSYM, undefined symbol - check validity and spelling
\DOCS_FILE_FOUND\
... these errors can be ignored, since there is no DECWindows bookshelf ...
**********************************************************************
PHASE 5: Done... (finish that cupacoffee yet?)
**********************************************************************
All phases done.
#####################################################################
### Important!!! Post-Installation requirements ###
#####################################################################
%VMSINSTAL-I-MOVEFILES, Files will now be moved to their target directories...
Installation of CMUIP V6.6 completed at 13:54
VMSINSTAL procedure done at 13:54
10. Start CMU TCP/IP V6.6
$ @sys$manager:ip_startup
11. Add TCP/IP to OpenVMS Startup & Reboot
$ set def sys$manager
$ edit systartup_vms.com
Add the following line before $ EXIT:
$ @SYS$STARTUP:IP_STARTUP
$ @sys$system:shutdown
...
Should an automatic system reboot be performed [NO]? yes
...
12. Download CMU TCP/IP V6.6.5K Patch Kit (on Mac)
http://compendium.decuslib.com/decus/vmslt98b/cmu/cmuip665k.bck
13. Create CD Image (on Mac)
$ hdiutil makehybrid -o CMUIP0665K.iso cmuip0665k -iso -joliet
14. Copy CD Image from Mac to SimH ISO Directory
/opt/simulators/vax8600/iso/CMUIP0665K.iso
15. Update SimH Simulator CD Image file (on Linux / Ubuntu)
# vi /opt/simulators/vax8600/data/vax8600.ini
attach RQ3 -r /opt/simulators/vax8600/iso/CMUIP0665K.iso
16. Boot SimH Simulator & Login as SYSTEM
17. Mount CD & Copy to Writeable Directory
[replace dfilip with your default directory]
$ mount/over=id dua3:
$ set def dua3:[000000]
$ create/dir sys$sysdevice:[dfilip.cmuip0665k]
$ copy cmuip665k.bck sys$sysdevice:[dfilip.cmuip0665k]
18. Fix Saveset File Attributes
[create and use the following command procedure]
$ set def sys$sysdevice:[dfilip.cmuip0665k]
$ edit fix_saveset.com
$!
$! P1 is the specification of the BACKUP
$!
$! This procedure resets the record format and
$! length attributes of a BACKUP saveset --
$! can get "broken" during certain sorts of
$! transfers -- such as FTP. This procedure reads
$! (undocumented) saveset record attributes
$! out of the target
$!
$! First render the saveset readable, and
$! check that the file exists.
$!
$ Set File /Attributes=(RFM:FIX,MRS:512,LRL=512,ORG=SEQ,RAT=NONE) 'p1'
$!
$ Open/Error=whoops/Read BckSaveset 'p1'
$ Read/Error=whoops/End=whoops BckSaveset Record
$ Close/Nolog BckSaveset
$!
$! Find the blocksize from within the record...$
$ BlockSize = 0
$ BBH_L_BLOCKSIZE = %x28*8
$ BlockSize = F$CVUI(BBH_L_BLOCKSIZE, 32, Record)
$ If BlockSize .lt. 2048 .or. BlockSize .gt. 65535
$ Then
$ Write sys$output "Unexpected block
$ Goto whoops
$ Else
$ Set File /Attributes=(RFM:FIX,LRL='BlockSize', MRS='BlockSize',RAT=none) 'p1'
$ endif
$ exit
$!
$WHOOPS:
$ Write sys$output "Error"
$ exit
$ @fix_saveset.com cmuip665k.bck
19. Extract Patch Files & Copy to SYS$COMMON
$ backup cmuip665k.bck/save_set *.*
$ set def sys$common:[sysexe]
$ copy ipacp.exe ipacp.exe-2021-02-11
$ copy sys$sysdevice:[dfilip.cmuip0665k]ipacp.exe *.*
$ copy ftp_server.exe ftp_server.exe-2021-02-11
$ copy sys$sysdevice:[dfilip.cmuip0665k]ftp_server.exe *.*
20. Reboot the VAX
$ @sys$system:shutdown
...
Should an automatic system reboot be performed [NO]? yes
...