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/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