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

Reply via email to