diff options
| author | Ira Weiny <ira.weiny@intel.com> | 2014-08-08 19:00:55 -0400 |
|---|---|---|
| committer | Roland Dreier <roland@purestorage.com> | 2014-08-10 23:36:00 -0400 |
| commit | 0f29b46d49b0ca50536632c6a33986c3171f5ea1 (patch) | |
| tree | 8ce3551b9fd88c7706f68e0e26b915892e204154 /include/uapi/rdma | |
| parent | 9ad13a423484725324fb2c5c5ab527d6bf9d84cc (diff) | |
IB/mad: add new ioctl to ABI to support new registration options
Registrations options are specified through flags. Definitions of flags will
be in subsequent patches.
Signed-off-by: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'include/uapi/rdma')
| -rw-r--r-- | include/uapi/rdma/ib_user_mad.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/include/uapi/rdma/ib_user_mad.h b/include/uapi/rdma/ib_user_mad.h index d6fce1cbdb90..c00b081dc10e 100644 --- a/include/uapi/rdma/ib_user_mad.h +++ b/include/uapi/rdma/ib_user_mad.h | |||
| @@ -191,6 +191,42 @@ struct ib_user_mad_reg_req { | |||
| 191 | __u8 rmpp_version; | 191 | __u8 rmpp_version; |
| 192 | }; | 192 | }; |
| 193 | 193 | ||
| 194 | /** | ||
| 195 | * ib_user_mad_reg_req2 - MAD registration request | ||
| 196 | * | ||
| 197 | * @id - Set by the _kernel_; used by userspace to identify the | ||
| 198 | * registered agent in future requests. | ||
| 199 | * @qpn - Queue pair number; must be 0 or 1. | ||
| 200 | * @mgmt_class - Indicates which management class of MADs should be | ||
| 201 | * receive by the caller. This field is only required if | ||
| 202 | * the user wishes to receive unsolicited MADs, otherwise | ||
| 203 | * it should be 0. | ||
| 204 | * @mgmt_class_version - Indicates which version of MADs for the given | ||
| 205 | * management class to receive. | ||
| 206 | * @res - Ignored. | ||
| 207 | * @flags - additional registration flags; Must be in the set of | ||
| 208 | * flags defined in IB_USER_MAD_REG_FLAGS_CAP | ||
| 209 | * @method_mask - The caller wishes to receive unsolicited MADs for the | ||
| 210 | * methods whose bit(s) is(are) set. | ||
| 211 | * @oui - Indicates IEEE OUI to use when mgmt_class is a vendor | ||
| 212 | * class in the range from 0x30 to 0x4f. Otherwise not | ||
| 213 | * used. | ||
| 214 | * @rmpp_version - If set, indicates the RMPP version to use. | ||
| 215 | */ | ||
| 216 | #define IB_USER_MAD_REG_FLAGS_CAP (0) | ||
| 217 | struct ib_user_mad_reg_req2 { | ||
| 218 | __u32 id; | ||
| 219 | __u32 qpn; | ||
| 220 | __u8 mgmt_class; | ||
| 221 | __u8 mgmt_class_version; | ||
| 222 | __u16 res; | ||
| 223 | __u32 flags; | ||
| 224 | __u64 method_mask[2]; | ||
| 225 | __u32 oui; | ||
| 226 | __u8 rmpp_version; | ||
| 227 | __u8 reserved[3]; | ||
| 228 | }; | ||
| 229 | |||
| 194 | #define IB_IOCTL_MAGIC 0x1b | 230 | #define IB_IOCTL_MAGIC 0x1b |
| 195 | 231 | ||
| 196 | #define IB_USER_MAD_REGISTER_AGENT _IOWR(IB_IOCTL_MAGIC, 1, \ | 232 | #define IB_USER_MAD_REGISTER_AGENT _IOWR(IB_IOCTL_MAGIC, 1, \ |
| @@ -200,4 +236,7 @@ struct ib_user_mad_reg_req { | |||
| 200 | 236 | ||
| 201 | #define IB_USER_MAD_ENABLE_PKEY _IO(IB_IOCTL_MAGIC, 3) | 237 | #define IB_USER_MAD_ENABLE_PKEY _IO(IB_IOCTL_MAGIC, 3) |
| 202 | 238 | ||
| 239 | #define IB_USER_MAD_REGISTER_AGENT2 _IOWR(IB_IOCTL_MAGIC, 4, \ | ||
| 240 | struct ib_user_mad_reg_req2) | ||
| 241 | |||
| 203 | #endif /* IB_USER_MAD_H */ | 242 | #endif /* IB_USER_MAD_H */ |
