*BSD News Article 34946


Return to BSD News archive

Xref: sserve comp.unix.internals:7608 comp.unix.solaris:21725 comp.unix.sys5.r4:8204 comp.unix.bsd:14709
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msuinfo!agate!howland.reston.ans.net!europa.eng.gtefsd.com!MathWorks.Com!noc.near.net!sun3!ddlgw!ddl
From: ddl@harvard.edu (Dan Lanciani)
Newsgroups: comp.unix.internals,comp.unix.solaris,comp.unix.sys5.r4,comp.unix.bsd
Subject: Re: DLPI Vs BSD Sockets Vs Sys V TLI
Message-ID: <486@ddlgw.UUCP>
Date: 26 Aug 94 00:10:47 GMT
References: <33ft3u$mn3@news.tamu.edu> <33iecq$leg@crl2.crl.com> <1994Aug25.165610.18709@noao.edu>
Followup-To: poster
Distribution: inet
Organization: Internet
Lines: 25

In article <1994Aug25.165610.18709@noao.edu>, rstevens@noao.edu (W. Richard Stevens) writes:
| > 3rd, TLI is the layer 4/ transport layer interface stream API.  Functionally
| > equivalent to Berkeley Sockets API.  But the sockets API on SVR4.* is 
| > implimented as a library translation layer into TLI calls.  SLOW!  Or
| > more accurately, slower than calling TLI direcly.
| 
| Oh no, not this myth again.
| 
| My understanding is that sockets calls are translated into TPI, *not* TLI,
[...]

It's actually worse than that.  (Or at least it was last time I looked into
it.)  Socket calls are translated into TPI + some-special-APIs-that-make-
obscure-socket-calls-work.  Trouble is, the extra APIs aren't part of the
standard TPI docs (at least they weren't) or any other public document.
So you can implement a stack to the TPI spec and most things will work
from socket calls--but not everything.  Of course, this matters most if
you want to write a replacement tcp/ip stack (as opposed to a different
protocol) since detailed socket call semantics are best known in the
context of tcp/ip.  For a non-tcp/ip protocol, chances are nobody will
know the difference, especially if they are writing to your stack to
begin with...

				Dan Lanciani
				ddl@harvard.*