Another STREAMS question

art at ACC.ARPA art at ACC.ARPA
Fri Oct 18 15:07:12 AEST 1985


This is really more of an implementation question.

Given that STREAM modules can be "pushed" on top of one another
and use a simple byte stream interface, what does this imply
for buffer strategy between STREAM modules which implement
communication protocols?  Do STREAM modules copy data between
buffers at module boundaries or are the buffers passed from
one module to the next?  Copying would be a significant cost
if many modules are layered together, but passing buffers has
the problem of adding/deleting protocol headers/trailers and
copying may still be required if retransmission or fragmentation
is involved.  Protocol headers can be dealt with by using
segmented buffers like 4.2 "mbufs" but this make kernel buffering
more complicated.  Also, many protocol interfaces need to pass
parametric information along with a packet of data.  Is this
passed inband?  What effect does this have on the generality of
modules?  Finally how is out-of-band data handled? (inband?)

Can anyone who has access to STREAMs comment?

				"Art Berggreen"<Art at ACC.ARPA>
------



More information about the Comp.unix.wizards mailing list