Linux STREAMS (LiS)
Introduction to LiS
Final Version of LiS
The LiS-2.18 version described by this documentation is the final version of LiS to be published on the Gcom FTP site. It is possible that others in the LiS community may organize a maintenance method for this package. To be apprised of developments in this area subscribe to the LiS discussion group and watch for announcements.
Gcom no longer supports LiS for use with anything other than Gcom products. Please consult your software/hardware vendor for LiS support. If you are interested in complete protocol solutions for Linux, please contact firstname.lastname@example.org.
What is 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. 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.
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.
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 email@example.com.
You can view the archives at http://gsyc.escet.urjc.es/mailarchive/linux-streams.