Kanoj Sarcar wrote:
Hello iwarp/rdmacm folks, If an iwarp driver sends a IW_CM_EVENT_CONNECT_REQUEST type event to the OFA stack, what synchronization (if any) is provided by OFA against a service destruct downcall to the driver that will attempt to destroy the listener for which this upcall was made?
No synchronization is provided. The only thing I see is that a connect request will be dropped if the listening cm_id is being destroyed. So the iwarp cm protects its own data structures for this case. See iwcm.c cm_conn_req_handler() and destoy_cm_id(). But from the driver's perspective, one thread/cpu could be running a connect request event and be in the iwcm's event handler, while another thread/cpu is running a destroy on the listen cm_id and is in the drivers destroy_listen handler.
Will some layer in OFA ensure that accept/reject(s) on children of a listener will not go down to the iwarp provider if the service_destroy on the listener has already been invoked?
I don't think so. Once the connect request is passed up to the user, any association with the listening cm_id is gone. And I believe it should be valid that an application can get a connect request, then destroy the listen cm_id, then accept or reject the connect request.
Steve. _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
