Umm, if you want to do it for "all" connections without support from the 
respective applications, it'd be messy.

A couple of lateral approaches -

1 (a). Hack libsocket, on all socket() calls unconditionally add SO_KEEPALIVE 
(?) using setsockopt, recompile. Statically linked programs (Oracle?) will not 
pick it up.

1 (b). Code another shared lib, in the socket() call, add another call to 
setsockopt to add the keep alive flag. then LD_PRELOAD it globally for all 
applications.

2. Write a custom program which monitors all active connections, and 
periodically masquerades/spoofs a "keep alive" packet on those active 
connections using raw sockets.

3. DTrace ? Using dtrace instrument all socket() calls, and possibly do 
something to add the SO_KEEPALIVE option to the socket. For the applications 
which make at least one call to setsockopt, it will be trivial (modify the 
argument flags and add the keep alive flag). Not sure about how to do it if 
there is no such call.

Would be fun :D
 
 
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to