IB/mad: Add final OPA MAD processing
For devices which support OPA MADs
   1) Use previously defined SMP support functions.
   2) Pass correct base version to ib_create_send_mad when processing OPA MADs.
   3) Process out_mad_key_index returned by agents for a response.  This is
      necessary because OPA SMP packets must carry a valid pkey.
   4) Carry the correct segment size (OPA vs IBTA) of RMPP messages within
      ib_mad_recv_wc.
   5) Handle variable length OPA MADs by:
        * Adjusting the 'fake' WC for locally routed SMP's to represent the
          proper incoming byte_len
        * out_mad_size is used from the local HCA agents
                1) when sending agent responses on the wire
                2) when passing responses through the local_completions
		   function
	NOTE: wc.byte_len includes the GRH length and therefore is different
	      from the in_mad_size specified to the local HCA agents.
	      out_mad_size should _not_ include the GRH length as it is added
Signed-off-by:  Ira Weiny <ira.weiny@intel.com>
Signed-off-by:
Ira Weiny <ira.weiny@intel.com>
Signed-off-by:  Doug Ledford <dledford@redhat.com>
Doug Ledford <dledford@redhat.com>
Loading
Please register or sign in to comment
