From 89539a28633f55a8c9da242850123c56f3a2b303 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Fri, 22 Jan 2010 16:16:46 -0800 Subject: [PATCH] librdmacm: set private_data_len Set the private_data_len for reported events. This allows DAPL to use the value when copying private data. Signed-off-by: Sean Hefty --- trunk/ulp/librdmacm/include/rdma/rdma_cma.h | 2 ++ trunk/ulp/librdmacm/src/cma.cpp | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/trunk/ulp/librdmacm/include/rdma/rdma_cma.h b/trunk/ulp/librdmacm/include/rdma/rdma_cma.h index c3b9ad18..7b9a6e0e 100644 --- a/trunk/ulp/librdmacm/include/rdma/rdma_cma.h +++ b/trunk/ulp/librdmacm/include/rdma/rdma_cma.h @@ -44,6 +44,8 @@ extern "C" { * Interfaces based on librdmacm 1.0.8. */ +#define RDMA_MAX_PRIVATE_DATA 56 + /* * Upon receiving a device removal event, users must destroy the associated * RDMA identifier and release all resources allocated with the device. diff --git a/trunk/ulp/librdmacm/src/cma.cpp b/trunk/ulp/librdmacm/src/cma.cpp index 2727d887..cde309b8 100644 --- a/trunk/ulp/librdmacm/src/cma.cpp +++ b/trunk/ulp/librdmacm/src/cma.cpp @@ -84,7 +84,7 @@ struct cma_device struct cma_event { struct rdma_cm_event event; - uint8_t private_data[56]; + uint8_t private_data[RDMA_MAX_PRIVATE_DATA]; struct cma_id_private *id_priv; }; @@ -1029,6 +1029,8 @@ int rdma_get_cm_event(struct rdma_event_channel *channel, evt->id_priv = CONTAINING_RECORD(id, struct cma_id_private, id); evt->event.id = id; evt->event.param.conn.private_data = evt->private_data; + evt->event.param.conn.private_data_len = RDMA_MAX_PRIVATE_DATA; + evt->event.status = id->ep.connect-> GetOverlappedResult(&entry->Overlap, &bytes, FALSE); -- 2.46.0