On Tue, 2 May 2006, Steve Wise wrote:
> > > Steve, > > > > Thanks for pointing me to the MPA spec. requirement. At this time, I > > don't see a way around this. Although I like the idea of transparently > > satisfying this requirement as part of the iWARP CMs connection > > establishment, that doesn't appear to be viable or standard. > > > > Any objections to using this compressed version of your patch? > > No objections. Committed in revision 6873. > > I updated the comment to explain the flow control and used the > > same portion of code for both the client and server's receive. > > Do the other dapltest programs need this too? Like the perf tests and > limit tests? I have only run the transaction tests over cxgb3... Yes, there are probably several places with this rule will need to be enforced. > > test/dapltest/test/dapl_transaction_test.c > > =================================================================== > > --- test/dapltest/test/dapl_transaction_test.c (revision 6735) > > +++ test/dapltest/test/dapl_transaction_test.c (working copy) > > @@ -972,38 +972,42 @@ retry: > > } /* end foreach op */ > > > > /* > > - * Send our memory info (synchronously) > > + * Send our memory info. The client performs the first send to comply > > + * with the iWARP MPA protocol's "Connection Startup Rules". > > */ > > DT_Tdep_PT_Debug (1,(phead,"Test[" F64x "]: Sending %s Memory Info\n", > > test_ptr->base_port, > > test_ptr->is_server ? "Server" : "Client")); > > > > - /* post the send buffer */ > > - if (!DT_post_send_buffer (phead, > > + if (!test_ptr->is_server ) { > > + > > + /* post the send buffer */ > > + if (!DT_post_send_buffer (phead, > > test_ptr->ep_context[i].ep_handle, > > test_ptr->ep_context[i].bp, > > RMI_SEND_BUFFER_ID, > > buff_size)) > > - { > > - /* error message printed by DT_post_send_buffer */ > > - goto test_failure; > > - } > > - /* reap the send and verify it */ > > - dto_cookie.as_64 = LZERO; > > - dto_cookie.as_ptr = > > - (DAT_PVOID) DT_Bpool_GetBuffer ( > > - test_ptr->ep_context[i].bp, > > - RMI_SEND_BUFFER_ID); > > - if (!DT_dto_event_wait (phead, test_ptr->reqt_evd_hdl, &dto_stat) || > > - !DT_dto_check ( phead, > > + { > > + /* error message printed by DT_post_send_buffer */ > > + goto test_failure; > > + } > > + /* reap the send and verify it */ > > + dto_cookie.as_64 = LZERO; > > + dto_cookie.as_ptr = > > + (DAT_PVOID) DT_Bpool_GetBuffer ( > > + test_ptr->ep_context[i].bp, > > + RMI_SEND_BUFFER_ID); > > + if (!DT_dto_event_wait (phead, test_ptr->reqt_evd_hdl, &dto_stat) || > > + !DT_dto_check ( phead, > > &dto_stat, > > test_ptr->ep_context[i].ep_handle, > > buff_size, > > dto_cookie, > > test_ptr->is_server ? "Client_Mem_Info_Send" > > : "Server_Mem_Info_Send")) > > - { > > - goto test_failure; > > + { > > + goto test_failure; > > + } > > } > > > > /* > > @@ -1029,6 +1033,36 @@ retry: > > goto test_failure; > > } > > > > + if (test_ptr->is_server ) { > > + /* post the send buffer */ > > + if (!DT_post_send_buffer (phead, > > + test_ptr->ep_context[i].ep_handle, > > + test_ptr->ep_context[i].bp, > > + RMI_SEND_BUFFER_ID, > > + buff_size)) > > + { > > + /* error message printed by DT_post_send_buffer */ > > + goto test_failure; > > + } > > + /* reap the send and verify it */ > > + dto_cookie.as_64 = LZERO; > > + dto_cookie.as_ptr = > > + (DAT_PVOID) DT_Bpool_GetBuffer ( > > + test_ptr->ep_context[i].bp, > > + RMI_SEND_BUFFER_ID); > > + if (!DT_dto_event_wait (phead, test_ptr->reqt_evd_hdl, &dto_stat) || > > + !DT_dto_check ( phead, > > + &dto_stat, > > + test_ptr->ep_context[i].ep_handle, > > + buff_size, > > + dto_cookie, > > + test_ptr->is_server ? "Client_Mem_Info_Send" > > + : "Server_Mem_Info_Send")) > > + { > > + goto test_failure; > > + } > > + } > > + > > /* > > * Extract what we need > > */ > _______________________________________________ openib-general mailing list openib-general@openib.org http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general