mpxyd: improve QP destruction to manage QP1 and QP2 variations
With proxy-in and proxy-out connection combinations the
proxy agent sometimes manages 2 QPs. Change QP flush
and destruction to manage all combinations of QPs.
QP can also be on both tx and rx link-list for proxy-in
and proxy-out processing. QP free needs to be modified
to serialize and remove QP object from all lists.
Remove QPN option from mix_get_qp call.
Proxy-in RX_IMM message processing changed to validate
CM connected state and IB QP state before reposting.
Proxy-in pending_wr processing should send WC's to release
proxy buffers more frequently instead of on last segment.
With multiple QP's sharing proxy buffer it could stall
waiting for last segment WC's. It will now signal on last
segment or every 10th segment by default.
Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>