[openib-general] Re: [PATCH 3/3] iWARP CM -iWARPConnectionManager

Caitlin Bestler caitlinb at broadcom.com
Wed Mar 22 16:32:17 PST 2006


openib-general-bounces at openib.org wrote:
>> The user, being the IWCM, will always see a CONNECT_REPLY to a
>> connect downcall.
> 
> I understand that a CONNECT_REPLY event is generated in
> response to calling connect().  But can any events (e.g.
> CLOSE) follow that without the user taking any other action?
> 
>>> How are
>>> additional events that are generated in this case handled, or is
>>> that even possible?  I.e. you've notified the user of a new
>>> connection request, when
>> the
>>> connection is aborted.  The user hasn't called accept() or reject()
>>> yet. 
>>> 
>> 
>> The provider must handle this and _not_ pass any events up until the
>> IWCM has accepted or rejected the connection request.  In the case of
>> an connect request upcall, followed by a connection abortion,
>> followed by a accept_cr downcall, the accept_cr downcall would
>> return an error like -ECONNRESET.  OR the provider could allow the
>> accept_cr to succeed, which moves everything to RTS/CONNECTED, then
>> generate a CLOSE upcall. Either way is correct methinks.  I think
>> providers would do the former. 
> 
> Okay - this sounds like this case is handled.
> 
> So, I'm trying to determine when a CLOSE event will be
> generated, and I _think_ it's in these two cases:
> 
> 1. After calling connect(), and a successful CONNECT_REPLY event.
> 2. After calling accept().
> 
> Then trying to determine if there are any races here with the
> user destroying the cm_id at any time.
> 

More succintly, you cannot be told that a connection is closed
until after you have been told that it is established.




More information about the general mailing list