[comp.sys.sgi] Streams under IRIX?

dale@lamont.ldgo.columbia.edu (dale chayes) (03/28/91)

In article <93971@sgi.sgi.com>, vjs@rhyolite.wpd.sgi.com (Vernon Schryver) writes:
> 
> > > for information on communicating across the network from within a program.
> > ...
> > You should also look at the Streams mechanism if you are starting from
> > scratch, it might be appropriate to use the "modern" methods.
> 
> 
> Well, STREAMS won't help much with Silicon Graphics TCP/IP since IRIX is
> currently and in the forthcoming release firmly socketed.
...lines deleted....

	I guess that I don't understand Vern's comment about not
helping much under IRIX. What I said was "...have a look at this other
mechanism too, as it MIGHT be appropriate....".  I also put modern in
quotes (to imply that I'm not convinced either.)

	The reason I mentioned Streams at all was because, while checking
through my SGI manuals, I FOUND THE STREAMS Primer and STREAMS
Programmer's Guide.  Trivial further investigation produces man pages
for clone() and streamio(7) on my system.  From this (admittedly
weak) evidence, I _assume_ that Streams is supported.

	I had a look at the eoe2 tape to see if there was a optional
module that has to be installed, but found nothing that looked
remotely like streams.

	So, is Streams there or not? (in 3.3xx)

Dale-- 
Dale Chayes Lamont-Doherty Geological Observatory of Columbia University
Route 9W, Palisades, N.Y.  10964	dale@lamont.ldgo.columbia.edu
voice:	(914) 359-2900 extension 434	fax: (914) 359-6817

vjs@rhyolite.wpd.sgi.com (Vernon Schryver) (03/29/91)

In article <3542@lamont.ldgo.columbia.edu>, dale@lamont.ldgo.columbia.edu (dale chayes) writes:
> > 
> > Well, STREAMS won't help much with Silicon Graphics TCP/IP since IRIX is
> > currently and in the forthcoming release firmly socketed.
> ...
> 	So, is Streams there or not? (in 3.3xx)


Silicon Graphics has been shipping SVR3 STREAMS for a long time.  I think
they were in 2.5/3.5, and I know they were in 3.6 (for the IRIS 3000
series).  I put them in for reasons of varying validity, including the
notion that it was the easiest way to implement PTY's, and the fact that
the STREAMS tty's on the 3000 were 12 times faster than the SVR0 clists.
As far as I know, we were shipping STREAMS TTY's before anyone else,
including AT&T and the solar guys.  This is nothing to brag about, because
the hacks I came up with to make STREAMS tty's pass SVID are amazingly
close to the independently invented solar hacks, but they are not
identical.  Our line discipline module is also amazingly similar on the
outside, but also not identical.  Someday we may take the SVR4 punishment
for being early.

We only changed the SVR3 STREAMS head and utility code to work in our
symmetric-MP kernel, to pass the AT&T SVID, and to work in a lot of places
where AT&T thought "x->foo |= bit" is a non-interruptable operation on all
hardware.

One of the reasons for doing STREAMS ttys was to help decide how to get
good TCP/IP.  Ultimately, we chose to do a straight 4.3BSD to SVR3
shoehorn.  This means we have STREAMS for tty's and for any drivers
customers or third parties write, but we have sockets for networking.

Thus, if you want TCP on an IRIS, you're stuck with sockets, for at least
the next release or so.  It could be worse; check the ttcp performance
numbers on localhost when you get 4.0.



Vernon Schryver,   vjs@sgi.com