[Sunhelp] Pseudo-Driver with Sun Solaris 2.6 STREAMS

emre EE emre23 at europe.com
Tue Sep 12 02:40:12 CDT 2000


We are developing a pseudo-driver which uses Sun Solaris 2.6 STREAMS. One of
the tasks of the driver is to monitor fragmented packet traffic that flows
through it. The machine that our driver is loaded is a gateway, and our
driver is attached to both interfaces. The driver needs to handle fragmented
packets and perform operations on these packets. More precisely, what is
required is to keep the incoming fragmented packets until all fragmented
packets are received, then all the fragmented packets needs to be sent to
the next module (IP in our case).
The driver uses Single Thread Per Module structure. In order to protect
module global data structures external mutex locks are used as well as
STREAMS perimeters.
The problem is that even though all held packets are sent to the following
module (IP) at the read side, only a few of them reach our write put
procedure that is on the other interface. Four seems to be a magical number
here. Maximum four fragments reach the write side. If there are only two or
three fragments that is OK. But we have to be able to handle as many
fragments as we receive.
We have searched all the documantations that SUN corp. provided on it's web
site and also the
manuals related with STREAMS programming, Writing Device Drivers, Driver
Development, Multi-Threaded Applications Programming and unfortunately could
not find the answer to this
specific problem. We are also wondering whether the situation is related
with SOLARIS environment or not.
It would be so helpfull if you could help about the problem or provide any
kind of information
related the situation or forward us to .
Thanks for your interests,
emre celebi.


______________________________________________
FREE Personalized Email at Mail.com
Sign up at http://www.mail.com/?sr=signup






More information about the SunHELP mailing list