Lines Matching refs:req_msg

1340 static void cm_format_req(struct cm_req_msg *req_msg,  in cm_format_req()  argument
1353 cm_format_mad_ece_hdr(&req_msg->hdr, CM_REQ_ATTR_ID, in cm_format_req()
1356 IBA_SET(CM_REQ_LOCAL_COMM_ID, req_msg, in cm_format_req()
1358 IBA_SET(CM_REQ_SERVICE_ID, req_msg, be64_to_cpu(param->service_id)); in cm_format_req()
1359 IBA_SET(CM_REQ_LOCAL_CA_GUID, req_msg, in cm_format_req()
1361 IBA_SET(CM_REQ_LOCAL_QPN, req_msg, param->qp_num); in cm_format_req()
1362 IBA_SET(CM_REQ_INITIATOR_DEPTH, req_msg, param->initiator_depth); in cm_format_req()
1363 IBA_SET(CM_REQ_REMOTE_CM_RESPONSE_TIMEOUT, req_msg, in cm_format_req()
1365 cm_req_set_qp_type(req_msg, param->qp_type); in cm_format_req()
1366 IBA_SET(CM_REQ_END_TO_END_FLOW_CONTROL, req_msg, param->flow_control); in cm_format_req()
1367 IBA_SET(CM_REQ_STARTING_PSN, req_msg, param->starting_psn); in cm_format_req()
1368 IBA_SET(CM_REQ_LOCAL_CM_RESPONSE_TIMEOUT, req_msg, in cm_format_req()
1370 IBA_SET(CM_REQ_PARTITION_KEY, req_msg, in cm_format_req()
1372 IBA_SET(CM_REQ_PATH_PACKET_PAYLOAD_MTU, req_msg, in cm_format_req()
1374 IBA_SET(CM_REQ_MAX_CM_RETRIES, req_msg, param->max_cm_retries); in cm_format_req()
1377 IBA_SET(CM_REQ_RESPONDER_RESOURCES, req_msg, in cm_format_req()
1379 IBA_SET(CM_REQ_RETRY_COUNT, req_msg, param->retry_count); in cm_format_req()
1380 IBA_SET(CM_REQ_RNR_RETRY_COUNT, req_msg, in cm_format_req()
1382 IBA_SET(CM_REQ_SRQ, req_msg, param->srq); in cm_format_req()
1385 *IBA_GET_MEM_PTR(CM_REQ_PRIMARY_LOCAL_PORT_GID, req_msg) = in cm_format_req()
1387 *IBA_GET_MEM_PTR(CM_REQ_PRIMARY_REMOTE_PORT_GID, req_msg) = in cm_format_req()
1390 IBA_GET_MEM_PTR(CM_REQ_PRIMARY_LOCAL_PORT_GID, req_msg) in cm_format_req()
1393 IBA_GET_MEM_PTR(CM_REQ_PRIMARY_REMOTE_PORT_GID, req_msg) in cm_format_req()
1398 IBA_SET(CM_REQ_PRIMARY_LOCAL_PORT_LID, req_msg, in cm_format_req()
1402 IBA_SET(CM_REQ_PRIMARY_REMOTE_PORT_LID, req_msg, in cm_format_req()
1410 IBA_SET(CM_REQ_PRIMARY_LOCAL_PORT_LID, req_msg, in cm_format_req()
1413 IBA_SET(CM_REQ_PRIMARY_LOCAL_PORT_LID, req_msg, in cm_format_req()
1417 IBA_SET(CM_REQ_PRIMARY_REMOTE_PORT_LID, req_msg, in cm_format_req()
1420 IBA_SET(CM_REQ_PRIMARY_FLOW_LABEL, req_msg, in cm_format_req()
1422 IBA_SET(CM_REQ_PRIMARY_PACKET_RATE, req_msg, pri_path->rate); in cm_format_req()
1423 IBA_SET(CM_REQ_PRIMARY_TRAFFIC_CLASS, req_msg, pri_path->traffic_class); in cm_format_req()
1424 IBA_SET(CM_REQ_PRIMARY_HOP_LIMIT, req_msg, pri_path->hop_limit); in cm_format_req()
1425 IBA_SET(CM_REQ_PRIMARY_SL, req_msg, pri_path->sl); in cm_format_req()
1426 IBA_SET(CM_REQ_PRIMARY_SUBNET_LOCAL, req_msg, in cm_format_req()
1428 IBA_SET(CM_REQ_PRIMARY_LOCAL_ACK_TIMEOUT, req_msg, in cm_format_req()
1439 *IBA_GET_MEM_PTR(CM_REQ_ALTERNATE_LOCAL_PORT_GID, req_msg) = in cm_format_req()
1441 *IBA_GET_MEM_PTR(CM_REQ_ALTERNATE_REMOTE_PORT_GID, req_msg) = in cm_format_req()
1445 req_msg) in cm_format_req()
1449 req_msg) in cm_format_req()
1454 IBA_SET(CM_REQ_ALTERNATE_LOCAL_PORT_LID, req_msg, in cm_format_req()
1459 IBA_SET(CM_REQ_ALTERNATE_REMOTE_PORT_LID, req_msg, in cm_format_req()
1465 IBA_SET(CM_REQ_ALTERNATE_LOCAL_PORT_LID, req_msg, in cm_format_req()
1467 IBA_SET(CM_REQ_ALTERNATE_REMOTE_PORT_LID, req_msg, in cm_format_req()
1470 IBA_SET(CM_REQ_ALTERNATE_FLOW_LABEL, req_msg, in cm_format_req()
1472 IBA_SET(CM_REQ_ALTERNATE_PACKET_RATE, req_msg, alt_path->rate); in cm_format_req()
1473 IBA_SET(CM_REQ_ALTERNATE_TRAFFIC_CLASS, req_msg, in cm_format_req()
1475 IBA_SET(CM_REQ_ALTERNATE_HOP_LIMIT, req_msg, in cm_format_req()
1477 IBA_SET(CM_REQ_ALTERNATE_SL, req_msg, alt_path->sl); in cm_format_req()
1478 IBA_SET(CM_REQ_ALTERNATE_SUBNET_LOCAL, req_msg, in cm_format_req()
1480 IBA_SET(CM_REQ_ALTERNATE_LOCAL_ACK_TIMEOUT, req_msg, in cm_format_req()
1484 IBA_SET(CM_REQ_VENDOR_ID, req_msg, param->ece.vendor_id); in cm_format_req()
1487 IBA_SET_MEM(CM_REQ_PRIVATE_DATA, req_msg, param->private_data, in cm_format_req()
1518 struct cm_req_msg *req_msg; in ib_send_cm_req() local
1584 req_msg = (struct cm_req_msg *)msg->mad; in ib_send_cm_req()
1585 cm_format_req(req_msg, cm_id_priv, param); in ib_send_cm_req()
1586 cm_id_priv->tid = req_msg->hdr.tid; in ib_send_cm_req()
1588 cm_id_priv->local_qpn = cpu_to_be32(IBA_GET(CM_REQ_LOCAL_QPN, req_msg)); in ib_send_cm_req()
1589 cm_id_priv->rq_psn = cpu_to_be32(IBA_GET(CM_REQ_STARTING_PSN, req_msg)); in ib_send_cm_req()
1648 static bool cm_req_has_alt_path(struct cm_req_msg *req_msg) in cm_req_has_alt_path() argument
1651 IBA_GET(CM_REQ_ALTERNATE_LOCAL_PORT_LID, req_msg))) || in cm_req_has_alt_path()
1653 req_msg)))); in cm_req_has_alt_path()
1665 static void cm_format_path_lid_from_req(struct cm_req_msg *req_msg, in cm_format_path_lid_from_req() argument
1676 req_msg)); in cm_format_path_lid_from_req()
1679 CM_REQ_PRIMARY_LOCAL_PORT_GID, req_msg)); in cm_format_path_lid_from_req()
1683 CM_REQ_PRIMARY_REMOTE_PORT_GID, req_msg)); in cm_format_path_lid_from_req()
1687 if (!cm_req_has_alt_path(req_msg)) in cm_format_path_lid_from_req()
1693 req_msg)); in cm_format_path_lid_from_req()
1696 req_msg)); in cm_format_path_lid_from_req()
1699 CM_REQ_ALTERNATE_LOCAL_PORT_GID, req_msg)); in cm_format_path_lid_from_req()
1703 CM_REQ_ALTERNATE_REMOTE_PORT_GID, req_msg)); in cm_format_path_lid_from_req()
1708 static void cm_format_paths_from_req(struct cm_req_msg *req_msg, in cm_format_paths_from_req() argument
1714 *IBA_GET_MEM_PTR(CM_REQ_PRIMARY_LOCAL_PORT_GID, req_msg); in cm_format_paths_from_req()
1716 *IBA_GET_MEM_PTR(CM_REQ_PRIMARY_REMOTE_PORT_GID, req_msg); in cm_format_paths_from_req()
1718 cpu_to_be32(IBA_GET(CM_REQ_PRIMARY_FLOW_LABEL, req_msg)); in cm_format_paths_from_req()
1719 primary_path->hop_limit = IBA_GET(CM_REQ_PRIMARY_HOP_LIMIT, req_msg); in cm_format_paths_from_req()
1721 IBA_GET(CM_REQ_PRIMARY_TRAFFIC_CLASS, req_msg); in cm_format_paths_from_req()
1724 cpu_to_be16(IBA_GET(CM_REQ_PARTITION_KEY, req_msg)); in cm_format_paths_from_req()
1725 primary_path->sl = IBA_GET(CM_REQ_PRIMARY_SL, req_msg); in cm_format_paths_from_req()
1727 primary_path->mtu = IBA_GET(CM_REQ_PATH_PACKET_PAYLOAD_MTU, req_msg); in cm_format_paths_from_req()
1729 primary_path->rate = IBA_GET(CM_REQ_PRIMARY_PACKET_RATE, req_msg); in cm_format_paths_from_req()
1732 IBA_GET(CM_REQ_PRIMARY_LOCAL_ACK_TIMEOUT, req_msg); in cm_format_paths_from_req()
1735 cpu_to_be64(IBA_GET(CM_REQ_SERVICE_ID, req_msg)); in cm_format_paths_from_req()
1739 if (cm_req_has_alt_path(req_msg)) { in cm_format_paths_from_req()
1741 CM_REQ_ALTERNATE_LOCAL_PORT_GID, req_msg); in cm_format_paths_from_req()
1743 CM_REQ_ALTERNATE_REMOTE_PORT_GID, req_msg); in cm_format_paths_from_req()
1745 IBA_GET(CM_REQ_ALTERNATE_FLOW_LABEL, req_msg)); in cm_format_paths_from_req()
1747 IBA_GET(CM_REQ_ALTERNATE_HOP_LIMIT, req_msg); in cm_format_paths_from_req()
1749 IBA_GET(CM_REQ_ALTERNATE_TRAFFIC_CLASS, req_msg); in cm_format_paths_from_req()
1752 cpu_to_be16(IBA_GET(CM_REQ_PARTITION_KEY, req_msg)); in cm_format_paths_from_req()
1753 alt_path->sl = IBA_GET(CM_REQ_ALTERNATE_SL, req_msg); in cm_format_paths_from_req()
1756 IBA_GET(CM_REQ_PATH_PACKET_PAYLOAD_MTU, req_msg); in cm_format_paths_from_req()
1758 alt_path->rate = IBA_GET(CM_REQ_ALTERNATE_PACKET_RATE, req_msg); in cm_format_paths_from_req()
1761 IBA_GET(CM_REQ_ALTERNATE_LOCAL_ACK_TIMEOUT, req_msg); in cm_format_paths_from_req()
1764 cpu_to_be64(IBA_GET(CM_REQ_SERVICE_ID, req_msg)); in cm_format_paths_from_req()
1769 cm_format_path_lid_from_req(req_msg, primary_path, alt_path, wc); in cm_format_paths_from_req()
1823 struct cm_req_msg *req_msg; in cm_format_req_event() local
1826 req_msg = (struct cm_req_msg *)work->mad_recv_wc->recv_buf.mad; in cm_format_req_event()
1833 if (cm_req_has_alt_path(req_msg)) { in cm_format_req_event()
1840 cpu_to_be64(IBA_GET(CM_REQ_LOCAL_CA_GUID, req_msg)); in cm_format_req_event()
1841 param->remote_qkey = IBA_GET(CM_REQ_LOCAL_Q_KEY, req_msg); in cm_format_req_event()
1842 param->remote_qpn = IBA_GET(CM_REQ_LOCAL_QPN, req_msg); in cm_format_req_event()
1843 param->qp_type = cm_req_get_qp_type(req_msg); in cm_format_req_event()
1844 param->starting_psn = IBA_GET(CM_REQ_STARTING_PSN, req_msg); in cm_format_req_event()
1845 param->responder_resources = IBA_GET(CM_REQ_INITIATOR_DEPTH, req_msg); in cm_format_req_event()
1846 param->initiator_depth = IBA_GET(CM_REQ_RESPONDER_RESOURCES, req_msg); in cm_format_req_event()
1848 IBA_GET(CM_REQ_REMOTE_CM_RESPONSE_TIMEOUT, req_msg); in cm_format_req_event()
1849 param->flow_control = IBA_GET(CM_REQ_END_TO_END_FLOW_CONTROL, req_msg); in cm_format_req_event()
1851 IBA_GET(CM_REQ_LOCAL_CM_RESPONSE_TIMEOUT, req_msg); in cm_format_req_event()
1852 param->retry_count = IBA_GET(CM_REQ_RETRY_COUNT, req_msg); in cm_format_req_event()
1853 param->rnr_retry_count = IBA_GET(CM_REQ_RNR_RETRY_COUNT, req_msg); in cm_format_req_event()
1854 param->srq = IBA_GET(CM_REQ_SRQ, req_msg); in cm_format_req_event()
1856 param->ece.vendor_id = IBA_GET(CM_REQ_VENDOR_ID, req_msg); in cm_format_req_event()
1857 param->ece.attr_mod = be32_to_cpu(req_msg->hdr.attr_mod); in cm_format_req_event()
1860 IBA_GET_MEM_PTR(CM_REQ_PRIVATE_DATA, req_msg); in cm_format_req_event()
2007 struct cm_req_msg *req_msg; in cm_match_req() local
2009 req_msg = (struct cm_req_msg *)work->mad_recv_wc->recv_buf.mad; in cm_match_req()
2046 cpu_to_be64(IBA_GET(CM_REQ_SERVICE_ID, req_msg))); in cm_match_req()
2064 static void cm_process_routed_req(struct cm_req_msg *req_msg, struct ib_wc *wc) in cm_process_routed_req() argument
2066 if (!IBA_GET(CM_REQ_PRIMARY_SUBNET_LOCAL, req_msg)) { in cm_process_routed_req()
2068 req_msg)) == IB_LID_PERMISSIVE) { in cm_process_routed_req()
2069 IBA_SET(CM_REQ_PRIMARY_LOCAL_PORT_LID, req_msg, in cm_process_routed_req()
2071 IBA_SET(CM_REQ_PRIMARY_SL, req_msg, wc->sl); in cm_process_routed_req()
2075 req_msg)) == IB_LID_PERMISSIVE) in cm_process_routed_req()
2076 IBA_SET(CM_REQ_PRIMARY_REMOTE_PORT_LID, req_msg, in cm_process_routed_req()
2080 if (!IBA_GET(CM_REQ_ALTERNATE_SUBNET_LOCAL, req_msg)) { in cm_process_routed_req()
2082 req_msg)) == IB_LID_PERMISSIVE) { in cm_process_routed_req()
2083 IBA_SET(CM_REQ_ALTERNATE_LOCAL_PORT_LID, req_msg, in cm_process_routed_req()
2085 IBA_SET(CM_REQ_ALTERNATE_SL, req_msg, wc->sl); in cm_process_routed_req()
2089 req_msg)) == IB_LID_PERMISSIVE) in cm_process_routed_req()
2090 IBA_SET(CM_REQ_ALTERNATE_REMOTE_PORT_LID, req_msg, in cm_process_routed_req()
2098 struct cm_req_msg *req_msg; in cm_req_handler() local
2103 req_msg = (struct cm_req_msg *)work->mad_recv_wc->recv_buf.mad; in cm_req_handler()
2111 cpu_to_be32(IBA_GET(CM_REQ_LOCAL_COMM_ID, req_msg)); in cm_req_handler()
2113 cpu_to_be64(IBA_GET(CM_REQ_SERVICE_ID, req_msg)); in cm_req_handler()
2114 cm_id_priv->tid = req_msg->hdr.tid; in cm_req_handler()
2116 IBA_GET(CM_REQ_LOCAL_CM_RESPONSE_TIMEOUT, req_msg)); in cm_req_handler()
2117 cm_id_priv->max_cm_retries = IBA_GET(CM_REQ_MAX_CM_RETRIES, req_msg); in cm_req_handler()
2119 cpu_to_be32(IBA_GET(CM_REQ_LOCAL_QPN, req_msg)); in cm_req_handler()
2121 IBA_GET(CM_REQ_RESPONDER_RESOURCES, req_msg); in cm_req_handler()
2123 IBA_GET(CM_REQ_INITIATOR_DEPTH, req_msg); in cm_req_handler()
2124 cm_id_priv->path_mtu = IBA_GET(CM_REQ_PATH_PACKET_PAYLOAD_MTU, req_msg); in cm_req_handler()
2125 cm_id_priv->pkey = cpu_to_be16(IBA_GET(CM_REQ_PARTITION_KEY, req_msg)); in cm_req_handler()
2126 cm_id_priv->sq_psn = cpu_to_be32(IBA_GET(CM_REQ_STARTING_PSN, req_msg)); in cm_req_handler()
2127 cm_id_priv->retry_count = IBA_GET(CM_REQ_RETRY_COUNT, req_msg); in cm_req_handler()
2128 cm_id_priv->rnr_retry_count = IBA_GET(CM_REQ_RNR_RETRY_COUNT, req_msg); in cm_req_handler()
2129 cm_id_priv->qp_type = cm_req_get_qp_type(req_msg); in cm_req_handler()
2145 cpu_to_be64(IBA_GET(CM_REQ_LOCAL_CA_GUID, req_msg)); in cm_req_handler()
2163 if (cm_req_has_alt_path(req_msg)) in cm_req_handler()
2172 cm_process_routed_req(req_msg, work->mad_recv_wc->wc); in cm_req_handler()
2177 req_msg)); in cm_req_handler()
2179 if (cm_req_has_alt_path(req_msg)) in cm_req_handler()
2181 cm_format_paths_from_req(req_msg, &work->path[0], in cm_req_handler()
2209 IBA_GET(CM_REQ_PRIMARY_LOCAL_PORT_LID, req_msg); in cm_req_handler()
2211 if (cm_req_has_alt_path(req_msg)) { in cm_req_handler()