diff options
| author | Sean Hefty <sean.hefty@intel.com> | 2006-11-30 19:44:16 -0500 |
|---|---|---|
| committer | Roland Dreier <rolandd@cisco.com> | 2006-12-12 14:50:21 -0500 |
| commit | 628e5f6d39d5a6be96c1272a6709f2dd3ec8b7ce (patch) | |
| tree | 91cd315e0bbc7873366fd589d69b4f182a1fd854 /include/rdma | |
| parent | 0fe313b000b6a699afbbb59ef9c47a2b22146f1e (diff) | |
RDMA/cma: Add support for RDMA_PS_UDP
Allow the use of UD QPs through the rdma_cm, in order to provide
address translation services for resolving IB addresses for datagram
messages using SIDR.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'include/rdma')
| -rw-r--r-- | include/rdma/rdma_cm.h | 15 | ||||
| -rw-r--r-- | include/rdma/rdma_cm_ib.h | 3 |
2 files changed, 18 insertions, 0 deletions
diff --git a/include/rdma/rdma_cm.h b/include/rdma/rdma_cm.h index 6b8ec486d06b..36cd8a8526a0 100644 --- a/include/rdma/rdma_cm.h +++ b/include/rdma/rdma_cm.h | |||
| @@ -90,11 +90,20 @@ struct rdma_conn_param { | |||
| 90 | u32 qp_num; | 90 | u32 qp_num; |
| 91 | }; | 91 | }; |
| 92 | 92 | ||
| 93 | struct rdma_ud_param { | ||
| 94 | const void *private_data; | ||
| 95 | u8 private_data_len; | ||
| 96 | struct ib_ah_attr ah_attr; | ||
| 97 | u32 qp_num; | ||
| 98 | u32 qkey; | ||
| 99 | }; | ||
| 100 | |||
| 93 | struct rdma_cm_event { | 101 | struct rdma_cm_event { |
| 94 | enum rdma_cm_event_type event; | 102 | enum rdma_cm_event_type event; |
| 95 | int status; | 103 | int status; |
| 96 | union { | 104 | union { |
| 97 | struct rdma_conn_param conn; | 105 | struct rdma_conn_param conn; |
| 106 | struct rdma_ud_param ud; | ||
| 98 | } param; | 107 | } param; |
| 99 | }; | 108 | }; |
| 100 | 109 | ||
| @@ -220,9 +229,15 @@ int rdma_init_qp_attr(struct rdma_cm_id *id, struct ib_qp_attr *qp_attr, | |||
| 220 | 229 | ||
| 221 | /** | 230 | /** |
| 222 | * rdma_connect - Initiate an active connection request. | 231 | * rdma_connect - Initiate an active connection request. |
| 232 | * @id: Connection identifier to connect. | ||
| 233 | * @conn_param: Connection information used for connected QPs. | ||
| 223 | * | 234 | * |
| 224 | * Users must have resolved a route for the rdma_cm_id to connect with | 235 | * Users must have resolved a route for the rdma_cm_id to connect with |
| 225 | * by having called rdma_resolve_route before calling this routine. | 236 | * by having called rdma_resolve_route before calling this routine. |
| 237 | * | ||
| 238 | * This call will either connect to a remote QP or obtain remote QP | ||
| 239 | * information for unconnected rdma_cm_id's. The actual operation is | ||
| 240 | * based on the rdma_cm_id's port space. | ||
| 226 | */ | 241 | */ |
| 227 | int rdma_connect(struct rdma_cm_id *id, struct rdma_conn_param *conn_param); | 242 | int rdma_connect(struct rdma_cm_id *id, struct rdma_conn_param *conn_param); |
| 228 | 243 | ||
diff --git a/include/rdma/rdma_cm_ib.h b/include/rdma/rdma_cm_ib.h index e8c3af1804d4..9b176df1d667 100644 --- a/include/rdma/rdma_cm_ib.h +++ b/include/rdma/rdma_cm_ib.h | |||
| @@ -44,4 +44,7 @@ | |||
| 44 | int rdma_set_ib_paths(struct rdma_cm_id *id, | 44 | int rdma_set_ib_paths(struct rdma_cm_id *id, |
| 45 | struct ib_sa_path_rec *path_rec, int num_paths); | 45 | struct ib_sa_path_rec *path_rec, int num_paths); |
| 46 | 46 | ||
| 47 | /* Global qkey for UD QPs and multicast groups. */ | ||
| 48 | #define RDMA_UD_QKEY 0x01234567 | ||
| 49 | |||
| 47 | #endif /* RDMA_CM_IB_H */ | 50 | #endif /* RDMA_CM_IB_H */ |
