[rds-devel] Re: RDS ACKs
Or Gerlitz
ogerlitz at voltaire.com
Thu Nov 1 01:09:04 PDT 2007
Zach Brown wrote:
>> So RDS has ACKs, correct? are they in the level of the transport (IB,
>> TCP) or at the RDS level?
> Yes, they're at the level of the transport. The TCP RDS transport
> derives them from TCP ACKs, it doesn't have explicit messages. The IB
> transport has explicit messages to indicate to the sender when a given
> message is stable in the receiver's memory.
OK, got it, and thanks for pointing me this difference between TCP to IB
ACKs. Now, since the RDS IB transport is implemented over IB RC
transport, my initial thought is that you need not use --any-- software
timeout mechanism for the reliability you want, this is b/c either the
message would be delivered to the remote memory or something bad will
happen. That is the RC QP would move to the error state as of completion
with error of some work request, etc. So you only need to keep queue of
non acked messages, remove from the queue ones that were acked, and
retransmit all of them when you re-connect - am I correct?
> This design comes straight from the Oracle DB networking guys. I'm not
> the best person to defend the design, though I can certainly share my
> understanding of it and how the RDS kernel code is built for it.
I see. The thing is that there's no requirements document nor
specification document nor sw design document so you are kind of the
only source of information for this protocol - thanks for the help!
Or.
More information about the rds-devel
mailing list