Roland Dreier wrote:
Sean> * For the total transaction timeout, the equation given to Sean> calculate the value would probably require 1000+ lines of Sean> code, and the default value given is 40 seconds, which seems Sean> long. Any opinions on what approach to take here? I can Sean> either go with a total reassembly timeout value, or a Sean> timeout relative to the last received segment. I'm leaning Sean> towards whichever ends up being easier to implement.
I'd be somewhat scared to tinker with the timeout calculations without doing some heavy-duty research into how the modified version interacts with a spec-compliant implementation. Experience with TCP shows that protocol behavior in the face of packet loss can be complex and unpredictable and that minor changes in the protocol can lead to large degradations in performance.
I would tend to agree, except that the IB spec gives this beauty of an equation for calculating total transaction timeout:
4.096 us x 8 x ceiling(payload length/220) x (2 ^ packet lifetime from sender to receiver + 2 ^ packet lifetime from receiver to sender + 2 ^ receiver response time value (ClassPortInfo:RespTimeValue or 20) + 2 ^ sender response time value (ClassPortInfo:RespTimeValue or 20)
Getting from receiving the first segment of an RMPP MAD to this value is non-trivial, and doing so before the sender times out is even more difficult. Is there spec compliant implementation of this in existence? If so, I'd be interested in seeing it.
- Sean _______________________________________________ openib-general mailing list [email protected] http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
