the reassembly window was not being scaled with the tcp window and if that window was exceeded, the connection would forever freeze. i saw this problem sending 8e6 8192 byte writes between two machines connected back-to-back with 10gbaseCX4 myricom cards. the default interrupt-coalesing delay is 25µsec on these cards, thus giving a rtt in the neighborhood of 50µs. thus the tcp bandwidth-delay product is 62500 bytes. if the kernel ever finds anything interesting to do (other than move bytes across the ethernet interfaces), the BDP will exceed QMAX if it is not scaled. in addition, i thought it would be a good idea to allow a connection a chance at recovery by freeing the entire reassembly queue. perhaps this is too drastic, but i wanted to start with a simple recovery procedure. - erik