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 _UAPI_RDMA_NETLINK_H
     20 #define _UAPI_RDMA_NETLINK_H
     21 #include <linux/types.h>
     22 enum {
     23   RDMA_NL_RDMA_CM = 1,
     24   RDMA_NL_IWCM,
     25   RDMA_NL_RSVD,
     26   RDMA_NL_LS,
     27   RDMA_NL_NLDEV,
     28   RDMA_NL_NUM_CLIENTS
     29 };
     30 enum {
     31   RDMA_NL_GROUP_CM = 1,
     32   RDMA_NL_GROUP_IWPM,
     33   RDMA_NL_GROUP_LS,
     34   RDMA_NL_NUM_GROUPS
     35 };
     36 #define RDMA_NL_GET_CLIENT(type) ((type & (((1 << 6) - 1) << 10)) >> 10)
     37 #define RDMA_NL_GET_OP(type) (type & ((1 << 10) - 1))
     38 #define RDMA_NL_GET_TYPE(client,op) ((client << 10) + op)
     39 enum {
     40   RDMA_NL_RDMA_CM_ID_STATS = 0,
     41   RDMA_NL_RDMA_CM_NUM_OPS
     42 };
     43 enum {
     44   RDMA_NL_RDMA_CM_ATTR_SRC_ADDR = 1,
     45   RDMA_NL_RDMA_CM_ATTR_DST_ADDR,
     46   RDMA_NL_RDMA_CM_NUM_ATTR,
     47 };
     48 enum {
     49   RDMA_NL_IWPM_REG_PID = 0,
     50   RDMA_NL_IWPM_ADD_MAPPING,
     51   RDMA_NL_IWPM_QUERY_MAPPING,
     52   RDMA_NL_IWPM_REMOVE_MAPPING,
     53   RDMA_NL_IWPM_REMOTE_INFO,
     54   RDMA_NL_IWPM_HANDLE_ERR,
     55   RDMA_NL_IWPM_MAPINFO,
     56   RDMA_NL_IWPM_MAPINFO_NUM,
     57   RDMA_NL_IWPM_NUM_OPS
     58 };
     59 struct rdma_cm_id_stats {
     60   __u32 qp_num;
     61   __u32 bound_dev_if;
     62   __u32 port_space;
     63   __s32 pid;
     64   __u8 cm_state;
     65   __u8 node_type;
     66   __u8 port_num;
     67   __u8 qp_type;
     68 };
     69 enum {
     70   IWPM_NLA_REG_PID_UNSPEC = 0,
     71   IWPM_NLA_REG_PID_SEQ,
     72   IWPM_NLA_REG_IF_NAME,
     73   IWPM_NLA_REG_IBDEV_NAME,
     74   IWPM_NLA_REG_ULIB_NAME,
     75   IWPM_NLA_REG_PID_MAX
     76 };
     77 enum {
     78   IWPM_NLA_RREG_PID_UNSPEC = 0,
     79   IWPM_NLA_RREG_PID_SEQ,
     80   IWPM_NLA_RREG_IBDEV_NAME,
     81   IWPM_NLA_RREG_ULIB_NAME,
     82   IWPM_NLA_RREG_ULIB_VER,
     83   IWPM_NLA_RREG_PID_ERR,
     84   IWPM_NLA_RREG_PID_MAX
     85 };
     86 enum {
     87   IWPM_NLA_MANAGE_MAPPING_UNSPEC = 0,
     88   IWPM_NLA_MANAGE_MAPPING_SEQ,
     89   IWPM_NLA_MANAGE_ADDR,
     90   IWPM_NLA_MANAGE_MAPPED_LOC_ADDR,
     91   IWPM_NLA_RMANAGE_MAPPING_ERR,
     92   IWPM_NLA_RMANAGE_MAPPING_MAX
     93 };
     94 #define IWPM_NLA_MANAGE_MAPPING_MAX 3
     95 #define IWPM_NLA_QUERY_MAPPING_MAX 4
     96 #define IWPM_NLA_MAPINFO_SEND_MAX 3
     97 enum {
     98   IWPM_NLA_QUERY_MAPPING_UNSPEC = 0,
     99   IWPM_NLA_QUERY_MAPPING_SEQ,
    100   IWPM_NLA_QUERY_LOCAL_ADDR,
    101   IWPM_NLA_QUERY_REMOTE_ADDR,
    102   IWPM_NLA_RQUERY_MAPPED_LOC_ADDR,
    103   IWPM_NLA_RQUERY_MAPPED_REM_ADDR,
    104   IWPM_NLA_RQUERY_MAPPING_ERR,
    105   IWPM_NLA_RQUERY_MAPPING_MAX
    106 };
    107 enum {
    108   IWPM_NLA_MAPINFO_REQ_UNSPEC = 0,
    109   IWPM_NLA_MAPINFO_ULIB_NAME,
    110   IWPM_NLA_MAPINFO_ULIB_VER,
    111   IWPM_NLA_MAPINFO_REQ_MAX
    112 };
    113 enum {
    114   IWPM_NLA_MAPINFO_UNSPEC = 0,
    115   IWPM_NLA_MAPINFO_LOCAL_ADDR,
    116   IWPM_NLA_MAPINFO_MAPPED_ADDR,
    117   IWPM_NLA_MAPINFO_MAX
    118 };
    119 enum {
    120   IWPM_NLA_MAPINFO_NUM_UNSPEC = 0,
    121   IWPM_NLA_MAPINFO_SEQ,
    122   IWPM_NLA_MAPINFO_SEND_NUM,
    123   IWPM_NLA_MAPINFO_ACK_NUM,
    124   IWPM_NLA_MAPINFO_NUM_MAX
    125 };
    126 enum {
    127   IWPM_NLA_ERR_UNSPEC = 0,
    128   IWPM_NLA_ERR_SEQ,
    129   IWPM_NLA_ERR_CODE,
    130   IWPM_NLA_ERR_MAX
    131 };
    132 enum {
    133   RDMA_NL_LS_OP_RESOLVE = 0,
    134   RDMA_NL_LS_OP_SET_TIMEOUT,
    135   RDMA_NL_LS_OP_IP_RESOLVE,
    136   RDMA_NL_LS_NUM_OPS
    137 };
    138 #define RDMA_NL_LS_F_ERR 0x0100
    139 enum {
    140   LS_RESOLVE_PATH_USE_ALL = 0,
    141   LS_RESOLVE_PATH_USE_UNIDIRECTIONAL,
    142   LS_RESOLVE_PATH_USE_GMP,
    143   LS_RESOLVE_PATH_USE_MAX
    144 };
    145 #define LS_DEVICE_NAME_MAX 64
    146 struct rdma_ls_resolve_header {
    147   __u8 device_name[LS_DEVICE_NAME_MAX];
    148   __u8 port_num;
    149   __u8 path_use;
    150 };
    151 struct rdma_ls_ip_resolve_header {
    152   __u32 ifindex;
    153 };
    154 #define RDMA_NLA_F_MANDATORY (1 << 13)
    155 #define RDMA_NLA_TYPE_MASK (~(NLA_F_NESTED | NLA_F_NET_BYTEORDER | RDMA_NLA_F_MANDATORY))
    156 enum {
    157   LS_NLA_TYPE_UNSPEC = 0,
    158   LS_NLA_TYPE_PATH_RECORD,
    159   LS_NLA_TYPE_TIMEOUT,
    160   LS_NLA_TYPE_SERVICE_ID,
    161   LS_NLA_TYPE_DGID,
    162   LS_NLA_TYPE_SGID,
    163   LS_NLA_TYPE_TCLASS,
    164   LS_NLA_TYPE_PKEY,
    165   LS_NLA_TYPE_QOS_CLASS,
    166   LS_NLA_TYPE_IPV4,
    167   LS_NLA_TYPE_IPV6,
    168   LS_NLA_TYPE_MAX
    169 };
    170 struct rdma_nla_ls_gid {
    171   __u8 gid[16];
    172 };
    173 enum rdma_nldev_command {
    174   RDMA_NLDEV_CMD_UNSPEC,
    175   RDMA_NLDEV_CMD_GET,
    176   RDMA_NLDEV_CMD_SET,
    177   RDMA_NLDEV_CMD_NEW,
    178   RDMA_NLDEV_CMD_DEL,
    179   RDMA_NLDEV_CMD_PORT_GET,
    180   RDMA_NLDEV_CMD_PORT_SET,
    181   RDMA_NLDEV_CMD_PORT_NEW,
    182   RDMA_NLDEV_CMD_PORT_DEL,
    183   RDMA_NLDEV_NUM_OPS
    184 };
    185 enum rdma_nldev_attr {
    186   RDMA_NLDEV_ATTR_UNSPEC,
    187   RDMA_NLDEV_ATTR_DEV_INDEX,
    188   RDMA_NLDEV_ATTR_DEV_NAME,
    189   RDMA_NLDEV_ATTR_PORT_INDEX,
    190   RDMA_NLDEV_ATTR_CAP_FLAGS,
    191   RDMA_NLDEV_ATTR_FW_VERSION,
    192   RDMA_NLDEV_ATTR_NODE_GUID,
    193   RDMA_NLDEV_ATTR_SYS_IMAGE_GUID,
    194   RDMA_NLDEV_ATTR_SUBNET_PREFIX,
    195   RDMA_NLDEV_ATTR_LID,
    196   RDMA_NLDEV_ATTR_SM_LID,
    197   RDMA_NLDEV_ATTR_LMC,
    198   RDMA_NLDEV_ATTR_PORT_STATE,
    199   RDMA_NLDEV_ATTR_PORT_PHYS_STATE,
    200   RDMA_NLDEV_ATTR_DEV_NODE_TYPE,
    201   RDMA_NLDEV_ATTR_MAX
    202 };
    203 #endif
    204