Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.3 alpha 4/15/85; site ucbvax.ARPA
Path: utzoo!watmath!clyde!burl!ulysses!ucbvax!tcp-ip
From: tcp-ip@ucbvax.ARPA
Newsgroups: fa.tcp-ip
Subject: Re: tftp for bootstrap
Message-ID: <8803@ucbvax.ARPA>
Date: Fri, 5-Jul-85 13:15:26 EDT
Article-I.D.: ucbvax.8803
Posted: Fri Jul  5 13:15:26 1985
Date-Received: Sat, 6-Jul-85 10:59:37 EDT
Sender: daemon@ucbvax.ARPA
Organization: University of California at Berkeley
Lines: 38

From: lewis 

We have been using a loader server for several years to load TIUs, BBN
and Jeff Mogul also use versions of it to load GWYs. In our user testbeds,
the same physical hardware is a multifunction box, depending on which
module is loaded. We have found that the users often complained that
the server was down, when in fact they specified improper file name
syntax. This caused us to come up with two changes.

There is a data base on the server hosts, which maps requestor's
internet IDs to load file names (TOPS20 or Unix pathnames, depending on
server).  Wildcards in the database for Internet IDs exist to shorten
the list.  A default load then retrieves the file found in the
database.  In addition, Internet IDs with or without wildcards can be
paired with another database file name, allowing separation of database
administration for different hosts and ranges of hosts. Alternatively,
the user can specify a file name to be loaded from the server.

The first change involves finding the file to boot. If the user specifies
any file, the database is not queried. To make it easier for the user
to remember how to specify file names, we now allow suffixes to be left
off and uppercase is converted to lower, and preceding blanks
( MYLOAD is myload.ext). In this case the default directory is searched.
If the file name requested begins with a system directory delimiter,
"<" on TOPS20 or "/" on Unix, the server takes the request literally,
for people who supposedly know what they want.

The second change, not implemented yet, is to return a text string to
indicate the status. Currently, if the file is not found, the only
perception the user has is the three minute timeout. The string packet
should probably be allowed asynchronously with loading progress.
It could report (file not found / illegal file name / file broken / etc.).

The servee code resides in about 6K bytes nonvolatile memory, and the
internet address is used as the database key for default booting.
Probably some mechanism for privacy/accounting should be considered.

-Mark Lewis