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