Heading:
GateControl
Page Numbers: Yes X: 527 Y: 10.5"
Inter-Office Memorandum
ToGateway AdministratorsDateFebruary 28, 1979
FromDavid BoggsLocationPalo Alto
SubjectGateControlOrganizationParc
XEROX
Filed on: [Ivy]<Portola>GateControl.bravo
This memo describes GateControl, a program which allows you to remotely control and monitor Pup gateways.
Operation
GateControl opens five windows on the Alto screen. The top window displays the release date of the program. While monitoring a gateway, the next window displays the gateway’s name and address, version text, server summaries, and transit matrix, updated every few seconds. The next window contains a command menu. The window below that simulates a teletype. The bottom window displays error messages, blinking once before each message to get your attention.
GateControl obtains much of its information from the normal servers in the gateway. Most commands use simple ’connectionless’ protocols which do not perturb the gateway very much and permit several people to run GateControl and monitor the same gateway.
Commands
A command is triggered by clicking the RED mouse button over its name in the menu window. The command lights up when the button is depressed, and takes effect when the button is released. If you change your mind, move the cursor off the command before letting up on the button. For commands that require confirmation, YELLOW as well as the traditional keyboard keys work. DELETE aborts any command if it is expecting you to type something. Most of these commands apply to the ’current gateway’ whose statistics are being displayed in the top window. Some commands replace the current menu with a subsidiary menu of specialized commands. One of these special commands is always ’TopLevel’, which returns to the main menu.
Quit
Returns to the Alto Executive. Requires confirmation.
Gateway
Prompts you for an address and sets the current gateway to it. Since gateways by definition have more than one address, you can influence (though not totally control) the route of GateControl’s packets by your choice of address. Commands that only make sense when talking to a gateway aren’t included in the menu until you give this command; until then the remaining commands generate broadcast Pups and any responses printed are those of the first host to answer.
Route
Creates a subsidiary menu of routing protocol commands:
ForeignRoutingTable
Obtains and displays the routing table from the current gateway.
LocalRoutingTable
Displays the routing table being used by the Pup package inside GateControl. You can deduce the route of GateControl’s packets by pondering this table and the routing tables obtained from gateways with the ForeignRoutingTable command.
Echo
Creates a subsidiary menu of echo protocol commands:
Checksums
Toggles the checksum flag. When this flag is true, outgoing packets contain a checksum and incoming packets checksums are checked.
CheckData
Toggles the CheckData flag. When this flag is true, the data in incoming packets is checked.
EchoUser
Prompts you for an address and sends echo packets to it until you type any key. Each packet gets bigger by one byte, up to a maximum size Pup, and then starts over at zero. "!" means the correct echo came back, "#" means a delayed out-of-order echo arrived and "?" means no echo arrived within 2 seconds. When the test is stopped, the number of echos sent, the number of good echo replies, and their ratio are displayed.
Name
Creates a subsidiary menu of name lookup protocol commands:
NameToAddress
Prompts you for a name, sends it to the name lookup server in the current gateway, and displays the resulting address list.
AddressToName
Prompts you for an address, sends it to the name lookup server in the current gateway, and displays the resulting name.
NameServerStats
Asks the name server in the current gateway for its statistics.
NetDirVersion
Asks the name server in the current gateway for the version number of its local copy of the network directory.
Boot
Creates a subsidiary menu of boot protocol commands:
BootFileDirectory
Asks the boot server for its boot file directory. For each boot file which the server has, it returns its name, number and creation date. Note that if the boot server’s parameter file mentions a boot file, but the server doesn’t have a copy yet, it will not be included in this directory.
BootServerStats
Asks the boot server in the current gateway for its statistics.
Time
Creates a subsidiary menu of time protocol commands:
AltoTime
Asks the timer server for the time in Alto format. It is printed as if GateControl were located in the time zone of the server.
TenexTime
Asks the time server for the time in Tenex format. It is printed as 6 bytes.
StringTime
Asks the time server for the time in String format. Not all time servers implement this format.
TimeServerStats
Asks the time server in the current gateway for its statistics.
ResetTime
Prompts you for an address and commands the time server in the current gateway to reset its internal calendar clock from the time server at that address.
Level0Stats
Displays a subsidiary menu consisting of the numbers of all of the networks to which the current gateway is directly connected. Bugging a number causes GateControl to ask for the statistics for that network. Not all network drivers collect statistics and those that do usually do so only if a compile-time switch is set, since gathering them costs execution time and code space.
Enable/Disable
Commands which can alter the operation of a gateway rather than just monitor it are not included in any menus until you give this command and enter the proper password. If GateControl is ’enabled’, then the top level command menu contains a ’disable’ command.
StoreFile
Stores a local file onto the current gateway’s disk. The command is similar to FTP’s store command, and allows the file to be renamed in the process. If the local file’s extension is ".boot", then if it is a type S boot file, it is reformatted to type B as it is sent. The cursor flips for each 256 word block transferred, and the throughput in bits/second is displayed at the end.
Debugger
Enters a simple DDT-style cross-net debugger for the current gateway. The commands are:
<esc>=set print mode to octal words
<esc>←set print mode to octal bytes
←print the current cell as octal bytes
=print the current cell as an octal word
adr/open cell adr and print contents
<cr>close current cell
<lf>close current cell and open next one
↑close current cell and open previous one
<del>abort current command
Qquit the debugger
HaltGateway
Commands the current gateway to stop. Once you have issued this command you lose control of the gateway and manual intervention at the gateway is required to restart it.
RestartGateway
Commands the current gateway to stop, return to the gateway machine’s Executive, and then restart. To release a new version of the gateway program or to change its parameters, first store the new file(s) on the gateway’s disk with the StoreFile command, and then restart the gateway.
Revision History
July 13, 1978
First release of documentation.
February 16, 1979
GateControl was rewritten, and this memo extensively revised.
February 28, 1979