Linux STREAMS (LiS)
Introduction to LiS
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.
These documentation pages are included in the LiS distribution.
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 and others.
Please direct questions to the mailing list (see below) rather than to individuals.
Ole Husgaard contributed the ldl driver and 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.
Send an e-mail to email@example.com with subscribe in the subject to subscribe to the LiS mailing list
You can mail to the group by addressing email to firstname.lastname@example.org.
You can view the archives at www.mail-archive.com (June 2006 and on) or email@example.com (May 2006 and earlier).