Lines Matching full:av
226 struct cm_av av; member
286 if (!cm_id_priv->av.port) in cm_alloc_msg_agent()
289 read_lock(&cm_id_priv->av.port->cm_dev->mad_agent_lock); in cm_alloc_msg_agent()
290 mad_agent = rep_agent ? cm_id_priv->av.port->rep_agent : in cm_alloc_msg_agent()
291 cm_id_priv->av.port->mad_agent; in cm_alloc_msg_agent()
297 ah = rdma_create_ah(mad_agent->qp->pd, &cm_id_priv->av.ah_attr, 0); in cm_alloc_msg_agent()
304 cm_id_priv->av.pkey_index, in cm_alloc_msg_agent()
316 read_unlock(&cm_id_priv->av.port->cm_dev->mad_agent_lock); in cm_alloc_msg_agent()
453 static void cm_set_av_port(struct cm_av *av, struct cm_port *port) in cm_set_av_port() argument
455 struct cm_port *old_port = av->port; in cm_set_av_port()
460 av->port = port; in cm_set_av_port()
468 struct rdma_ah_attr *ah_attr, struct cm_av *av) in cm_init_av_for_lap() argument
470 cm_set_av_port(av, port); in cm_init_av_for_lap()
471 av->pkey_index = wc->pkey_index; in cm_init_av_for_lap()
472 rdma_move_ah_attr(&av->ah_attr, ah_attr); in cm_init_av_for_lap()
476 struct ib_grh *grh, struct cm_av *av) in cm_init_av_for_response() argument
478 cm_set_av_port(av, port); in cm_init_av_for_response()
479 av->pkey_index = wc->pkey_index; in cm_init_av_for_response()
482 grh, &av->ah_attr); in cm_init_av_for_response()
528 struct cm_av *av) in cm_init_av_by_path() argument
541 be16_to_cpu(path->pkey), &av->pkey_index); in cm_init_av_by_path()
545 cm_set_av_port(av, port); in cm_init_av_by_path()
548 * av->ah_attr might be initialized based on wc or during in cm_init_av_by_path()
561 av->timeout = path->packet_life_time + 1; in cm_init_av_by_path()
562 rdma_move_ah_attr(&av->ah_attr, &new_ah_attr); in cm_init_av_by_path()
566 /* Move av created by cm_init_av_by_path(), so av.dgid is not moved */
576 static void cm_destroy_av(struct cm_av *av) in cm_destroy_av() argument
578 rdma_destroy_ah_attr(&av->ah_attr); in cm_destroy_av()
579 cm_set_av_port(av, NULL); in cm_destroy_av()
1012 wait_time = cm_convert_to_ms(cm_id_priv->av.timeout); in cm_enter_timewait()
1180 cm_destroy_av(&cm_id_priv->av); in cm_destroy_id()
1311 if (!cm_id_priv->av.port) in cm_form_tid()
1314 read_lock(&cm_id_priv->av.port->cm_dev->mad_agent_lock); in cm_form_tid()
1315 if (cm_id_priv->av.port->mad_agent) in cm_form_tid()
1316 hi_tid = ((u64)cm_id_priv->av.port->mad_agent->hi_tid) << 32; in cm_form_tid()
1317 read_unlock(&cm_id_priv->av.port->cm_dev->mad_agent_lock); in cm_form_tid()
1428 cm_ack_timeout(cm_id_priv->av.port->cm_dev->ack_delay, in cm_format_req()
1480 cm_ack_timeout(cm_id_priv->av.port->cm_dev->ack_delay, in cm_format_req()
1514 struct cm_av av = {}, alt_av = {}; in ib_send_cm_req() local
1543 param->ppath_sgid_attr, &av); in ib_send_cm_req()
1550 cm_destroy_av(&av); in ib_send_cm_req()
1569 cm_move_av_from_path(&cm_id_priv->av, &av); in ib_send_cm_req()
1571 cm_id_priv->av.dlid_datapath = in ib_send_cm_req()
1829 param->port = cm_id_priv->av.port->port_num; in cm_format_req_event()
1854 param->ppath_sgid_attr = cm_id_priv->av.ah_attr.grh.sgid_attr; in cm_format_req_event()
2132 &cm_id_priv->av); in cm_req_handler()
2164 grh = rdma_ah_read_grh(&cm_id_priv->av.ah_attr); in cm_req_handler()
2167 if (cm_id_priv->av.ah_attr.type == RDMA_AH_ATTR_TYPE_ROCE) { in cm_req_handler()
2182 if (cm_id_priv->av.ah_attr.type == RDMA_AH_ATTR_TYPE_ROCE) in cm_req_handler()
2184 cm_id_priv->av.ah_attr.roce.dmac); in cm_req_handler()
2188 cm_destroy_av(&cm_id_priv->av); in cm_req_handler()
2189 ret = cm_init_av_by_path(&work->path[0], gid_attr, &cm_id_priv->av); in cm_req_handler()
2206 if (cm_id_priv->av.ah_attr.type == RDMA_AH_ATTR_TYPE_IB) in cm_req_handler()
2207 cm_id_priv->av.dlid_datapath = in cm_req_handler()
2263 cm_id_priv->av.port->cm_dev->ack_delay); in cm_format_rep()
2578 cm_id_priv->av.timeout = in cm_rep_handler()
2580 cm_id_priv->av.timeout - 1); in cm_rep_handler()
3187 cm_convert_to_ms(cm_id_priv->av.timeout); in cm_mra_handler()
3336 &ah_attr, &cm_id_priv->av); in cm_lap_handler()
3478 struct cm_av av = {}; in ib_send_cm_sidr_req() local
3487 ret = cm_init_av_by_path(param->path, param->sgid_attr, &av); in ib_send_cm_sidr_req()
3492 cm_move_av_from_path(&cm_id_priv->av, &av); in ib_send_cm_sidr_req()
3541 param->sgid_attr = rx_cm_id->av.ah_attr.grh.sgid_attr; in cm_format_sidr_req_event()
3572 &cm_id_priv->av); in cm_sidr_req_handler()
3718 param->sgid_attr = cm_id_priv->av.ah_attr.grh.sgid_attr; in cm_format_sidr_rep_event()
3969 cm_id_priv->av = cm_id_priv->alt_av; in cm_migrate()
4111 qp_attr->pkey_index = cm_id_priv->av.pkey_index; in cm_init_qp_init_attr()
4112 if (cm_id_priv->av.port) in cm_init_qp_init_attr()
4113 qp_attr->port_num = cm_id_priv->av.port->port_num; in cm_init_qp_init_attr()
4143 qp_attr->ah_attr = cm_id_priv->av.ah_attr; in cm_init_qp_rtr_attr()
4145 cm_id_priv->av.dlid_datapath && in cm_init_qp_rtr_attr()
4146 (cm_id_priv->av.dlid_datapath != 0xffff)) in cm_init_qp_rtr_attr()
4147 qp_attr->ah_attr.ib.dlid = cm_id_priv->av.dlid_datapath; in cm_init_qp_rtr_attr()
4210 qp_attr->timeout = cm_id_priv->av.timeout; in cm_init_qp_rts_attr()