Re: Freeing QN=1 State

"Michael C. Cambria" <[email protected]> Fri, 10 Dec 2004 18:26:12 -0500
Newsgroups gmane.ietf.rddp
Message-ID <[email protected]>

Caitlin Bestler wrote:

>  
> 
> 
>>-----Original Message-----
>>From: [email protected] [mailto:[email protected]] On 
>>Behalf Of Michael C. Cambria
>>Sent: Friday, December 10, 2004 9:50 AM
>>To: [email protected]
>>Subject: [rddp] Freeing QN=1 State
>>
>>
>>When does draft-ietf-rddp-rdmap-02.txt consider an inbound 
>>RDMA Read Request Message finished such that the state 
>>associated with QN=1 (the
>>IRRQ) for the RDMA Read Request can be freed?
>>
>>Put another way, if IRRQ is 1 (for simplicity), when is it 
>>legal for a new RDMA Read Request to be received?  Is it:
>>
>>a) Once the RDMA Read Response Message has been given to DDP?
>>b) Once the RDMA Read Response Message has been "acked" by 
>>the data sink?
>>c) up to the implementation?
>>d) specified somewhere that I just missed?
>>
> 
> The other side must not consider its RDMA Read Request complete
> until it receives the RDMA Read Response. 

Agreed.  This is in the draft Sec 7.5 #19.  A compliant sender isn't 
what I was concerned about.

I'm interpreting this to imply that the Data Source is justified in 
knocking down the session if it feels that the IRRQ is "still full". 
This addresses my concern about DoS.

 >                                           When the Data Source
> considers it complete is a matter of implementation.

Is there a window where the Data Sink ORRQ doesn't match the Data Source 
IRRQ?  For example, a compliant Data Sink completes the RDMA Read as you 
describe and sends a new one.  However, the Data Source doesn't have its 
implementation specific criteria met for considering the Read in Queue 1 
to be complete.  The new RDMA Read from the Data Sink results in the 
session being terminated.  Both sides claim they comply.

Thanks,
MikeC