Lines Matching refs:mad

84 static void set_local_comm_id(struct ib_mad *mad, u32 cm_id)
86 if (mad->mad_hdr.attr_id == CM_SIDR_REQ_ATTR_ID) {
88 (struct cm_sidr_generic_msg *)mad;
90 } else if (mad->mad_hdr.attr_id == CM_SIDR_REP_ATTR_ID) {
94 struct cm_generic_msg *msg = (struct cm_generic_msg *)mad;
99 static u32 get_local_comm_id(struct ib_mad *mad)
101 if (mad->mad_hdr.attr_id == CM_SIDR_REQ_ATTR_ID) {
103 (struct cm_sidr_generic_msg *)mad;
105 } else if (mad->mad_hdr.attr_id == CM_SIDR_REP_ATTR_ID) {
109 struct cm_generic_msg *msg = (struct cm_generic_msg *)mad;
114 static void set_remote_comm_id(struct ib_mad *mad, u32 cm_id)
116 if (mad->mad_hdr.attr_id == CM_SIDR_REP_ATTR_ID) {
118 (struct cm_sidr_generic_msg *)mad;
120 } else if (mad->mad_hdr.attr_id == CM_SIDR_REQ_ATTR_ID) {
124 struct cm_generic_msg *msg = (struct cm_generic_msg *)mad;
129 static u32 get_remote_comm_id(struct ib_mad *mad)
131 if (mad->mad_hdr.attr_id == CM_SIDR_REP_ATTR_ID) {
133 (struct cm_sidr_generic_msg *)mad;
135 } else if (mad->mad_hdr.attr_id == CM_SIDR_REQ_ATTR_ID) {
139 struct cm_generic_msg *msg = (struct cm_generic_msg *)mad;
144 static union ib_gid gid_from_req_msg(struct ib_device *ibdev, struct ib_mad *mad)
146 struct cm_req_msg *msg = (struct cm_req_msg *)mad;
302 struct ib_mad *mad)
308 if (mad->mad_hdr.attr_id == CM_REQ_ATTR_ID ||
309 mad->mad_hdr.attr_id == CM_REP_ATTR_ID ||
310 mad->mad_hdr.attr_id == CM_MRA_ATTR_ID ||
311 mad->mad_hdr.attr_id == CM_SIDR_REQ_ATTR_ID ||
312 (mad->mad_hdr.attr_id == CM_REJ_ATTR_ID && REJ_REASON(mad) == IB_CM_REJ_TIMEOUT)) {
313 sl_cm_id = get_local_comm_id(mad);
323 } else if (mad->mad_hdr.attr_id == CM_REJ_ATTR_ID ||
324 mad->mad_hdr.attr_id == CM_SIDR_REP_ATTR_ID) {
327 sl_cm_id = get_local_comm_id(mad);
333 slave_id, sl_cm_id, be16_to_cpu(mad->mad_hdr.attr_id));
338 set_local_comm_id(mad, id->pv_cm_id);
340 if (mad->mad_hdr.attr_id == CM_DREQ_ATTR_ID)
426 struct ib_mad *mad)
429 u32 rem_pv_cm_id = get_local_comm_id(mad);
434 if (mad->mad_hdr.attr_id == CM_REQ_ATTR_ID ||
435 mad->mad_hdr.attr_id == CM_SIDR_REQ_ATTR_ID) {
441 gid = gid_from_req_msg(ibdev, mad);
458 pv_cm_id = get_remote_comm_id(mad);
462 if (mad->mad_hdr.attr_id == CM_REJ_ATTR_ID &&
463 REJ_REASON(mad) == IB_CM_REJ_TIMEOUT && slave) {
469 pv_cm_id, be16_to_cpu(mad->mad_hdr.attr_id));
475 set_remote_comm_id(mad, id->sl_cm_id);
477 if (mad->mad_hdr.attr_id == CM_DREQ_ATTR_ID ||
478 mad->mad_hdr.attr_id == CM_REJ_ATTR_ID)