Linux STREAMS (LiS)


Introduction to LiS

Information about the latest version of LiS

Searchable LiS Documentation

LiS is a software package that comprises an implementation of SVR4 compatible STREAMS for Linux. It takes the form of a loadable module for the Linux kernel. LiS installs in any directory on your system, not in the kernel source tree. When it is built it is possible to link pre-compiled STREAMS drivers with it so that when LiS loads into the kernel it brings "application" drivers with it. Alternatively, STREAMS drivers can be coded as loadable Linux drivers which depend upon LiS. In this way, individual STREAMS drivers can be loaded and unloaded dynamically. 

LiS includes two adapter drivers to assist in interfacing STREAMS drivers to the Linux Kernel's TCP/IP protocols. One driver (ip_strm_mod) acts as an IP interface driver. It fits below IP using standard ifconfig procedures. It, in turn, communicates downstream with any STREAMS driver using the DLPI protocol in a fashion similar to the manner in which IP on Unix systems interfaces to lower interface drivers. This allows a DLPI STREAMS driver to act as an interface driver to Linux TCP/IP. 

A second driver (ldl) sits on top of any existing Linux IP interface driver and presents a DLPI interface to STREAMS drivers above. This allows any STREAMS driver that communicates downstream using DLPI to utilize the services of existing Linux drivers for Ethernet, token ring, etc. 

LiS-2.12 and beyond utilizes aggressive multi-tasking in multiple CPU SMP environments. For further information concerning this implementation, see the section on LiS SMP Implementation.

LiS is licensed using the GNU General Public Library License (except for ldl, which is licensed under the standard GNU Public License). This means that you can link proprietary STREAMS drivers with LiS and load the entirety into the Linux kernel without violating license restrictions. This licensing arrangement is intended to encourage commercial software vendors to port STREAMS based driver packages to Linux. 

LiS Documentation

These documentation pages are included in the LiS distribution. You can also access them from Gcom's home page at http://www.gcom.com. Gcom's site offers a search capability that allows you to search the LiS documentation. Just use the search mechanism on the home page and restrict the search to the Linux portion of the site.

Authors 

Linux STREAMS, termed LiS, is an SVR4 compatible STREAMS executive which runs in the Linux Kernel as a loadable module. It is the product of a joint effort among the following authors. 
 

Francisco J. Ballesteros

nemo@gsyc.escet.urjc.es

John Boyd

jaboydjr@netwalk.com

Denis Froschauer

Denis.Froschauer@hol.fr

David Grothe

dave@gcom.com

Ole Husgaard

sparre@login.dknet.dk

 Jürgen Magin

 juergen.magin@octogon.de

Graham Wheeler

gram@cdsec.com

G Yeganjaiah

yegag@hclt.com

David Grothe is the principal active supporter of LiS, so please direct questions to him rather than to the others. Ole Husgaard is responsible for the ldl driver and has contributed to the kerneld support and installation procedures.  Jürgen Magin contributed patches for Linux SPARC.  G Yeganjaiah added interrupt routine support. John Boyd implemented fattach and STREAMS pipes and FIFOs. Francisco Ballesteros still maintains an LiS mailing list.

You can mail to the group by addressing email to linux-streams@gsyc.escet.urjc.es.

You can view the archives at http://gsyc.escet.urjc.es/mailarchive/linux-streams.