This patch fixes up kdapltest with the new function API.

Signed-off-by: Tom Duffy <[EMAIL PROTECTED]>

Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_performance_util.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_performance_util.c     
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_performance_util.c     
(working copy)
@@ -65,7 +65,7 @@ DT_Performance_Test_Create (
     test_ptr->ia = ia;
     test_ptr->cmd = &pt_ptr->Params.u.Performance_Cmd;
 
-    ret = dat_ia_query (test_ptr->ia,
+    ret = ia->common.provider->ia_query (test_ptr->ia,
                        NULL,
                        &test_ptr->ia_attr,
                        NULL);
@@ -101,7 +101,7 @@ DT_Performance_Test_Create (
     test_ptr->creq_evd_length = DT_PERF_DFLT_EVD_LENGTH;
 
     /* create a protection zone */
-    ret = dat_pz_create (test_ptr->ia, &test_ptr->pz);
+    ret = test_ptr->ia->common.provider->pz_create (test_ptr->ia, 
&test_ptr->pz);
     if ( 0 != ret)
     {
        DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_pz_create error: %s\n",
@@ -182,7 +182,7 @@ DT_Performance_Test_Create (
     test_ptr->ep_context.ep_attr.max_request_dtos = pipeline_len;
 
     /* Create EP */
-    ret = dat_ep_create (test_ptr->ia,  /* IA       */
+    ret = ia->common.provider->ep_create (test_ptr->ia,         /* IA       */
                         test_ptr->pz,   /* PZ       */
                         test_ptr->recv_evd_hdl, /* recv     */
                         test_ptr->reqt_evd_hdl, /* request  */
@@ -318,7 +318,7 @@ DT_Performance_Test_Destroy (
      */
     if (test_ptr->ep_context.ep)
     {
-       ret = dat_ep_disconnect (test_ptr->ep_context.ep,
+       ret = test_ptr->ep_context.ep->common.provider->ep_disconnect 
(test_ptr->ep_context.ep,
                                DAT_CLOSE_ABRUPT_FLAG);
        if (ret != 0)
        {
@@ -340,7 +340,7 @@ DT_Performance_Test_Destroy (
     if ( NULL != ep)
     {
        /* Destroy the EP */
-       ret = dat_ep_free (ep);
+       ret = ep->common.provider->ep_free (ep);
        if (ret != 0)
        {
            DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_ep_free error: %s\n",
@@ -402,7 +402,7 @@ DT_Performance_Test_Destroy (
     /* clean up the PZ */
     if (test_ptr->pz)
     {
-       ret = dat_pz_free (test_ptr->pz);
+       ret = test_ptr->pz->common.provider->pz_free (test_ptr->pz);
        if (ret != 0)
        {
            DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_pz_free error: %s\n",
@@ -462,7 +462,7 @@ DT_performance_post_rdma_op (
        pre_ctxt_num = DT_Mdep_GetContextSwitchNum ();
        pre_ts = DT_Mdep_GetTimeStamp ();
 
-       ret = dat_ep_post_rdma_write (ep_context->ep,
+       ret = ep_context->ep->common.provider->ep_post_rdma_write 
(ep_context->ep,
                                     op->num_segs,
                                     iov,
                                     cookie,
@@ -479,7 +479,7 @@ DT_performance_post_rdma_op (
        pre_ctxt_num = DT_Mdep_GetContextSwitchNum ();
        pre_ts = DT_Mdep_GetTimeStamp ();
 
-       ret = dat_ep_post_rdma_read (ep_context->ep,
+       ret = ep_context->ep->common.provider->ep_post_rdma_read 
(ep_context->ep,
                                    op->num_segs,
                                    iov,
                                    cookie,
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_performance_client.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_performance_client.c   
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_performance_client.c   
(working copy)
@@ -103,7 +103,7 @@ DT_Performance_Test_Client_Connect (
                   test_ptr->base_port, test_ptr->ep_context.port));
 
 retry:
-    ret = dat_ep_connect (test_ptr->ep_context.ep,
+    ret = test_ptr->ep_context.ep->common.provider->ep_connect 
(test_ptr->ep_context.ep,
                         test_ptr->remote_ia_addr,
                         test_ptr->ep_context.port,
                         DAT_TIMEOUT_MAX,
@@ -297,7 +297,7 @@ DT_Performance_Test_Client_Phase2 (
        {
            pre_ts = DT_Mdep_GetTimeStamp ();
 
-           ret = dat_ep_post_rdma_write (ep_context->ep,
+           ret = ep_context->ep->common.provider->ep_post_rdma_write 
(ep_context->ep,
                                          op->num_segs,
                                          iov,
                                          cookie,
@@ -308,7 +308,7 @@ DT_Performance_Test_Client_Phase2 (
        {
            pre_ts = DT_Mdep_GetTimeStamp ();
 
-           ret = dat_ep_post_rdma_read (ep_context->ep,
+           ret = ep_context->ep->common.provider->ep_post_rdma_read 
(ep_context->ep,
                                         op->num_segs,
                                         iov,
                                         cookie,
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_server.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_server.c       
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_server.c       
(working copy)
@@ -119,7 +119,7 @@ DT_cs_Server (Params_t * params_ptr)
     DT_Tdep_PT_Debug (1,(phead,"%s: IA %s opened\n", module, 
Server_Cmd->dapl_name));
 
     /* Create a PZ */
-    ret = dat_pz_create (ps_ptr->ia, &ps_ptr->pz);
+    ret = ps_ptr->ia->common.provider->pz_create (ps_ptr->ia, &ps_ptr->pz);
     if (ret != 0)
     {
        DT_Tdep_PT_Printf (phead, 
@@ -191,7 +191,7 @@ DT_cs_Server (Params_t * params_ptr)
     }
 
     /* Create the EP */
-    ret = dat_ep_create (ps_ptr->ia,    /* IA       */
+    ret = ps_ptr->ia->common.provider->ep_create (ps_ptr->ia,   /* IA       */
                         ps_ptr->pz,     /* PZ       */
                         ps_ptr->recv_evd_hdl,   /* recv     */
                         ps_ptr->reqt_evd_hdl,   /* request  */
@@ -211,7 +211,7 @@ DT_cs_Server (Params_t * params_ptr)
     DT_Tdep_PT_Debug (1,(phead,"%s: EP created\n", module));
 
     /* Create PSP */
-    ret = dat_psp_create (ps_ptr->ia,
+    ret = ps_ptr->ia->common.provider->psp_create (ps_ptr->ia,
                        SERVER_PORT_NUMBER,
                        ps_ptr->creq_evd_hdl,
                        DAT_PSP_CONSUMER_FLAG,
@@ -358,7 +358,7 @@ DT_cs_Server (Params_t * params_ptr)
        }
 
        DT_Tdep_PT_Debug (1,(phead,"%s: Accepting Connection Request\n", 
module));
-       ret = dat_cr_accept (cr, ps_ptr->ep, 0, (void *)0);
+       ret = cr->common.provider->cr_accept (cr, ps_ptr->ep, 0, (void *)0);
        if (ret != 0)
        {
            DT_Tdep_PT_Printf (phead, 
@@ -620,7 +620,7 @@ DT_cs_Server (Params_t * params_ptr)
        /* we passed the pt_ptr to the thread and must now 'forget' it */
        pt_ptr = NULL;
 
-       ret = dat_ep_disconnect (ps_ptr->ep, DAT_CLOSE_GRACEFUL_FLAG);
+       ret = ps_ptr->ep->common.provider->ep_disconnect (ps_ptr->ep, 
DAT_CLOSE_GRACEFUL_FLAG);
        if (ret != 0)
        {
            DT_Tdep_PT_Printf (phead, "%s: dat_ep_disconnect fails: %s\n",
@@ -636,7 +636,7 @@ DT_cs_Server (Params_t * params_ptr)
        }
 
        /* reset the EP to get back into the game */
-       dat_ep_reset (ps_ptr->ep);
+       ps_ptr->ep->common.provider->ep_reset (ps_ptr->ep);
        DT_Tdep_PT_Debug (1,(phead,"%s: Waiting for another client...\n", 
module));
 
     }  /* end loop accepting connections */
@@ -672,7 +672,7 @@ server_exit:
         */
        if (ps_ptr->ep)
        {
-           ret = dat_ep_disconnect (ps_ptr->ep,
+           ret = ps_ptr->ep->common.provider->ep_disconnect (ps_ptr->ep,
                                    DAT_CLOSE_ABRUPT_FLAG);
            if (ret != 0)
            {
@@ -707,7 +707,7 @@ server_exit:
        /* Free the PSP */
        if (ps_ptr->psp)
        {
-           ret = dat_psp_free (ps_ptr->psp);
+           ret = ps_ptr->psp->common.provider->psp_free (ps_ptr->psp);
            if (ret != 0)
            {
                DT_Tdep_PT_Printf (phead, "%s: dat_psp_free error: %s\n",
@@ -721,7 +721,7 @@ server_exit:
        /* Free the EP */
        if (ps_ptr->ep)
        {
-           ret = dat_ep_free (ps_ptr->ep);
+           ret = ps_ptr->ep->common.provider->ep_free (ps_ptr->ep);
            if (ret != 0)
            {
                DT_Tdep_PT_Printf (phead, "%s: dat_ep_free error: %s\n",
@@ -784,7 +784,7 @@ server_exit:
        /* Free the PZ */
        if (ps_ptr->pz)
        {
-           ret = dat_pz_free (ps_ptr->pz);
+           ret = ps_ptr->pz->common.provider->pz_free (ps_ptr->pz);
            if (ret != 0)
            {
                DT_Tdep_PT_Printf (phead, "%s: dat_pz_free error: %s\n",
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_cnxn.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_cnxn.c (revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_cnxn.c (working copy)
@@ -40,7 +40,7 @@ get_ep_connection_state (DT_Tdep_Print_H
     char           *req_status = "Idle";
 
 
-    ret = dat_ep_get_status (ep, &ep_state, &in_dto_idle,
+    ret = ep->common.provider->ep_get_status (ep, &ep_state, &in_dto_idle,
                                &out_dto_idle);
     if (ret != 0)
     {
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_util.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_util.c     
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_util.c     
(working copy)
@@ -114,7 +114,7 @@ int DT_ep_create (Params_t *params_ptr,
        return status;
     }
 
-    status = dat_ep_create (ia, pz, *recv_evd,
+    status = ia->common.provider->ep_create (ia, pz, *recv_evd,
            *send_evd, *conn_evd, NULL, ep);
     if (status != 0)
     {
@@ -164,7 +164,7 @@ void DT_fft_init_client (Params_t *param
     DT_assert_dat (phead, rc == 0);
 
     /* create a PZ */
-    rc = dat_pz_create (conn->ia, &conn->pz);
+    rc = conn->ia->common.provider->pz_create (conn->ia, &conn->pz);
     DT_assert_dat (phead, rc == 0);
 
     /* create an EP and its EVDs */
@@ -203,7 +203,7 @@ int DT_fft_destroy_conn_struct (Params_t
     {
        if (conn->connected)
        {
-           rc = dat_ep_disconnect (conn->ep, DAT_CLOSE_DEFAULT);
+           rc = conn->ep->common.provider->ep_disconnect (conn->ep, 
DAT_CLOSE_DEFAULT);
            DT_assert_clean (phead, rc == 0);
 
            if (!DT_disco_event_wait ( phead, conn->cr_evd, NULL ))
@@ -212,7 +212,7 @@ int DT_fft_destroy_conn_struct (Params_t
                DT_Tdep_PT_Printf (phead, "DT_fft_destroy_conn_struct: bad 
disconnect event\n");
            }
        }
-       rc = dat_ep_free (conn->ep);
+       rc = conn->ep->common.provider->ep_free (conn->ep);
        DT_assert_clean (phead, rc == 0);
     }
     if (conn->bpool)
@@ -221,7 +221,7 @@ int DT_fft_destroy_conn_struct (Params_t
     }
     if (conn->psp)
     {
-       rc = dat_psp_free (conn->psp);
+       rc = conn->psp->common.provider->psp_free (conn->psp);
        DT_assert_clean (phead, rc == 0);
     }
     if (conn->cr_evd)
@@ -250,7 +250,7 @@ int DT_fft_destroy_conn_struct (Params_t
     }
     if (conn->pz)
     {
-       rc = dat_pz_free (conn->pz);
+       rc = conn->pz->common.provider->pz_free (conn->pz);
        DT_assert_clean (phead, rc == 0);
     }
     if (conn->ia)
@@ -277,7 +277,7 @@ void DT_fft_init_server (Params_t *param
     DT_assert_dat (phead, rc ==  0);
 
     /* create a PZ */
-    rc = dat_pz_create (conn->ia, &conn->pz);
+    rc = conn->ia->common.provider->pz_create (conn->ia, &conn->pz);
     DT_assert_dat (phead, rc == 0);
 
     /* create an EP and its EVDs */
@@ -292,7 +292,7 @@ void DT_fft_init_server (Params_t *param
     DT_assert_dat (phead, rc == 0);
 
     /* create a PSP */
-    rc = dat_psp_create (conn->ia, SERVER_PORT_NUMBER, conn->cr_evd,
+    rc = conn->ia->common.provider->psp_create (conn->ia, SERVER_PORT_NUMBER, 
conn->cr_evd,
                DAT_PSP_CONSUMER_FLAG, &conn->psp);
     DT_assert_dat (phead, rc == 0);
 
@@ -323,7 +323,7 @@ void DT_fft_listen (Params_t *params_ptr
                         "DT_fft_listen"));
 
     /* accept the connection */
-    rc =dat_cr_accept (conn->cr, conn->ep, 0, (void *)0);
+    rc =conn->cr->common.provider->cr_accept (conn->cr, conn->ep, 0, (void 
*)0);
     DT_assert_dat (phead, rc == 0);
 
     /* wait on a conn event via the conn EVD */
@@ -352,7 +352,8 @@ int DT_fft_connect (Params_t *params_ptr
        DT_Tdep_PT_Printf (phead, "Connection to server, attempt #%d\n", 
wait_count+1);
 
        /* attempt to connect, timeout = 10 secs */
-       rc = dat_ep_connect (conn->ep, conn->remote_netaddr,
+       rc = conn->ep->common.provider->ep_connect(conn->ep,
+                                                  conn->remote_netaddr,
                    SERVER_PORT_NUMBER, 10*1000000, 0, (void *)0,
                    DAT_QOS_BEST_EFFORT, DAT_CONNECT_DEFAULT_FLAG);
        DT_assert_dat (phead, rc == 0);
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_mem.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_mem.c      
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_mem.c      
(working copy)
@@ -87,7 +87,7 @@ int DT_mem_generic (Params_t *params_ptr
     if (flag != 4)
     {
        DT_Tdep_PT_Printf (phead, "Registering memory\n");
-       rc = dat_lmr_kcreate (ia,
+       rc = ia->common.provider->lmr_kcreate (ia,
                                DAT_MEM_TYPE_VIRTUAL,
                                region,
                                buffer_size,
@@ -113,12 +113,12 @@ int DT_mem_generic (Params_t *params_ptr
     {
        if (lmr)
        {
-           rc = dat_lmr_free (lmr);
+           rc = lmr->common.provider->lmr_free (lmr);
            DT_assert_dat (phead, rc == 0);
        }
        lmr = NULL;
 
-       rc = dat_lmr_kcreate (conn.ia,
+       rc = conn.ia->common.provider->lmr_kcreate (conn.ia,
                                DAT_MEM_TYPE_VIRTUAL,
                                region,
                                buffer_size,
@@ -136,7 +136,7 @@ int DT_mem_generic (Params_t *params_ptr
 cleanup:
     if (lmr)
     {
-       rc = dat_lmr_free (lmr);
+       rc = lmr->common.provider->lmr_free (lmr);
        DT_assert_clean (phead, rc == 0);
     }
     if (alloc_ptr)
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_limit.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_limit.c        
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_limit.c        
(working copy)
@@ -246,7 +246,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
                       cmd->width));
        for (w = 0;  w < cmd->width;  w++)
        {
-           ret = dat_pz_create (hdl_sets[w].ia,
+           ret = hdl_sets[w].ia->common.provider->pz_create (hdl_sets[w].ia,
                                &hdl_sets[w].pz);
            if (ret != 0)
            {
@@ -288,7 +288,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
                    retval = TRUE;
                    break;
                }
-               ret = dat_pz_create (hdl_sets[w % cmd->width].ia,
+               ret = hdl_sets[w % cmd->width].ia->common.provider->pz_create 
(hdl_sets[w % cmd->width].ia,
                                    &hdlptr[w]);
                if (ret != 0)
                {
@@ -306,7 +306,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
            for (tmp = 0;  tmp < w;  tmp++)
            {
                DT_Mdep_Schedule();
-               ret = dat_pz_free (hdlptr[tmp]);
+               ret = hdlptr[tmp]->common.provider->pz_free (hdlptr[tmp]);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead, "%s: dat_pz_free fails: %s\n",
@@ -579,7 +579,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
                        cmd->width));
        for (w = 0;  w < cmd->width;  w++)
        {
-           ret = dat_ep_create (hdl_sets[w].ia,
+           ret = hdl_sets[w].ia->common.provider->ep_create (hdl_sets[w].ia,
                                hdl_sets[w].pz,
                                hdl_sets[w].evd,        /* recv     */
                                hdl_sets[w].evd,        /* request  */
@@ -624,7 +624,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
                    retval = TRUE;
                    break;
                }
-               ret = dat_ep_create (hdl_sets[w % cmd->width].ia,
+               ret = hdl_sets[w % cmd->width].ia->common.provider->ep_create 
(hdl_sets[w % cmd->width].ia,
                                    hdl_sets[w % cmd->width].pz,
                                    hdl_sets[w % cmd->width].evd,
                                    hdl_sets[w % cmd->width].evd,
@@ -647,7 +647,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
            for (tmp = 0;  tmp < w;  tmp++)
            {
                DT_Mdep_Schedule();
-               ret = dat_ep_free (hdlptr[tmp]);
+               ret = hdlptr[tmp]->common.provider->ep_free (hdlptr[tmp]);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead, "%s: dat_ep_free fails: %s\n",
@@ -724,7 +724,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
                /*
                 * Each RSP needs a unique EP, so create one first
                 */
-               ret = dat_ep_create (hdl_sets[w % cmd->width].ia,
+               ret = hdl_sets[w % cmd->width].ia->common.provider->ep_create 
(hdl_sets[w % cmd->width].ia,
                                    hdl_sets[w % cmd->width].pz,
                                    hdl_sets[w % cmd->width].evd,
                                    hdl_sets[w % cmd->width].evd,
@@ -739,7 +739,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
                    break;
                }
 
-               ret = dat_rsp_create (hdl_sets[w % cmd->width].ia,
+               ret = hdl_sets[w % cmd->width].ia->common.provider->rsp_create 
(hdl_sets[w % cmd->width].ia,
                                    CONN_QUAL0 + w,
                                    epptr[w],
                                    hdl_sets[w % cmd->width].evd,
@@ -757,7 +757,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
                    DT_Tdep_PT_Printf (phead, "%s: dat_rsp_create #%d fails: 
%s\n",
                                    module,  w+1,  DT_RetToString (ret));
                    /* Cleanup the EP; no-one else will.  */
-                   ret = dat_ep_free (epptr[w]);
+                   ret = epptr[w]->common.provider->ep_free (epptr[w]);
                    if (ret != 0)
                    {
                        DT_Tdep_PT_Printf (phead, "%s: dat_ep_free (internal 
cleanup @ #%d) fails: %s\n",
@@ -775,7 +775,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
            for (tmp = 0;  tmp < w;  tmp++)
            {
                DT_Mdep_Schedule();
-               ret = dat_rsp_free (hdlptr[tmp]);
+               ret = hdlptr[tmp]->common.provider->rsp_free (hdlptr[tmp]);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead, "%s: dat_rsp_free fails: %s\n",
@@ -783,7 +783,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
                    retval = FALSE;
                }
                /* Free EPs */
-               ret = dat_ep_free (epptr[tmp]);
+               ret = epptr[tmp]->common.provider->ep_free (epptr[tmp]);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead, "%s: dat_ep_free fails: %s for 
RSPs\n",
@@ -831,7 +831,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
                    retval = TRUE;
                    break;
                }
-               ret = dat_psp_create (hdl_sets[w % cmd->width].ia,
+               ret = hdl_sets[w % cmd->width].ia->common.provider->psp_create 
(hdl_sets[w % cmd->width].ia,
                                    CONN_QUAL0 + w,
                                    hdl_sets[w % cmd->width].evd,
                                    DAT_PSP_CONSUMER_FLAG,
@@ -853,7 +853,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
            for (tmp = 0;  tmp < w;  tmp++)
            {
                DT_Mdep_Schedule();
-               ret = dat_psp_free (hdlptr[tmp]);
+               ret = hdlptr[tmp]->common.provider->psp_free (hdlptr[tmp]);
                if (ret == -ENOSYS)
                {
                    DT_Tdep_PT_Printf (phead, "%s: dat_psp_free unimplemented\n"
@@ -898,7 +898,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
            memset (&region, 0, sizeof (region));
            region.for_va = hdl_sets[w].lmr_buffer;
 
-           ret = dat_lmr_kcreate (hdl_sets[w].ia,
+           ret = hdl_sets[w].ia->common.provider->lmr_kcreate (hdl_sets[w].ia,
                                    DAT_MEM_TYPE_VIRTUAL,
                                    region,
                                    DFLT_BUFFSZ,
@@ -1045,6 +1045,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
                {
                    struct dat_lmr_triplet *iovp = &hdlptr[w * cmd->width + i];
                    DAT_DTO_COOKIE   cookie;
+                   struct dat_ep *ep;
 
                    iovp->virtual_address = (u64) (uintptr_t)
                                                        hdl_sets[i].lmr_buffer;
@@ -1055,7 +1056,8 @@ limit_test ( DT_Tdep_Print_Head *phead,
 
                    DT_Tdep_PT_Printf (phead, "%s: dat_ep_post_recv #%d\n", 
module,
                                        w * cmd->width + i + 1);
-                   ret = dat_ep_post_recv (hdl_sets[i].ep,
+                   ep = hdl_sets[i].ep;
+                   ret = ep->common.provider->ep_post_recv(ep,
                                           1,
                                           iovp,
                                           cookie,
@@ -1092,7 +1094,7 @@ limit_test ( DT_Tdep_Print_Head *phead,
                 * outstanding recv DTOs in error, and otherwise
                 * be a no-op.
                 */
-               ret = dat_ep_reset (hdl_sets[i].ep);
+               ret = hdl_sets[i].ep->common.provider->ep_reset(hdl_sets[i].ep);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead, "%s: dat_ep_disconnect (abrupt) 
fails: %s\n",
@@ -1188,7 +1190,7 @@ clean_up_now:
        {
            if (hdl_sets[w].lmr)
            {
-               ret = dat_lmr_free (hdl_sets[w].lmr);
+               ret = hdl_sets[w].lmr->common.provider->lmr_free 
(hdl_sets[w].lmr);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead, "%s: dat_lmr_free fails: %s\n",
@@ -1223,7 +1225,7 @@ clean_up_now:
        {
            if (hdl_sets[w].ep)
            {
-               ret = dat_ep_free (hdl_sets[w].ep);
+               ret = hdl_sets[w].ep->common.provider->ep_free (hdl_sets[w].ep);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead, "%s: dat_ep_free fails: %s\n",
@@ -1287,7 +1289,7 @@ clean_up_now:
        {
            if (hdl_sets[w].pz)
            {
-               ret = dat_pz_free (hdl_sets[w].pz);
+               ret = hdl_sets[w].pz->common.provider->pz_free (hdl_sets[w].pz);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead, "%s: dat_pz_free fails: %s\n",
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_queryinfo.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_queryinfo.c        
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_queryinfo.c        
(working copy)
@@ -109,8 +109,7 @@ int DT_queryinfo_basic (Params_t *params
         (object_to_query == QUERY_RSP) ||
         (object_to_query == QUERY_PZ) )
     {
-       rc = dat_pz_create (ia,
-                           &pz);
+       rc = ia->common.provider->pz_create (ia, &pz);
        DT_assert_dat (phead, rc == 0);
     }
 
@@ -139,7 +138,7 @@ int DT_queryinfo_basic (Params_t *params
                             &conn_evd);
        DT_assert_dat (phead, rc == 0);
 
-       rc = dat_ep_create (ia,
+       rc = ia->common.provider->ep_create (ia,
                            pz,
                            recv_evd,
                            send_evd,
@@ -166,7 +165,7 @@ int DT_queryinfo_basic (Params_t *params
     {
        if (result_wanted == 0)
        {
-           rc = dat_ia_query (ia,
+           rc = ia->common.provider->ia_query (ia,
                               &evd,
                               &ia_attributes,
                               &provider_attributes);
@@ -236,7 +235,7 @@ int DT_queryinfo_basic (Params_t *params
     {
        if (result_wanted == 0)
        {
-           rc = dat_evd_query (evd,
+           rc = evd->common.provider->evd_query (evd,
                                &evd_param);
        }
 #if 0
@@ -256,7 +255,7 @@ int DT_queryinfo_basic (Params_t *params
     /* Test dat_psp_query function */
     else if (object_to_query == QUERY_PSP)
     {
-       rc = dat_psp_create (ia,
+       rc = ia->common.provider->psp_create (ia,
                             SERVER_PORT_NUMBER,
                             cr_evd,
                             DAT_PSP_PROVIDER_FLAG,
@@ -264,7 +263,7 @@ int DT_queryinfo_basic (Params_t *params
        DT_assert_dat (phead, rc == 0);
        if (result_wanted == 0)
        {
-           rc = dat_psp_query (psp,
+           rc = psp->common.provider->psp_query (psp,
                                &psp_param);
        }
 #if 0
@@ -284,14 +283,13 @@ int DT_queryinfo_basic (Params_t *params
     /* Test dat_rsp_query function */
     else if (object_to_query == QUERY_RSP)
     {
-       rc = dat_rsp_create (ia,
+       rc = ia->common.provider->rsp_create (ia,
                             SERVER_PORT_NUMBER,
                             ep,
                             cr_evd,
                             &rsp);
        DT_assert_dat (phead, rc == 0);
-       rc = dat_rsp_query (rsp,
-                           &rsp_param);
+       rc = rsp->common.provider->rsp_query (rsp, &rsp_param);
     }
 
     /* Test dat_cr_query function */
@@ -304,15 +302,13 @@ int DT_queryinfo_basic (Params_t *params
     /* Test dat_ep_query function */
     else if (object_to_query == QUERY_EP)
     {
-       rc = dat_ep_query (ep,
-                          &ep_param);
+       rc = ep->common.provider->ep_query (ep, &ep_param);
     }
 
     /* Test dat_pz_query function */
     else if (object_to_query == QUERY_PZ)
     {
-       rc = dat_pz_query (pz,
-                          &pz_param);
+       rc = pz->common.provider->pz_query (pz, &pz_param);
     }
 
     /* Test dat_lmr_query function */
@@ -322,7 +318,7 @@ int DT_queryinfo_basic (Params_t *params
        DT_assert (phead, alloc_ptr);
        memset (&region, 0, sizeof (region));
        region.for_va = alloc_ptr;
-       rc = dat_lmr_kcreate (ia,
+       rc = ia->common.provider->lmr_kcreate (ia,
                                 DAT_MEM_TYPE_VIRTUAL,
                                 region,
                                 buffer_size,
@@ -335,17 +331,16 @@ int DT_queryinfo_basic (Params_t *params
                                 &reg_size,
                                 &reg_addr);
        DT_assert_dat (phead, rc == 0);
-       rc = dat_lmr_query (lmr,
-                           &lmr_param);
+       rc = lmr->common.provider->lmr_query (lmr, &lmr_param);
     }
 
     /* Test dat_rmr_query function */
     else if (object_to_query == QUERY_RMR)
     {
-       rc = dat_rmr_create (pz,
+       rc = pz->common.provider->rmr_create (pz,
                             &rmr_handle);
        DT_assert_dat (phead, rc == 0);
-       rc = dat_rmr_query (rmr_handle,
+       rc = rmr_handle->common.provider->rmr_query (rmr_handle,
                            &rmr_param);
     }
 
@@ -354,13 +349,13 @@ int DT_queryinfo_basic (Params_t *params
 cleanup:
     if (rsp)
     {
-       rc = dat_rsp_free (rsp);
+       rc = rsp->common.provider->rsp_free (rsp);
        DT_assert_clean (phead, rc == 0);
     }
 
     if (ep)
     {
-       rc = dat_ep_free (ep);
+       rc = ep->common.provider->ep_free (ep);
        DT_assert_clean (phead, rc == 0);
     }
 
@@ -384,13 +379,13 @@ cleanup:
 
     if (lmr)
     {
-       rc = dat_lmr_free (lmr);
+       rc = lmr->common.provider->lmr_free (lmr);
        DT_assert_clean (phead, rc == 0);
     }
 
     if (rmr_handle)
     {
-       rc = dat_rmr_free (rmr_handle);
+       rc = rmr_handle->common.provider->rmr_free (rmr_handle);
        DT_assert_clean (phead, rc == 0);
     }
 
@@ -403,7 +398,7 @@ cleanup:
 #endif
     if (psp)
     {
-       rc = dat_psp_free (psp);
+       rc = psp->common.provider->psp_free (psp);
        DT_assert_clean (phead, rc == 0);
     }
 
@@ -415,7 +410,7 @@ cleanup:
 
     if (pz)
     {
-       rc = dat_pz_free (pz);
+       rc = pz->common.provider->pz_free (pz);
        DT_assert_clean (phead, rc == 0);
     }
 
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_transaction_test.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_transaction_test.c     
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_transaction_test.c     
(working copy)
@@ -245,7 +245,7 @@ DT_Transaction_Main (void *param)
     private_data_str = "DAPL and RDMA rule! Test 4321.";
 
     /* create a protection zone */
-    ret = dat_pz_create (test_ptr->ia, &test_ptr->pz);
+    ret = test_ptr->ia->common.provider->pz_create (test_ptr->ia, 
&test_ptr->pz);
     if (ret != 0)
     {
        DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_pz_create error: %s\n",
@@ -364,7 +364,7 @@ DT_Transaction_Main (void *param)
        }
 
        /* Create EP */
-       ret = dat_ep_create (test_ptr->ia,    /* IA       */
+       ret = test_ptr->ia->common.provider->ep_create (test_ptr->ia,    /* IA  
     */
                            test_ptr->pz,    /* PZ       */
                            test_ptr->recv_evd_hdl, /* recv     */
                            test_ptr->reqt_evd_hdl, /* request  */
@@ -458,7 +458,7 @@ DT_Transaction_Main (void *param)
                 *          await a connection for this EP
                 */
 
-               ret = dat_rsp_create (test_ptr->ia,
+               ret = test_ptr->ia->common.provider->rsp_create (test_ptr->ia,
                                     test_ptr->ep_context[i].ia_port,
                                     test_ptr->ep_context[i].ep,
                                     test_ptr->creq_evd_hdl,
@@ -473,7 +473,7 @@ DT_Transaction_Main (void *param)
            }
            else
            {
-               ret = dat_psp_create (test_ptr->ia,
+               ret = test_ptr->ia->common.provider->psp_create (test_ptr->ia,
                                      test_ptr->ep_context[i].ia_port,
                                      test_ptr->creq_evd_hdl,
                                      DAT_PSP_CONSUMER_FLAG,
@@ -548,7 +548,7 @@ DT_Transaction_Main (void *param)
                    goto test_failure;
                }
 
-               ret = dat_cr_query (cr, &cr_param);
+               ret = cr->common.provider->cr_query (cr, &cr_param);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_cr_query #%d 
error:(%x) %s\n",
@@ -572,7 +572,7 @@ DT_Transaction_Main (void *param)
                }
 
                /* what, me query?  just try to accept the connection */
-               ret = dat_cr_accept (cr,
+               ret = cr->common.provider->cr_accept (cr,
                                     NULL, /* NULL for RSP */
                                     0, (void *)0 /* no private data */ );
                if (ret != 0)
@@ -595,7 +595,7 @@ DT_Transaction_Main (void *param)
                    goto test_failure;
                }
                /* throw away single-use PSP */
-               ret = dat_rsp_free (test_ptr->ep_context[i].rsp);
+               ret = test_ptr->ep_context[i].rsp->common.provider->rsp_free 
(test_ptr->ep_context[i].rsp);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_rsp_free #%d 
error: %s\n",
@@ -632,7 +632,7 @@ DT_Transaction_Main (void *param)
                    goto test_failure;
                }
 
-               ret = dat_cr_query (cr, &cr_param);
+               ret = cr->common.provider->cr_query (cr, &cr_param);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_cr_query #%d 
error: %s\n",
@@ -657,7 +657,7 @@ DT_Transaction_Main (void *param)
 
 
                /* what, me query?  just try to accept the connection */
-               ret = dat_cr_accept (cr,
+               ret = cr->common.provider->cr_accept (cr,
                                    test_ptr->ep_context[i].ep,
                                    0, (void *)0 /* no private data */ );
                if (ret != 0)
@@ -665,7 +665,7 @@ DT_Transaction_Main (void *param)
                    DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_cr_accept 
#%d error: %s\n",
                                test_ptr->base_port, i, DT_RetToString (ret));
                    /* cr consumed on failure */
-                   (void) dat_psp_free (test_ptr->ep_context[i].psp);
+                   (void) 
test_ptr->ep_context[i].psp->common.provider->psp_free 
(test_ptr->ep_context[i].psp);
                     status = 1;
                    goto test_failure;
                }
@@ -677,13 +677,13 @@ DT_Transaction_Main (void *param)
                                           &event_num))
                {
                    /* error message printed by DT_cr_event_wait */
-                   (void) dat_psp_free (test_ptr->ep_context[i].psp);
+                   (void) 
test_ptr->ep_context[i].psp->common.provider->psp_free 
(test_ptr->ep_context[i].psp);
                     status = 1;
                    goto test_failure;
                }
 
                /* throw away single-use PSP */
-               ret = dat_psp_free (test_ptr->ep_context[i].psp);
+               ret = test_ptr->ep_context[i].psp->common.provider->psp_free 
(test_ptr->ep_context[i].psp);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_psp_free #%d 
error: %s\n",
@@ -710,7 +710,7 @@ DT_Transaction_Main (void *param)
                            test_ptr->ep_context[i].ia_port));
 
 retry:
-           ret = dat_ep_connect (test_ptr->ep_context[i].ep,
+           ret = test_ptr->ep_context[i].ep->common.provider->ep_connect 
(test_ptr->ep_context[i].ep,
                                  test_ptr->remote_ia_addr,
                                  test_ptr->ep_context[i].ia_port,
                                  DAT_TIMEOUT_MAX,
@@ -741,9 +741,10 @@ retry:
                     */
                    {
                        struct dat_event       event;
+                       struct dat_ep *ep = test_ptr->ep_context[i].ep;
                        int     drained = 0;
 
-                       dat_ep_reset (test_ptr->ep_context[i].ep);
+                       ep->common.provider->ep_reset(ep);
                        do
                        {
                            ret = DT_Tdep_evd_dequeue ( test_ptr->recv_evd_hdl,
@@ -1125,7 +1126,7 @@ test_failure:
             */
            if (test_ptr->ep_context[i].ep)
            {
-               ret = dat_ep_disconnect (test_ptr->ep_context[i].ep,
+               ret = 
test_ptr->ep_context[i].ep->common.provider->ep_disconnect 
(test_ptr->ep_context[i].ep,
                                        DAT_CLOSE_ABRUPT_FLAG);
                if (ret != 0)
                {
@@ -1196,7 +1197,7 @@ test_failure:
                                           &event);
                } while (ret == 0);
                /* Destroy the EP */
-               ret = dat_ep_free (ep);
+               ret = ep->common.provider->ep_free (ep);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_ep_free #%d 
error: %s\n",
@@ -1262,7 +1263,7 @@ test_failure:
     /* clean up the PZ */
     if (test_ptr->pz)
     {
-       ret = dat_pz_free (test_ptr->pz);
+       ret = test_ptr->pz->common.provider->pz_free (test_ptr->pz);
        if (ret != 0)
        {
            DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_pz_free error: %s\n",
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_performance_server.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_performance_server.c   
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_performance_server.c   
(working copy)
@@ -174,7 +174,7 @@ DT_Performance_Test_Server_Connect (
         */
        status = TRUE;
 
-       ret = dat_psp_create (test_ptr->ia,
+       ret = test_ptr->ia->common.provider->psp_create (test_ptr->ia,
                              test_ptr->ep_context.port,
                              test_ptr->creq_evd_hdl,
                              DAT_PSP_CONSUMER_FLAG,
@@ -215,7 +215,7 @@ DT_Performance_Test_Server_Connect (
     }
 
     /* what, me query?  just try to accept the connection */
-    ret = dat_cr_accept (cr,
+    ret = cr->common.provider->cr_accept (cr,
                         test_ptr->ep_context.ep,
                         0,
                         (void *)0 /* no private data */ );
@@ -245,7 +245,7 @@ psp_free:
     if ( NULL != psp )
     {
        /* throw away single-use PSP */
-       ret = dat_psp_free (psp);
+       ret = psp->common.provider->psp_free (psp);
        if (ret != 0)
        {
            DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_psp_free error: 
%s\n",
@@ -256,7 +256,7 @@ psp_free:
     if ( NULL != rsp )
     {
        /* throw away single-use PSP */
-       ret = dat_rsp_free (rsp);
+       ret = rsp->common.provider->rsp_free (rsp);
        if (ret != 0)
        {
            DT_Tdep_PT_Printf (phead, "Test[" F64x "]: dat_rsp_free error: 
%s\n",
Index: 
gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_dataxfer_client.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_dataxfer_client.c  
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_dataxfer_client.c  
(working copy)
@@ -85,7 +85,7 @@ cleanup:
     {
        /* disconnect */
        DT_Tdep_PT_Printf (phead, "Disconnect\n");
-       rc = dat_ep_disconnect (conn.ep, DAT_CLOSE_ABRUPT_FLAG);
+       rc = conn.ep->common.provider->ep_disconnect (conn.ep, 
DAT_CLOSE_ABRUPT_FLAG);
        DT_assert_clean (phead, rc == 0);
     }
     rc = DT_fft_destroy_conn_struct (phead, &conn);
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_bpool.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_bpool.c        
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_bpool.c        
(working copy)
@@ -161,7 +161,7 @@ DT_BpoolAlloc (
         region.for_pa = virt_to_phys(region.for_va);
     }
     
-    ret = dat_lmr_kcreate (ia,
+    ret = ia->common.provider->lmr_kcreate (ia,
                            DT_mem_type,
                            region,
                            bp_len,
@@ -283,7 +283,7 @@ err:
     {
        if (bpool_ptr->rmr_handle)
        {
-           ret = dat_rmr_free (bpool_ptr->rmr_handle);
+           ret = bpool_ptr->rmr_handle->common.provider->rmr_free 
(bpool_ptr->rmr_handle);
            if (ret != 0)
            {
                DT_Tdep_PT_Printf (phead,
@@ -294,7 +294,7 @@ err:
        }
        if (bpool_ptr->lmr)
        {
-           ret = dat_lmr_free (bpool_ptr->lmr);
+           ret = bpool_ptr->lmr->common.provider->lmr_free (bpool_ptr->lmr);
            if (ret != 0)
            {
                DT_Tdep_PT_Printf (phead,
@@ -348,7 +348,7 @@ DT_Bpool_Destroy (Per_Test_Data_t * pt_p
                 * an RMR, doing an rmr_free will pull the plug
                 * and cleanup properly.
                 */
-               ret = dat_rmr_free (bpool_ptr->rmr_handle);
+               ret = bpool_ptr->rmr_handle->common.provider->rmr_free 
(bpool_ptr->rmr_handle);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead,
@@ -361,7 +361,7 @@ DT_Bpool_Destroy (Per_Test_Data_t * pt_p
 
            if (bpool_ptr->lmr)
            {
-               int ret = dat_lmr_free (bpool_ptr->lmr);
+               int ret = bpool_ptr->lmr->common.provider->lmr_free 
(bpool_ptr->lmr);
                if (ret != 0)
                {
                    DT_Tdep_PT_Printf (phead,
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_test_util.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_test_util.c    
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_test_util.c    
(working copy)
@@ -45,7 +45,7 @@ DT_query (   Per_Test_Data_t *pt_ptr,
     phead = pt_ptr->Params.phead;
 
     /* Query the IA */
-    ret = dat_ia_query (ia,
+    ret = ia->common.provider->ia_query (ia,
                         &async_evd_hdl,
                         &pt_ptr->ia_attr,
                         &pt_ptr->provider_attr);
@@ -58,7 +58,7 @@ DT_query (   Per_Test_Data_t *pt_ptr,
     }
 
     /* Query the EP */
-    ret = dat_ep_query (ep, &ep_params);
+    ret = ep->common.provider->ep_query (ep, &ep_params);
     if (ret != 0)
     {
        DT_Tdep_PT_Printf (phead, "%s: dat_ep_query error: %s\n",
@@ -183,7 +183,7 @@ DT_post_recv_buffer (DT_Tdep_Print_Head 
     DT_Tdep_PT_Debug (3, (phead, "Post-Recv #%d [%p, %x]\n", index, buff, 
size));
 
     /* Post the recv buffer */
-    ret = dat_ep_post_recv (ep,
+    ret = ep->common.provider->ep_post_recv (ep,
                            1,
                            iov,
                            cookie,
@@ -227,7 +227,7 @@ DT_post_send_buffer (DT_Tdep_Print_Head 
 
     DT_Tdep_PT_Debug (3, (phead, "Post-Send #%d [%p, %x]\n", index, buff, 
size));
     /* Post the recv buffer */
-    ret = dat_ep_post_send (ep,
+    ret = ep->common.provider->ep_post_send (ep,
                            1,
                            iov,
                            cookie,
@@ -696,7 +696,7 @@ DT_cr_check (  DT_Tdep_Print_Head *phead
        }
        else
        {
-           ret = dat_cr_reject (cr_stat_p->cr);
+           ret = cr_stat_p->cr->common.provider->cr_reject (cr_stat_p->cr);
            if (ret != 0)
            {
                DT_Tdep_PT_Printf (phead, "\tdat_cr_reject error: %s\n",
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_client.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_client.c       
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_client.c       
(working copy)
@@ -114,7 +114,7 @@ DT_cs_Client (Params_t * params_ptr,
     DT_Tdep_PT_Debug (1,(phead, "%s: IA %s opened\n", module, dapl_name));
 
     /* Create a PZ */
-    ret = dat_pz_create (ia, &pz);
+    ret = ia->common.provider->pz_create (ia, &pz);
     if (ret != 0)
     {
        DT_Tdep_PT_Printf (phead, 
@@ -175,7 +175,7 @@ DT_cs_Client (Params_t * params_ptr,
     }
 
     /* Create an EP */
-    ret = dat_ep_create (ia,            /* IA       */
+    ret = ia->common.provider->ep_create (ia,           /* IA       */
                        pz,             /* PZ       */
                        recv_evd_hdl,           /* recv     */
                        reqt_evd_hdl,           /* request  */
@@ -254,7 +254,7 @@ retry_repost:
     DT_Tdep_PT_Debug (1,(phead, "%s: Connect Endpoint\n", module));
     try_connect =1;
 retry:
-    ret = dat_ep_connect (ep,
+    ret = ep->common.provider->ep_connect (ep,
                         server_netaddr,
                         SERVER_PORT_NUMBER,
                         DAT_TIMEOUT_MAX,
@@ -288,7 +288,7 @@ retry:
             * See if any buffers were flushed as a result of
             * the REJECT; clean them up and repost if so
             */
-           dat_ep_reset (ep);
+           ep->common.provider->ep_reset (ep);
            do
            {
 
@@ -528,7 +528,7 @@ client_exit:
         * graceful attempt might fail because we got here due to
         * some error above, so we may as well try harder.
         */
-       ret = dat_ep_disconnect (ep, DAT_CLOSE_ABRUPT_FLAG);
+       ret = ep->common.provider->ep_disconnect (ep, DAT_CLOSE_ABRUPT_FLAG);
        if (ret != 0)
        {
                DT_Tdep_PT_Printf (phead, 
@@ -561,7 +561,7 @@ client_exit:
                                   &event);
        } while (ret == 0);
 
-       ret = dat_ep_free (ep);
+       ret = ep->common.provider->ep_free (ep);
        if (ret != 0)
        {
            DT_Tdep_PT_Printf (phead, 
@@ -617,7 +617,7 @@ client_exit:
     /* Free the PZ */
     if (pz)
     {
-       ret = dat_pz_free (pz);
+       ret = pz->common.provider->pz_free (pz);
        if (ret != 0)
        {
            DT_Tdep_PT_Printf (phead, 
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_endpoint.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_endpoint.c 
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_endpoint.c 
(working copy)
@@ -63,14 +63,14 @@ int DT_endpoint_generic (Params_t *param
     rc = dat_ia_open (dev_name, DEFAULT_QUEUE_LEN, &evd, &ia);
     DT_assert_dat (phead, rc == 0);
 
-    rc = dat_pz_create (ia, &pz);
+    rc = ia->common.provider->pz_create (ia, &pz);
     DT_assert_dat (phead, rc == 0);
 
     if (destroy_pz_early)
     {
        if (pz)
        {
-           rc = dat_pz_free (pz);
+           rc = pz->common.provider->pz_free (pz);
            DT_assert_dat (phead, rc == 0);
        }
     }
@@ -88,7 +88,7 @@ int DT_endpoint_generic (Params_t *param
            DAT_EVD_CONNECTION_FLAG, &conn_evd);
     DT_assert_dat (phead, rc == 0);
 
-    rc = dat_ep_create (ia, pz, recv_evd, send_evd,
+    rc = ia->common.provider->ep_create (ia, pz, recv_evd, send_evd,
            conn_evd, NULL, &ep);
     if (destroy_pz_early)
     {
@@ -103,7 +103,7 @@ int DT_endpoint_generic (Params_t *param
 cleanup:
     if (ep)
     {
-       rc = dat_ep_free (ep);
+       rc = ep->common.provider->ep_free (ep);
        DT_assert_clean (phead, rc == 0);
     }
 
@@ -127,7 +127,7 @@ cleanup:
 
     if (!destroy_pz_early && pz)
     {
-       rc = dat_pz_free (pz);
+       rc = pz->common.provider->pz_free (pz);
        DT_assert_clean (phead, rc == 0);
     }
 
@@ -189,7 +189,7 @@ int DT_endpoint_case2 (Params_t *params_
 
     rc = DT_ia_open (dev_name, &ia);
     DT_assert_dat (phead, rc == 0);
-    rc = dat_pz_create (ia, &pz);
+    rc = ia->common.provider->pz_create (ia, &pz);
     DT_assert_dat (phead, rc == 0);
     rc = DT_ep_create (params_ptr, 
                       ia, 
@@ -210,7 +210,7 @@ int DT_endpoint_case2 (Params_t *params_
                                    4096) == TRUE);
     if (ep)
     {
-       rc = dat_ep_free (ep);
+       rc = ep->common.provider->ep_free (ep);
        DT_assert_dat (phead, rc == 0);
     }
 
@@ -232,7 +232,7 @@ cleanup:
     }
     if (pz)
     {
-       rc = dat_pz_free (pz);
+       rc = pz->common.provider->pz_free (pz);
        DT_assert_clean (phead, rc == 0);
     }
     if (ia)
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_transaction_util.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_transaction_util.c     
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_transaction_util.c     
(working copy)
@@ -60,7 +60,7 @@ DT_handle_post_recv_buf (DT_Tdep_Print_H
             | (((uintptr_t) DT_Bpool_GetBuffer (op->bp, 0)) & 0xffffffffUL));
 
        /* Post the recv */
-       ret = dat_ep_post_recv ( ep_context[i].ep,
+       ret = ep_context[i].ep->common.provider->ep_post_recv(ep_context[i].ep,
                                op->num_segs,
                                iov,
                                cookie,
@@ -123,7 +123,7 @@ DT_handle_send_op (DT_Tdep_Print_Head *p
             | (((uintptr_t) DT_Bpool_GetBuffer (op->bp, 0)) & 0xffffffffUL));
 
        /* Post the send */
-       ret = dat_ep_post_send ( ep_context[i].ep,
+       ret = ep_context[i].ep->common.provider->ep_post_send ( 
ep_context[i].ep,
                                op->num_segs,
                                iov,
                                cookie,
@@ -517,7 +517,7 @@ DT_handle_rdma_op (DT_Tdep_Print_Head *p
        if (opcode == RDMA_WRITE)
        {
 
-           ret = dat_ep_post_rdma_write (ep_context[i].ep,
+           ret = ep_context[i].ep->common.provider->ep_post_rdma_write 
(ep_context[i].ep,
                                         op->num_segs,
                                         iov,
                                         cookie,
@@ -528,7 +528,7 @@ DT_handle_rdma_op (DT_Tdep_Print_Head *p
        else /* opcode == RDMA_READ */
        {
 
-           ret = dat_ep_post_rdma_read ( ep_context[i].ep,
+           ret = ep_context[i].ep->common.provider->ep_post_rdma_read ( 
ep_context[i].ep,
                                         op->num_segs,
                                         iov,
                                         cookie,
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_pz.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_pz.c       
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/test/dapl_fft_pz.c       
(working copy)
@@ -55,13 +55,13 @@ int DT_pz_case0 ( Params_t *params_ptr, 
 
     rc = DT_ia_open (dev_name, &ia);
     DT_assert_dat (phead, rc == 0);
-    rc = dat_pz_create (ia, &pz);
+    rc = ia->common.provider->pz_create (ia, &pz);
     DT_assert_dat (phead, rc == 0);
 
 cleanup:
     if (pz)
     {
-       rc = dat_pz_free (pz);
+       rc = pz->common.provider->pz_free (pz);
        DT_assert_dat (phead, rc == 0);
     }
     if (ia)
@@ -101,7 +101,7 @@ int DT_pz_case1 (Params_t *params_ptr, F
     rc = DT_ia_open (dev_name, &ia);
     DT_assert_dat (phead, rc == 0);
 
-    rc = dat_pz_create (ia, &pz);
+    rc = ia->common.provider->pz_create (ia, &pz);
     DT_assert_dat (phead, rc == 0);
 
     rc = DT_ep_create (params_ptr, 
@@ -116,7 +116,7 @@ int DT_pz_case1 (Params_t *params_ptr, F
 
     if (pz)
     {
-       rc = dat_pz_free (pz);
+       rc = pz->common.provider->pz_free (pz);
        DT_assert_dat (phead, rc == -EINVAL);
     }
 
@@ -124,7 +124,7 @@ cleanup:
     /* corrrect order */
     if (ep)
     {
-       rc=dat_ep_free (ep);
+       rc=ep->common.provider->ep_free (ep);
        DT_assert_clean (phead, rc == 0);
     }
     if (conn_evd)
@@ -144,7 +144,7 @@ cleanup:
     }
     if (pz)
     {
-       rc=dat_pz_free (pz);
+       rc=pz->common.provider->pz_free (pz);
        DT_assert_clean (phead, rc == 0);
     }
 
@@ -183,7 +183,7 @@ int DT_pz_case2 (Params_t *params_ptr, F
     rc = DT_ia_open (dev_name, &ia);
     DT_assert_dat (phead, rc == 0);
 
-    rc = dat_pz_create (ia, &pz);
+    rc = ia->common.provider->pz_create (ia, &pz);
     DT_assert_dat (phead, rc == 0);
 
     /* allocate and register bpool */
@@ -194,7 +194,7 @@ int DT_pz_case2 (Params_t *params_ptr, F
 
     if (pz)
     {
-       rc = dat_pz_free (pz);
+       rc = pz->common.provider->pz_free (pz);
        DT_assert_dat (phead, rc == -EINVAL);
     }
 
@@ -208,7 +208,7 @@ cleanup:
     }
     if (pz)
     {
-       rc=dat_pz_free (pz);
+       rc=pz->common.provider->pz_free (pz);
        DT_assert_clean (phead, rc == 0);
     }
 
Index: gen2/utils/src/linux-kernel/kdapl/dapltest/kdapl/kdapl_tdep_evd.c
===================================================================
--- gen2/utils/src/linux-kernel/kdapl/dapltest/kdapl/kdapl_tdep_evd.c   
(revision 2952)
+++ gen2/utils/src/linux-kernel/kdapl/dapltest/kdapl/kdapl_tdep_evd.c   
(working copy)
@@ -118,10 +118,10 @@ DT_Tdep_evd_create (struct dat_ia *               ia,
        dat_status =  -ENOMEM;
        goto error;
     }
-    upcall.upcall_func = DT_Tdep_Event_Callback;
+    upcall.upcall = DT_Tdep_Event_Callback;
     upcall.instance_data = evd_ptr;
 
-    dat_status = dat_evd_kcreate (ia,
+    dat_status = ia->common.provider->evd_kcreate (ia,
                                  evd_min_qlen,
                                  DAT_UPCALL_SINGLE_INSTANCE,
                                  &upcall,
@@ -317,7 +317,7 @@ DT_Tdep_evd_free (struct dat_evd *evd)
     spin_unlock_irq (&DT_Evd_Lock);
 
     DT_Mdep_Free (next);
-    return dat_evd_free(evd);
+    return evd->common.provider->evd_free(evd);
 }
 
 static void DT_Tdep_Event_Callback (


_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to