[net.ai] using Vax as fileserver for Xerox Lisp machine

ecpearson@watvlsi.UUCP (Eric Pearson) (11/08/85)

We have an eithernet connecting up a set of Vaxen running
4.3. We would like to connect our Xerox 1108 Lisp machine to
this network, so we can use the Vaxen as print & file
servers. 

The problem: the Lisp machine talks PUP and the Vax/Unix
have only the lowest level of PUP support.

We need to find the software (which I know exists) which
will reside on the vaxen in the background and act as a 
File Transfer Program (FTP).

Can anyone give me a pointer to the source of this software ?

		ecpearson@watvlsi
		(Eric Pearson @ University of Waterloo)

dave@ecrcvax.UUCP (David Morton) (11/14/85)

Summary:
Expires:
References: <watvlsi.2785>
Sender:
Reply-To: dave@ecrcvax.UUCP (David Morton)
Followup-To:
Distribution: net
Organization: European Computer-Industry Research Centre, Munchen, W. Germany
Keywords:

In article <watvlsi.2785> version B 2.10.1 6/24/83 (MC840302); site ecrcvax.UUCP version B 2.10.2 9/18/84; site watvlsi.UUCP ecrcvax!unido!mcvax!seismo!gatech!akgua!whuxlm!whuxl!houxm!mhuxt!mhuxr!ulysses!burl!clyde!watmath!watnot!watvlsi!ecpearson ecpearson@watvlsi.UUCP (Eric Pearson) writes:
>We have an eithernet connecting up a set of Vaxen running
>4.3. We would like to connect our Xerox 1108 Lisp machine to
>this network, so we can use the Vaxen as print & file
>servers.
>
>The problem: the Lisp machine talks PUP and the Vax/Unix
>have only the lowest level of PUP support.
>
>We need to find the software (which I know exists) which
>will reside on the vaxen in the background and act as a
>File Transfer Program (FTP).
>

We are also very interested in this software.

Also,
can somebody please give us all a concise description of how
the 1108's (with or without the fileserver) can be effectively
used in a VAX/uVAX II environment. I know that 4.3 will have
XNS support, but nobody has given any details on the net, as
far as I know. The second question is what is PUP (a file
transfer prog. ?) and how comfortable is it to interact between
both systems. I did approach some Xerox people at the Systems
fair here two weeks ago but they didn't seem to know anything
about PUP. In fact they also didn't know that 1185/86 systems
had been announced in L.A. in Aug. which I found really
strange. I believe there are lots of people who would be
interested in answers to these questions but nobody knows where
to turn.  We will be buying two 1108's with a FS in the near
future and we would like to integrate them into our 4.x scene
and make it comfortable for our users. If anyone can take the
time to reply we'd be really grateful. Many thanks for your
help in advance.
-- 

Dave Morton
Tel. + (49) 89 - 92699 - 139

CSNET: dave%ecrcvax.uucp@germany.csnet
UUCP: seismo!mcvax!unido!ecrcvax!dave

steve@tove.UUCP (Steve D. Miller) (11/17/85)

   Important definitions you will need to know to understand the rest
of this article: (if you know Xerox networking at all, skip this...)

	IDP -- Internet Datagram Protocol, the Xerox protocol that
	  most closely corresponds to Arpa IP and the bottom-level
	  protocol for XNS, Xerox's most recent networking implementation.
	SPP -- Sequenced Packet Protocol, the XNS equivalent to Arpa
	  TCP and the "level 2" protocol for XNS.  This is what I
	  believe the current servers et al are working under, though
	  Pup is still supported.
	PUP -- Packet Universal Protocol, Xerox's "old" networking
	  protocol; still used rather heavily by Interlisp.
	Courier -- Xerox's remote procedure call facility, and the thing
	  the programmer sees when writing (or using) Xerox services.
	Services -- the set of distributed facilities (name service, aka
	  Clearinghouse; Authentication; Filing; Printing; etc.) available
	  from Xerox for use with their workstations.  Like I said, this
	  is, as far as I know, the new Xerox networking standard, with
	  PUP moving slowly into the background.  The Services stuff
	  (version 8.0, at this point, though they may have Services 9 
	  by now inside Xerox) still supports PUP connections.
	
   There have been a lot of questions recently about integrating the
XNS world (Xerox) with the Unix world.  I know almost nothing about PUP,
but I've done a good bit of fooling around with XNS (both our local
implementation for 4.2 and the one Keith Sklower's been working on
at Berkeley) under Unix and on the Xeroxes, so maybe I can shed some
light on things.  If I make a mistake, please feel free to scream
and holler...

   OK.  You've probably seen Barry Shein's article on Unix PUP support
for file service and the like already; that's something that I didn't
know about, but definitely worth looking at.  We have Xerox's support
package for Interpress conversion (I think it's called the Interpress
Toolkit), and it's really pretty good; I would bet that the other
Xerox software would be similarly solid.

   Anyway, the support for Xerox networking in the 4.3 kernel consists of an
IDP/SPP implementation that has some hooks in it for Packet Exchange
(basically, a getsockopt that lets you get some unique numbers from the
kernel to use in the "unique id" field of an outgoing PEX packet; you have
to write the PEX stuff on top of the IDP packet, then tack on your own data.
I've done some PEX stuff -- a little program that looks for clearinghouses
on the local net -- and it's sort of a pain but definitely doable).
Evidently, the PUP stuff is disappearing from 4.3 and from Xerox; there is
a limit of 256ish machines on the same network, and since Xerox has more
than that internally, they've got to do *something*...so there's not
much incentive to keep it around.

   On top of the kernel stuff lives some "user-contributed" software,
consisting of J.Q.  Johnson/Cornell's Courier compiler.  It's a wee bit hard
to use, but it's actually easier to write Courier stuff (once you get the
basics down) with it than it is to do so in Mesa under XDE, and he's
implemented a print spooler for Services 8.0 printers, a ftp program
(xnsftp) that will talk from a Vax to a Services file server (though the Vax
has to start the connection; it can't play file server yet), a GAP service
implementation so you can log in to your Xeroxes from vaxes and vice versa
(and, at least with the Intermezzo release, there is a "NSChat" that can be
coerced into talking to a vax without too much work), and some generally
nifty stuff.  There's also Keith Sklower's "nsip" kernel hacks that let you
hook local NS networks together to form a virtual NS internetwork (with Bill
Nesheim's router and the nsip stuff conspiring to send the NS packets across
the Arpanet inside of IP packets).  Basically, the tools exist to do pretty
much whatever you want (in terms of going from a 4.3 machine to your
Xeroxes), though it may take a bit of sweat to get it all running, and
you'll have to write some of your own stuff.

   The situation from the Xerox end is a bit more bleak.  The Xerox services
people are pretty resistant to the idea of giving Mesa services source out,
so it's hard to implement servers (though certainly not impossible, except
for maybe Authentication; unfortunately, that's pretty important...).  Some
of the NS Filing protocol stuff doesn't map well to a Unix filesystem;
Filing could be faked, but it'd take mucho work -- the Xerox Filing protocol
(and the filesystem it describes) is very flexible and very complex.  The
PUP situation is (rather obviously) more bleak, but (at least with their
business software and their development environment) Xerox is moving toward
getting rid of PUP, and it probably won't be long now.  As was also
mentioned, Intermezzo supports TCP/IP (so you could probably write stuff
there that would let you talk to the Unix FTP), and I would think that if
Intermezzo supports TCP/IP now, XDE/Star/whatever would probably do so in
the not too distant future.

  To summarize, the situation isn't hopeless (by a long shot); after all,
I'm typing this rambling mess from my VaxChat window on my XDE Dandelion,
and I go from vaxes to servers probably a few times a day.  If you're
expecting to be able to do all the nice Xerox stuff from day one, you're
probably going to be disappointed.  Still, the only really necessary thing
is the ability to log in to your 4.3 machine from your XDE/Interlisp
machine; from there, you can fire up the Unix Courier tools and do quite a
bit, and if you can xnsftp it from or to a file server, you can go from
there to your workstation.  If you're getting a PUP machine and expecting to
do great things with it and your 4.3 machine, you probably have some
thinking to do.  Interlisp is a *very* nice environment, and compiled
Interlisp is a whole blazing lot faster than normal lisp on vaxen, and it's
really mostly capable of getting the job done with XNS-based networks and
machines...but I think it's still a wee bit transitional.  If I was doing
lisp, I'd say, "hang the vax, I want a Dandelion," regardless of whether I
could log into a unix machine with it (I suggest that someone from Xerox
clarify the situation here; I'm not an Interlisp hacker -- merely an admirer
-- and I'm getting my information secondhand from an Interlisp hacker here).
In case you haven't noticed, I think the Xerox stuff is very good, and just
keeps getting better and better (if they'd just be a bit more open with some
of their deep dark secrets, I think they'd blow the market open), and
Courier is a neat, flexible standard that's probably not a bad place to
start even if you are writing a distributed system that'll never run
anyplace but on a Unix machine.  I hope that what I've said will help to
dispel some of the fog, and if I can answer any more questions, please feel
free to drop me a line and I'll see what I can do.

	-Steve
-- 
Spoken: Steve Miller 	ARPA:	steve@mimsy.umd.edu	Phone: +1-301-454-4251
CSNet:	steve@umcp-cs 	UUCP:	{seismo,allegra}!umcp-cs!steve
USPS: Computer Science Dept., University of Maryland, College Park, MD 20742

dsn@rochester.UUCP (Dana S. Nau) (11/18/85)

In article <354@tove.UUCP> steve@tove.UUCP (Steve D. Miller) writes:
>... If I was doing
>lisp, I'd say, "hang the vax, I want a Dandelion," regardless of whether I
>could log into a unix machine with it (I suggest that someone from Xerox
>clarify the situation here; I'm not an Interlisp hacker -- merely an admirer
>-- and I'm getting my information secondhand from an Interlisp hacker here).

I'm not so enthusiastic.  I have a Dandelion at U. of Maryland, but I've
pretty much given up on it.  Here's why:

(1) I'm used to digging in and learning things on my own, but I found it
pretty difficult to learn Interlisp from the Interlisp manual--especially
without the availability of source code.

(2) On my machine, Interlisp crashed quite often--and every time it crashed,
Interlisp had to be re-installed by booting XDE and using an XDE tool
to read Lisp from the file server.

(3) Every time we reinstalled and rebooted Interlisp, we found that it had
lost the files on the local disk.  This isn't supposed to happen--and
doesn't happen on the other Maryland machines that run Interlisp.  Nobody in
my department could figure out what was wrong, and about the only support
that Xerox gave us was to say "wait and see if things get any better when
you install the next release."

At this point I gave up.  I'd be willing to reconsider if some of these
problems were solved--but so far, it doesn't look like that's going to
happen.
-- 
	Dana S. Nau (dsn@rochester)
	from U. of Maryland, on sabbatical at U. of Rochester

root@topaz.RUTGERS.EDU (Charles Root) (11/19/85)

We think Xerox is still not very close to being able to remove PUP
support.  From the user's point of view, PUP is much more useful than
you suggest.  First, I don't know what you mean when you say it is
vanishing from 4.3.  It wasn't in 4.2 to begin with.  PUP is
distributed separately from 4.2, as a set of modifications that have
to be added.  It consists of a set of user-level code, a device
driver, and a couple of very small hooks in the Ethernet device
driver.  It was carefully designed to be as separate as possible from
the rest of the kernel.  I find it hard to believe that 4.3 is doing
anything that would make it impossible to install the modifications.
I realize that 4.2 has some modules that seems to be related to PUP.
These modules are not used by the actual PUP implementation, so their
removal would not cause any problem.  The PUP implementation uses
/dev/enet, which is a general-purpose Ethernet packet filter.  It
allows the user to specify tests that define what packets he is
interested in seeing.  Thus it can be used to implement any protocol.
In fact, we use it here to implement PUP, PUP Arp, Internet Reverse
ARP, and a small subset of XNS (nothing exciting, just time of day and
telling Interlisp workstations what their PUP host number is).  The
hook into the kernel effectively reorganizes the switch statement in
the packet-input routine so that any packet not otherwise recognized
is sent to the /dev/enet driver for processing.

Second, as far as I know, PUP is the only protocol currently used by
Interlisp that supports random access.  This means that TCP/IP is not
a replacement for it.  Unless something has changed recently, XNS
isn't either.  

Third, even if XNS were a replacement, sites such as ours would need a
portable implementation of an XNS file server on Unix.  I note that
this is still absent from the list of XNS support you gave.  In order
for us to use it, we would have to be able to port it to the Pyramid
90x.  The XNS situation is certainly getting better as time goes on,
but at the moment Xerox has not done what is necessary to replace PUP
with XNS.  We know that this is a goal, but we trust that they will
not be sufficiently suicidal to remove PUP from Interlisp before all
of their customers are able to replace its functionality with
something else.  What I am hoping for is a file server protocol that
supports random access and runs on top of TCP/IP.  The PUP file server
protocol (LEAF) runs on top of PUP's equivalent of UDP.  It could
probably be moved to work on top of UDP without too much trouble.

darrelj@sdcrdcf.UUCP (Darrel VanBuer) (11/19/85)

PUP stands for PARC Universal Packet.  Conceptually, its very similar to IP
in TCP/IP and the IDP in XNS, i.e. it's an unreliable datagram delivered
through an Internet of some kind.  Like IP and XNS, there is a complete
suite of services layered on top of PUP.  These include PUPFTP, PUPTelnet,
PUPMisc (a random collection of little services like time, name and address
translation) and Leaf (a protocol for random access to files, currently the
ONLY Interlisp-D network protocol for random access).  PUP grew up with the
Alto and the experimental (3Mbit/sec) Ethernet.  PUP would be obsolete but
for one thing--it works very well and provides a very rich set of services.
Its biggest weakness is its addresses, only 8 bits each for network and
host.  There are implementations for Tenex/TOPS-20, VMS and VAX Unix
4.1/4.2.  Xerox AISBU sells the VMS package (or did) and can make the Unix
implementation available (most of the work was done at universities and
research institutes in the old Alto days).  The one misfeature of the 4.2
implementation is that it is not integrated with the socket abstraction
because of the way it was carried over from earlier systems.

XNS -- The 4.3 rumors I've heard say 4.3bsd will have XNS including sending
files to a Xerox print server, and sending and retrieving files from a Xerox
file server (but not emulation of an XNS file server, so getting a file from
VAX to workstation would have to go via a Xerox server).  The biggest
weakness of the Xerox file server has been lack of protocols for random
access to files, but Xerox is now testing some internally, so in a few
releases...

-- 
Darrel J. Van Buer, PhD
System Development Corp.
2525 Colorado Ave
Santa Monica, CA 90406
(213)820-4111 x5449
...{allegra,burdvax,cbosgd,hplabs,ihnp4,orstcs,sdcsvax,ucla-cs,akgua}
                                                            !sdcrdcf!darrelj
VANBUER@USC-ECL.ARPA

chris@umcp-cs.UUCP (Chris Torek) (11/20/85)

If `/dev/enet' is implemented as hooks in the device drivers, it
should continue to work in 4.3.  However, the 4.2 `netpup' code
(which did not really work) moved to the `deprecated/netpup'
directory.

The structure of network addresses (mainly `struct ifnet') is
radically different in 4.3; this is necessary for real kernel
support of other protocols besides TCP/IP.  Consider, e.g.,
the `net' and `host' fields in the 4.2 net/if.h.

I know practically nothing about what PUP support is required
for Interlisp; but we have no PUP support here, yet still use
Dandelions and Dandytigers running Interlisp.
-- 
In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 4251)
UUCP:	seismo!umcp-cs!chris
CSNet:	chris@umcp-cs		ARPA:	chris@mimsy.umd.edu