1*de1e4e89SAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2*de1e4e89SAndroid Build Coastguard Worker #ifndef _RDMA_NETLINK_H 3*de1e4e89SAndroid Build Coastguard Worker #define _RDMA_NETLINK_H 4*de1e4e89SAndroid Build Coastguard Worker 5*de1e4e89SAndroid Build Coastguard Worker #include <linux/types.h> 6*de1e4e89SAndroid Build Coastguard Worker 7*de1e4e89SAndroid Build Coastguard Worker enum { 8*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_RDMA_CM = 1, 9*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_IWCM, 10*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_RSVD, 11*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_LS, /* RDMA Local Services */ 12*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_NLDEV, /* RDMA device interface */ 13*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_NUM_CLIENTS 14*de1e4e89SAndroid Build Coastguard Worker }; 15*de1e4e89SAndroid Build Coastguard Worker 16*de1e4e89SAndroid Build Coastguard Worker enum { 17*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_GROUP_CM = 1, 18*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_GROUP_IWPM, 19*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_GROUP_LS, 20*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_NUM_GROUPS 21*de1e4e89SAndroid Build Coastguard Worker }; 22*de1e4e89SAndroid Build Coastguard Worker 23*de1e4e89SAndroid Build Coastguard Worker #define RDMA_NL_GET_CLIENT(type) ((type & (((1 << 6) - 1) << 10)) >> 10) 24*de1e4e89SAndroid Build Coastguard Worker #define RDMA_NL_GET_OP(type) (type & ((1 << 10) - 1)) 25*de1e4e89SAndroid Build Coastguard Worker #define RDMA_NL_GET_TYPE(client, op) ((client << 10) + op) 26*de1e4e89SAndroid Build Coastguard Worker 27*de1e4e89SAndroid Build Coastguard Worker enum { 28*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_RDMA_CM_ID_STATS = 0, 29*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_RDMA_CM_NUM_OPS 30*de1e4e89SAndroid Build Coastguard Worker }; 31*de1e4e89SAndroid Build Coastguard Worker 32*de1e4e89SAndroid Build Coastguard Worker enum { 33*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_RDMA_CM_ATTR_SRC_ADDR = 1, 34*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_RDMA_CM_ATTR_DST_ADDR, 35*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_RDMA_CM_NUM_ATTR, 36*de1e4e89SAndroid Build Coastguard Worker }; 37*de1e4e89SAndroid Build Coastguard Worker 38*de1e4e89SAndroid Build Coastguard Worker /* iwarp port mapper op-codes */ 39*de1e4e89SAndroid Build Coastguard Worker enum { 40*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_IWPM_REG_PID = 0, 41*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_IWPM_ADD_MAPPING, 42*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_IWPM_QUERY_MAPPING, 43*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_IWPM_REMOVE_MAPPING, 44*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_IWPM_REMOTE_INFO, 45*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_IWPM_HANDLE_ERR, 46*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_IWPM_MAPINFO, 47*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_IWPM_MAPINFO_NUM, 48*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_IWPM_NUM_OPS 49*de1e4e89SAndroid Build Coastguard Worker }; 50*de1e4e89SAndroid Build Coastguard Worker 51*de1e4e89SAndroid Build Coastguard Worker struct rdma_cm_id_stats { 52*de1e4e89SAndroid Build Coastguard Worker __u32 qp_num; 53*de1e4e89SAndroid Build Coastguard Worker __u32 bound_dev_if; 54*de1e4e89SAndroid Build Coastguard Worker __u32 port_space; 55*de1e4e89SAndroid Build Coastguard Worker __s32 pid; 56*de1e4e89SAndroid Build Coastguard Worker __u8 cm_state; 57*de1e4e89SAndroid Build Coastguard Worker __u8 node_type; 58*de1e4e89SAndroid Build Coastguard Worker __u8 port_num; 59*de1e4e89SAndroid Build Coastguard Worker __u8 qp_type; 60*de1e4e89SAndroid Build Coastguard Worker }; 61*de1e4e89SAndroid Build Coastguard Worker 62*de1e4e89SAndroid Build Coastguard Worker enum { 63*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_REG_PID_UNSPEC = 0, 64*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_REG_PID_SEQ, 65*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_REG_IF_NAME, 66*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_REG_IBDEV_NAME, 67*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_REG_ULIB_NAME, 68*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_REG_PID_MAX 69*de1e4e89SAndroid Build Coastguard Worker }; 70*de1e4e89SAndroid Build Coastguard Worker 71*de1e4e89SAndroid Build Coastguard Worker enum { 72*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_RREG_PID_UNSPEC = 0, 73*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_RREG_PID_SEQ, 74*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_RREG_IBDEV_NAME, 75*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_RREG_ULIB_NAME, 76*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_RREG_ULIB_VER, 77*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_RREG_PID_ERR, 78*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_RREG_PID_MAX 79*de1e4e89SAndroid Build Coastguard Worker 80*de1e4e89SAndroid Build Coastguard Worker }; 81*de1e4e89SAndroid Build Coastguard Worker 82*de1e4e89SAndroid Build Coastguard Worker enum { 83*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MANAGE_MAPPING_UNSPEC = 0, 84*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MANAGE_MAPPING_SEQ, 85*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MANAGE_ADDR, 86*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MANAGE_MAPPED_LOC_ADDR, 87*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_RMANAGE_MAPPING_ERR, 88*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_RMANAGE_MAPPING_MAX 89*de1e4e89SAndroid Build Coastguard Worker }; 90*de1e4e89SAndroid Build Coastguard Worker 91*de1e4e89SAndroid Build Coastguard Worker #define IWPM_NLA_MANAGE_MAPPING_MAX 3 92*de1e4e89SAndroid Build Coastguard Worker #define IWPM_NLA_QUERY_MAPPING_MAX 4 93*de1e4e89SAndroid Build Coastguard Worker #define IWPM_NLA_MAPINFO_SEND_MAX 3 94*de1e4e89SAndroid Build Coastguard Worker 95*de1e4e89SAndroid Build Coastguard Worker enum { 96*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_QUERY_MAPPING_UNSPEC = 0, 97*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_QUERY_MAPPING_SEQ, 98*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_QUERY_LOCAL_ADDR, 99*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_QUERY_REMOTE_ADDR, 100*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_RQUERY_MAPPED_LOC_ADDR, 101*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_RQUERY_MAPPED_REM_ADDR, 102*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_RQUERY_MAPPING_ERR, 103*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_RQUERY_MAPPING_MAX 104*de1e4e89SAndroid Build Coastguard Worker }; 105*de1e4e89SAndroid Build Coastguard Worker 106*de1e4e89SAndroid Build Coastguard Worker enum { 107*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MAPINFO_REQ_UNSPEC = 0, 108*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MAPINFO_ULIB_NAME, 109*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MAPINFO_ULIB_VER, 110*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MAPINFO_REQ_MAX 111*de1e4e89SAndroid Build Coastguard Worker }; 112*de1e4e89SAndroid Build Coastguard Worker 113*de1e4e89SAndroid Build Coastguard Worker enum { 114*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MAPINFO_UNSPEC = 0, 115*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MAPINFO_LOCAL_ADDR, 116*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MAPINFO_MAPPED_ADDR, 117*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MAPINFO_MAX 118*de1e4e89SAndroid Build Coastguard Worker }; 119*de1e4e89SAndroid Build Coastguard Worker 120*de1e4e89SAndroid Build Coastguard Worker enum { 121*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MAPINFO_NUM_UNSPEC = 0, 122*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MAPINFO_SEQ, 123*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MAPINFO_SEND_NUM, 124*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MAPINFO_ACK_NUM, 125*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_MAPINFO_NUM_MAX 126*de1e4e89SAndroid Build Coastguard Worker }; 127*de1e4e89SAndroid Build Coastguard Worker 128*de1e4e89SAndroid Build Coastguard Worker enum { 129*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_ERR_UNSPEC = 0, 130*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_ERR_SEQ, 131*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_ERR_CODE, 132*de1e4e89SAndroid Build Coastguard Worker IWPM_NLA_ERR_MAX 133*de1e4e89SAndroid Build Coastguard Worker }; 134*de1e4e89SAndroid Build Coastguard Worker 135*de1e4e89SAndroid Build Coastguard Worker /* 136*de1e4e89SAndroid Build Coastguard Worker * Local service operations: 137*de1e4e89SAndroid Build Coastguard Worker * RESOLVE - The client requests the local service to resolve a path. 138*de1e4e89SAndroid Build Coastguard Worker * SET_TIMEOUT - The local service requests the client to set the timeout. 139*de1e4e89SAndroid Build Coastguard Worker * IP_RESOLVE - The client requests the local service to resolve an IP to GID. 140*de1e4e89SAndroid Build Coastguard Worker */ 141*de1e4e89SAndroid Build Coastguard Worker enum { 142*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_LS_OP_RESOLVE = 0, 143*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_LS_OP_SET_TIMEOUT, 144*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_LS_OP_IP_RESOLVE, 145*de1e4e89SAndroid Build Coastguard Worker RDMA_NL_LS_NUM_OPS 146*de1e4e89SAndroid Build Coastguard Worker }; 147*de1e4e89SAndroid Build Coastguard Worker 148*de1e4e89SAndroid Build Coastguard Worker /* Local service netlink message flags */ 149*de1e4e89SAndroid Build Coastguard Worker #define RDMA_NL_LS_F_ERR 0x0100 /* Failed response */ 150*de1e4e89SAndroid Build Coastguard Worker 151*de1e4e89SAndroid Build Coastguard Worker /* 152*de1e4e89SAndroid Build Coastguard Worker * Local service resolve operation family header. 153*de1e4e89SAndroid Build Coastguard Worker * The layout for the resolve operation: 154*de1e4e89SAndroid Build Coastguard Worker * nlmsg header 155*de1e4e89SAndroid Build Coastguard Worker * family header 156*de1e4e89SAndroid Build Coastguard Worker * attributes 157*de1e4e89SAndroid Build Coastguard Worker */ 158*de1e4e89SAndroid Build Coastguard Worker 159*de1e4e89SAndroid Build Coastguard Worker /* 160*de1e4e89SAndroid Build Coastguard Worker * Local service path use: 161*de1e4e89SAndroid Build Coastguard Worker * Specify how the path(s) will be used. 162*de1e4e89SAndroid Build Coastguard Worker * ALL - For connected CM operation (6 pathrecords) 163*de1e4e89SAndroid Build Coastguard Worker * UNIDIRECTIONAL - For unidirectional UD (1 pathrecord) 164*de1e4e89SAndroid Build Coastguard Worker * GMP - For miscellaneous GMP like operation (at least 1 reversible 165*de1e4e89SAndroid Build Coastguard Worker * pathrecord) 166*de1e4e89SAndroid Build Coastguard Worker */ 167*de1e4e89SAndroid Build Coastguard Worker enum { 168*de1e4e89SAndroid Build Coastguard Worker LS_RESOLVE_PATH_USE_ALL = 0, 169*de1e4e89SAndroid Build Coastguard Worker LS_RESOLVE_PATH_USE_UNIDIRECTIONAL, 170*de1e4e89SAndroid Build Coastguard Worker LS_RESOLVE_PATH_USE_GMP, 171*de1e4e89SAndroid Build Coastguard Worker LS_RESOLVE_PATH_USE_MAX 172*de1e4e89SAndroid Build Coastguard Worker }; 173*de1e4e89SAndroid Build Coastguard Worker 174*de1e4e89SAndroid Build Coastguard Worker #define LS_DEVICE_NAME_MAX 64 175*de1e4e89SAndroid Build Coastguard Worker 176*de1e4e89SAndroid Build Coastguard Worker struct rdma_ls_resolve_header { 177*de1e4e89SAndroid Build Coastguard Worker __u8 device_name[LS_DEVICE_NAME_MAX]; 178*de1e4e89SAndroid Build Coastguard Worker __u8 port_num; 179*de1e4e89SAndroid Build Coastguard Worker __u8 path_use; 180*de1e4e89SAndroid Build Coastguard Worker }; 181*de1e4e89SAndroid Build Coastguard Worker 182*de1e4e89SAndroid Build Coastguard Worker struct rdma_ls_ip_resolve_header { 183*de1e4e89SAndroid Build Coastguard Worker __u32 ifindex; 184*de1e4e89SAndroid Build Coastguard Worker }; 185*de1e4e89SAndroid Build Coastguard Worker 186*de1e4e89SAndroid Build Coastguard Worker /* Local service attribute type */ 187*de1e4e89SAndroid Build Coastguard Worker #define RDMA_NLA_F_MANDATORY (1 << 13) 188*de1e4e89SAndroid Build Coastguard Worker #define RDMA_NLA_TYPE_MASK (~(NLA_F_NESTED | NLA_F_NET_BYTEORDER | \ 189*de1e4e89SAndroid Build Coastguard Worker RDMA_NLA_F_MANDATORY)) 190*de1e4e89SAndroid Build Coastguard Worker 191*de1e4e89SAndroid Build Coastguard Worker /* 192*de1e4e89SAndroid Build Coastguard Worker * Local service attributes: 193*de1e4e89SAndroid Build Coastguard Worker * Attr Name Size Byte order 194*de1e4e89SAndroid Build Coastguard Worker * ----------------------------------------------------- 195*de1e4e89SAndroid Build Coastguard Worker * PATH_RECORD struct ib_path_rec_data 196*de1e4e89SAndroid Build Coastguard Worker * TIMEOUT u32 cpu 197*de1e4e89SAndroid Build Coastguard Worker * SERVICE_ID u64 cpu 198*de1e4e89SAndroid Build Coastguard Worker * DGID u8[16] BE 199*de1e4e89SAndroid Build Coastguard Worker * SGID u8[16] BE 200*de1e4e89SAndroid Build Coastguard Worker * TCLASS u8 201*de1e4e89SAndroid Build Coastguard Worker * PKEY u16 cpu 202*de1e4e89SAndroid Build Coastguard Worker * QOS_CLASS u16 cpu 203*de1e4e89SAndroid Build Coastguard Worker * IPV4 u32 BE 204*de1e4e89SAndroid Build Coastguard Worker * IPV6 u8[16] BE 205*de1e4e89SAndroid Build Coastguard Worker */ 206*de1e4e89SAndroid Build Coastguard Worker enum { 207*de1e4e89SAndroid Build Coastguard Worker LS_NLA_TYPE_UNSPEC = 0, 208*de1e4e89SAndroid Build Coastguard Worker LS_NLA_TYPE_PATH_RECORD, 209*de1e4e89SAndroid Build Coastguard Worker LS_NLA_TYPE_TIMEOUT, 210*de1e4e89SAndroid Build Coastguard Worker LS_NLA_TYPE_SERVICE_ID, 211*de1e4e89SAndroid Build Coastguard Worker LS_NLA_TYPE_DGID, 212*de1e4e89SAndroid Build Coastguard Worker LS_NLA_TYPE_SGID, 213*de1e4e89SAndroid Build Coastguard Worker LS_NLA_TYPE_TCLASS, 214*de1e4e89SAndroid Build Coastguard Worker LS_NLA_TYPE_PKEY, 215*de1e4e89SAndroid Build Coastguard Worker LS_NLA_TYPE_QOS_CLASS, 216*de1e4e89SAndroid Build Coastguard Worker LS_NLA_TYPE_IPV4, 217*de1e4e89SAndroid Build Coastguard Worker LS_NLA_TYPE_IPV6, 218*de1e4e89SAndroid Build Coastguard Worker LS_NLA_TYPE_MAX 219*de1e4e89SAndroid Build Coastguard Worker }; 220*de1e4e89SAndroid Build Coastguard Worker 221*de1e4e89SAndroid Build Coastguard Worker /* Local service DGID/SGID attribute: big endian */ 222*de1e4e89SAndroid Build Coastguard Worker struct rdma_nla_ls_gid { 223*de1e4e89SAndroid Build Coastguard Worker __u8 gid[16]; 224*de1e4e89SAndroid Build Coastguard Worker }; 225*de1e4e89SAndroid Build Coastguard Worker 226*de1e4e89SAndroid Build Coastguard Worker enum rdma_nldev_command { 227*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_CMD_UNSPEC, 228*de1e4e89SAndroid Build Coastguard Worker 229*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_CMD_GET, /* can dump */ 230*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_CMD_SET, 231*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_CMD_NEW, 232*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_CMD_DEL, 233*de1e4e89SAndroid Build Coastguard Worker 234*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_CMD_PORT_GET, /* can dump */ 235*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_CMD_PORT_SET, 236*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_CMD_PORT_NEW, 237*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_CMD_PORT_DEL, 238*de1e4e89SAndroid Build Coastguard Worker 239*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_NUM_OPS 240*de1e4e89SAndroid Build Coastguard Worker }; 241*de1e4e89SAndroid Build Coastguard Worker 242*de1e4e89SAndroid Build Coastguard Worker enum rdma_nldev_attr { 243*de1e4e89SAndroid Build Coastguard Worker /* don't change the order or add anything between, this is ABI! */ 244*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_UNSPEC, 245*de1e4e89SAndroid Build Coastguard Worker 246*de1e4e89SAndroid Build Coastguard Worker /* Identifier for ib_device */ 247*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_DEV_INDEX, /* u32 */ 248*de1e4e89SAndroid Build Coastguard Worker 249*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_DEV_NAME, /* string */ 250*de1e4e89SAndroid Build Coastguard Worker /* 251*de1e4e89SAndroid Build Coastguard Worker * Device index together with port index are identifiers 252*de1e4e89SAndroid Build Coastguard Worker * for port/link properties. 253*de1e4e89SAndroid Build Coastguard Worker * 254*de1e4e89SAndroid Build Coastguard Worker * For RDMA_NLDEV_CMD_GET commamnd, port index will return number 255*de1e4e89SAndroid Build Coastguard Worker * of available ports in ib_device, while for port specific operations, 256*de1e4e89SAndroid Build Coastguard Worker * it will be real port index as it appears in sysfs. Port index follows 257*de1e4e89SAndroid Build Coastguard Worker * sysfs notation and starts from 1 for the first port. 258*de1e4e89SAndroid Build Coastguard Worker */ 259*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_PORT_INDEX, /* u32 */ 260*de1e4e89SAndroid Build Coastguard Worker 261*de1e4e89SAndroid Build Coastguard Worker /* 262*de1e4e89SAndroid Build Coastguard Worker * Device and port capabilities 263*de1e4e89SAndroid Build Coastguard Worker */ 264*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_CAP_FLAGS, /* u64 */ 265*de1e4e89SAndroid Build Coastguard Worker 266*de1e4e89SAndroid Build Coastguard Worker /* 267*de1e4e89SAndroid Build Coastguard Worker * FW version 268*de1e4e89SAndroid Build Coastguard Worker */ 269*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_FW_VERSION, /* string */ 270*de1e4e89SAndroid Build Coastguard Worker 271*de1e4e89SAndroid Build Coastguard Worker /* 272*de1e4e89SAndroid Build Coastguard Worker * Node GUID (in host byte order) associated with the RDMA device. 273*de1e4e89SAndroid Build Coastguard Worker */ 274*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_NODE_GUID, /* u64 */ 275*de1e4e89SAndroid Build Coastguard Worker 276*de1e4e89SAndroid Build Coastguard Worker /* 277*de1e4e89SAndroid Build Coastguard Worker * System image GUID (in host byte order) associated with 278*de1e4e89SAndroid Build Coastguard Worker * this RDMA device and other devices which are part of a 279*de1e4e89SAndroid Build Coastguard Worker * single system. 280*de1e4e89SAndroid Build Coastguard Worker */ 281*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_SYS_IMAGE_GUID, /* u64 */ 282*de1e4e89SAndroid Build Coastguard Worker 283*de1e4e89SAndroid Build Coastguard Worker /* 284*de1e4e89SAndroid Build Coastguard Worker * Subnet prefix (in host byte order) 285*de1e4e89SAndroid Build Coastguard Worker */ 286*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_SUBNET_PREFIX, /* u64 */ 287*de1e4e89SAndroid Build Coastguard Worker 288*de1e4e89SAndroid Build Coastguard Worker /* 289*de1e4e89SAndroid Build Coastguard Worker * Local Identifier (LID), 290*de1e4e89SAndroid Build Coastguard Worker * According to IB specification, It is 16-bit address assigned 291*de1e4e89SAndroid Build Coastguard Worker * by the Subnet Manager. Extended to be 32-bit for OmniPath users. 292*de1e4e89SAndroid Build Coastguard Worker */ 293*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_LID, /* u32 */ 294*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_SM_LID, /* u32 */ 295*de1e4e89SAndroid Build Coastguard Worker 296*de1e4e89SAndroid Build Coastguard Worker /* 297*de1e4e89SAndroid Build Coastguard Worker * LID mask control (LMC) 298*de1e4e89SAndroid Build Coastguard Worker */ 299*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_LMC, /* u8 */ 300*de1e4e89SAndroid Build Coastguard Worker 301*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_PORT_STATE, /* u8 */ 302*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_PORT_PHYS_STATE, /* u8 */ 303*de1e4e89SAndroid Build Coastguard Worker 304*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_DEV_NODE_TYPE, /* u8 */ 305*de1e4e89SAndroid Build Coastguard Worker 306*de1e4e89SAndroid Build Coastguard Worker RDMA_NLDEV_ATTR_MAX 307*de1e4e89SAndroid Build Coastguard Worker }; 308*de1e4e89SAndroid Build Coastguard Worker #endif /* _RDMA_NETLINK_H */ 309