diff options
| author | Sean Hefty <sean.hefty@intel.com> | 2005-10-17 18:37:43 -0400 |
|---|---|---|
| committer | Roland Dreier <rolandd@cisco.com> | 2005-10-17 18:37:43 -0400 |
| commit | 07d357d0cbf89d9980b1769d5444a3c70f000e00 (patch) | |
| tree | cc7bcdee52b4e79e2115295e763f2e3d49c68a86 /include/rdma | |
| parent | 595e726a1f28420c5fc7970b1a87cbce77a1cd45 (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.h | 10 | ||||
| -rw-r--r-- | include/rdma/ib_user_cm.h | 10 |
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 | ||
| 110 | struct ib_cm_req_event_param { | 110 | struct 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 | ||
| 221 | struct ib_cm_sidr_req_event_param { | 220 | struct 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, | |||
| 284 | struct ib_cm_id { | 282 | struct 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 | */ |
| 305 | struct ib_cm_id *ib_create_cm_id(ib_cm_handler cm_handler, | 306 | struct 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 | ||
| 43 | enum { | 43 | enum { |
| 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 | ||
| 301 | struct ib_ucm_req_event_resp { | 301 | struct 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 | ||
| 321 | struct ib_ucm_rep_event_resp { | 320 | struct ib_ucm_rep_event_resp { |
| @@ -353,10 +352,9 @@ struct ib_ucm_apr_event_resp { | |||
| 353 | }; | 352 | }; |
| 354 | 353 | ||
| 355 | struct ib_ucm_sidr_req_event_resp { | 354 | struct 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 | ||
| 362 | struct ib_ucm_sidr_rep_event_resp { | 360 | struct ib_ucm_sidr_rep_event_resp { |
