/Linux-v5.4/drivers/infiniband/sw/rxe/ |
D | rxe_av.c | 65 const struct ib_global_route *grh = rdma_ah_read_grh(attr); in rxe_av_from_attr() local 68 memcpy(av->grh.dgid.raw, grh->dgid.raw, sizeof(grh->dgid.raw)); in rxe_av_from_attr() 69 av->grh.flow_label = grh->flow_label; in rxe_av_from_attr() 70 av->grh.sgid_index = grh->sgid_index; in rxe_av_from_attr() 71 av->grh.hop_limit = grh->hop_limit; in rxe_av_from_attr() 72 av->grh.traffic_class = grh->traffic_class; in rxe_av_from_attr() 78 struct ib_global_route *grh = rdma_ah_retrieve_grh(attr); in rxe_av_to_attr() local 82 memcpy(grh->dgid.raw, av->grh.dgid.raw, sizeof(av->grh.dgid.raw)); in rxe_av_to_attr() 83 grh->flow_label = av->grh.flow_label; in rxe_av_to_attr() 84 grh->sgid_index = av->grh.sgid_index; in rxe_av_to_attr() [all …]
|
D | rxe_net.c | 361 av->grh.traffic_class, av->grh.hop_limit, df, xnet); in prepare4() 385 av->grh.traffic_class, in prepare6() 386 av->grh.hop_limit); in prepare6() 466 attr = rdma_get_gid_attr(&rxe->ib_dev, port_num, av->grh.sgid_index); in rxe_init_packet()
|
/Linux-v5.4/drivers/infiniband/hw/qib/ |
D | qib_ruc.c | 94 const struct ib_global_route *grh; in qib_ruc_check_hdr() local 99 grh = rdma_ah_read_grh(&qp->alt_ah_attr); in qib_ruc_check_hdr() 100 guid = get_sguid(ibp, grh->sgid_index); in qib_ruc_check_hdr() 101 if (!gid_ok(&hdr->u.l.grh.dgid, in qib_ruc_check_hdr() 104 if (!gid_ok(&hdr->u.l.grh.sgid, in qib_ruc_check_hdr() 105 grh->dgid.global.subnet_prefix, in qib_ruc_check_hdr() 106 grh->dgid.global.interface_id)) in qib_ruc_check_hdr() 133 const struct ib_global_route *grh; in qib_ruc_check_hdr() local 138 grh = rdma_ah_read_grh(&qp->remote_ah_attr); in qib_ruc_check_hdr() 139 guid = get_sguid(ibp, grh->sgid_index); in qib_ruc_check_hdr() [all …]
|
D | qib_ud.c | 162 struct ib_grh grh; in qib_ud_loopback() local 165 qib_make_grh(ibp, &grh, grd, 0, 0); in qib_ud_loopback() 166 rvt_copy_sge(qp, &qp->r_sge, &grh, in qib_ud_loopback() 167 sizeof(grh), true, false); in qib_ud_loopback() 324 qp->s_hdrwords += qib_make_grh(ibp, &priv->s_hdr->u.l.grh, in qib_make_ud_req() 549 rvt_copy_sge(qp, &qp->r_sge, &hdr->u.l.grh, in qib_ud_rcv()
|
/Linux-v5.4/drivers/infiniband/hw/hfi1/ |
D | ruc.c | 82 if (!packet->grh) { in hfi1_ruc_check_hdr() 88 const struct ib_global_route *grh; in hfi1_ruc_check_hdr() local 93 grh = rdma_ah_read_grh(&qp->alt_ah_attr); in hfi1_ruc_check_hdr() 94 guid = get_sguid(ibp, grh->sgid_index); in hfi1_ruc_check_hdr() 95 if (!gid_ok(&packet->grh->dgid, ibp->rvp.gid_prefix, in hfi1_ruc_check_hdr() 99 &packet->grh->sgid, in hfi1_ruc_check_hdr() 100 grh->dgid.global.subnet_prefix, in hfi1_ruc_check_hdr() 101 grh->dgid.global.interface_id)) in hfi1_ruc_check_hdr() 119 if (!packet->grh) { in hfi1_ruc_check_hdr() 125 const struct ib_global_route *grh; in hfi1_ruc_check_hdr() local [all …]
|
D | ud.c | 186 struct ib_grh grh; in ud_loopback() local 213 hfi1_make_grh(ibp, &grh, &grd, 0, 0); in ud_loopback() 214 rvt_copy_sge(qp, &qp->r_sge, &grh, in ud_loopback() 215 sizeof(grh), true, false); in ud_loopback() 315 struct ib_grh *grh; in hfi1_make_ud_req_9B() local 329 grh = &ps->s_txreq->phdr.hdr.ibh.u.l.grh; in hfi1_make_ud_req_9B() 331 hfi1_make_grh(ibp, grh, rdma_ah_read_grh(ah_attr), in hfi1_make_ud_req_9B() 415 struct ib_grh *grh; in hfi1_make_ud_req_16B() local 426 grh = &ps->s_txreq->phdr.hdr.opah.u.l.grh; in hfi1_make_ud_req_16B() 428 ibp, grh, grd, in hfi1_make_ud_req_16B() [all …]
|
D | driver.c | 278 packet->grh = &rhdr->u.l.grh; in rcv_hdrerr() 295 if (packet->grh) { in rcv_hdrerr() 297 struct ib_grh *grh = packet->grh; in rcv_hdrerr() local 299 if (grh->next_hdr != IB_GRH_NEXT_HDR) in rcv_hdrerr() 301 vtf = be32_to_cpu(grh->version_tclass_flow); in rcv_hdrerr() 450 struct ib_grh *grh = pkt->grh; in hfi1_process_ecn_slowpath() local 524 dlid, rlid, sc, grh); in hfi1_process_ecn_slowpath() 648 packet->grh = NULL; in __prescan_rxq() 651 packet->grh = &hdr->u.l.grh; in __prescan_rxq() 815 packet->grh = NULL; in process_rcv_update() [all …]
|
D | hfi.h | 373 struct ib_grh *grh; member 2387 const struct ib_global_route *grh = rdma_ah_read_grh(attr); in hfi1_make_opa_lid() local 2398 if (ib_is_opa_gid(&grh->dgid)) in hfi1_make_opa_lid() 2399 dlid = opa_get_lid_from_gid(&grh->dgid); in hfi1_make_opa_lid() 2448 struct ib_grh *grh, u32 slid, in hfi1_make_ext_grh() argument 2457 grh->hop_limit = 1; in hfi1_make_ext_grh() 2458 grh->sgid.global.subnet_prefix = ibp->rvp.gid_prefix; in hfi1_make_ext_grh() 2460 grh->sgid.global.interface_id = in hfi1_make_ext_grh() 2463 grh->sgid.global.interface_id = OPA_MAKE_ID(slid); in hfi1_make_ext_grh() 2472 grh->dgid.global.subnet_prefix = ibp->rvp.gid_prefix; in hfi1_make_ext_grh() [all …]
|
/Linux-v5.4/drivers/infiniband/hw/mlx4/ |
D | ah.c | 54 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in create_ib_ah() local 57 ah->av.ib.gid_index = grh->sgid_index; in create_ib_ah() 58 ah->av.ib.hop_limit = grh->hop_limit; in create_ib_ah() 60 cpu_to_be32((grh->traffic_class << 20) | in create_ib_ah() 61 grh->flow_label); in create_ib_ah() 62 memcpy(ah->av.ib.dgid, grh->dgid.raw, 16); in create_ib_ah() 86 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in create_iboe_ah() local 89 memcpy(&in6, grh->dgid.raw, sizeof(in6)); in create_iboe_ah() 100 gid_attr = ah_attr->grh.sgid_attr; in create_iboe_ah() 113 ah->av.eth.gid_index = ah_attr->grh.sgid_index; in create_iboe_ah() [all …]
|
D | mad.c | 71 struct ib_grh grh; member 80 struct ib_grh grh; member 87 struct ib_grh grh; member 154 u8 grh[40]; in mlx4_MAD_IFC() member 168 memcpy(ext_info->grh, in_grh, 40); in mlx4_MAD_IFC() 486 static int get_gids_from_l3_hdr(struct ib_grh *grh, union ib_gid *sgid, in get_gids_from_l3_hdr() argument 489 int version = ib_get_rdma_header_version((const union rdma_network_hdr *)grh); in get_gids_from_l3_hdr() 499 return ib_get_gids_from_rdma_hdr((union rdma_network_hdr *)grh, net_type, in get_gids_from_l3_hdr() 505 struct ib_grh *grh, struct ib_mad *mad) in mlx4_ib_send_to_slave() argument 566 if (get_gids_from_l3_hdr(grh, &sgid, &dgid)) in mlx4_ib_send_to_slave() [all …]
|
/Linux-v5.4/drivers/infiniband/hw/ocrdma/ |
D | ocrdma_ah.c | 79 struct ocrdma_grh grh; in set_av_attr() local 91 memset(&grh, 0, sizeof(grh)); in set_av_attr() 141 memcpy(&grh.sgid[0], sgid->raw, sizeof(union ib_gid)); in set_av_attr() 142 grh.tclass_flow = cpu_to_be32((6 << 28) | in set_av_attr() 145 memcpy(&grh.dgid[0], ib_grh->dgid.raw, in set_av_attr() 147 grh.pdid_hoplimit = cpu_to_be32((pdid << 16) | in set_av_attr() 150 memcpy((u8 *)ah->av + eth_sz, &grh, sizeof(struct ocrdma_grh)); in set_av_attr() 177 sgid_attr = attr->grh.sgid_attr; in ocrdma_create_ah() 229 struct ocrdma_grh *grh; in ocrdma_query_ah() local 233 grh = (struct ocrdma_grh *)((u8 *)ah->av + in ocrdma_query_ah() [all …]
|
/Linux-v5.4/drivers/infiniband/core/ |
D | uverbs_marshall.c | 69 memset(&dst->grh.reserved, 0, sizeof(dst->grh.reserved)); in ib_copy_ah_attr_to_user() 83 const struct ib_global_route *grh = rdma_ah_read_grh(src); in ib_copy_ah_attr_to_user() local 85 memcpy(dst->grh.dgid, grh->dgid.raw, sizeof(grh->dgid)); in ib_copy_ah_attr_to_user() 86 dst->grh.flow_label = grh->flow_label; in ib_copy_ah_attr_to_user() 87 dst->grh.sgid_index = grh->sgid_index; in ib_copy_ah_attr_to_user() 88 dst->grh.hop_limit = grh->hop_limit; in ib_copy_ah_attr_to_user() 89 dst->grh.traffic_class = grh->traffic_class; in ib_copy_ah_attr_to_user()
|
D | ud_header.c | 187 { STRUCT_FIELD(grh, ip_version), 191 { STRUCT_FIELD(grh, traffic_class), 195 { STRUCT_FIELD(grh, flow_label), 199 { STRUCT_FIELD(grh, payload_length), 203 { STRUCT_FIELD(grh, next_header), 207 { STRUCT_FIELD(grh, hop_limit), 211 { STRUCT_FIELD(grh, source_gid), 215 { STRUCT_FIELD(grh, destination_gid), 356 header->grh.ip_version = 6; in ib_ud_header_init() 357 header->grh.payload_length = in ib_ud_header_init() [all …]
|
D | verbs.c | 360 if (dest->grh.sgid_attr) in rdma_copy_ah_attr() 361 rdma_hold_gid_attr(dest->grh.sgid_attr); in rdma_copy_ah_attr() 380 if (old->grh.sgid_attr) in rdma_replace_ah_attr() 381 rdma_hold_gid_attr(old->grh.sgid_attr); in rdma_replace_ah_attr() 400 src->grh.sgid_attr = NULL; in rdma_move_ah_attr() 419 if (ah_attr->grh.sgid_attr) { in rdma_check_ah_attr() 424 if (ah_attr->grh.sgid_attr->index != ah_attr->grh.sgid_index || in rdma_check_ah_attr() 425 ah_attr->grh.sgid_attr->port_num != ah_attr->port_num) in rdma_check_ah_attr() 440 struct ib_global_route *grh; in rdma_fill_sgid_attr() local 443 *old_sgid_attr = ah_attr->grh.sgid_attr; in rdma_fill_sgid_attr() [all …]
|
D | agent.h | 47 extern void agent_send_response(const struct ib_mad_hdr *mad_hdr, const struct ib_grh *grh,
|
D | agent.c | 81 void agent_send_response(const struct ib_mad_hdr *mad_hdr, const struct ib_grh *grh, in agent_send_response() argument 102 ah = ib_create_ah_from_wc(agent->qp->pd, wc, grh, port_num); in agent_send_response()
|
D | mad.c | 1945 const struct ib_global_route *grh = in rcv_has_same_gid() local 1949 grh->sgid_index, &sgid)) in rcv_has_same_gid() 1951 return !memcmp(sgid.raw, rwc->recv_buf.grh->dgid.raw, in rcv_has_same_gid() 1960 rwc->recv_buf.grh->sgid.raw, in rcv_has_same_gid() 2131 response->header.recv_wc.recv_buf.grh = &response->grh; in handle_ib_smi() 2134 &response->grh, wc, in handle_ib_smi() 2158 response->header.recv_wc.recv_buf.grh = &response->grh; in generate_unmatched_resp() 2221 response->header.recv_wc.recv_buf.grh = &response->grh; in handle_opa_smi() 2224 &response->grh, wc, in handle_opa_smi() 2309 recv->header.recv_wc.recv_buf.grh = &recv->grh; in ib_mad_recv_done() [all …]
|
D | user_mad.c | 263 const struct ib_global_route *grh; in recv_handler() local 268 mad_recv_wc->recv_buf.grh, in recv_handler() 273 grh = rdma_ah_read_grh(&ah_attr); in recv_handler() 274 packet->mad.hdr.gid_index = grh->sgid_index; in recv_handler() 275 packet->mad.hdr.hop_limit = grh->hop_limit; in recv_handler() 276 packet->mad.hdr.traffic_class = grh->traffic_class; in recv_handler() 277 memcpy(packet->mad.hdr.gid, &grh->dgid, 16); in recv_handler() 278 packet->mad.hdr.flow_label = cpu_to_be32(grh->flow_label); in recv_handler()
|
/Linux-v5.4/drivers/infiniband/hw/mlx5/ |
D | ah.c | 41 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in create_ib_ah() local 43 memcpy(ah->av.rgid, &grh->dgid, 16); in create_ib_ah() 44 ah->av.grh_gid_fl = cpu_to_be32(grh->flow_label | in create_ib_ah() 46 grh->sgid_index << 20); in create_ib_ah() 47 ah->av.hop_limit = grh->hop_limit; in create_ib_ah() 48 ah->av.tclass = grh->traffic_class; in create_ib_ah() 54 gid_type = ah_attr->grh.sgid_attr->gid_type; in create_ib_ah() 59 mlx5_get_roce_udp_sport(dev, ah_attr->grh.sgid_attr); in create_ib_ah()
|
/Linux-v5.4/drivers/infiniband/hw/mthca/ |
D | mthca_av.c | 208 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in mthca_create_ah() local 213 grh->sgid_index; in mthca_create_ah() 214 av->hop_limit = grh->hop_limit; in mthca_create_ah() 216 cpu_to_be32((grh->traffic_class << 20) | in mthca_create_ah() 217 grh->flow_label); in mthca_create_ah() 218 memcpy(av->dgid, grh->dgid.raw, 16); in mthca_create_ah() 279 header->grh.traffic_class = in mthca_read_ah() 281 header->grh.flow_label = in mthca_read_ah() 283 header->grh.hop_limit = ah->av->hop_limit; in mthca_read_ah() 284 header->grh.source_gid = ah->ibah.sgid_attr->gid; in mthca_read_ah() [all …]
|
/Linux-v5.4/drivers/infiniband/hw/hns/ |
D | hns_roce_ah.c | 50 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in hns_roce_create_ah() local 54 gid_attr = ah_attr->grh.sgid_attr; in hns_roce_create_ah() 70 ah->av.gid_index = grh->sgid_index; in hns_roce_create_ah() 79 memcpy(ah->av.dgid, grh->dgid.raw, HNS_ROCE_GID_SIZE); in hns_roce_create_ah()
|
/Linux-v5.4/drivers/infiniband/hw/qedr/ |
D | qedr_roce_cm.c | 389 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in qedr_gsi_build_header() local 390 const struct ib_gid_attr *sgid_attr = grh->sgid_attr; in qedr_gsi_build_header() 460 udh->grh.traffic_class = grh->traffic_class; in qedr_gsi_build_header() 461 udh->grh.flow_label = grh->flow_label; in qedr_gsi_build_header() 462 udh->grh.hop_limit = grh->hop_limit; in qedr_gsi_build_header() 463 udh->grh.destination_gid = grh->dgid; in qedr_gsi_build_header() 464 memcpy(&udh->grh.source_gid.raw, sgid_attr->gid.raw, in qedr_gsi_build_header() 465 sizeof(udh->grh.source_gid.raw)); in qedr_gsi_build_header() 471 udh->ip4.tos = htonl(grh->flow_label); in qedr_gsi_build_header() 473 udh->ip4.ttl = grh->hop_limit; in qedr_gsi_build_header() [all …]
|
D | qedr.h | 504 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in qedr_get_dmac() local 507 if (!memcmp(&grh->dgid, &zero_sgid, sizeof(union ib_gid))) { in qedr_get_dmac() 513 memcpy(&in6, grh->dgid.raw, sizeof(in6)); in qedr_get_dmac()
|
/Linux-v5.4/drivers/infiniband/hw/vmw_pvrdma/ |
D | pvrdma_verbs.c | 517 const struct ib_global_route *grh; in pvrdma_create_ah() local 523 grh = rdma_ah_read_grh(ah_attr); in pvrdma_create_ah() 525 rdma_is_multicast_addr((struct in6_addr *)grh->dgid.raw)) in pvrdma_create_ah() 534 ah->av.gid_index = grh->sgid_index; in pvrdma_create_ah() 535 ah->av.hop_limit = grh->hop_limit; in pvrdma_create_ah() 536 ah->av.sl_tclass_flowlabel = (grh->traffic_class << 20) | in pvrdma_create_ah() 537 grh->flow_label; in pvrdma_create_ah() 538 memcpy(ah->av.dgid, grh->dgid.raw, 16); in pvrdma_create_ah()
|
/Linux-v5.4/include/rdma/ |
D | ib_verbs.h | 899 struct ib_global_route grh; member 3432 const struct ib_wc *wc, const struct ib_grh *grh, 3448 const struct ib_grh *grh, u8 port_num); 4459 return &attr->grh; in rdma_ah_read_grh() 4466 return &attr->grh; in rdma_ah_retrieve_grh() 4471 struct ib_global_route *grh = rdma_ah_retrieve_grh(attr); in rdma_ah_set_dgid_raw() local 4473 memcpy(grh->dgid.raw, dgid, sizeof(grh->dgid)); in rdma_ah_set_dgid_raw() 4479 struct ib_global_route *grh = rdma_ah_retrieve_grh(attr); in rdma_ah_set_subnet_prefix() local 4481 grh->dgid.global.subnet_prefix = prefix; in rdma_ah_set_subnet_prefix() 4487 struct ib_global_route *grh = rdma_ah_retrieve_grh(attr); in rdma_ah_set_interface_id() local [all …]
|