aboutsummaryrefslogtreecommitdiffstats
path: root/include/rdma
diff options
context:
space:
mode:
authorSean Hefty <sean.hefty@intel.com>2005-10-17 18:37:43 -0400
committerRoland Dreier <rolandd@cisco.com>2005-10-17 18:37:43 -0400
commit07d357d0cbf89d9980b1769d5444a3c70f000e00 (patch)
treecc7bcdee52b4e79e2115295e763f2e3d49c68a86 /include/rdma
parent595e726a1f28420c5fc7970b1a87cbce77a1cd45 (diff)
[IB] CM: bind IDs to a specific device
Bind communication identifiers to a device to support device removal. Export per HCA CM devices to userspace. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Diffstat (limited to 'include/rdma')
-rw-r--r--include/rdma/ib_cm.h10
-rw-r--r--include/rdma/ib_user_cm.h10
2 files changed, 10 insertions, 10 deletions
diff --git a/include/rdma/ib_cm.h b/include/rdma/ib_cm.h
index 5308683c8c41..0a9fcd59eb43 100644
--- a/include/rdma/ib_cm.h
+++ b/include/rdma/ib_cm.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (c) 2004 Intel Corporation. All rights reserved. 2 * Copyright (c) 2004, 2005 Intel Corporation. All rights reserved.
3 * Copyright (c) 2004 Topspin Corporation. All rights reserved. 3 * Copyright (c) 2004 Topspin Corporation. All rights reserved.
4 * Copyright (c) 2004 Voltaire Corporation. All rights reserved. 4 * Copyright (c) 2004 Voltaire Corporation. All rights reserved.
5 * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved. 5 * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved.
@@ -109,7 +109,6 @@ struct ib_cm_id;
109 109
110struct ib_cm_req_event_param { 110struct ib_cm_req_event_param {
111 struct ib_cm_id *listen_id; 111 struct ib_cm_id *listen_id;
112 struct ib_device *device;
113 u8 port; 112 u8 port;
114 113
115 struct ib_sa_path_rec *primary_path; 114 struct ib_sa_path_rec *primary_path;
@@ -220,7 +219,6 @@ struct ib_cm_apr_event_param {
220 219
221struct ib_cm_sidr_req_event_param { 220struct ib_cm_sidr_req_event_param {
222 struct ib_cm_id *listen_id; 221 struct ib_cm_id *listen_id;
223 struct ib_device *device;
224 u8 port; 222 u8 port;
225 u16 pkey; 223 u16 pkey;
226}; 224};
@@ -284,6 +282,7 @@ typedef int (*ib_cm_handler)(struct ib_cm_id *cm_id,
284struct ib_cm_id { 282struct ib_cm_id {
285 ib_cm_handler cm_handler; 283 ib_cm_handler cm_handler;
286 void *context; 284 void *context;
285 struct ib_device *device;
287 __be64 service_id; 286 __be64 service_id;
288 __be64 service_mask; 287 __be64 service_mask;
289 enum ib_cm_state state; /* internal CM/debug use */ 288 enum ib_cm_state state; /* internal CM/debug use */
@@ -295,6 +294,8 @@ struct ib_cm_id {
295 294
296/** 295/**
297 * ib_create_cm_id - Allocate a communication identifier. 296 * ib_create_cm_id - Allocate a communication identifier.
297 * @device: Device associated with the cm_id. All related communication will
298 * be associated with the specified device.
298 * @cm_handler: Callback invoked to notify the user of CM events. 299 * @cm_handler: Callback invoked to notify the user of CM events.
299 * @context: User specified context associated with the communication 300 * @context: User specified context associated with the communication
300 * identifier. 301 * identifier.
@@ -302,7 +303,8 @@ struct ib_cm_id {
302 * Communication identifiers are used to track connection states, service 303 * Communication identifiers are used to track connection states, service
303 * ID resolution requests, and listen requests. 304 * ID resolution requests, and listen requests.
304 */ 305 */
305struct ib_cm_id *ib_create_cm_id(ib_cm_handler cm_handler, 306struct ib_cm_id *ib_create_cm_id(struct ib_device *device,
307 ib_cm_handler cm_handler,
306 void *context); 308 void *context);
307 309
308/** 310/**
diff --git a/include/rdma/ib_user_cm.h b/include/rdma/ib_user_cm.h
index e4d1654276ad..3037588b8464 100644
--- a/include/rdma/ib_user_cm.h
+++ b/include/rdma/ib_user_cm.h
@@ -38,7 +38,7 @@
38 38
39#include <linux/types.h> 39#include <linux/types.h>
40 40
41#define IB_USER_CM_ABI_VERSION 2 41#define IB_USER_CM_ABI_VERSION 3
42 42
43enum { 43enum {
44 IB_USER_CM_CMD_CREATE_ID, 44 IB_USER_CM_CMD_CREATE_ID,
@@ -299,8 +299,6 @@ struct ib_ucm_event_get {
299}; 299};
300 300
301struct ib_ucm_req_event_resp { 301struct ib_ucm_req_event_resp {
302 /* device */
303 /* port */
304 struct ib_ucm_path_rec primary_path; 302 struct ib_ucm_path_rec primary_path;
305 struct ib_ucm_path_rec alternate_path; 303 struct ib_ucm_path_rec alternate_path;
306 __be64 remote_ca_guid; 304 __be64 remote_ca_guid;
@@ -316,6 +314,7 @@ struct ib_ucm_req_event_resp {
316 __u8 retry_count; 314 __u8 retry_count;
317 __u8 rnr_retry_count; 315 __u8 rnr_retry_count;
318 __u8 srq; 316 __u8 srq;
317 __u8 port;
319}; 318};
320 319
321struct ib_ucm_rep_event_resp { 320struct ib_ucm_rep_event_resp {
@@ -353,10 +352,9 @@ struct ib_ucm_apr_event_resp {
353}; 352};
354 353
355struct ib_ucm_sidr_req_event_resp { 354struct ib_ucm_sidr_req_event_resp {
356 /* device */
357 /* port */
358 __u16 pkey; 355 __u16 pkey;
359 __u8 reserved[2]; 356 __u8 port;
357 __u8 reserved;
360}; 358};
361 359
362struct ib_ucm_sidr_rep_event_resp { 360struct ib_ucm_sidr_rep_event_resp {