Dear Lazyweb, it would be nice if in the Linux kernel there were a way to communicate with the TCP stack that it should try doing an immediate retransmit of TCP packets for sessions. This would be great for times when, say, my VPN or cellular session reconnects, or times like tonight when my wireless link was going up and down every 60 to 90 seconds because of some sort of weirdness on my network here. When my VPN comes back up, it would be nice to have my sessions sync immediately back up, and not have to wait the 30 to 60 seconds it sometimes seems to take to catch up.
On a link that is particularly bad, this ability to force a retransmit immediately when the link comes up could be one of the only ways to get the traffic through. I've had times on particularly bad connections where I could establish a connection, but then it would “flake out” after a bit and I'd have to start over. In the time while the connection is up, it would be nice to get as much traffic through as possible. If the connection is good for a lower time than the TCP timeout on the session, then that session has a pretty bad chance of being able to resume where it left off.
Ideally, it would be possible to selectively trigger the retransmit for TCP sessions that are routed over a single particular link, though doing a retransmit of all sessions would probably be fine for many applications. You probably also want the option to retransmit only sessions that have already done a retransmission and are in back-off waiting to retransmit yet again. However, it would be nice to also have the option to retransmit packets for all sessions, or possibly based on time, say sessions have have not had activity in the last N milliseconds…
I did some searches on the Googlenet and Linux documentation and couldn't find any way to cause this to happen as I describe.
If you could take care of that, Lazyweb, that'd be super. :-)comments powered by Disqus