Lines Matching refs:mad
85 static void set_local_comm_id(struct ib_mad *mad, u32 cm_id) in set_local_comm_id() argument
87 if (mad->mad_hdr.attr_id == CM_SIDR_REQ_ATTR_ID) { in set_local_comm_id()
89 (struct cm_sidr_generic_msg *)mad; in set_local_comm_id()
91 } else if (mad->mad_hdr.attr_id == CM_SIDR_REP_ATTR_ID) { in set_local_comm_id()
95 struct cm_generic_msg *msg = (struct cm_generic_msg *)mad; in set_local_comm_id()
100 static u32 get_local_comm_id(struct ib_mad *mad) in get_local_comm_id() argument
102 if (mad->mad_hdr.attr_id == CM_SIDR_REQ_ATTR_ID) { in get_local_comm_id()
104 (struct cm_sidr_generic_msg *)mad; in get_local_comm_id()
106 } else if (mad->mad_hdr.attr_id == CM_SIDR_REP_ATTR_ID) { in get_local_comm_id()
110 struct cm_generic_msg *msg = (struct cm_generic_msg *)mad; in get_local_comm_id()
115 static void set_remote_comm_id(struct ib_mad *mad, u32 cm_id) in set_remote_comm_id() argument
117 if (mad->mad_hdr.attr_id == CM_SIDR_REP_ATTR_ID) { in set_remote_comm_id()
119 (struct cm_sidr_generic_msg *)mad; in set_remote_comm_id()
121 } else if (mad->mad_hdr.attr_id == CM_SIDR_REQ_ATTR_ID) { in set_remote_comm_id()
125 struct cm_generic_msg *msg = (struct cm_generic_msg *)mad; in set_remote_comm_id()
130 static u32 get_remote_comm_id(struct ib_mad *mad) in get_remote_comm_id() argument
132 if (mad->mad_hdr.attr_id == CM_SIDR_REP_ATTR_ID) { in get_remote_comm_id()
134 (struct cm_sidr_generic_msg *)mad; in get_remote_comm_id()
136 } else if (mad->mad_hdr.attr_id == CM_SIDR_REQ_ATTR_ID) { in get_remote_comm_id()
140 struct cm_generic_msg *msg = (struct cm_generic_msg *)mad; in get_remote_comm_id()
145 static union ib_gid gid_from_req_msg(struct ib_device *ibdev, struct ib_mad *mad) in gid_from_req_msg() argument
147 struct cm_req_msg *msg = (struct cm_req_msg *)mad; in gid_from_req_msg()
303 struct ib_mad *mad) in mlx4_ib_multiplex_cm_handler() argument
309 if (mad->mad_hdr.attr_id == CM_REQ_ATTR_ID || in mlx4_ib_multiplex_cm_handler()
310 mad->mad_hdr.attr_id == CM_REP_ATTR_ID || in mlx4_ib_multiplex_cm_handler()
311 mad->mad_hdr.attr_id == CM_MRA_ATTR_ID || in mlx4_ib_multiplex_cm_handler()
312 mad->mad_hdr.attr_id == CM_SIDR_REQ_ATTR_ID || in mlx4_ib_multiplex_cm_handler()
313 (mad->mad_hdr.attr_id == CM_REJ_ATTR_ID && REJ_REASON(mad) == IB_CM_REJ_TIMEOUT)) { in mlx4_ib_multiplex_cm_handler()
314 sl_cm_id = get_local_comm_id(mad); in mlx4_ib_multiplex_cm_handler()
324 } else if (mad->mad_hdr.attr_id == CM_REJ_ATTR_ID || in mlx4_ib_multiplex_cm_handler()
325 mad->mad_hdr.attr_id == CM_SIDR_REP_ATTR_ID) { in mlx4_ib_multiplex_cm_handler()
328 sl_cm_id = get_local_comm_id(mad); in mlx4_ib_multiplex_cm_handler()
334 slave_id, sl_cm_id, be16_to_cpu(mad->mad_hdr.attr_id)); in mlx4_ib_multiplex_cm_handler()
339 set_local_comm_id(mad, id->pv_cm_id); in mlx4_ib_multiplex_cm_handler()
341 if (mad->mad_hdr.attr_id == CM_DREQ_ATTR_ID) in mlx4_ib_multiplex_cm_handler()
427 struct ib_mad *mad) in mlx4_ib_demux_cm_handler() argument
430 u32 rem_pv_cm_id = get_local_comm_id(mad); in mlx4_ib_demux_cm_handler()
435 if (mad->mad_hdr.attr_id == CM_REQ_ATTR_ID || in mlx4_ib_demux_cm_handler()
436 mad->mad_hdr.attr_id == CM_SIDR_REQ_ATTR_ID) { in mlx4_ib_demux_cm_handler()
442 gid = gid_from_req_msg(ibdev, mad); in mlx4_ib_demux_cm_handler()
459 pv_cm_id = get_remote_comm_id(mad); in mlx4_ib_demux_cm_handler()
463 if (mad->mad_hdr.attr_id == CM_REJ_ATTR_ID && in mlx4_ib_demux_cm_handler()
464 REJ_REASON(mad) == IB_CM_REJ_TIMEOUT && slave) { in mlx4_ib_demux_cm_handler()
470 pv_cm_id, be16_to_cpu(mad->mad_hdr.attr_id)); in mlx4_ib_demux_cm_handler()
476 set_remote_comm_id(mad, id->sl_cm_id); in mlx4_ib_demux_cm_handler()
478 if (mad->mad_hdr.attr_id == CM_DREQ_ATTR_ID || in mlx4_ib_demux_cm_handler()
479 mad->mad_hdr.attr_id == CM_REJ_ATTR_ID) in mlx4_ib_demux_cm_handler()