Monday, July 30, 2012

WFP, LSP and reset drops

For the past few weeks I tried to hunt a bug with WFP, when using IE8 on Win7 some connections would not close when closing the IE8 via the close button and they were seen as orphaned connections.

I researched the matter and discovered that unlike FF and Chrome that closing the connections gracefully with FIN when they are closed, IE (or the OS) sends resets, and with the WFP some connections would not close.

I tore the WFP a new one, with many debug prints eventually I got to the conclusion that no resets were dropped, so I tested again without the WFP and discovered that some connections are not closed and after 30-60 seconds the server side closed them (and not the client side as it should), probably a bug of MS.

When using a LSP this didn't occur because when the LSP is unloaded it closes all the connections gracefully, so I added a function in the Komodia's Redirector to track closed apps and manually close all outstanding connections, this way connections are closed after a few seconds and not 30-60 seconds.