XEROXBUSINESS SYSTEMSSystems Development DepartmentTo:Gateway AdministratorsDate:March 23, 1981 12:13 AMFrom:Hal Murray Org:SDD/CommSubject:Gateway Parameters Filed:[IVY]Mesa6>GateParameter.pressThis memo describes the details of the parameter file used by the Mesa 6 version of the AltoGateway program and the Rubicon version of the Pilot (Pup) Gateway.1. Conventions for Parameter filesThe Gateway program uses the Tools routines to parse parameter files. Each section of a parameterfile begins with a line that looks like:[SectionName]Each section is composed of a collection of lines with the following format:tag: valueA blank line marks the end of a section. Beware, a line without a : is also considered to be an endmarker. In most places, case is ignored.There are no general provisions for comments within a section. You can put almost anything you wantbetween sections. Most routines in the Gateway that look in parameter files will treat a line whose tagbegins with a ; as a comment. Normally, when a routine in the Gateway recognizes a line from theparameter file as something significant, it prints it back out in a slightly different format so that youcan easily tell how it interpreted the input data. This is helpful when you are trying to make surethat you didn't leave out a : which would cause it to terminate scanning prematurely. Most routinesthat scan a parameter file print a message when they encounter an unrecognized tag. This can beused as a comment that appears in the typescript file.2. User.cmThere are normally two sections used in User.cm. The first tells the Gateway program the name ofit's parameter file. It looks like:[Indirect]ParameterFile: hostname.txtWhere hostname is the name of your Gateway.If you are running in Alto mode, you need a second section. It looks like:[TOOLS]Bitmap: [x: 32, y: 128, w: 544, h: 350]ToolsFont: SysFont.strikeYou may, of course, adjust the size and/or location of the bitmap. These parameters work.If you are running under Pilot/Tajo, you can start the Gateway automatically when the volume isbooted by including the following lines:[Tajo]Initialize: PilotGatewayIf you want to boot the volume without starting the Gateway, use the N switch. If you don't havethis line (or you have booted with the N switch), and now want to start the Gateway, Run%D`vp!^Bqi O\rX Xst)s-t Tst )s-t Qqstu)s-t' K>S IC E-u" BItS @(?Ar t =L<8rtr :t*rtr 90t" 67s$ 4tTr 2t/2 1yi /"B .q[ ,W +i6 &u #tK "s$ v krv trt K~v'v t3'  ,3 (v  t V y> & 2>/YGateway Parameters2PilotGateway/I. If you forget the I, all of the various Tools that are included in the Gateway willcome up Active.3. Gateway section (Alto mode)The [Gateway] section of the parameter file contains the details of the hardware configuration andvarious parameters that pertain to the operation of the whole machine rather than a particularserver.If you have a debugger installed on your disk, the Mesa system normally reserves some memory forthe debugger to use for it's bitmap The following line returns the space to the Gateway program.Kill Debugger Bitmap: TRUEStarting things from the Exec with Gateway/k will do the same thing. If the value is anythingexcept TRUE, the line doesn't do anything. If you have a 256K machine it is reasonable to givesome memory to the Debugger. It sure makes running the Debugger go faster. If you don't have adebugger on your disk, you don't need this line.The system buffer pool is shared by all of the processes using buffers. If you want to change it, forexample to save memory, add a line like the following:Buffers: number-of-buffersThe default number of buffers for the system buffer pool is 25. If you have fewer than 25 buffersin the pool, you will probably run into performance problems if your Gateway has several phonelines or more than one Ethernet. The system also allocates an additional 4 buffers for eachChainedEthernet, 2 for each normal (unchained) Ethernet, and 2 for each SLA line.In order to keep the typescript file from filling up the disk, add a line like the following:Typescript: number-of-pagesThis line starts another process that watches the size of the typescript file. When the size of the fileoverflows the specified number of pages, the output pointer is reset to near the front of the file.The pages are not deleted -- you can still see their old contents by using FTP to move the file toanother machine. Unfortunately, you can't see anything beyond the current write pointer in thedisplay window. 100 pages fits in Bravo or Laurel.The system heap is shared by all of the processes in the machine. It is used to hold the name servercache, the Boot Server table, the parameters for HostWatcher, and all the information needed tokeep the Tools windows displayed correctly. A line like the following allocates a large block ofstorage for the heap.ExpandHeap: number-of-pagesIf you don't expand it during initialization, you may run into troubles with memory fragmentationafter the Gateway has been running for a while.The Gateway program normally needs special microcode to work properly. To load it, include aline like the following:Microcode: filenameDon't forget to put the file on the disk. MesaGateCPChain1822.br contains support for 3Chained Ethernet boards, and the BiSync portion of the CommProc microcode. It also supports an 1822interface to the Packet Radio. MesaGateCPChain.br includes all of the CommProc microcode, but itonly supports 2 Chained Ethernets. Use MesaGateEIAChain.br if you have an EIA board. Itsupports 3 Chained Ethernets, and the BiSync portion of the EIA microcode.In order to tell the Gateway the numbers of the networks that it is connected to, you must includeone of the following lines. If you have more than one Ethernet, you must include one line for eachnetwork.ChainedEthernet: net host boardEthernet: net host boardMost Gateways will use the ChainedEthernet. net is the network number that the board isconnected to, host is the host number of the machine, and board is the board number. The fuG bt?& ` \u Xtvt6 W^7' U RP Q+aOv N#t#vt- LvtT KK I0 Fk>( D6Ccvw At%= @[L >1+ =SHst :'M8v w 7t-< 5Y 44. 2B 13 -A$ ,_!> *P )W'v w &Ot[ $/ !F v w tvt Ls  tvt (vtst v =StI ;N 8Js 75v42 1!/. ,>*4){C'#&s #GtG !V 7u  tvt6 7'  >( T6vw Lt%= L D1+  y>/]IGateway Parameters4In order to keep the typescript file from filling up the disk, add a line like the following:Typescript: number-of-pagesThis line starts another process that watches the size of the typescript file. When the size of the fileoverflows the specified number of pages, the output pointer is reset to near the front of the file.100 pages fits in Bravo or Laurel. The process that watches for the file to get too big also forces thebits out to the disk occasionally, so you should include a Typescript line even if you want thefile to get huge.The system heap is shared by all of the processes in the machine. A line like the following allocatesa large block of storage for the heap.ExpandHeap: number-of-pagesThis isn't very important in Pilot.In order to tell the Gateway the numbers of the networks that it is connected to, you must includeone of the following lines. If you have more than one Ethernet, you must include one line for eachnetwork.Ethernet: board netEthernetOne: board netEthernet is for 10mb Ethernets. EthernetOne is for the older 3mb (Alto) Ethernets. board isthe board number. net is the network number that the board is connected to. The first board isnumber 1. For an EthernetOne, the host number comes from the switches on the boards.The Pilot Gateway normally turns on the OISCP forwarder. In order to bypass this, you mustinclude a line like the following in your parameter file.Activate OISCP Router: FALSESince Gateways frequently run unattended, the following line can be used to turn off the displaywhen the Gateway program starts.Turn Off Display: TRUEIf you put it at the end of the Gateway section, you can watch the other messages as they areprinted. (You can, of course, turn the display back on with Ctl-LeftShift-D.) On a D0, it isn't veryimportant to turn the display off.For reference, here is the appropiate section of Glypnod's parameter file.[Gateway]Ethernet: 1 74EthernetOne: 1 60EthernetOne: 2 25Buffers: 50ExpandHeap: 30Typescript: 10005. Passwords for Dialup linesA password mechanism is available to prevent unauthorized people from using the Xerox internet bycalling into a port that is set up to automatically answer. There are three steps needed to enable thisfeature.First, use the PasswordTool (it's normally inactive) to compute the encrypted form of the desiredpassword. The encrypted form includes the time, so don't be surprised when you don't get the sameanswer if you try a second time.Second, update the [Gateway] section of the parameter file on the Dialin Gateway to mark theappropriate line(s) as needing a password, and enter the encrypted form of the password. Thefollowing lines will set up line 3 to use the password "testing":CommProc: ....DialinPassword: 172427 11553 125426 113132 10327 14616 142642 150070 fuG btM`v w _t-< ]Y \h Z:v t Y U#C TV&Rv w QNt# N# W L-6 KIv wHv w Fvtv t&wt E wt2 CI @[8# >9=Sv :'t7) 87v 5tI 4a 2" /hJ-v,_ *)W' &O $ ?u t^ %C    S \J  vt4 )G A v  ( U?/]<Gateway Parameters5LineNeedsPassword: 3The LineNeedsPassword entry must come after the CommProc or EIA line.Third, add the line "SetupDialoutPassword: TRUE" to the [Gateway] section of theparameter file on the Dial out Gateway. Whenever the Gateway is restarted, this will create aDialout Password Tool so that you can enter the password. You must (re)enter the password eachtime the Gateway is restarted since it is not stored in any file.6. TimeServer sectionIn order to activate the TimeServer, you must specify 3 parameters. Twinkle's TimeServer sectionlooks like this:[TimeServer]ZONE: +8:00DST: 121,305CORRECTION: -2The ZONE parameter is used to specify the local time zone. + is west of Greenwich. The Pacificzone is 8, and the Eastern zone is 5. The number after the : is for the few places that use half houralignment. It is the number of minutes to be added to the hours. The DST parameter specifies thefirst and last days of daylight savings time. The above numbers are correct for most places in theU.S.. If you don't want to use daylight savings time, set them both to 367. The CORRECTIONparameter is used to fine tune the clock. Its units are in seconds per day, and a positive numbermakes the local clock go faster. It isn't supported on Pilot yet (it is ignored), but you still need tospecify it to activate the Pup Time Server. If you have a machine with a flakey clock (for example,a D0 with an old Misc board), an easy way to keep it from polluting the net is to leave out theCORRECTION parameter. An easy way to do that is to change it to be "*CORRECTION".If you are just setting up a boot server, please do not activate the time server unless you are goingto take the time to check the clock. The problem is that it's clock will drift, then the badinformation will get used by a nearby gateway as it restarts after a crash, and then it will propagatearound the net when the next gateway crashes.7. TimeChecker sectionIn order to help calibrate clocks, the Gateway program includes a process that compares the localtime with that from another time server. It puts a line into the typescript file every hour. It needsa section that looks like:[TimeChecker]Target: targetTwinkle and Maxc are good machines to use since their clocks are well calibrated. If you are manyhops from Palo Alto, you should probably use a closer machine.If your machine and the target machine have both been up for several days, you should be able tocompute the most significant portion of the clock correction. It takes a week or two to get the loworder bit. Synchronizing with WWV or the phone company time server also helps. The typescriptfile wraps around reasonably often, so you should write down the starting information if you aretrying to make a long run.8. BootServer sectionThe Gateway program also includes a boot server. This is where the programs come from when youboot an Alto while holding down the backspace key. The boot server also provides microcode to geta D0 going if its disk is not ready or the microcode on it is broken. The MesaNetExec can also beused to load Othello from a boot server. It does this by retrieving microcode and a germ from aboot server, and then starting the germ such that it will load Othello over the Ethernet. Similar fuGbv `tvtvtvt ]nvtvt [M Zf>! XA TVu Q+t(9 ON#v L K I Htvt; Ff E (vt C21 BRv @~tP >V =v,8 ;B :nv t#v t 7B_ 5I 4:O 2- .*u *tG ){16 '&sv $w #jtI !> Q 7I st- /1/  u tQ oQ F g` D >/]oLGateway Parameters6facilities are also provided for Dorados. The [BootServer] section looks like:[BootServer]comment: number boot-file-namecomment: number boot-file-namecomment: number boot-file-namecomment: number boot-file-name.....The comment is currently ignored. Someday that field may be used to distinguish variousproperties of boot files, for example, does it have a software checksum.The master list of boot file number-name pairings is kept on [Maxc2]BootDirectory.txt.Boot servers exchange information with their neighbors every hour or so. If they notice a newerversion of a boot file (that is in their list) they will try to retrieve a copy of it. This is how newversions of DMT.boot propagate around the net. Unfortunately, this only works if all intermediateGateways have a copy of all of the interesting boot files. To circumvent this restriction, the bootserver makes a long range scan every 24 hours or so. A long range scan checks for new files onboot servers on every net within 3 hops.Boot files with numbers of 100000 or over do not propagate. It is a good idea to keep a file namedHostName.boot with a number of 100000 on your machine so that you can test the boot server.When the boot server is retrieving a new copy of a boot file (or you are storing it with FTP), thefile is first written into a temporary file. This is to keep from trashing things in case something failsbefore the transfer finishes. This means that you must maintain suficient free space on your disk fora second copy of the largest boot file that will get updated. The largest Alto file is 256 pages, butOthello.pb is over 400 pages. You also need another 100 pages for the system.When you store a new copy of the parameter file (via FTP), the boot server will see it arriving, andrecycle itself in case you have updated the [BootServer] section. You do not have to restart theGateway for it to notice the new parameter file.9. FTP ServerThere is an FTP Server built into the Gateway. Anybody can retrieve any file, but you need to getpast the password checker before you can store (or delete, or rename) a file.First, the FTP Server searches a table of name-password pairs. To add an entry to the table, includea line like the following in the [FTPServer] section of your parameter file.Password: username number..numberYou can add as many entries as you need. You can use the PasswordTool (its normally inactive) tofind the necessary octal numbers.If the FTP Server doesn't find a match in the table, it tries to use Grapevine to verify passwords.As well as providing a valid name-pasword pair, the username must also be a member of the group(distribution list) hostname.internet. Grapevine expects all names to include a registry such asPA, or WBST. If you want to specify a default, include a line like the following in the[FTPServer] section of your parameter file.Default Registry: registryregistry will be appended to the username provided by FTP if the username doesn't alreadycontain a period. IFS and Maxc will happily ignore a registry if you provide one, so it's also easy toset up your disks so that your name already includes the registry. My disks all think my name isMurray.PA. fuG bt/v t`v _wvw]vw\vwZvwYv WtwtJ UH R<% O<$ N#\ LC K:* I_ H( D$? CcwvtF @7b >P =/7/ ;J :'N 6>& 5x,v t 30 /hu ,tP =S:wt ;Dvts :K tC 8W 57-4vw 2vw1vw/vw.vw ,v w *tR ){$sG ' $t#v t%#Gv ! ?! 7 / ' ! t;w  >/]o/Gateway Parameters8recipients in the To line, with copies to the list-of-recipients in the cc line. A serverthat does not respond is not considered down unless HostWatcher can still contact the last Gatewaythat was used to contact the server the previous time. If HostWatcher notices that a server is full(by matching the error text from a built in list) it sends a message to the list-of-recipientsin the Full line, with copies to the list-of-recipients in the cc line. If no Full line wasspecified, it doesn't send any message.Gateways are a special case for HostWatcher. Messages will be sent about Gateways if the networktopology changes in an interesting way. This happens, for example, if a phone line used as analternate path to the target Gateway goes up or down.When you store a new copy of the parameter file (via FTP), HostWatcher will see it arriving, andrecycle itself in case you have updated the [HostWatcher] section. You do not have to restartthe Gateway for it to notice the new parameter file.Beware: You can get a lot of mail from HostWatcher if the network is confused. Don't use if if youdon't like junk mail. I have tried to sort out the stupid cases, but it still makes mistakes when aGateway goes up or down just as HostWatcher is poking a server on the other side of the Gateway.11. TrapBadPups sectionThe Gateway program contains a pile of kludgery to process Pups that have a bad softwarechecksum. These are frequently caused by bad RAM chips in Alto Ethernet interface boards sincethe CRC doesn't detect errors they make.When a Pup with a bad software checksum arrives, it is put on a special queue. If they arrive morefrequently than once every 10 minutes on the average, they are discarded. Another process appendsa message into the typescript file and optionally sends a message to a list of people. The followingis a sample message:Date: 11-Mar-81 1:43:07 PSTFrom: Murray.PA (on RoyalArches)Subject: Bad Checksum infoTo: Murray.PAcc: Cude.PA11-Mar-81 1:42:49 ***** Bad software checksum on Pup from net 74Bad pup number 1 has a checksum of 74161, but it should be 73160Encap: 177777 177777 177777 0 0 24046 1000Header: 226 0 0 22760 36000 0 2 36332 0 2Body: 460 51404 1060 51404 1460 51402 2460 51402 3060 51402 3460 51401 4060 51402 4460 51402 5060 51404 5460 51404 6060 51403 7460 51404 10460 51404 11060 51404 12060 51401 12425 155000 13060 51404 13460 51403 14060 51406 15460 51404 16060 51404 20060 51404 20460 51404 22460 51405 23460 51403 26060 51402 26460 51403 27060 51403 30060 155000 30460 51403 31060 51403 31460 51403In order to interpret the information, you have to know what type of Ethernet the Pup came from.If it is a 3mb Ethernet, then only the last 2 words of the encapsulation are interesting. Net 74 is a10mb Ethernet -- all 7 words are relevant. The above example appears to be a broadcast of arouting Pup from Glypnod (24046 74#332#). Be careful when trying to interpret the informationin the packet since it is known to be damaged.To activate the mailing option, add the following section to your parameter file:[TrapBadPups]Troubles: mail-system-name fuG bw tvtwtvt `Y _\ ]1w \tvtwtvt vt Z' W^ U U'7 TV5 Q+/1 O v t% N#4 JrP IstL GA Ccu @7t< >.st  =/st! :N 8b 69, 5x 2Lv 0 /D - ,< )4C '@ &,8 $M #$M !M M M M M  # tX \33 W TF . Q v  w U@]:Gateway Parameters9To: list-of-recipientscc: list-of-recipientsWhen a Pup with a bad pup arrives (and gets past the too-often filter), a message will be sent to thelist-of-recipients in the To line, with copies to the list-of-recipients in the cc line.Beware: You can get a lot of mail if a machine is broken. Don't use if if you don't like junk mail.Revision history:March 10, 1981, Split out from AltoGateway memo fuGbvw`vw _t+: ]wtvtwtvt ZfrG StX2P/ Pz>/HLOGO TIMESROMAN  TIMESROMAN  TIMESROMAN TIMESROMAN  TIMESROMAN GACHA GACHA   ) 29 BDj/G E峍GateParameter.bravoMurray.PA, HalMarch 23, 1981 12:15 AM