*BSD News Article 34919


Return to BSD News archive

Xref: sserve comp.unix.internals:7605 comp.unix.solaris:21692 comp.unix.sys5.r4:8195 comp.unix.bsd:14699
Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msuinfo!agate!ames!decwrl!nntp.crl.com!crl2.crl.com!not-for-mail
From: cgi@crl.com (Paul Smith)
Newsgroups: comp.unix.internals,comp.unix.solaris,comp.unix.sys5.r4,comp.unix.bsd
Subject: Re: DLPI Vs BSD Sockets Vs Sys V TLI
Followup-To: comp.unix.internals,comp.unix.solaris,comp.unix.sys5.r4,comp.unix.bsd
Date: 25 Aug 1994 08:46:34 -0700
Organization: CRL Dialup Internet Access	(415) 705-6060  [login: guest]
Lines: 31
Distribution: inet
Message-ID: <33iecq$leg@crl2.crl.com>
References: <33ft3u$mn3@news.tamu.edu>
NNTP-Posting-Host: crl2.crl.com
X-Newsreader: TIN [version 1.2 PL2]

Amit W Kumar (akumar@cs.tamu.edu) wrote:

: I'm trying to run some tests over our FDDI ring, and am looking to use
: whatever has the least overhead. So, my question is: which of
: DLPI/sockets/TLI would be the most efficient to do this? DLPI seemed
: the logical choice to me, but I read somewhere about it being "a
: bloated montrosity" with way too much overhead. :) Would somebody care
: to shed some light on this?

"Some light" is the following:

1st, get the Prentise Hall books for SVR4.2 on streams and streams drivers.
these docs contain a good over view on Unix Internationl's architectural
view of a streams based protocol stack on SVR4.

2nd, DLPI is the lowest layer on top of the LAN card hardware.  Short of 
NOT installing the kernel driver for your LAN card, and writting a driver
your self to startup DMA etc to and from the card, there is no closer API
on solaris/SVR4.* to the LAN card than DLPI.  Note that device
/dev/lan_card_token is the DLPI stream head that you may open and ioctl()
to using the DLPI commands.

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.  This is of course
using either TCP or UDP over IP over DLPI.  So, DLPI is the fastest, or
closest to the hardware you can get short of writting your own driver...

Yours.