[openib-general] Re: [PATCH] [RFC] dapltest change for iwarp
James Lentini
jlentini at netapp.com
Tue May 2 14:23:40 PDT 2006
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
> > */
>
More information about the general
mailing list