• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef RDMA_USER_CM_H
20 #define RDMA_USER_CM_H
21 #include <linux/types.h>
22 #include <linux/socket.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #include <linux/in6.h>
25 #include <rdma/ib_user_verbs.h>
26 #include <rdma/ib_user_sa.h>
27 #define RDMA_USER_CM_ABI_VERSION 4
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define RDMA_MAX_PRIVATE_DATA 256
30 enum {
31   RDMA_USER_CM_CMD_CREATE_ID,
32   RDMA_USER_CM_CMD_DESTROY_ID,
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34   RDMA_USER_CM_CMD_BIND_IP,
35   RDMA_USER_CM_CMD_RESOLVE_IP,
36   RDMA_USER_CM_CMD_RESOLVE_ROUTE,
37   RDMA_USER_CM_CMD_QUERY_ROUTE,
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39   RDMA_USER_CM_CMD_CONNECT,
40   RDMA_USER_CM_CMD_LISTEN,
41   RDMA_USER_CM_CMD_ACCEPT,
42   RDMA_USER_CM_CMD_REJECT,
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44   RDMA_USER_CM_CMD_DISCONNECT,
45   RDMA_USER_CM_CMD_INIT_QP_ATTR,
46   RDMA_USER_CM_CMD_GET_EVENT,
47   RDMA_USER_CM_CMD_GET_OPTION,
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   RDMA_USER_CM_CMD_SET_OPTION,
50   RDMA_USER_CM_CMD_NOTIFY,
51   RDMA_USER_CM_CMD_JOIN_IP_MCAST,
52   RDMA_USER_CM_CMD_LEAVE_MCAST,
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54   RDMA_USER_CM_CMD_MIGRATE_ID,
55   RDMA_USER_CM_CMD_QUERY,
56   RDMA_USER_CM_CMD_BIND,
57   RDMA_USER_CM_CMD_RESOLVE_ADDR,
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   RDMA_USER_CM_CMD_JOIN_MCAST
60 };
61 struct rdma_ucm_cmd_hdr {
62   __u32 cmd;
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64   __u16 in;
65   __u16 out;
66 };
67 struct rdma_ucm_create_id {
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   __u64 uid;
70   __u64 response;
71   __u16 ps;
72   __u8 qp_type;
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74   __u8 reserved[5];
75 };
76 struct rdma_ucm_create_id_resp {
77   __u32 id;
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 };
80 struct rdma_ucm_destroy_id {
81   __u64 response;
82   __u32 id;
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84   __u32 reserved;
85 };
86 struct rdma_ucm_destroy_id_resp {
87   __u32 events_reported;
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 };
90 struct rdma_ucm_bind_ip {
91   __u64 response;
92   struct sockaddr_in6 addr;
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94   __u32 id;
95 };
96 struct rdma_ucm_bind {
97   __u32 id;
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99   __u16 addr_size;
100   __u16 reserved;
101   struct sockaddr_storage addr;
102 };
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 struct rdma_ucm_resolve_ip {
105   struct sockaddr_in6 src_addr;
106   struct sockaddr_in6 dst_addr;
107   __u32 id;
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109   __u32 timeout_ms;
110 };
111 struct rdma_ucm_resolve_addr {
112   __u32 id;
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114   __u32 timeout_ms;
115   __u16 src_size;
116   __u16 dst_size;
117   __u32 reserved;
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119   struct sockaddr_storage src_addr;
120   struct sockaddr_storage dst_addr;
121 };
122 struct rdma_ucm_resolve_route {
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124   __u32 id;
125   __u32 timeout_ms;
126 };
127 enum {
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129   RDMA_USER_CM_QUERY_ADDR,
130   RDMA_USER_CM_QUERY_PATH,
131   RDMA_USER_CM_QUERY_GID
132 };
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 struct rdma_ucm_query {
135   __u64 response;
136   __u32 id;
137   __u32 option;
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 };
140 struct rdma_ucm_query_route_resp {
141   __u64 node_guid;
142   struct ib_user_path_rec ib_route[2];
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144   struct sockaddr_in6 src_addr;
145   struct sockaddr_in6 dst_addr;
146   __u32 num_paths;
147   __u8 port_num;
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149   __u8 reserved[3];
150 };
151 struct rdma_ucm_query_addr_resp {
152   __u64 node_guid;
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154   __u8 port_num;
155   __u8 reserved;
156   __u16 pkey;
157   __u16 src_size;
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159   __u16 dst_size;
160   struct sockaddr_storage src_addr;
161   struct sockaddr_storage dst_addr;
162 };
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 struct rdma_ucm_query_path_resp {
165   __u32 num_paths;
166   __u32 reserved;
167   struct ib_path_rec_data path_data[0];
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 };
170 struct rdma_ucm_conn_param {
171   __u32 qp_num;
172   __u32 qkey;
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174   __u8 private_data[RDMA_MAX_PRIVATE_DATA];
175   __u8 private_data_len;
176   __u8 srq;
177   __u8 responder_resources;
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179   __u8 initiator_depth;
180   __u8 flow_control;
181   __u8 retry_count;
182   __u8 rnr_retry_count;
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184   __u8 valid;
185 };
186 struct rdma_ucm_ud_param {
187   __u32 qp_num;
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189   __u32 qkey;
190   struct ib_uverbs_ah_attr ah_attr;
191   __u8 private_data[RDMA_MAX_PRIVATE_DATA];
192   __u8 private_data_len;
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194   __u8 reserved[7];
195 };
196 struct rdma_ucm_connect {
197   struct rdma_ucm_conn_param conn_param;
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199   __u32 id;
200   __u32 reserved;
201 };
202 struct rdma_ucm_listen {
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204   __u32 id;
205   __u32 backlog;
206 };
207 struct rdma_ucm_accept {
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209   __u64 uid;
210   struct rdma_ucm_conn_param conn_param;
211   __u32 id;
212   __u32 reserved;
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 };
215 struct rdma_ucm_reject {
216   __u32 id;
217   __u8 private_data_len;
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219   __u8 reserved[3];
220   __u8 private_data[RDMA_MAX_PRIVATE_DATA];
221 };
222 struct rdma_ucm_disconnect {
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224   __u32 id;
225 };
226 struct rdma_ucm_init_qp_attr {
227   __u64 response;
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229   __u32 id;
230   __u32 qp_state;
231 };
232 struct rdma_ucm_notify {
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234   __u32 id;
235   __u32 event;
236 };
237 struct rdma_ucm_join_ip_mcast {
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239   __u64 response;
240   __u64 uid;
241   struct sockaddr_in6 addr;
242   __u32 id;
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244 };
245 struct rdma_ucm_join_mcast {
246   __u64 response;
247   __u64 uid;
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249   __u32 id;
250   __u16 addr_size;
251   __u16 reserved;
252   struct sockaddr_storage addr;
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254 };
255 struct rdma_ucm_get_event {
256   __u64 response;
257 };
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259 struct rdma_ucm_event_resp {
260   __u64 uid;
261   __u32 id;
262   __u32 event;
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264   __u32 status;
265   union {
266     struct rdma_ucm_conn_param conn;
267     struct rdma_ucm_ud_param ud;
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269   } param;
270 };
271 enum {
272   RDMA_OPTION_ID = 0,
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274   RDMA_OPTION_IB = 1
275 };
276 enum {
277   RDMA_OPTION_ID_TOS = 0,
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279   RDMA_OPTION_ID_REUSEADDR = 1,
280   RDMA_OPTION_ID_AFONLY = 2,
281   RDMA_OPTION_IB_PATH = 1
282 };
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284 struct rdma_ucm_set_option {
285   __u64 optval;
286   __u32 id;
287   __u32 level;
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289   __u32 optname;
290   __u32 optlen;
291 };
292 struct rdma_ucm_migrate_id {
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294   __u64 response;
295   __u32 id;
296   __u32 fd;
297 };
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299 struct rdma_ucm_migrate_resp {
300   __u32 events_reported;
301 };
302 #endif
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304