Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
Pull infiniband/rdma updates from Roland Dreier: "Main set of InfiniBand/RDMA updates for 3.17 merge window: - MR reregistration support - MAD support for RMPP in userspace - iSER and SRP initiator updates - ocrdma hardware driver updates - other fixes..." * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (52 commits) IB/srp: Fix return value check in srp_init_module() RDMA/ocrdma: report asic-id in query device RDMA/ocrdma: Update sli data structure for endianness RDMA/ocrdma: Obtain SL from device structure RDMA/uapi: Include socket.h in rdma_user_cm.h IB/srpt: Handle GID change events IB/mlx5: Use ARRAY_SIZE instead of sizeof/sizeof[0] IB/mlx4: Use ARRAY_SIZE instead of sizeof/sizeof[0] RDMA/amso1100: Check for integer overflow in c2_alloc_cq_buf() IPoIB: Remove unnecessary test for NULL before debugfs_remove() IB/mad: Add user space RMPP support IB/mad: add new ioctl to ABI to support new registration options IB/mad: Add dev_notice messages for various umad/mad registration failures IB/mad: Update module to [pr|dev]_* style print messages IB/ipoib: Avoid multicast join attempts with invalid P_key IB/umad: Update module to [pr|dev]_* style print messages IB/ipoib: Avoid flushing the workqueue from worker context IB/ipoib: Use P_Key change event instead of P_Key polling mechanism IB/ipath: Add P_Key change event support mlx4_core: Add support for secure-host and SMP firewall ...
This commit is contained in:
@@ -191,6 +191,45 @@ struct ib_user_mad_reg_req {
|
||||
__u8 rmpp_version;
|
||||
};
|
||||
|
||||
/**
|
||||
* ib_user_mad_reg_req2 - MAD registration request
|
||||
*
|
||||
* @id - Set by the _kernel_; used by userspace to identify the
|
||||
* registered agent in future requests.
|
||||
* @qpn - Queue pair number; must be 0 or 1.
|
||||
* @mgmt_class - Indicates which management class of MADs should be
|
||||
* receive by the caller. This field is only required if
|
||||
* the user wishes to receive unsolicited MADs, otherwise
|
||||
* it should be 0.
|
||||
* @mgmt_class_version - Indicates which version of MADs for the given
|
||||
* management class to receive.
|
||||
* @res - Ignored.
|
||||
* @flags - additional registration flags; Must be in the set of
|
||||
* flags defined in IB_USER_MAD_REG_FLAGS_CAP
|
||||
* @method_mask - The caller wishes to receive unsolicited MADs for the
|
||||
* methods whose bit(s) is(are) set.
|
||||
* @oui - Indicates IEEE OUI to use when mgmt_class is a vendor
|
||||
* class in the range from 0x30 to 0x4f. Otherwise not
|
||||
* used.
|
||||
* @rmpp_version - If set, indicates the RMPP version to use.
|
||||
*/
|
||||
enum {
|
||||
IB_USER_MAD_USER_RMPP = (1 << 0),
|
||||
};
|
||||
#define IB_USER_MAD_REG_FLAGS_CAP (IB_USER_MAD_USER_RMPP)
|
||||
struct ib_user_mad_reg_req2 {
|
||||
__u32 id;
|
||||
__u32 qpn;
|
||||
__u8 mgmt_class;
|
||||
__u8 mgmt_class_version;
|
||||
__u16 res;
|
||||
__u32 flags;
|
||||
__u64 method_mask[2];
|
||||
__u32 oui;
|
||||
__u8 rmpp_version;
|
||||
__u8 reserved[3];
|
||||
};
|
||||
|
||||
#define IB_IOCTL_MAGIC 0x1b
|
||||
|
||||
#define IB_USER_MAD_REGISTER_AGENT _IOWR(IB_IOCTL_MAGIC, 1, \
|
||||
@@ -200,4 +239,7 @@ struct ib_user_mad_reg_req {
|
||||
|
||||
#define IB_USER_MAD_ENABLE_PKEY _IO(IB_IOCTL_MAGIC, 3)
|
||||
|
||||
#define IB_USER_MAD_REGISTER_AGENT2 _IOWR(IB_IOCTL_MAGIC, 4, \
|
||||
struct ib_user_mad_reg_req2)
|
||||
|
||||
#endif /* IB_USER_MAD_H */
|
||||
|
||||
@@ -276,6 +276,22 @@ struct ib_uverbs_reg_mr_resp {
|
||||
__u32 rkey;
|
||||
};
|
||||
|
||||
struct ib_uverbs_rereg_mr {
|
||||
__u64 response;
|
||||
__u32 mr_handle;
|
||||
__u32 flags;
|
||||
__u64 start;
|
||||
__u64 length;
|
||||
__u64 hca_va;
|
||||
__u32 pd_handle;
|
||||
__u32 access_flags;
|
||||
};
|
||||
|
||||
struct ib_uverbs_rereg_mr_resp {
|
||||
__u32 lkey;
|
||||
__u32 rkey;
|
||||
};
|
||||
|
||||
struct ib_uverbs_dereg_mr {
|
||||
__u32 mr_handle;
|
||||
};
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#define RDMA_USER_CM_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/socket.h>
|
||||
#include <linux/in6.h>
|
||||
#include <rdma/ib_user_verbs.h>
|
||||
#include <rdma/ib_user_sa.h>
|
||||
|
||||
Reference in New Issue
Block a user