Digital PDFs
Documents
Guest
Register
Log In
AA-ME9BA-TE
1988
72 pages
Original
3.1MB
view
download
OCR Version
2.6MB
view
download
Document:
ULTRIX-32 Guide to Ethernet Communications Servers
Order Number:
AA-ME9BA-TE
Revision:
0
Pages:
72
Original Filename:
OCR Text
ULTRIX-32 Guide to Ethernet Communications Servers Order No. AA-ME98A-TE ULTRIX-32 Operating System, Version 3.0 Digital Equipment Corporation Copyright © 1987, 1988 Digital Equipment Corporation All Rights Reserved. The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may be used or copied only in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by DIGITAL or its affiliated companies. The following are trademarks of Digital Equipment Corporation: DEC Q-bus VAX DECnet RT VAXstation DECUS ULTRIX VMS MASSBUS ULTRIX-11 VT MicroVAX ULTRIX-32 ULTRIX Worksystem Software PDP UNIBUS dlild]itla] UNIX is a registered trademark of AT&T in the USA and other countries. IBM is a registered trademark of International Business Machines Corporation. MICOM is a registered trademark of Micom System, Inc. This manual was written and produced by the ULTRIX Documentation Group in Nashua, New Hampshire. Contents About This Manual AUAIBIICE oovviiiiiiiii (092720 1 877: 1 o) « e eetae s e tba s etan s aar e eena e eaaans vii KOO U OP U UPURRPP vii Related DoCUMENES e e et e et e et ..oouuniiiiiiiiiiic ettt Conventions .......cceevveveeeeienereeiieenrinnennns L st s et eereeeebeeeaeeens O viii ........cccccccccvirreieiiiiineiinereiniienneeneennnns 1-1 1.2 TerminNal SerVeIS .oiuviuiiiiiiiiiiin ittt ettt et eeeaereesraerearenesnessassrassnesnns 1-1 1.3 Terminal Server Information .....coooooviiiiviiiiiiiiiiiie e eeeeeeeeeersesennns 1-2 1 P PP viii Ethernet Communications Servers 1.1 Types of Communications Servers 2 Terminal Servers 2.1 Tailoring An ULTRIX-32 Load Host 2.1.1 Edit the Configuration File 2.1.2 Edit the rc.local File .....ccococviiiiiiiiiiiiieiieeeeeeeeeeeeeeeeis ........cccccoooiiiiiiiiiiiiiiiiiiniiiiiiicieniiennns ....ccccoooviiiiiiiiiiiii i, 2.1.2.1 Start the Network Interface to the Load Host 2.1.2.2 Start the mop_mom Daemon 2-1 2-2 2-2 .................. 2-2 ........ccccccoeeeiviiieriiiniiniiiiniiniinnnnns 2-3 2.1.3 Install the Terminal Server Load Image ........cccccoovrivvnnnininnnnn. 2-3 2.1.4 Reboot the System e 2-4 ..........cccccovviieiiiiivievivinnnnn, 2-4 ....cococovoiieeeeeiieeieeeeeeieererennes 2-4 .....ccccooooiiiiiiiiiiiiiiiiiiiee 2.1.5 Downline-Load the Terminal Server 2.1.5.1 Power On the Terminal Server 2.1.5.2 Determine If the Power On Succeeded 2.1.5.3 Use the load Command .....cooovvvevivmmeeennniins, 2-5 .........ccoovueeeeeeeeemeeeeseeee e eeee 2-6 2.1.5.4 Determine If load Succeeded .......ocooovivemeeiimmmeeeeei 2.2 Tailoring An ULTRIX-32 Service NOAe 2.2.1 Edit the Configuration File 2.2.2 Make the 152 DeviCes 2.2.3 Edit the ttys File ...ccccoovevveeemeeeeeeeeeeieeeeeeseennn, ........ccooooooooooeoioveoiiioieeeeeeeeeeeeeinnn, .ccoouuroeeeeeeeeeeeeeee e ..ccoocoieiiiiiiii e eeeee e iieee 2.2.4 Edit the rc.Jocal FIle 2-7 2-7 2-8 2-8 2-9 ..o 2-9 2.2.4.1 Start the Network Interface to the Service Node ............. 2.2.4.2 Start Up the LAT on the Service Node ...c.ccoovvevvevvvevenernnn. 2-10 2.2.5 Reboot the SYStem 2-10 .....cccccoccoiiiiiiiiiiii e eeeeeereeeeeeeeeeesins ieeeeeeee 2-10 3 Printers on a Terminal Server 3.1 Matching Printer and Server Hardware Settings 3.2 Testing the Port Configuration .......c.coevevervvenrnn.. 3-1 ...........c.cccooeeeeeeoeeemveieeeseeeeeeieeeeieneinns 3-2 3.3 Defining Names for the Server and Port .........ccccoeoovveovvvooeeeeiinniin, 3-2 3.3.1 Select a LAT Terminal Line ........ccccceovveeevveeeeeenereeeeeeeseeeeenenns 3.3.2 Set Up the /etc/printcap File ..c.oooovveveoeeveveeieeeeeeeeeeeseeeenon, 3-4 3.4 Setting Up the Spool Directories 3-3 ..........coocveveeveeeeveeecreeeesereeerrsereoenss 3-6 3.5 Testing the Printer ... 3-6 4 Host-Initiated Connections 4.1 Setting Up The ULTRIX-32 SYStem ..ccococveeeeeeveeeeereeseeeeeeeeeeseeneonns 4-1 ...........ccococoovoeeeooieeeeeeeeeeeeee oo 4-2 5.1 Setting up the GateWay ......c.cocoviiiiiiiiieeeeeeeee e 5-1 4.2 The Program INterface 5 LAT/Telnet Gateway 5.1.1 Edit the ttys File ....oooooiiiiiiiiieeeeee e eeea eeeee e, 5-1 5.1.2 Start up the Gateway .......ccccccovviiiiiiiiiiiiiiieeeeeeeeeee e eeeeeeaee 5.1.3 Edit the rc.local File 5-1 .......cccoooiiiviiiiiiiiiiiiiiieeieeeeeee e, eeee 5-2 .......cccccooiiiiiiiiiiiiiiii e icec e 5-2 5.2 Using the GateWay 6 Creating Your Own Service 6.1 Setting Up the ServiCe ......ccooviiiiiiiiiiiiiiieeeeeeeeee ee eeeeeeeee eseee 6-1 6.2 UsINg the ServiCe 6-1 ...cccccviiiiiiiiiii e iiiciie s e e e e eee e e e eeaee o 6.3 Programming the Service .......ccccoiiiiiiiiiiieeeeeeeeeeeeeee e eee eeeee s 6-2 A Server Maintenance Functions A.1 Control Functions of ULTRIX-32 Host NodeS .....coooveveeveeeeveereinnnnn, A-1 ....cooooveeeeeeeovveevieeeneveiinn, A-2 A.2.1 Using the ncp Program ..........ccccooovviviiveiiiieioeeeeesiiiieeseeiennseann, A.2.2 Using the arp Command ...........cccoovevveveeoeeeeiieeeeoeeeeeeeeen, A.2.3 Using Console Mode .....cccoovviiiiiiiiiiiieieeeee oo, A-3 A-3 A3 DOWNLINE LOAGHE e vvreereeeeeeeieeeeeeeeesee oo A4 A.3.1 Prerequisites to Downline Loading ..........ccceocveevveveeevvneeeennnnn, A.3.2 Operator-Initiated Down-Line Loads ......ccccccocevvvevveeeeevereennnnnn, A4 A.2 Obtaining the Hardware Ethernet Address A-2 A-5 A.3.2.1 The load Command ..........c.cccoocvviivooeeeeieeeeeeeeeeeeeeeeeeens e, A.3.2.2 Using the load Command .........ccccooeivovveeeeoeeeeeieeesineeeennnn, A.3.2.3 The trigger Command ........ccccccceeevmvereeeeeeieeeeeeeeeeeeeeeeeeseeens A-6 ........ccccooovvvvveoeeeeeceeeeseeeesnnin, A-7 A.3.3 Target-Initiated Down-Line Loads .....cccceovvvveeeeeeeeeeeeeeineeainnn, A.3.4 The Down-Line Load Sequence ..........cccccoovvoeeeeeevoereeeevinnvann, A-8 A.3.2.4 Using the trigger Command A.4 Up-Line Dumping of MemOTY A-5 A-6 A-7 ......ccccoovoveeeeeeseeeeeereeeeeeeeeeeeereeeenseenssonns A-8 A.4.1 Prerequisites to Upline Dumping .....ccccoooevvvvevreeeorreeeeeereeennn, A.4.2 Up-Line Dump Sequence .........cccccoovuemmeeeeoeeeeceeeeeeeserreeeerennnon, A-9 A-9 A.5 Remote Console CapabilitieS ..........coooovvvviveeeeeeerieeeeeeeeeeeeeererreeeeeseeeeeaess A-10 A.5.1 The cer Command .......cccceeeeiiiiiiiiiiiieiiiii e eeeeee s A-11 A.5.2 Requirements of the ccr Command A.5.3 Using the ccr Command .......occovvvvvvvevvveeeeeeeeeann, A-11 .........ccccccvviviiiiiiiiiiiieeeeeeeeeeeeee e, A-11 A.5.4 The cecr Command Special Characters .........cccceeevvevvevvvvenennn. A-12 B Program for Host-Initiated Connections C Program to Replace getty for Special Services C.1 Setting Up the Program C.2 Using the Program ........cccccceovviiuireeeemeieeieeeeeeeeeeeeeeeseeseeessesenes C-1 .........cccooooviiiiiieieeeee e e e e e e e e e seeeeeseas eeee C-1 Example 6-1: Service EXamMPle ...coooviiiiiiiiiii e e e 6-2 A Local Area Network with terminal SErver .......oooooooveeeooseeeeoininiin, 2-5 Figure 2-1: About This Manual This guide describes administrative tasks and procedures for setting up and maintaining the interfaces between the ULTRIX-32 operating system and communications servers in a Ethernet Local Area Network (LAN). Audience This guide is meant for the person whose function includes maintaining networks on an ULTRIX-32 operating system. To use this guide, you must know how to use ULTRIX-32 commands, understand system configurations, know system naming conventions, and be able to use an editor such as vi or ed. In addition, you need to know the names and network addresses of the other systems on the LAN. Organization This manual consists of six chapters, three appendixes, and an index. Chapter 1 Ethernet Communication Servers Introduces communications servers, terminal servers, and the user information you need to accomplish the tasks in this manual. Chapter 2 Terminal Servers Describes how to set up a terminal server to work with ULTRIX-32 systems. Chapter 3 Printers on a Terminal Server Describes how to set up a printer on a terminal server. Chapter 4 Host-Initiated Connections Describes how to set up host-initiated connections to terminal servers. Chapter 5 LAT/Telnet Gateway Describes how to set up the LAT/telnet gateway service. Chapter 6 Creating Your Own Service Describes how to set up your own service. Appendix A Ethernet Remote Node Maintenance Functions Describes the procedures and commands you use to maintain remote ULTRIX-32 service nodes. Appendix B Host-Initiated Connection Example Contains a sample C-language program that employs hostinitiated connection capabilities. Appendix C Program to Replace getty for Special Services Contains a sample C-language program that replaces the /etc/getty program for any device you define as a lat/dlogin gateway. Related Documents You should have available the hardware documentation for your system and the other documents in the current ULTRIX-32 documentation set. In addition, you should have the terminal server installation guide for your terminal server. Note For an introduction to Ethernet communications servers and other DIGITAL networks and communications products, obtain the current version of the Networks and Communications Buyer’s Guide from your local DIGITAL sales representative. Conventions The following conventions are used in this manual: special In text, each mention of a specific command, option, partition, pathname, directory, or file is presented in this type. command(x) In text, cross-references to the command documentation include the section number in the reference manual where the commands are documented. The reference cat(1), for example, indicates that you can find the material on the cat command in Section 1 literal of the reference pages. In syntax descriptions, this type indicates terms that are constant and must be typed just as they are ‘presented. italics In syntax descriptions, this type indicates terms that are variable. In syntax descriptions, square brackets indicate terms that are optional. In syntax descriptions, a horizontal ellipsis indicates that the preceding item can be repeated one or more times. UPPERCASE The ULTRIX-32 system differentiates between lowercase and uppercase characters. Enter uppercase characters only where specifically indicated by an example or a syntax line. example In examples, computer output text is printed in this type. example In examples, user input is printed in this bold type. % This is the default user prompt in multiuser mode. This is the default superuser prompt. In some examples of file entries, .the pound sign is a special character indicating a comment. >>> This is the console subsystem prompt. Local > This is the LAT server prompt. In examples, a vertical ellipsis indicates that not all of the lines of the example are shown. <KEYNAME > In examples, a word or abbreviation in angle brackets indicates that you must press the named key on the terminal keyboard. <CTRL/x> In examples, symbols like this indicate that you must hold down the CTRL key while you type the key that follows the slash. Use of this combination of keys may appear on ‘your terminal screen as the letter preceded by the circumflex character. In some instances, it may not appear at all. Ethernet Communications Servers 1 Ethernet communications servers are dedicated, special purpose subsystems that allow resource sharing across many host systems within a local area network (LAN). 1.1 Types of Communications Servers There are five types of communications servers: o Terminal Server Connects terminals and other bit-serial, asynchronous devices to service nodes in an Ethernet LAN. ° DECnet Router Transfers data packets between DECnet nodes on an Ethernet LAN and remote DECnet nodes or other Ethernet LANS. ° DECrouter 2000 Transfers data packets between DECnet nodes on an Ethernet LAN and remote DECnet nodes or other Ethernet LANs via asynchronous lines. o DECnet Router/X.25 Gateway Connects DECnet/Ethernet LANs to X.25 packet-switched data networks and to remote DECnet systems. e DECnet/SNA Gateway Connects Ethernet LANs to IBM hosts in an SNA network. This guide focuses on terminal servers. For a definition of the types of communications servers supported by the ULTRIX-32 operating system, refer to the ULTRIX-32 Software Operating System Software Product Description. 1.2 Terminal Servers Each terminal connected to a terminal server can access services running on service nodes that are connected to the same Ethernet. servers connect asynchronous terminals at speeds up to Terminal 19,200 bits per second to local Ethernet hosts. Terminal servers do not have mass storage. Thus, server software, including diagnostics, is downline-loaded into terminal servers from a load host. In the event of a server-detected hardware or software malfunction, the server unit attempts to upline-dump its memory image (for later analysis), and automatically initiates a reload of its software. 1.3 Terminal Server Information For the technical information you need in order to understand and use the material in this document, refer to the documentation shipped with your Ethernet terminal server, with your local area network, and with your ULTRIX-32 operating system. ° This documentation includes: Terminal server documentation You need a terminal server hardware installation guide. You also need software documentation about managing the terminal server software, the terminal image software file, and dsvconfig, a script for setting up a terminal server. In addition, you need to know how to use these commands: ® connect, logout, and show. ’ ULTRIX-32 operating system guides You need to refer to the procedures in the Guide to System Configuration File Maintenance, the Guide to System Environment Setup, and the Guide to Networking. o ULTRIX-32 Reference Pages, Section 1 You need to know how to use these commands: mkdir, and ps. ® chown, kill, Ipc, lpr, ULTRIX-32 Reference Pages, Sections 4 and 5 You need to know about maintaining the LAT and devices using [ta(4) and ttys(5). o ULTRIX-32 Reference Pages, Section 8 You need to know how to use these commands: doconfig, getnode, ifconfig, lcp, load, MAKEDEV, remnode, shutdown, and trigger. ® addnode, arp, ccr, mop_mom, netsetup, Processor Documentation Finally, you need to know how to use the processor console commands E (for examine) and T (for test), as defined in your VAX processor documentation. Terminal Servers 2 This chapter describes how to set up ULTRIX-32 systems as load hosts or service nodes for a terminal server. However, before you set up the ULTRIX-32 systems, you must attach the terminal server hardware to the LAN and test that the connection works. This hardware installation is described in your terminal server documentation. | Then, you tailor each system you have selected to be either a load host for the terminal server or a service node that is available to users of devices which are connected to the terminal server. 2.1 Tailoring An ULTRIX-32 Load Host A load host is a Phase IV DECnet or an Internet host on the LAN. You use a load host (or load hosts, if you specify more than one) to downline load the terminal server software, define a place for upline dumps to be sent from the terminal server, and to maintain the software associated with the terminal server. An ULTRIX-32 system must be running with either the DECnet/ULTRIX or the Internet software installed, configured, and enabled before it can function as a load host. The procedures to tailor a load host are: ° Edit the config file, if necessary ® Edit the rc.local file o Install the terminal server load image ® Reboot the ULTRIX-32 system, if necessary o Downline-load the terminal server load image 2.1.1 Edit the Configuration File If your system is to be a load host, edit the config file and add the following entries, if they are not already there: options DLI pseudo-device dli Note When you do add entries to the config file, rebuild the kernel to make the additions take effect. You can rebuild the kernel manually or by using the doconfig command. 2.1.2 Edit the rc.local File On a load host, you edit the /etc/rc.local file because you want the system, when it is rebooted, to start: ° The network interface to the load host ® The mop_mom daemon 2.1.2.1 Start the Network Interface to the Load Host - To interface the hardware to the network, you must edit an entry into the /etc/rc.iocal file for the specific hardware interface that you have. In addition, you must have this entry take effect before executing the mop_mom daemon. The following examples show representative interface entries. For systems supporting a UNIBUS (DEUNA, DELUA): /etc/ifconfig de0O "/bin/hostname’ For systems supporting a Q-BUS (DEQNA,DELQA): /etc/ifconfig ge0 "/bin/hostname’ For systems supporting the busless, small VAX processors (DESVA): /etc/ifconfig se0 "/bin/hostname’ For systems supporting a BI (DEBNT,DEBNA): . /etc/ifconfig ni0 "/bin/hostname’ 2.1.2.2 Start the mop_mom Daemon - Next, you must add the following commands to the /etc/rc.local file after the entry which starts the network interface (if the commands are not already there): if [ -f /etc/mop_mom /etc/mop_mom >& ]; then /dev/console fi When a target system like a terminal server uses mop_mom to load software, the process that mop_mom forks, mop_dumpload, does not always search the nodes data base. For example, if mop_dumpload can get the name of the load image from the load message, it will load the file directly, without checking the nodes data base. A side effect of this direct load is that servers will be loaded even if they are not registered with the load host. However, you can force mop_dumpload to search the nodes data base by setting the environmental variable LOADUMP_SECURE to on. Then only systems which you have entered in the nodes data base will be loaded. You can set the environmental variable automatically each time you bring your system to multiuser mode by placing the following entry in the letc/rc.local file instead of the mop_mom entry described previously in this section. if [ -f /etc/mop_mom LOADUMP_SECURE=0on ]; then /etc/mop_mom fi 2.1.3 >& /dev/console Install the Terminal Server Load Image Next, you must have the terminal server load image software (prO801eng.sys for a DECserver 200) installed. This software is not included in the ULTRIX-32 distribution and must be ordered separately. For further information, see the terminal server manual. The terminal server installation procedure places the load image software (for example, the pr0801eng.sys file in the /ust/lib/dnet directory). If this file is not in the proper directory, the DECserver cannot be downline loaded. Install the server software according to the installation instructions. Note DECnet-ULTRIX does not need to be running or installed to load The mop_mom program handles the downline the system. loading. 2.1.4 Reboot the System If you rebuilt your kernel (refer to Section 2.1.1), you need to move the newly-configured kernel to the root(/) directory and reboot your system. To reboot the system, use the shutdown command. The following example shows how to shut down and reboot the system in one command: # /etc/shutdown —-r "System going down for a quick reboot" If you did not rebuild the kernel, you can cause the ULTRIX-32 system to begin functioning as a load host without rebooting by manually executing the commands you have added to the /etc/rc.local file. 2.1.5 Downline-Load the Terminal Server There are three methods for down-line loading the terminal server. The first is to power on the terminal server, the second is to use the load command, and the third is to use the trigger command. The trigger command is described in Appendix A. 2.1.5.1 Power On the Terminal Server - server, power it on. To down-line load the terminal When the terminal server is powered on, it broadcasts over the Ethernet that it is ready to be loaded. Any load host running mop_mom and with the environmental variable LOADUMP_SECURE set to off (the default), can send the system image software needed to the terminal server, for example, prO801eng.sys for a DECserver 200. If the LOADUMP_SECURE variable is set to on for mop_mom on a system that can do a down-line load, the ULTRIX-32 system checks its nodes data base for the terminal server requesting the load. If an entry for the terminal server is in the nodes data base, the system volunteers to down-line load the software to the terminal server. If an entry for the terminal server does not exist in the nodes data base, then that ULTRIX-32 system cannot down-line load to the terminal server. In this case, the DECserver must get the load image software down-line loaded from another system on the Ethernet. Note Because the terminal server installation placed a copy of the load image software in the /usr/lib/dnet directory, your system could down-line load the software to the terminal server. Your system is like any other host on the Ethernet. In most instances, the first system to volunteer to send the software down-line loads the image to the terminal server. The Ethernet address of the system performing the down-line load appears on the terminal server console during the process. Figure 2-1 shows the relationship between the terminal server and the ULTRIX-32 systems connected by an Ethernet. In Figure 2-1, system and systema can down-line load the load image software because the LOADUMP_SECURE variable is set to off. Notice that systemb cannot down-line load the load image software because the LOADUMP_SECURE variable is set to on and the terminal server DS2MYS is not entered into the nodes database on Bsystem. Csystem can down-line load the image software when the LOADUMP_SECURE variable is set to on because DS2MYS has been entered in Csystem’s nodes database. mysystem Asystem noff 1] noff " Ethernet 98 terminal Bsystem Csystem DS2MYS won® on ZK-0038U-HC Figure 2-1: A Local Area Network with terminal server Note Be sure the system that is down-line loading the image software to your terminal server has the current version of the LAT software. To find the server characteristics, type a command similar to the following from the terminal server console: Locai> show server status This command should show the version of LAT software loaded. 2.1.5.2 Determine If the Power On Succeeded - To determine if the down-line load was successful, look in the syslog file in the /usr/spool/mqueue directory on the system that down-line loaded the software (the host system). You should see an entry similar to the following, if the load succeeded: Mar 11 09:02:14 assistance for localhost: system 177 load, mop_dumpload: (target node sending Ethernet 08-00-2B-03-C5-90) Mar 11 image, 09:02:16 (target localhost: node 177 Ethernet mop_dumpload: address = volunteer address sending = system 08-00-2B-03-C5-90) If the down-line load failed because the load image software was not installed in the /usr/lib/dnet directory, you could see an entry like this: (pr0801eng.sys) Mar 14 11:21:20 PRO8B0O1ENG not localhost: found, (target 302 mop_dumpload: node Ethernet 08-00-2B-03-C5-90) load address file = If the host system has the environmental variable LOADUMP_SECURE set to on for mop_mom, the syslog file should have entries for only those terminal servers (target nodes) that have entries in the nodes data base on that system. 2.1.5.3 Use the load Command - Some terminal servers allow you to down-line load using the load command, some do not. For example, the DECserver 100 does not support the load command. ‘ To use the load command, you need to enter some terminal server information in your system’s nodes data base. To do this, use the dsvconfig automatic setup included with the terminal server software. The dsveonfig script is not included with the ULTRIX-32 distribution, but comes with the terminal server’s load image software, for example, pro80leng.sys. The terminal server’s software installation guide tells you how to enter the nodes you want to down-line load using dsvconfig. Note If you can, use the dsvconfig script to enter the nodes instead of manually using the addnode command. Otherwise, you must issue the addnode command twice for a DECnet load host: once with the -P option and once without the -P option. The first command updates the permanent data base, the second updates the volatile database. Once dsvconfig is installed, you need to run: /usr/lib/dnet/dsvconfig Refer to the terminal server installation guide for more information. Information can be entered in the nodes database manually by using the addnode command. The format would be similar to: addnode system -h address -1 pr080leng —c circuit_ID The system is the name of the terminal server. The address is your terminal server’s physical Ethernet address. The circuit_ID is the service circuit ID and is as follows, where n is the unit number: gna-n For QBus based processors, such as the MicroVAX II, VAXstation II, MicroVAX 3000 family _ bnt-n For BI based processors, such as the VAX 8200, 8300, 8500, 8550, 8700 and 8800 una-n For VAX processors with an Ethernet interface on a UNIBUS adapter (such as a VAX-11/750, VAX-11/780 and VAX-11/785) sva-n For small, busless VAX processors, such as the VAXstation 2000 After you have added the terminal server information to your system’s nodes data base by using dsvconfig or addnode, load the image software. For example, if the name of the terminal server is harvey, type: # /etc/load harvey If a hexadecimal password is needed, supply it here. See Appendix A for more information about the password. 2.1.5.4 Determine If load Succeeded - To see if the down-line load was successful, look in the lusr/spool/mqueue/syslog file on your system for an entry similar to this: | Mar 11 image, 09:02:16 (target localhost: 291 mop_dumpload: node Ethernet address = sénding system 08-00-2B-05-40-B7) If the down-line load failed because the system image software was not installed in the /usr/lib/dnet directory, you could see an entry like: Mar 14 11:21:20 PROBO1ENG not localhost: found, (target 302 mop_dumpload: node Ethernet load address 08-00-2B-03-C5-90) 2.2 Tailoring An ULTRIX-32 Service file = Node A service node is any ULTRIX-32 system on the LAN to which you want users to connect through terminal servers using the LAT protocol. host can also be a service node if you tailor it to be one. A load The procedures to tailor a service node are: ° Edit the config file, if necessary . Make the Ita devices o Edit the ttys file ] Edit the rc.local file ° Reboot the ULTRIX-32 system, if necessary 2.2.1 Edit the Configuration File If your system is going to be a service node, edit the config file and add the following entries if they are not already there: options LAT pseudo-device lat pseudo-device lta The pseudo-device Ita specification creates a default of 16 LAT lines. you require more, then specify the number required. If For example, if you need 32 LAT lines for use with four DECserver 200’s, use this entry instead: pseudo-device lta 32 The number you specify must be a multiple of 16, for example, 16, 32, 48, or 256. Note When you do add entries to the config file, rebuild the kernel to make the additions take effect. You can rebuild the kernel manually or by using the doconfig command. 2.2.2 Make the Ita Devices To make the appropriate LAT devices, first change directory to /dev, then use the MAKEDEV command. For example, to create 16 LAT devices, type: # cd # MAKEDEV /dev 1ta0 The Ita0 option creates 16 devices numbered sequentially. The device numbers will be tty00 through tty15, if there are no previously-built terminal special files. If there were previously-built terminal special files (from whatever source), the 1ta0 command would create devices numbered sequentially after the highest-numbered special file. For example, if there were already tty00 through tty07 terminal special files, the ta0 command would create 16 files, tty08 through tty23. To create an additional 16 LAT devices, issue the MAKEDEV command again, using the Ital option to specify the next set of 16 devices, for example: # cd # MAKEDEV The Ital /dev ltal option creates 16 additional devices numbered tty16 through tty31, if there are no previously built terminal special files. You can see which devices in /dev are the LAT devices (special files) by typing: # file /dev/tty* | grep LAT All tty special files with a major number of 39 are for the LAT. A typical LAT special file looks like: cCrw--w--w- 2.2.3 1 root 39, 4 MAR 10 11:29 ttyl2 Edit the ttys File After you have created the new LAT special files, you need to add entries for those devices to the /etc/ttys file. # cd /etc # vi ttys To do this, type: If you have created 32 new LAT devices for terminals and the special files created were tty0O through tty31, add 32 entries to the /etc/ttys file in this format: ‘ tty00 n/etc/getty std.9600~ vt100 on nomodem #LAT tty31 "/etc/getty std.9600+x vt100 on nomodem #LAT To make the new entries in the /etc/ttys file take effect, reboot the system or type the following: # 2.2.4 kill -HUP Edit the 1 rc.local File You need to place LAT entries in the /etc/rc.local file. These entries start up the network interface to the service node and the LAT on the service node. 2.2.4.1 Start the Network Interface to the Service Node - To interface the hardware to the network, you must edit an entry into the /etc/rc.local file for the specific hardware interface that you have. In addition, you must have this entry take effect before executing the Icp command. Representative entries are shown in Section 2.1.2.1. 2.2.4.2 Start Up the LAT on the Service Node - To have LAT started automatically each time the system is brought to multiuser mode, edit the following entry into the /etc/rc.local file after the local daemons entries, and after the DECnet ncp entry if DECnet is installed (DECnet changes the controller Ethernet physical address): if [ -f /etc/lcp /etc/lcp ]; -s then & echo -n ° lat® >/dev/console fi Additional switches might be needed for the command. For example, if you have set up group access codes for the terminal server, you must include a -g switch in the Icp command. Note If you are planning on setting up printers, reverse LAT devices, or gateways on your LAT, the Icp entry will be different from this entry for terminals. See the other chapters in this manual for further information. 2.2.5 Reboot the System If you rebuilt your kernel (refer to Section 2.2.1), you need to move the newly-configured kernel to the root(/) directory and reboot your system. To reboot the system, use the shutdown command. The following example shows how to shut down and reboot the system in one command: # /etc/shutdown -r "System going down for a quick reboot" If you did not rebuild the kernel, you can cause the system to begin functioning as a service note without rebooting by manually executing the commands you added to the rc.local file. Printers on a Terminal Server 3 This chapter describes how to set up a printer on a terminal server. Prerequisite hardware setup consists of installing a printer on a serial interface on a terminal server. The tasks discussed in this chapter are: o Matching printer and server hardware settings o Testing the port configuration o Specifying server and port names ® Setting Up the spool directories ® Testing the printer 3.1 Matching Printer and Server Hardware Settings The first task is to match the hardware settings of the printer and the First, you need to determine your printer’s characteristics. terminal server. Specifically, you need to know your printer’s character size, flow control. Refer to your printer documentation for the information you need. : parity, and speed. After you have determined your printer’s characteristics, compare them to the terminal server’s port settings. Be sure the settings correspond. You can see the settings on the terminal server console by using commands similar to the following: Local> show port 7 characteristics This shows the characteristics for port 7. At a minimum, the terminal server should have settings for the port similar to: Character Size: printer’s character size Flow Control: XON (or -CTS/RTS, for some printers) Speed: Printer’s Speed Access: Remote Alternate Speed: None Dedicated: None Autobaud: Disabled Autoconnect: Disabled To permanently define a terminal server’s port settings, using the define command type: Local > DEFINE PORT 7 SPEED 9600 ALTERNATE SPEED NONE After all the settings for the port have been defined, log out of that port. This initializes the new settings. Local > LOGOUT 3.2 Testing the PORT For example: 7 Port Configuration The next task is to test the port configuration to verify that the printer characteristics match in the printer and in the terminal server port. First, connect the printer to the terminal server. Then you can verify the configuration of the port by using the TEST PORT command on the terminal server. For example, if the configuration is correct, the following command running on a DECserver 200 causes a test pattern of characters to print on a printer attached to port 7: Local > TEST PORT 7 The printer prints the test data until the BREAK key is pressed at the terminal server console. If data does not print or if it appears to be incorrect, then the port or the printer is incorrectly set, or there is a hardware problem. 3.3 Defining Names for the Server and Port Next, you specify the name of the server and the name of the port for the printer to your ULTRIX-32 operating system. do so: There are two ways to through an entry in the /etc/printcap file, or through an Icp command. These ways of naming the server and the port occur when you select a LAT terminal line and set up the /etc/printcap file. 3.3.1 Select a LAT Terminal Line The next task is to select a LAT terminal line to use with your printer or printers. (The major number for the device special file is 39.) To prevent anyone from logging into the system by way of the printer’s LAT terminal line, use the Icp command to turn off all but host-initiated connections for the device. After you have selected a line, place an Icp entry for it in the /etc/rc.local file. the local daemons section. Be sure the new entry appears after The following entries illustrate the two alternative forms of the Icp command: if [ -f /etc/lcp /etc/lecp -s ]; then —-h /dev/1tty42:T1301A:PORT_6 >/dev/console fi if [ -f /etc/lcp /etc/lcp -s ]; then -h /dev/tty42 >/dev/console fi Of course, the Icp command in this file is executed the next time the system is booted (or brought to multiuser mode). If you want to have the Icp command take effect immediately, type one of the following: # /etc/lcp -s -h /dev/ttyd42:T1301A:PORT_6 # /etc/lcp -s -h /dev/tty42 The first example uses the Icp command to associate tty42 with port 6 on the terminal server T1301A. The second example merely reserves the tty for host-initiated connections; the correlation between the tty and the terminal server port must be made in the printcap file. Note You can establish the correlation with either the Icp command or the printcap file, but not both. You must use one method or the other. Next, you must turn off all LAT printer terminal lines listed in the letc/ttys file. To do this, first edit the /etc/ttys file. For example, if the printer terminal line is tty42, this entry should appear in the /etc/itys file: ttyd42 »/etc/getty T9600" vt100 off nomodem # LAT connect tty Then, have the modifications to the /etc/ttys file take effect by typing the command: # kill 3.3.2 -HUP 1 Set Up the /etc/printcap File The next task is to place a proper entry for your printer in the In the entry, the following parameters need to be defined for the LAT printer: letc/printcap file. lp=/dev/ttynn The LAT terminal line used to send data to the printer, for example: /dev/tty42 ts=name The name of the terminal server connected to your printer. To find the terminal server name, type the following at the terminal server console: Local> show server characteristics The entry in the Name: field is the one needed in the letc/printcap file, for example, LAT_08002B0540B7. op=PORT_n The name of the terminal server port connected to your For example, to find the port name where 7 is the port number, type the following at the DECserver 200 printer. console: Local> show port 7 The entry in the Name: field is the one needed in the letc/printcap file, for example, PORT_7. os=PRINTME The service name supported on some terminal servers. Following are four sample /etc/printcap entries for terminal server ports. Please note that each entry contains ts= and an op= lines to specify the server name and the port name. An alternative way to specify these names would have been in the Icp command, as described in Section 3.3.1. However, in that case, the entries would be the same except that the op and os entries would not be used. laserliportirait printing on In03:\ ip=/dev/tty04:\ :sd=/usr/spool/laser:\ :ts=T1301A:\ :op=PORT_6:\ br#300:\ :fc#0177777: fs#023:\ cif=/usr/1lib/1In030f:\ pw#80:\ pl#66:\ :mc#20:\ cvf=/usr/1ib/In03vf: IplIpOllocal line printer:\ :sh:\ (fs#023:\ :fc#0177777:\ :br#4800:\ 1ts=T1301A:\ clp=/dev/tty05:\ Tpw#80:\ cop=PORT_5:\ :sd=/usr/spool/lIp: Ipllli1a50!liline printer on LAT:\ :fe#0177777 :\ fs#023:\ lp=/dev/ttyll:\ :0p=PORT_5:\ 1s=T1301A:\ of=/usr/lib/ipf:\ :sd=/usr/spool/1a50: Ip311n03llaser printer on LAT: :ip=/dev/tty00:\ :sd=/usr/spool/Ipd:\ :ts=LAT_08002B0540B7:\ :0p=PORT_7:\ :br#19200:\ :fc#0177777: fs#023\ :xc#0177777 :xs#040\ :of=/usr/lib/Ipdfilters/In030f:\ if=/usr/lib/Ipdfilters/In030f:\ 1 f=/usr/adm/Ipd-errs: Read the instructions on remote printer setup contained in the documentation for your DIGITAL terminal server configuration. carefully execute the instructions. Then 3.4 Setting Up the Spool Directories The next task is to set up the printer spool directories. The printer spool directories correspond directly to the entries in the /etc/printcap file for the sd option. For example, if you have the entry, sd=/usr/spool/lp3, then type the following to create the appropriate spool directory: # c¢d # mkdir Ip3 # chown daemon 3.5 /usr/spool Testing the Ip3 Printer After the printer is set up, you should try printing a file to be sure everything works properly. For example, if the printer name is Ip3 and test is a text file, type: # lpr -Pip3 test If the printer does not work, check to make sure all the settings are correct. If the printcap entry has an If entry defined, you can check the corresponding file for information on errors that could have occurred. Host-Initiated Connections 4 This chapter describes how you set up an ULTRIX-32 system for hostinitiated connections to any bit-serial, asynchronous device functioning off a terminal server. Examples of such devices are terminals, modems, communications ports on other host computer systems, and printers. The printer connections discussed in Chapter 3 of this manual are one instance of a host-initiated connection. Sometimes, host-initiated connections are called reverse LAT connections. This feature allows the manager of an ULTRIX-32 system to associate a named port on a named terminal server with a specific tty device special file. As a result, users can code applications that connect to the port through the LAT. The type of device the target represents is transparent to the LAT protocol. 4.1 Setting Up The ULTRIX-32 System To define the connection between the host tty and the terminal server port service, you run the LAT control program, Icp, using the -h option. In the command, you specify the tty, the lat server name and the lat port number, in that order. lcp -h For example: /dev/tty42:T1301A:PORT_6 The protection bits, the owner, and the group of the tty should be set appropriately for the intended use of the connection. For example, ttys are normally owned by root and are readable only by their owner. If you intend to let ordinary users open and read the tty, you would need to make the tty world readable. The ttys being used for the host-initiated connections should be set to "off” in the /etc/ttys file. If necessary, issue the kill command to effect the changes you have made to /etc/ttys: kill -HUP 1 Next, you must set up the server port characteristics to match the characteristics of the device connected to the port and to allow hostinitiated connections. 4.2 The Refer to Section 3.1 for instructions. Program Interface Applications written to employ this service are much like applications for any tty device. o However, there are some programming considerations. The programs interface with the LAT database through the LAT driver. When the host program issues an open call to the tty, the LAT driver attempts to establish a connection to the target port on the target system. The driver reports success/failure codes in the variable errno. o When the open call is successful, the user program issues read and write system calls to handle data transfers, and normal ioctl processing for the device control information. e o A close system call on the device terminates the LAT connection. Other coding hints and restrictions are included in the comments to the sample program shown in Appendix B. LAT/Telnet Gateway 5 This chapter describes how to set up and use the LAT/telnet gateway service. By employing this service, a user on a LAT terminal can connect directly to remote hosts through telnet without having to login first to a local ULTRIX-32 system. For example, a user could be travelling on business. She could use a terminal on a LAN to connect through telnet to her home system and account, even though she did not have an account on any system in the LAN. 5.1 Setting up the Gateway The steps you take to set up the gateway service are similar to those you take to tailor a service node for a terminal server. 5.1.1 Edit the ttys File Select the LAT ttys to dedicate to the gateway, for example, tty20, tty21, and tty22. The number of ttys selected determines the maximum number of simultaneous LAT/telnet gateway sessions the system can deliver. ‘ Then, edit the system’s /etc/ttys file to replace getty with lattelnet for the selected devices. For example: tty20 w/usr/etc/lattelnet std. 9600+ vtl100 on nomodem #lat/telnet gate tty21 w/usr/etc/lattelnet std. 9600+ vt100 on nomodem #lat/telnet gate tty22 v/usr/etc/lattelnet std.9600» vt100 on nomodem #lat/telnet gate Then, use the kill command to effect the changes: kill 5.1.2 -HUP 1 Start up the Gateway Use the lcp command to start up the gateway. For example: lecp -v HOSTNAME -V »"HOSTNAME -v telnet:/dev/tty20,/dev/tty21/,/dev/tty22 -V vlat/telnet \ lat servicen gateway \ \ servicer Remember, you must define the name and description of the default (the login) LAT service before you specify the gateway service name and its description. 5.1.3 Edit the rc.local File Change the entry for the Icp command line in the /etc/rc.local file to reflect your new service. The command entry should duplicate the startup Icp command. 5.2 Using the Gateway To use the gateway at a LAT terminal, a person enters the connect command. For example, to connect to remote node named remote using a local node named local as a gateway, the command line would be: Local> connect telnet node local dest remote Alternatively, a user could enter the service name (telnet) prompted for the remote node desired. and wait to be For example, the following represents what occurs when a user on local node PRINTF connects to telnet and waits for a login prompt from remote node NETRIX: Local > connect telnet Local -101- 5 Local -010- Session LAT to TELNET telnet> open other session(s) 6 to TELNET gateway on printf netrix Trying. .. Connected to netrix. Escape character netrix login: is " ]1° active on node PRINTF established Creating Your Own Service 6 ULTRIX-32 systems now can offer more than one service to the users on a LAN. Previous to ULTRIX-32, Version 3.0, the ULTRIX-32 systems running as service nodes on an Ethernet LAN offered a single service: a login service known by the node name. In Version 3.0, the Icp command is enhanced (through the -V and -v switches), to allow service nodes to offer multiple services. One such service, a component of the operating system software, is the LAT/telnet gateway, as described in Chapter 5. By employing this service, a user on a LAT terminal can connect directly to a remote node through telnet without having to login first to an ULTRIX-32 system. Users can also write their own specialized applications and have them advertized to terminal services. 6.1 Setting Up the Service The steps you take to set up a service are similar to those you take to set up the LAT/telnet gateway discussed in Chapter 5. Here is a summary of the steps: e ° Select the LAT ttys to be dedicated to the service. Edit the system’s /etc/ttys file to replace getty with the name of your service. ° Use the kill command to effect the changes. o Use the Icp command to set up the service. o Add the Icp command for your service as an entry in the /etc/rc.local file. For more information, please review Chapter 2 of this manual. 6.2 Using the Service To use the service at a LAT terminal, a person issues the connect command. For example: Local > CONNECT 6.3 DATE Programming the Service Programming for a service can be as simple or as complicated as the service you have designed. An example of a simple service is shown in Figure 6-1, Service Example. Example 6-1: Service Example /* *1l atdate £ * Description: * This sample lat services. When terminal server * to * the a date program & time will illustrates the a terminal user at issues a be a use "CONNECT printed of multiple connected DATE: on his or more command terminal. * * Setup: It is necessary * to the service. * & * lines 15 you would for to dedicate For need ttyl4 & one example, to edit ttyl5 to to /etc/ttys look lat dedicate & ttys ttys change 14 the like: sk * ttyld »/etc/latdate std.9600+ vt100 on * ttyld »/etc/latdate std.9600» vt100 on * Then do * Then issue #* gateway a rkill an -HUP |lcp 1+« for command the to change advertise to the take effect. latdlogin service: % * lcp -v hostname * -V +HOSTNAME+« #* -v date:/dev/ttyld,/dev/ttyl5 * -V vlat date \ \ & time \ servicer %* * To compile: c¢c -o latdate latdate.c Ed * Example: CONNECT DATE * */ #ifndef static lint char *sccsid=v@(#)chapter6.multiple 1.4 9/3/88+: #endif (continued on next page) #include <errno.h> #include <sys/file.h> #include <sys/ioctl.h> struct char int sgttyb dev[256] ttyb; = »/dev/v; latfd; main(argc, int argv) argc; char *argv|[]; { strcat(dev, chmod(dev, if( (latfd 0, 0): 0622); Il chown(dev, argv[argec-1]); open(dev, O_RDWR)) < 0 ) { perror (dev) ; exit(l); } ttyb.sg._.flags ioct!l (latfd, dup2(latfd, = CRMOD; TIOCSETP, &ttyb): 0); dup2(latfd, 1); dup2(latfd, 2); execl (v/bin/dater, wlat-date~, (char *)0); } After completing a program for the service, set up the service following the same steps as outlined in this chapter. A sample program, one that can be used to replace getty for a lat:dlogin gateway, is provided in Appendix C. A new ioctl, LIOCTTYI, has been created. This ioctl returns information specific to lat ttys in a structure of type ltattyi. The structure is defined in the header file, /sys/h/ltatty.h. Within the ltattyi structure, the server name and the port associated with a given lat tty are returned in structure members Ita_server_name and Ita_port_name as null-terminated ASCII strings. If the user at the lat terminal specifieds a destination string in his request to connect to the service, that string is returned in structure member Ita_dest_port. Other coding hints and restrictions are included in the comments to the program in Appendix C. Server Maintenance Functions A This appendix discusses the control functions of ULTRIX-32 host nodes and remote node maintenance functions, such as: o Obtaining a Processor’s Hardware Ethernet Address o Downline-Loading a Terminal Server . Upline-Dumping of Memory o Enabling Remote Console Capabilities Note Because it does not have a mass storage device, a terminal server must load the system software it uses to communicate with the terminals and the Ethernet network from one of the processors on the network. If the terminal server software fails, it sends its crash dump image over the network to an available processor. In the context of this chapter, a node is equivalent to a system. A node can be a terminal server or a system running the ULTRIX-32 software. An example of a target node is a DECserver 200. A.1 Control Functions of ULTRIX-32 Host Nodes On an Ethernet network, processors that are running ULTRIX-32 software can act as host nodes for unattended remote nodes. A host system (node) can perform these functions: ° Down-line load bootstrap loaders and operating system images to a remote node such as a terminal server o Receive an up-line dump of a memory image from a remote node o Connect to a console server on a remote node and allow a local terminal to act as a console for that remote node A host node can be the primary or a backup host node. Backup host nodes perform host functions if a primary host is unavailable. To understand down-line loading and up-line dumping, you must understand the nodes involved in a loading or dumping sequence. In the following node descriptions, the command node and the host node can be either the same or different nodes, but neither can be the target node (the unattended remote node). ° Command Node You can initiate a down-line load request using the load and trigger commands at a command node. These commands cause a target node to issue a down-line load request. Only target nodes initiate up-line dump requests. There are no commands that you can use to initiate an up-line dump. ° Host Node The host node actually performs a down-line load, receives an up-line dump, or connects to a remote console server. The host node must be on the same Ethernet network as the target node, because downline loads, up-line dumps, and connections to remote console servers are performed using circuit-level access instead of logical links. ° Target Node The target node receives the bootstrap loaders and the system image Target nodes issue down-line load requests either in response to file. requests from command nodes or in the course of the hardware If a target node senses an impending system bootstrap routine. failure, it can initiate an up-line dump request. A.2 Obtaining the Hardware Ethernet Address There are three ways to obtain the hardware Ethernet address for a processor: through the DECnet ncp program, using the ULTRIX arp command, and at the system console when the processor is in console mode. A.2.1 Using the ncp Program To use the ncp program to find the Ethernet address for a processor, type: # ncp show line dev-c¢c characteristics where dev-c is the circuit ID of the circuit, as specified in Chapter 2 of this document. A.2.2 Using the arp Command You can use the arp command to find the Ethernet address for a processor. # For example, if the host name is bangor, type: arp bangor The Ethernet address for bangor is displayed, for example, as: bangor (128.47.40.94) at 8:0:2b:3:f4:a2 Note Should no entry exist for the processor’s address, use the rsh - command to resolve the entry. Type, for example: # rsh bangor who Even if this command fails, the arp table entry for the processor’s Ethernet address is filled. A.2.3 Using Console Mode If the ncp and arp commands fail, you can use the console mode. Follow these instructions, which assume your hardware has been installed at the default control status register (CSR) addresses: First, obtain the console mode prompt: >>> What you then do depends on your processor type. If your processor is a MicroVAX II, VAXstation II, or VAXstation II/GPX, type the following at the console mode prompt: >>> e/p/w P >>> e P >>> FFOO 20001924 FF2B 20001926 FFO03 e P >>> 20001922 e P >>> FFO8 e P >>> 20001920 20001920 , 20001928 FFO05 2000192A FF8B e P The hardware Ethernet address is made up of the last two characters from each line displayed by the system. In the previous example, the hardware Ethernet address is: ‘ 08-00-2B-03-05-8B If your processor is a VAXstation 2000 or MicroVAX 2000, type the following at the console mode prompt: >>> t 50 The system prints the hardware Ethernet address on the second line of the t 50 printout. Note that ID is not part of the hardware Ethernet address: ID 08-00-2B-02-F0-36 If your processor is a MicroVAX or VAXstation 3000 series system, type the following at the console mode prompt: >>> show ether The system prints the hardware Ethernet address: 08-00-2B-02 -f0-36 Note If the target node is a DECserver 200, the Ethernet hardware address is on a label on the back of the unit. A.3 Down-Line Loading Ethernet nodes running ULTRIX-32 software can down-line load an operating system image to a remote node. For example, you can down-line load a DECserver 200 system load image file from your ULTRIX-32 system to a DECserver 200. In this case, the load image file is pro801eng.sys. A.3.1 Prerequisites to Downline Loading Before attempting a down-line load operation, you must ensure that the nodes, lines and circuits involved in the load meet the following requirements: o The target node must be on the same Ethernet as the ULTRIX-32 host system, because a host uses circuit-level access to load a target node. ° If the load is operator-initieated, the bootstrap at the target node must be capable of both recognizing trigger messages and sending program requests. o The physical hardware devices must be set up correctly to support the load. o For target-initiated loads, the host node device involved in the load operation must be enabled to perform service functions. To enable the host node device, run /etc/mop_mom as a background task on the ULTRIX-32 system. When mop_mom receives a program load request, it forks and executes the loader, /usr/lib/dnet/mop_dumpload, which performs the down-line load. ' ° The host node must have access to the load files. The location of the files can be specified in the target node’s program load request or can default to the information contained in the nodes data base. Down-line loading can be initiated by an operator or by a target node, such as a DECserver 200. A.3.2 Operator-Initiated Down-Line Loads You can initiate a down-line load using the load or the trigger command, depending on whether the operation is initiated by the host node or the target node. A.3.2.1 The load Command - You can use the load command to cause the host node to load the specified target node, such as a DECserver. Before you can issue a load command, the target node must support the load command, and the nodes data base must contain these definitions: o The service circuit over which the load is performed ® The Ethernet hardware address of the target node ® The service password needed to gain access to the target node, if not specified in the load command ° The name of the image file to use, if not specified in the target node’s program load request You can define an entry in the nodes data base with the addnode command. For security reasons, you can choose not to include a target node’s service password in the data base. In that case, you must specify +the cervice nassword in the load command lHne usine the —p ontion The load command sends a Maintenance Operation Protocol (MOP) bootstrap message to a target node, and then waits for the target node to send its program load requests. The load command honors requests for secondary, tertiary, and system loaders, in that order, starting from any stage in the loading sequence. The load command waits for program requests from the target node until the operating system has been sent to the target and then the load request exits. The file lusr/spool/mqueue/syslog contains information created by load requests. A.3.2.2 Using the load Command - Use the following procedure for down-line loading a target node using the load command: 1. You can use the dsvconfig script, if available, or the addnode command to define the required information in the nodes data base for the target node. In this example, the target node is a DECserver 200 called auburn: # addnode -p 12345 \ -c una-0 \ - ps080leng auburn -h 08-00-2b-02-40-4e \ The addnode command in this example specifies one load file for auburn, because the node is loaded in a single stage. 2. Issue the load command: # /etc/load auburn The load command in the example sends a MOP bootstrap message to node auburn, which responds by sending a program load request for the primary loader to the host node. A.3.2.3 The trigger Command - The trigger command directly triggers the bootstrap mechanism of a target node, causing the target to send a program load request to the Ethernet dump/load assistance multicast address. The trigger command has the same result as pushing the BOOT It initiates a down-line load to the target node from the first host node to respond to the request. switch on a target node. Before you can issue a trigger command, the target node must support the trigger command, and the nodes data base must contain these definitions : ° The service circuit over which the load is performed ° The Ethernet hardware address of the target node o The service password needed to gain access to the target node, if not specified in the trigger command o The name of the image file to use, if not specified in the target node’s program load request You can define an entry in the nodes data base with the addnode For security reasons, you do not need to include a target command. node’s service password in the data base. In that case, you must specify the service password in the trigger command line, using the —p option. A.3.2.4 Using the trigger Command - Use the following procedure to initiate a down-line load using the trigger command: 1. Use the addnode command to define the required information in the nodes data base for the target node. 2. Issue the trigger command: # /etc/trigger auburn Note that this example assumes that the service circuit, the Ethernet hardware address, and the service password for auburn are defined in the nodes data base. The command in the example sends a MOP bootstrap message to the target node auburn. This boot message causes auburn to send a program load request message to the Ethernet load assistance multicast address. The trigger exits, and auburn continues to carry out the procedure for a target-initiated down-line load. A.3.3 Target-Initiated Down-Line Loads A target node initiates a down-line load by triggering its bootstrap ROM and issuing a program load request. A target-initiated down-line load occurs when a target node does not have a specific host node from which to request a program load (for example, if a target’s host node crashes, or when the BOOT switch on a target node is Target-initiated loads proceed as follows: pressed). 1. The target node sends a program load request message to the Ethernet load assistance multicast address AB-00-00-01-00-00. This message is a request for any node on that Ethernet to perform the load. 2. Each node on the Ethernet whose circuits are enabled for service operations searches its nodes data base for an entry corresponding to the information in the program load request. When a node finds a node entry with an Ethernet hardware address matching the hardware address of the requesting target node, the node determines if it can down-line load the target. The node then sends the secondary loader to the target node, if requested, or a message volunteering to perform the load, if the target is requesting the tertiary loader or system load file. This information is logged in /usr/spool/mqueue/syslog. 3. The target chooses the node that responds first to proceed with the loading sequence. It does not send a message to any other node. The loading sequence (described in Section 4.3.3) continues with the designated host node performing the down-line load. A.3.4 The Down-Line Load Sequence The load sequence is the same, whether a load request is initiated by the system manager or by a target node. The first program to run at the target node is the primary loader. Typically, this program is executed directly from the target node’s bootstrap ROM or is in the microcode of the load device (such as una or qna). The target node’s primary loader is triggered, and the target node sends a request program load message to the host node. Usually, the primary loader requests a secondary loader program, which, in turn, requests a tertiary loader. The last program to be loaded is the operating system. In this sequence, each program requests the next one until the operating system is loaded. After the load sequence is complete, the target receives a message with the name of the host and places the name in its volatile data base. Note For a DECserver 200 terminal server, the first and only program load request message is for the system load file, such as prO080leng.sys or ps080leng.sys. A.4 Up-Line Dumping of Memory You can include certain parameters in the nodes data base that allow a specified Ethernet target node to dump its memory into a file on your ULTRIX-32 system. This procedure is called up-line dumping. Up-line dumping is a valuable tool for crash analysis. When a target node that is capable of up-line dumping detects an impending system failure, that system requests an up-line dump. Note You should check the /usr/spool/mqueue/syslog file after a power failure or severe weather storm. Many up-line dump requests can cause the syslog file to grow quite large in a relatively short amount of time. Up-line dumping, unlike down-line loading, is always initiated by the target There are no commands to initiate an up-line dump. The ULTRIX32 system uses the Maintenance Operation Protocol (MOP) to perform an node. up-line dump. A.4.1 Prerequisites to Upline Dumping Before attempting an up-line dump operation, you must ensure that the nodes, lines, and circuits involved in the up-line dump operation meet these requirements: o The target node must be on the same Ethernet as the host node, because the host uses circuit level access to dump the target node. ® The host node device involved in the dump operation must be enabled to perform service functions. To enable the host node device, run /etc/mop_mom as a background task on your ULTRIX-32 system. When mop_mom receives an up-line dump request, it forks and executes the loader, /usr/lib/dnet/mop_dumpload, which performs the dump. , ° The target must supply a memory size value and a starting memory address in the request memory dump message that it sends to the host. ° The host must have a dump file for the target node specified in its nodes data base, and it must be able to create this file. The dump file is defined with the addnode command. A.4.2 Up-Line Dump Sequence The following steps outline the up-line dump process: 1. When a target node senses a system failure, it sends a request dump service message to its host node, the node that originally down-line loaded it. If the host node is available, the up-line dump proceeds as described in Step 2. If the host node is unavailable, the target node sends a memory dump request to the Ethernet dump/load assistance multicast address AB-00-00-01-00-00. This message contains information about the memory size and the up-line dump device type at the target node. Each node on the Ethernet checks its nodes data base to determine if it can accept an up-line dump from the target node. that can accept dumps respond to the target node. The nodes The target node chooses the first node that responds to continue the dumping sequence. It does not send a message to any other node. The dumping sequence then continues as described in Step 2. 2. From the dump request message sent by the target node, the host retrieves the memory dump count and the memory address from which to start dumping. It also retrieves the name of the file where the target’s memory image will be stored from the target’s nodes data base entry. The host node then sends to the target node a MOP request memory dump message with the starting address and buffer-size values. 3. Using the values it receives from the host, the target returns the requested block of memory in a MOP memory dump data message. The host receives the block of dump data, places it in the dump file, increments the memory address by the number of locations sent, and sends another request memory dump message to the target. This sequence is repeated until the amount of memory dumped matches the memory size specified in the dump request. 4, When the up-line dump is completed, the host node sends a dump complete message to the target node and attempts to down-line load the target by sending a trigger message. A.5 Remote Console Capabilities The console carrier requester command, ccr, sets up a logical connection between your ULTRIX-32 system and the console carrier server on a remote node. The ccr command enables a terminal to act as the console for a remote unattended node. For example, your terminal can act as the console for the DECserver 100 terminal server and its resident software. You can use the ccr command to force a crash if a server node becomes unresponsive. To determine how to force a crash, see the documentation for the server product. A.5.1 The ccr Command When you use the ccr command, the remote console carrier server is in one of these states: ° Loaded and unreserved ° Loaded and reserved ° Not loaded If the console carrier server is loaded and unreserved, issuing the ccr command reserves it, and this message appears on your terminal: ccr: Remote console reserved If the console carrier server is loaded and reserved by another user, the following message appears on your terminal: ccr: Remote console already in use If the console carrier server is not loaded, the ccr command loads the server. To load a server, an ULTRIX-32 system may need to have the console carrier server image file and its loader file present in the directory /usr/lib/dnet. When the server is loaded, the ccr command reserves the console and proceeds. A.5.2 Requirements of the ccr Command To use the ccr command, these requirements must be met: ° The host node (your ULTRIX-32 system) and the remote node must be on the same Ethernet. o The nodes data base must contain these definitions, or they must be specified in the ccr command line: —~ The service circuit to the target node — The Ethernet hardware address of the target node — The service password needed to gain access to the target node You can define an entry in the nodes data base with the addnode command. A.5.3 Using the ccr Command Use the following procedure to connect to a remote console server with the ccr command: 1. Make sure that all of the ccr requirements (outlined above) been met. have 2. Issue the ccr command: # /etc/ccr ccr: # dallas Remote (enter console DECserver reserved remote access password) <CTRL/D> ccr: Remote console released # In the example, this command connects to the remote console server on Your terminal remains in console carrier mode until you press dallas. CTRL/D to terminate the ccr command. ‘Note In some cases you may have to enter a service password to access the remote console. See the remote console’s documentation or system manager to determine the password. A.5.4 The ccr Command Special Characters The ccr command uses the following special characters: ° CTRL/B operates as a break command to get the attention of the console on-line debugging tool (ODT). ° CTRL/D exits from console carrier mode and terminates the ccr command. ‘ Program for Host-Initiated Connections B This appendix contains a sample program that employs a LAT host-initiated connection, commonly called a reverse lat. The program is on the software distribution, in the ULTRIX-32 examples directory. The pathname is: /usr/examples/lat/dial.c * N *di a | 3 * Description: This sample * Initiated * SCHOLAR * on * open, * and program modem the that DECserver it illustrates Connection. a is a the connects attached 200 autodials emulates It to Setup: Before * by the of After to a terminal connected to the ‘dial’, LAT_SERVER lcp a port number invoking defined the «LAT_SERVER». phone kg * use LAT /dev/ttyxx and to Host a DEC "LAT_PORT» a host successful computer host computer. LAT_PORT must be command: % * lcp * Access * of ‘dial . cc -o -h /dev/ttyxx:LAT_SERVER:LAT_PORT to “/dev/ttyxx’ must be Read/Write for the e * To compile: dial dial.c £ * Usage: dial Comments: In phone# /dev/ttyxx terminal emulation: * * * "J(CTRL/]) * -"]1? for * "]lb to for escape character help send break signal */ #ifndef static lint char *sccsid="@(#)appb.reviatexample 1.4 9$/3/88+; 2400 Modem Owner's tone dialing #endif #include <stdio.h> #include <ctype.h> #include <signal.h> #include <sgtty.h> #include <sys/types.h> #include <sys/file.h> #include »/sys/h/ioctl.hn /* * For DEC modem (See * byte 1: 1 (CTRL/A) - * byte 2: P - pulse * last byte: I - SCHOLAR SCHOLAR dialing start Manual) autodialer T - dialing */ u_char int void ni[20]={0x01, “P123-4567!«}; fd; nodial () ; (continued on next page) user main(argc,argv) int argc; char { *argvl[]; char buf[BUFSIZ]; int /* Read/write buffer */ len; /* * Open reverse * that we get * Without * terminal * and we LAT an this, device. EBUSY our server might request (if sit Set the O_NDELAY bit so if the LAT_PORT is busy. by the error the waiting might port is for a get queued busy long & queuing is on) time. */ if ( (fd = open(argv[2],0_RDWRIO_NDELAY)) { < 0 # */ ) perror(argv[0]): goto doneonerror; } len = strlen(argv[l]); strcpy(&ni[2], nl[len+2] = "1 °: write(O, »Dialing », write(0, argv[l], len): write(O, », write(fd, signal /* wait... nl, get phone argv([l]); 8); », | print /* send for start dialing ‘Dialing nodial): phone # /* Give call /* get echo /* get return to read(fd, buf, 80); (SIGALRM, len read(fd, = buf{len] (buf[0] */ of for phone # status */ autodial to go buf, 80); "A") termmain(); /¥ print /* act /* "Attached’, return as status terminal */ exit */ emulator if otherwise */ */ doneonerror: printf(«Try later\nn); exit(l); } void { nodial () char buf[BUFSIZ]; printf(»\nDial out */ thru SIG_IGN); buf): == wait... seconds = 0x00: printf(v%s», if modem 60 alarm(60) ; signal */ phone#, 10); len+3); (SIGALRM, /* /* /* Read/Write buffer */ failed\nw); exit(l); (continued on next page) */ /* * The remainder of the this program is a terminal emulator. */ struct sgttyb Isgttyb, sgttyb, struct tchars Itchars, tcharsl; struct ltchars int fd, void sgttybl; Iltchars, ltchars: writefd, exception, readfd, outfile, ret, retl; resettty(); termmain() { char buf[BUFSIZ]; char *bufptr; int on = /* Read/write buffer */ 1; ioct!l (0O, TIOCGETP, &Isgttyb); ioct!l (O, TIOCGETC, &lItchars); ioct!l (0, TIOCGLTC, &lIltchars); /* * Set the * that we terminal * also disable can into handle all CBREAK character special | NOECHO buffering character | -CRMOD and handling echo mode so ourselves. except ~S and We will "Q. */ sgtiyb = Isgtiyb; sgttyb.sg_flags i= sgttyb.sg_flags &= ioct! (0, TIOCSETP, tcharsl = Itchars; tcharsl.t_intrc joct! (0O, = ioctl (fd, ~ (ECHO = ltchars.t_dsuspc = ltchars.t_werasc TIOCGETP, = sgttybl.sg_flags &= ioctt (fd, TIOCSETP, ioctl (fd, FIONBIO, = ltchars.t_rprntc = = -1;: ltchars.t_flushc ltchars.t_lnextc ~ECHO; &sgttybl); &on); resettty); (SIGSEGV, tcharsl.t_brkc RAW; resettty); signal = &sgttybl); signal (SIGBUS, tcharsl.t_eofc <chars); signal (SIGHUP, signal = &tcharsl); sgttybl.sg_flags signal (SIGQUIT, CRMOD): tcharsl.t_quitc TIOCSLTC, (SIGINT, | &sgttyb); TIOCSETC, ltchars.t_suspc ioct! (O, CBREAK; resettty): resettty); resettty); (continued on next page) printf(~escape for { character: "]; help: “1?\r\n\n»); fd) (1 (;;) readfd if = exception ((select(fd+1, { if (readfd if & (1 ((ret { = (1 << &readfd, = << } retl ret while read(fd,buf,BUFSIZ)) = > 0) %d\n», <= 0) ret); buf + retl; (ret) writefd if = 1 << (writefd { retl = ret -= bufptr 0; O, & &writefd, (1 << 0, 0); 0)) write(O,bufptr,ret); retl; = bufptr + retl; } (readfd { ret if if 0)) done: ; select(fd+1, if 0); retl; bufptr } << write(O,buf,ret): -= { + &exception, fd)) printf(rret: goto 0, ( = & (1 << 0)) read(0,buf,BUFSIZ) : (*buf !'(*buf == = 0Ox1d) esccommands())) continue; } write(fd,buf,ret); } if { (exception & (1 << printf(vexception: goto fd)) \n»); done; (continued on next page) else perror(vselect: goto \n«); done; } done: printf(«\nEXIT! ) resettty(); } void { resettty() int off = 0; /* * Restore the * current session terminal was characteristics to their state before entered. */ ioctl (0O, TIOCSETP, &lIsgttyb); ioct!1 (0, TIOCSETC, <chars): ioctl (0, TIOCSLTC, &lIltchars); close(fd); printf(s\nUltrix LAT dial out disconnected\n\n~): exit(0); } (continued on next page) the e for s ccommands input chatacter: ?: this menu p: escape to b: send break esc: all send others: a local command mode "] exit esacape mode / esccommands () { char ch; int ret; ret = read(0,&ch,1); switch(ch) { case ‘p’ localcommands () ; break; case ‘'b’: ioctl (fd, TIOCSBRK, 0); break; case Oxlb: return case (Ox1ld) ; '?7° printf(«\t?\tthis menu\r\n»); printf(»\tp\tescape printf(«\tb\tsend a to local command mode (? for help)\r\nn); break\r\nv); printf(+\tescape\tsend “J\r\nn); printf(*\tothers\texit escape mode\r\n«): } return(0); (continued on next page) /* * l ocal command s ¥/ extern char **environ; local commands () { char int command[512]; notdone = 1,pid; /* * Reset the terminal to its original state. */ ioct!l (O, TIOCSETP, &Isgttyb); ioct!l (0O, TIOCSETC, &Itchars); ioct!l (O, TIOCSLTC, &lltchars); printf(«\n»"); while (notdone) printf(vlocal if command> (gets{command) == +); NULL) printf(«\nEXIT! »); resettty(); switch { (command[0]) case '?7°: printf(«\tsuspend\tsuspends lat\n=); printf(«\texit\texits\nw); printf("\t"D\texits\n"); printf(«\tcmd\tinvoke printf(s\t\tblank case |ine shell to resumes execute command\n+»); lat\n\nv); ‘\O° notdone = 0; break; (continued on next page) default: / #* * Check for special */ (strcmp(command, if commands that "suspendr) == kill(getpid(), SIGTSTP); (strcmp(command, "exitv) == printf(«\nEXIT! »); we handle locally. 0) break; } if { 0) resettty(); . } pid = if (pid { fork(); < 0) perror(vlat server - fork failed»); break; } if (pid { if == 0) (execle(getenv("SHELL"), getenv(«SHELLw"), command, O, environ) - to exec { perror(lat server unable exit(l); } } wait(0); break; } } /* * Reset the terminal to its */ ioct! (0O, TIOCSETP, ioctl (0O, TIOCSETC, &tcharsl); iocti (0, TIOCSLTC, <chars); &sgttyb); state on entry. < 0) shellw); w-cn, Program to Replace getty for Special Services C This appendix contains a sample program. The program can be used to replace the /usr/etc/getty program for each tty to be used as a LAT/dlogin gateway in a local network. The program is on the software distribution, in the ULTRIX-32 examples directory. The pathname is: /usr/examples/lat/latdlogin.c C.1 Setting Up the Program Before running the program, you must execute an lcp command to define the service and the tty devices to be used for the service. For example: fcp -V -v nodnam -V nlat/dlogin wnodnam gateway lat services -v servicen latdlogin:/dev/tty7,/dev/tty8 The example Icp command reserves the LAT ttys with minor devices 7 8 for use as lat/dlogin gateways. In addition, you must change the tty for entries in /etc/ttys, replacing getty with the name of the program and (latdlogin). For example: tty07 n/etc/latdlogin 2 tty08 vt100 n/etc/latdliogin on nomodem 2 vt100 #lat/dlogin gateway on nomodem #lat/dlogin gateway C.2 Using the Program To use the service, a person at a terminal can use the connect command to establish a connection to a remote node. For example: Local> connect latdiogin node local dest remote As a result, the server would return the following message to the user: Local> LAT TO DLOGIN GATEWAY ON LOCAL CONNECTING TO REMOTE > Followed by the login prompt from remote node REMOTE . When a user logs out from the remote session, the message returned to the user is: dlogin -- local -011- session terminated session x disconnected from LATDLOGIN \ *1 * atdil og Description: i n This sample program acts as a LAT to DLOGIN gateway. With it, a user at a terminal connected to a terminal server can log into remote DECnet nodes without having to log into (or even have an account on) the local * * * * * Setup: system. This program requires that DECnet be installed on your system. It is necessary to dedicate one or more lat ttys to the service. For example, to dedicate ttys 14 & 15 you would need to edit /etc/ttys & change the lines for ttyl4 & ttyl5 to look Ed * * ttyl4 ttyl5 »/etc/latdlogin »/etc/latdlogin std.9600" std.9600" vt100 vt100 on on % * * Then Then do a »kill -HUP 1+ for the change issue an lcp command to advertise * gateway * * lcp -v -V to take effect. the latdlogin service: hostname \ «HOSTNAME"« \ * -v latdlogin:/dev/ttyld,/dev/ttyl5 * -V »lat/dlogin \ gatewayr % * To compile: cc -o latdliogin latdlogin.c * * Example: To access DLOGIN service from LAT CONNECT dlogin NODE hostname DEST Comments: More extensive tty for the parameters terminal: DECnet_nodename £ * * * See * Servers’ getty(8). for See LAT set up could be added (such as defined in gettytap & termcap). 'Guide to Ethernet Communication service set up. */ #ifndef static lint char *sccsid=r@(#)appc.gatewayexample 1.5 9/7/88; #endif #include <sys/ltatty.h> #include <sys/ioctl.h> #include <sgtty.h> #include <ctype.h> #include <sys/file.h> #include <stdio.h> (continued on next page) like: struct sgttyb char hostname[256]; char tty[256] = struct ftattyi |tainfo; LCRTERA long flags int latfd; char *np; main(argc, int char { mode = = { 0, 0, CERASE, CKILL, CRMOD | ECHO 1} ; /dev/"; | LCRTBS | LPRTERA; argv) argc; *argv([],; gethostname(hostname, sizeof(hostname)) ; /* name generate full strcat(tty, /% mode & chown(tty, 0, 0); chmod(tty, 0622); /* change open fatfd /* LAT = get line LICCTTYI, special file */ */ stdin, */ <ainfo); stdout, & stderr */ 0); dup2(latfd, 1); dup2(latfd, 2); tty device */ fieid tty to tty DESTINATION make set of O_RDWR); dup2(latfd, /* owner open(tty, ioct!l(tatfd, /* path argviargc-1]); flags & mode */ ioct!l (0O, TIOCLSET, &flags); ioct! (0, TIOCSETP, &mode); (continued on next page) if (ltainfo.lta_dest_port[0] { /* A /* Upper-case destination it, was != 0) specified then exec in the dlogin. printf(»\nLAT for { request. to DLOGIN gateway on %s connecting hostname,ltainfo.lta_dest_port); (np if = ltainfo.lta_dest_port; */ *np: to %s\nw, np++) (isupper(*np)) *np } connect */ = tolower (*np); execl("/usr/bin/d!ogin","dlogin",Itainfo.I ta_dest_port,O); else { /* No destination printf(*\nLAT to printf(*CONNECT close(latfd); exit(0); specified. DLOGIN dlogin Print gateway NODE %s usage usage: DEST & exit. */ ") DECnet_host\n», hostname) Index E A addnode command editing config file for load host, 2-1 use with nodes data base, 2-6 config file for service node, 2-8 /etc/printcap file, 3-3 C /ete/re.local file for LAT entries, 2-9 /ete/rc.local file for load host, 2-2 ccr command, A-10 to A-12 /ete/re.local file for printers, 3-2 requirements, A-11 using, A-11 command node defined, A-2 config file editing for load host, 2-1 for service node, 2-8 /ete/ttys file for LAT devices, 2-9 /etc/redocal file editing, 2-2, 2-9 letc/ttys file editing, 2-9 Ethernet address, 2-4, 2-7 Ethernet address (hardware) obtaining, A-2 Ethernet network D ; : remote node maintenance functions, A-12 DECnet load host, 2-1 doconfig command, 2-2 examples /etc/printcap files, 3-4 downline load messages, 2-5, 2-7 testing, 2-5 down-line loading initiating, A-4 operator initiated, A-5 to A-7 sequence, A-8 target initiated, A-7 dsvconfig script use with nodes data base, 2-6 H host node defined, A-2 functions, A-1 host-initiated connection program interface, 4-1 host-initiated connection (cont.) printcap file setup, 4-1 editing, 3-3 host-initiated service examples, 3-4 example program, B-1 testing, 3-5 printer hardware characteristics, 3-1 printer spool directories, 3-5 printers matching printer and server Internet load host, 2-1 settings, 3-1 setting up on terminal servers, 3-1 L LAT/telnet gateway, 5-1 setup, 5-1 startup, 5-1 load command, 2-4, A-5 to A-6 prerequisites, A-5 R rc.local file editing for printers, 3-2 reverse LAT connections See host-inititated connection using, A-6 load host network interface, 2-2 S requirements, 2-1 Ita devices server making, 2-8 names defining, 3-2 service node, 2-1 requirements, 2-7 service node circuit ID, 2-7 MAKEDEV command, 2-8 special files, 3-2 terminals, 2-8 spool directories N setting up, 3-5 system network interface rebooting, 2-4 load host, 2-2 setting up, 2-2 T nodes data base, 2-3 target node P defined, A-2 terminal server port names defining, 3-2 downline-loading, 2-4 terminal server load image installing, 2-3 terminal server name obtaining, 3-4 terminal server port settings, 3-1 terminal servers capabilities, 1-1 commands used with, 1-2 prerequisite documentation, 1-2 setup, 2-1 testing printer settings, 3-2 trigger command, 2-4, A-6 initiating down-line load, A-7 prerequisites, A-6 U ULTRIX and terminal servers on an Ethernet, 2-5 ULTRIX-32 examples directory, B-1, C-1 up-line dumping defined, A-8 initiating, A-8 sequence, A-9 user-created LAN service, 6-1 programming, 6-2 setup, 6-1 starting up, 6-1 user-defined service example program, C-1 HOW TO ORDER ADDITIONAL DOCUMENTATION DIRECT TELEPHONE ORDERS In Continental USA in Canada and New Hampshire, Alaska or Hawaii call 800-DIGITAL call 800-267-6215 DIRECT MAIL ORDERS (U.S. and Puerto Rico*) DIGITAL EQUIPMENT CORPORATION P.O. Box CS2008 Nashua, New Hampshire 03061 DIRECT MAIL ORDERS (Canada) DIGITAL EQUIPMENT OF CANADA LTD. 100 Herzberg Road Kanata, Ontario K2K 2A6 Attn: Direct Order Desk INTERNATIONAL DIGITAL EQUIPMENT CORPORATION PSG Business Manager c/o Digital’s local subsidiary or approved distributor Internal orders should be placed through the Software Distribution Center (SDC), Digital Equipment Corporation, Westminster, Massachusetts 01473 *Any prepaid order from Puerto Rico must be placed with the Local Digital Subsidiary: 809-754~-7575 ULTRIX - 32 Guide to Ethernet Communications Servers AA-MEQ98A-TE Reader’'s Comments Note: This form is for document comments only. DIGITAL will use comments submitted on this form at the company’s discretion. If you require a written reply and are eligible to receive one under Software Performance Report (SPR) service, submit your comments on an SPR form. Did you find this manual understandable, usable, and well-organized? Please make suggestions for improvement. Did you find errors in this manual? If so, specify the error and the page number. ODOo0O40Ogao Please indicate the type of user/reader that you most nearly represent. Assembly language programmer Higher-level language programmer Occasional programmer (experienced) User with little programming experience Student programmer ’ Other (please specify) Name Date Organization Street ry* £ 1 N DGR G G SN S s T SR S D S G Y G —— . T - —— —— — - w— o = S |S D No Postage Necessary if Mailed in the United States BUSINESS REPLY MAIL FIRST CLASS PERMIT NO.33 MAYNARD MASS. POSTAGE WILL BE PAID BY ADDRESSEE Digital Equipment Corporation Documentation Manager ULTRIX Documentation Group ZKO3-3/X18 Spit Brook Road Nashua, N.H. i Cut Along Dotted Line 1 [ | ! t | 1 | I { [ | | | | i | | { I | l | | | i | § I I | | | | | [ = ® -] g 5 a - ] @ = [«] e [~ % o} ] [] g ] 2 a i S o i | i § 03063 ULTRIX - 32 Guide to Ethernet Communications Servers Reader’'s Comments AA-ME9BA-TE Note: This form is for document comments only. DIGITAL will use comments submitted on this form at the company’s discretion. If you require a written reply and are eligible to receive one under Software Performance Report (SPR) service, submit your comments on an SPR form. Did you find this manual understandable, usable, and well-organized? Please make suggestions for improvement. Did you find errors in this manual? If so, specify the error and the page number. Ooogod Please indicate the type of user/reader that you most nearly represent. Assembly language programmer Higher-level language programmer Occasional programmer (experienced) User with little programming experience Student programmer Other (please specify) Name Organization Street Date b No Postage Necessary if Mailed in the United States BUSINESS REPLY MAIL FIRST CLASS PERMIT NO.33 MAYNARD MASS. POSTAGE WILL BE PAID BY ADDRESSEE Digital Equipment Corporation Documentation Manager ULTRIX Documentation Group ZKO3-3/X18 Spit Brook Road Nashua, N.H. N GXm eme AN S N GO GED GNB GED G eOT CEEN GND EED TN GREN GEP GEE G Cut Along Dotted Line THD GhoR ST SR SLm GED D GG S | [ § ! § { | [ i i | | l i { { i I i | i | | | | | | | o i } I | [ l | | 2] g 3 =% =] » fon 3 o, ® e s] 2] -3 [ |- Z e i ol S | I i ¥ 03063
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies