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 20742dsn@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.ARPAchris@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