Peter,
I don't think you're going to get one elegant solution for *nix.  On System V based 
Unixes, STREAMS would be the way to go.  Especially those flavors that support 
autopush.  BSD based Unixes don't support STREAMS natively and TCP/IP is not 
implemented in STREAMS (beyond this I can't comment ... isn't there a concept of a 
kernel socket for communication?).  

On Linux TCP/IP is not implemented in the STREAMS architecture either.  And 
libsocket.a definitely would not open a STREAMS TLI interface (there is one in LiS but 
it wouldn't be useful for this project).  Also be aware that there are ongoing traffic 
shaping projects in the Linux TCP/IP stack that would be competing against your 
product at a drastically reduced price (100%).  

I don't know what the best way to port to Linux would be, but I think trying to use 
STREAMS is the wrong tool for this job.  You could integrate it with the TCP 
implementation (and convert it to GPL), or possibly replace libsocket.so with your own 
version and hope there are no apps link-edited with the static library.  From recent 
discussions here, I suspect that if you implement any kind of module in the kernel 
that calls directly into the kernel TCP module, you will be in danger of making your 
code GPL.

Ragnar
     

----- Original Message ----- 
From: "Peter Byhre" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, August 07, 2003 12:31 PM
Subject: [Linux-streams] STREAMS LiS Question


> My company has a product which controls bandwidth by stepping in between
> winsock and TCP/IP by using the windows SPI.  In trying to figure out how to
> do this on *nix platforms it looks to me like STREAMS might do the trick so
> I setup LiS and have been trying to figure out how it all works.  I want to
> be able to plug my system in before calls get to TCP, so I was thinking that
> I could push a module on to all socket streams.  
> 
> Before I burn a whole lot of time and effort on this, could someone please
> tell me if I'm going in the right direction?  Is it possible to create a
> module that automatically gets pushed onto all socket streams?  Is there an
> example module in LiS that would be a good place for me to start looking?  
> 
> I hope that these are appropriate questions for this forum.
> 
> Thanks in advance.
> 
> Pete Byhre
> Sr. Software Engineer
> Centrisoft Corp. (http://www.centrisoft.com)
> 
> 
> _______________________________________________
> Linux-streams mailing list
> [EMAIL PROTECTED]
> http://gsyc.escet.urjc.es/mailman/listinfo/linux-streams
> 

_______________________________________________
Linux-streams mailing list
[EMAIL PROTECTED]
http://gsyc.escet.urjc.es/mailman/listinfo/linux-streams

Reply via email to