/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _UAPI_RDMA_NETLINK_H #define _UAPI_RDMA_NETLINK_H #include <linux/types.h> enum { … }; enum { … }; #define RDMA_NL_GET_CLIENT(type) … #define RDMA_NL_GET_OP(type) … #define RDMA_NL_GET_TYPE(client, op) … /* The minimum version that the iwpm kernel supports */ #define IWPM_UABI_VERSION_MIN … /* The latest version that the iwpm kernel supports */ #define IWPM_UABI_VERSION … /* iwarp port mapper message flags */ enum { … }; /* iwarp port mapper op-codes */ enum { … }; enum { … }; enum { … }; enum { … }; enum { … }; #define IWPM_NLA_MAPINFO_SEND_MAX … #define IWPM_NLA_REMOVE_MAPPING_MAX … enum { … }; enum { … }; enum { … }; enum { … }; enum { … }; enum { … }; enum { … }; /* For RDMA_NLDEV_ATTR_DEV_NODE_TYPE */ enum { … }; /* * Local service operations: * RESOLVE - The client requests the local service to resolve a path. * SET_TIMEOUT - The local service requests the client to set the timeout. * IP_RESOLVE - The client requests the local service to resolve an IP to GID. */ enum { … }; /* Local service netlink message flags */ #define RDMA_NL_LS_F_ERR … /* * Local service resolve operation family header. * The layout for the resolve operation: * nlmsg header * family header * attributes */ /* * Local service path use: * Specify how the path(s) will be used. * ALL - For connected CM operation (6 pathrecords) * UNIDIRECTIONAL - For unidirectional UD (1 pathrecord) * GMP - For miscellaneous GMP like operation (at least 1 reversible * pathrecord) */ enum { … }; #define LS_DEVICE_NAME_MAX … struct rdma_ls_resolve_header { … }; struct rdma_ls_ip_resolve_header { … }; /* Local service attribute type */ #define RDMA_NLA_F_MANDATORY … #define RDMA_NLA_TYPE_MASK … /* * Local service attributes: * Attr Name Size Byte order * ----------------------------------------------------- * PATH_RECORD struct ib_path_rec_data * TIMEOUT u32 cpu * SERVICE_ID u64 cpu * DGID u8[16] BE * SGID u8[16] BE * TCLASS u8 * PKEY u16 cpu * QOS_CLASS u16 cpu * IPV4 u32 BE * IPV6 u8[16] BE */ enum { … }; /* Local service DGID/SGID attribute: big endian */ struct rdma_nla_ls_gid { … }; enum rdma_nldev_command { … }; enum rdma_nldev_print_type { … }; enum rdma_nldev_attr { … }; /* * Supported counter bind modes. All modes are mutual-exclusive. */ enum rdma_nl_counter_mode { … }; /* * Supported criteria in counter auto mode. * Currently only "qp type" is supported */ enum rdma_nl_counter_mask { … }; /* Supported rdma device types. */ enum rdma_nl_dev_type { … }; /* RDMA device name assignment types */ enum rdma_nl_name_assign_type { … }; #endif /* _UAPI_RDMA_NETLINK_H */