Blame view
include/rdma/ib_user_cm.h
6.37 KB
8aa009191 [PATCH] IB: Add t... |
1 2 |
/* * Copyright (c) 2005 Topspin Communications. All rights reserved. |
0b2b35f68 [PATCH] IB: Add u... |
3 |
* Copyright (c) 2005 Intel Corporation. All rights reserved. |
8aa009191 [PATCH] IB: Add t... |
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
* * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU * General Public License (GPL) Version 2, available from the file * COPYING in the main directory of this source tree, or the * OpenIB.org BSD license below: * * Redistribution and use in source and binary forms, with or * without modification, are permitted provided that the following * conditions are met: * * - Redistributions of source code must retain the above * copyright notice, this list of conditions and the following * disclaimer. * * - Redistributions in binary form must reproduce the above * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials * provided with the distribution. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. |
8aa009191 [PATCH] IB: Add t... |
32 33 34 35 |
*/ #ifndef IB_USER_CM_H #define IB_USER_CM_H |
9a7147b50 RDMA: Update expo... |
36 |
#include <linux/types.h> |
6a9af2e18 IB: common handli... |
37 |
#include <rdma/ib_user_sa.h> |
8aa009191 [PATCH] IB: Add t... |
38 |
|
e1444b5a1 IB/cm: Fix automa... |
39 |
#define IB_USER_CM_ABI_VERSION 5 |
8aa009191 [PATCH] IB: Add t... |
40 41 42 43 44 45 46 |
enum { IB_USER_CM_CMD_CREATE_ID, IB_USER_CM_CMD_DESTROY_ID, IB_USER_CM_CMD_ATTR_ID, IB_USER_CM_CMD_LISTEN, |
e1444b5a1 IB/cm: Fix automa... |
47 |
IB_USER_CM_CMD_NOTIFY, |
8aa009191 [PATCH] IB: Add t... |
48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
IB_USER_CM_CMD_SEND_REQ, IB_USER_CM_CMD_SEND_REP, IB_USER_CM_CMD_SEND_RTU, IB_USER_CM_CMD_SEND_DREQ, IB_USER_CM_CMD_SEND_DREP, IB_USER_CM_CMD_SEND_REJ, IB_USER_CM_CMD_SEND_MRA, IB_USER_CM_CMD_SEND_LAP, IB_USER_CM_CMD_SEND_APR, IB_USER_CM_CMD_SEND_SIDR_REQ, IB_USER_CM_CMD_SEND_SIDR_REP, IB_USER_CM_CMD_EVENT, |
0b2b35f68 [PATCH] IB: Add u... |
62 |
IB_USER_CM_CMD_INIT_QP_ATTR, |
8aa009191 [PATCH] IB: Add t... |
63 64 65 66 67 68 69 70 71 72 73 |
}; /* * command ABI structures. */ struct ib_ucm_cmd_hdr { __u32 cmd; __u16 in; __u16 out; }; struct ib_ucm_create_id { |
0b2b35f68 [PATCH] IB: Add u... |
74 |
__u64 uid; |
8aa009191 [PATCH] IB: Add t... |
75 76 77 78 79 80 81 82 |
__u64 response; }; struct ib_ucm_create_id_resp { __u32 id; }; struct ib_ucm_destroy_id { |
0b2b35f68 [PATCH] IB: Add u... |
83 |
__u64 response; |
8aa009191 [PATCH] IB: Add t... |
84 |
__u32 id; |
7b28b0d00 [IB] ucm: 32/64 c... |
85 |
__u32 reserved; |
8aa009191 [PATCH] IB: Add t... |
86 |
}; |
0b2b35f68 [PATCH] IB: Add u... |
87 88 89 |
struct ib_ucm_destroy_id_resp { __u32 events_reported; }; |
8aa009191 [PATCH] IB: Add t... |
90 91 92 |
struct ib_ucm_attr_id { __u64 response; __u32 id; |
7b28b0d00 [IB] ucm: 32/64 c... |
93 |
__u32 reserved; |
8aa009191 [PATCH] IB: Add t... |
94 95 96 |
}; struct ib_ucm_attr_id_resp { |
97f52eb43 [PATCH] IB: spars... |
97 98 99 100 |
__be64 service_id; __be64 service_mask; __be32 local_id; __be32 remote_id; |
8aa009191 [PATCH] IB: Add t... |
101 |
}; |
0b2b35f68 [PATCH] IB: Add u... |
102 103 104 105 106 |
struct ib_ucm_init_qp_attr { __u64 response; __u32 id; __u32 qp_state; }; |
8aa009191 [PATCH] IB: Add t... |
107 |
struct ib_ucm_listen { |
97f52eb43 [PATCH] IB: spars... |
108 109 |
__be64 service_id; __be64 service_mask; |
8aa009191 [PATCH] IB: Add t... |
110 |
__u32 id; |
7b28b0d00 [IB] ucm: 32/64 c... |
111 |
__u32 reserved; |
8aa009191 [PATCH] IB: Add t... |
112 |
}; |
e1444b5a1 IB/cm: Fix automa... |
113 |
struct ib_ucm_notify { |
8aa009191 [PATCH] IB: Add t... |
114 |
__u32 id; |
e1444b5a1 IB/cm: Fix automa... |
115 |
__u32 event; |
8aa009191 [PATCH] IB: Add t... |
116 117 118 119 120 121 122 123 |
}; struct ib_ucm_private_data { __u64 data; __u32 id; __u8 len; __u8 reserved[3]; }; |
8aa009191 [PATCH] IB: Add t... |
124 125 126 127 128 |
struct ib_ucm_req { __u32 id; __u32 qpn; __u32 qp_type; __u32 psn; |
97f52eb43 [PATCH] IB: spars... |
129 |
__be64 sid; |
8aa009191 [PATCH] IB: Add t... |
130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
__u64 data; __u64 primary_path; __u64 alternate_path; __u8 len; __u8 peer_to_peer; __u8 responder_resources; __u8 initiator_depth; __u8 remote_cm_response_timeout; __u8 flow_control; __u8 local_cm_response_timeout; __u8 retry_count; __u8 rnr_retry_count; __u8 max_cm_retries; __u8 srq; |
7b28b0d00 [IB] ucm: 32/64 c... |
144 |
__u8 reserved[5]; |
8aa009191 [PATCH] IB: Add t... |
145 146 147 |
}; struct ib_ucm_rep { |
0b2b35f68 [PATCH] IB: Add u... |
148 |
__u64 uid; |
8aa009191 [PATCH] IB: Add t... |
149 150 151 152 153 154 155 156 157 158 159 160 |
__u64 data; __u32 id; __u32 qpn; __u32 psn; __u8 len; __u8 responder_resources; __u8 initiator_depth; __u8 target_ack_delay; __u8 failover_accepted; __u8 flow_control; __u8 rnr_retry_count; __u8 srq; |
7b28b0d00 [IB] ucm: 32/64 c... |
161 |
__u8 reserved[4]; |
8aa009191 [PATCH] IB: Add t... |
162 163 164 165 166 167 168 169 170 |
}; struct ib_ucm_info { __u32 id; __u32 status; __u64 info; __u64 data; __u8 info_len; __u8 data_len; |
7b28b0d00 [IB] ucm: 32/64 c... |
171 |
__u8 reserved[6]; |
8aa009191 [PATCH] IB: Add t... |
172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
}; struct ib_ucm_mra { __u64 data; __u32 id; __u8 len; __u8 timeout; __u8 reserved[2]; }; struct ib_ucm_lap { __u64 path; __u64 data; __u32 id; __u8 len; __u8 reserved[3]; }; struct ib_ucm_sidr_req { __u32 id; __u32 timeout; |
97f52eb43 [PATCH] IB: spars... |
193 |
__be64 sid; |
8aa009191 [PATCH] IB: Add t... |
194 195 |
__u64 data; __u64 path; |
75af90885 IB/ucm: Get rid o... |
196 |
__u16 reserved_pkey; |
8aa009191 [PATCH] IB: Add t... |
197 198 |
__u8 len; __u8 max_cm_retries; |
7b28b0d00 [IB] ucm: 32/64 c... |
199 |
__u8 reserved[4]; |
8aa009191 [PATCH] IB: Add t... |
200 201 202 203 204 205 206 207 208 209 210 |
}; struct ib_ucm_sidr_rep { __u32 id; __u32 qpn; __u32 qkey; __u32 status; __u64 info; __u64 data; __u8 info_len; __u8 data_len; |
7b28b0d00 [IB] ucm: 32/64 c... |
211 |
__u8 reserved[6]; |
8aa009191 [PATCH] IB: Add t... |
212 213 214 215 216 217 218 219 220 221 |
}; /* * event notification ABI structures. */ struct ib_ucm_event_get { __u64 response; __u64 data; __u64 info; __u8 data_len; __u8 info_len; |
7b28b0d00 [IB] ucm: 32/64 c... |
222 |
__u8 reserved[6]; |
8aa009191 [PATCH] IB: Add t... |
223 224 225 |
}; struct ib_ucm_req_event_resp { |
6a9af2e18 IB: common handli... |
226 227 |
struct ib_user_path_rec primary_path; struct ib_user_path_rec alternate_path; |
97f52eb43 [PATCH] IB: spars... |
228 |
__be64 remote_ca_guid; |
8aa009191 [PATCH] IB: Add t... |
229 230 231 232 233 234 235 236 237 238 239 240 |
__u32 remote_qkey; __u32 remote_qpn; __u32 qp_type; __u32 starting_psn; __u8 responder_resources; __u8 initiator_depth; __u8 local_cm_response_timeout; __u8 flow_control; __u8 remote_cm_response_timeout; __u8 retry_count; __u8 rnr_retry_count; __u8 srq; |
07d357d0c [IB] CM: bind IDs... |
241 |
__u8 port; |
7b28b0d00 [IB] ucm: 32/64 c... |
242 |
__u8 reserved[7]; |
8aa009191 [PATCH] IB: Add t... |
243 244 245 |
}; struct ib_ucm_rep_event_resp { |
97f52eb43 [PATCH] IB: spars... |
246 |
__be64 remote_ca_guid; |
8aa009191 [PATCH] IB: Add t... |
247 248 249 250 251 252 253 254 255 256 |
__u32 remote_qkey; __u32 remote_qpn; __u32 starting_psn; __u8 responder_resources; __u8 initiator_depth; __u8 target_ack_delay; __u8 failover_accepted; __u8 flow_control; __u8 rnr_retry_count; __u8 srq; |
7b28b0d00 [IB] ucm: 32/64 c... |
257 |
__u8 reserved[5]; |
8aa009191 [PATCH] IB: Add t... |
258 259 260 261 262 263 264 265 266 267 268 269 270 |
}; struct ib_ucm_rej_event_resp { __u32 reason; /* ari in ib_ucm_event_get info field. */ }; struct ib_ucm_mra_event_resp { __u8 timeout; __u8 reserved[3]; }; struct ib_ucm_lap_event_resp { |
6a9af2e18 IB: common handli... |
271 |
struct ib_user_path_rec path; |
8aa009191 [PATCH] IB: Add t... |
272 273 274 275 276 277 278 279 |
}; struct ib_ucm_apr_event_resp { __u32 status; /* apr info in ib_ucm_event_get info field. */ }; struct ib_ucm_sidr_req_event_resp { |
8aa009191 [PATCH] IB: Add t... |
280 |
__u16 pkey; |
07d357d0c [IB] CM: bind IDs... |
281 282 |
__u8 port; __u8 reserved; |
8aa009191 [PATCH] IB: Add t... |
283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 |
}; struct ib_ucm_sidr_rep_event_resp { __u32 status; __u32 qkey; __u32 qpn; /* info in ib_ucm_event_get info field. */ }; #define IB_UCM_PRES_DATA 0x01 #define IB_UCM_PRES_INFO 0x02 #define IB_UCM_PRES_PRIMARY 0x04 #define IB_UCM_PRES_ALTERNATE 0x08 struct ib_ucm_event_resp { |
0b2b35f68 [PATCH] IB: Add u... |
298 |
__u64 uid; |
8aa009191 [PATCH] IB: Add t... |
299 300 301 |
__u32 id; __u32 event; __u32 present; |
7b28b0d00 [IB] ucm: 32/64 c... |
302 |
__u32 reserved; |
8aa009191 [PATCH] IB: Add t... |
303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 |
union { struct ib_ucm_req_event_resp req_resp; struct ib_ucm_rep_event_resp rep_resp; struct ib_ucm_rej_event_resp rej_resp; struct ib_ucm_mra_event_resp mra_resp; struct ib_ucm_lap_event_resp lap_resp; struct ib_ucm_apr_event_resp apr_resp; struct ib_ucm_sidr_req_event_resp sidr_req_resp; struct ib_ucm_sidr_rep_event_resp sidr_rep_resp; __u32 send_status; } u; }; #endif /* IB_USER_CM_H */ |