Private data support via dat_cr_reject was added to
the v2 DAT specification but dapl was never extended
to support at the provider level. Add support in OFA
uDAPL provider.

Signed-off by: Arlin Davis [EMAIL PROTECTED]
---
 dapl/common/dapl_adapter_util.h  |    6 ++++--
 dapl/common/dapl_cr_callback.c   |    9 ++++++---
 dapl/common/dapl_cr_reject.c     |    3 ++-
 dapl/ibal-scm/dapl_ibal-scm_cm.c |    4 +++-
 dapl/ibal/dapl_ibal_cm.c         |    4 +++-
 dapl/openib/dapl_ib_cm.c         |    4 +++-
 dapl/openib_cma/dapl_ib_cm.c     |    6 +++++-
 dapl/openib_scm/dapl_ib_cm.c     |    4 +++-
 8 files changed, 29 insertions(+), 11 deletions(-)

diff --git a/dapl/common/dapl_adapter_util.h b/dapl/common/dapl_adapter_util.h
index d664bf6..43175a9 100755
--- a/dapl/common/dapl_adapter_util.h
+++ b/dapl/common/dapl_adapter_util.h
@@ -112,8 +112,10 @@ DAT_RETURN dapls_ib_accept_connection (
        IN  const DAT_PVOID             private_data);
 
 DAT_RETURN dapls_ib_reject_connection (
-       IN  dp_ib_cm_handle_t   cm_handle,
-       IN  int                         reject_reason);
+       IN  dp_ib_cm_handle_t           cm_handle,
+       IN  int                         reject_reason,
+       IN  DAT_COUNT                   private_data_size,
+       IN  const DAT_PVOID             private_data);
 
 DAT_RETURN dapls_ib_setup_async_callback (
        IN  DAPL_IA                     *ia_ptr,
diff --git a/dapl/common/dapl_cr_callback.c b/dapl/common/dapl_cr_callback.c
index 46d2b4c..aafdbfb 100644
--- a/dapl/common/dapl_cr_callback.c
+++ b/dapl/common/dapl_cr_callback.c
@@ -173,7 +173,8 @@ dapls_cr_callback (
                dapl_dbg_log (DAPL_DBG_TYPE_CM,
                          "---> dapls_cr_callback: conn event on down SP\n");
                (void)dapls_ib_reject_connection (ib_cm_handle,
-                                                 
DAT_CONNECTION_EVENT_UNREACHABLE );
+                                                 
DAT_CONNECTION_EVENT_UNREACHABLE,
+                                                 0, NULL);
 
                return;
            }
@@ -300,7 +301,8 @@ dapls_cr_callback (
     {
        /* The event post failed; take appropriate action.  */
        (void)dapls_ib_reject_connection ( ib_cm_handle,
-                                          DAT_CONNECTION_EVENT_BROKEN);
+                                          DAT_CONNECTION_EVENT_BROKEN,
+                                          0, NULL);
 
        return;
     }
@@ -456,7 +458,8 @@ dapli_connection_request (
     {
        dapls_cr_free (cr_ptr);
        (void)dapls_ib_reject_connection (ib_cm_handle,
-                                         DAT_CONNECTION_EVENT_BROKEN);
+                                         DAT_CONNECTION_EVENT_BROKEN,
+                                         0, NULL);
 
        /* Take the CR off the list, we can't use it */
        dapl_os_lock (&sp_ptr->header.lock);
diff --git a/dapl/common/dapl_cr_reject.c b/dapl/common/dapl_cr_reject.c
index d6842b3..029cdfa 100755
--- a/dapl/common/dapl_cr_reject.c
+++ b/dapl/common/dapl_cr_reject.c
@@ -97,7 +97,8 @@ dapl_cr_reject (
     }
 
     dat_status =  dapls_ib_reject_connection ( cr_ptr->ib_cm_handle,
-                                              IB_CM_REJ_REASON_CONSUMER_REJ );
+                                              IB_CM_REJ_REASON_CONSUMER_REJ,
+                                              pdata_size, pdata );
 
     if ( dat_status != DAT_SUCCESS)
     {
diff --git a/dapl/ibal-scm/dapl_ibal-scm_cm.c b/dapl/ibal-scm/dapl_ibal-scm_cm.c
index fcf5215..df83008 100644
--- a/dapl/ibal-scm/dapl_ibal-scm_cm.c
+++ b/dapl/ibal-scm/dapl_ibal-scm_cm.c
@@ -951,7 +951,9 @@ dapls_ib_accept_connection (
 DAT_RETURN
 dapls_ib_reject_connection (
        IN  dp_ib_cm_handle_t   ib_cm_handle,
-       IN  int                 reject_reason )
+       IN  int                 reject_reason,
+       IN  DAT_COUNT           private_data_size,
+       IN  const DAT_PVOID     private_data)
 {
        ib_cm_srvc_handle_t     cm_ptr = ib_cm_handle;
 
diff --git a/dapl/ibal/dapl_ibal_cm.c b/dapl/ibal/dapl_ibal_cm.c
index 6cd652f..a986430 100644
--- a/dapl/ibal/dapl_ibal_cm.c
+++ b/dapl/ibal/dapl_ibal_cm.c
@@ -1228,7 +1228,9 @@ dapls_ib_remove_conn_listener (
  */
 DAT_RETURN
 dapls_ib_reject_connection ( IN  dp_ib_cm_handle_t   ib_cm_handle,
-                             IN  int                 reject_reason )
+                             IN  int                 reject_reason,
+                             IN  DAT_COUNT           private_data_size,
+                             IN  const DAT_PVOID     private_data)
 {
     ib_api_status_t        ib_status;
     ib_cm_rej_t            cm_rej;
diff --git a/dapl/openib/dapl_ib_cm.c b/dapl/openib/dapl_ib_cm.c
index 76d5968..c887a0b 100644
--- a/dapl/openib/dapl_ib_cm.c
+++ b/dapl/openib/dapl_ib_cm.c
@@ -971,7 +971,9 @@ reject:
 DAT_RETURN
 dapls_ib_reject_connection (
        IN  ib_cm_handle_t      cm_handle,
-       IN  int                 reject_reason )
+       IN  int                 reject_reason,
+       IN  DAT_COUNT           private_data_size,
+       IN  const DAT_PVOID     private_data)
 {
        int status;
 
diff --git a/dapl/openib_cma/dapl_ib_cm.c b/dapl/openib_cma/dapl_ib_cm.c
index cf79142..a040ffb 100755
--- a/dapl/openib_cma/dapl_ib_cm.c
+++ b/dapl/openib_cma/dapl_ib_cm.c
@@ -890,7 +890,11 @@ bail:
  *
  */
 DAT_RETURN
-dapls_ib_reject_connection(IN dp_ib_cm_handle_t cm_handle, IN int reason)
+dapls_ib_reject_connection(
+       IN dp_ib_cm_handle_t cm_handle, 
+       IN int reason,
+       IN DAT_COUNT private_data_size,
+       IN const DAT_PVOID private_data)
 {
        int ret;
 
diff --git a/dapl/openib_scm/dapl_ib_cm.c b/dapl/openib_scm/dapl_ib_cm.c
index 485ab9b..94e3959 100644
--- a/dapl/openib_scm/dapl_ib_cm.c
+++ b/dapl/openib_scm/dapl_ib_cm.c
@@ -759,7 +759,9 @@ dapls_ib_accept_connection (
 DAT_RETURN
 dapls_ib_reject_connection (
        IN  ib_cm_handle_t      ib_cm_handle,
-       IN  int                 reject_reason )
+       IN  int                 reject_reason,
+       IN  DAT_COUNT           private_data_size,
+       IN  const DAT_PVOID     private_data)
 {
        ib_cm_srvc_handle_t     cm_ptr = ib_cm_handle;
 
-- 
1.5.2.5



_______________________________________________
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

Reply via email to