IB/mad: add new ioctl to ABI to support new registration options
[linux-2.6-block.git] / include / rdma / ib_mad.h
index 3d81b90cc31588b815167c109fec65cf50865538..876f497f8b0c25724b2f6b694b576753c23cc33d 100644 (file)
@@ -355,6 +355,7 @@ typedef void (*ib_mad_recv_handler)(struct ib_mad_agent *mad_agent,
  * @hi_tid: Access layer assigned transaction ID for this client.
  *   Unsolicited MADs sent by this client will have the upper 32-bits
  *   of their TID set to this value.
+ * @flags: registration flags
  * @port_num: Port number on which QP is registered
  * @rmpp_version: If set, indicates the RMPP version used by this agent.
  */
@@ -367,6 +368,7 @@ struct ib_mad_agent {
        ib_mad_snoop_handler    snoop_handler;
        void                    *context;
        u32                     hi_tid;
+       u32                     flags;
        u8                      port_num;
        u8                      rmpp_version;
 };
@@ -426,6 +428,7 @@ struct ib_mad_recv_wc {
  *   in the range from 0x30 to 0x4f. Otherwise not used.
  * @method_mask: The caller will receive unsolicited MADs for any method
  *   where @method_mask = 1.
+ *
  */
 struct ib_mad_reg_req {
        u8      mgmt_class;
@@ -451,6 +454,7 @@ struct ib_mad_reg_req {
  * @recv_handler: The completion callback routine invoked for a received
  *   MAD.
  * @context: User specified context associated with the registration.
+ * @registration_flags: Registration flags to set for this agent
  */
 struct ib_mad_agent *ib_register_mad_agent(struct ib_device *device,
                                           u8 port_num,
@@ -459,7 +463,8 @@ struct ib_mad_agent *ib_register_mad_agent(struct ib_device *device,
                                           u8 rmpp_version,
                                           ib_mad_send_handler send_handler,
                                           ib_mad_recv_handler recv_handler,
-                                          void *context);
+                                          void *context,
+                                          u32 registration_flags);
 
 enum ib_mad_snoop_flags {
        /*IB_MAD_SNOOP_POSTED_SENDS        = 1,*/