Home
last modified time | relevance | path

Searched refs:grh (Results 1 – 25 of 38) sorted by relevance

12

/linux/drivers/infiniband/sw/rxe/
H A Drxe_av.c19 const struct ib_global_route *grh = rdma_ah_read_grh(attr); in chk_attr() local
37 if (grh->sgid_index > port->attr.gid_tbl_len) { in chk_attr()
40 grh->sgid_index); in chk_attr()
43 grh->sgid_index); in chk_attr()
47 type = rdma_gid_attr_network_type(grh->sgid_attr); in chk_attr()
76 const struct ib_global_route *grh = rdma_ah_read_grh(attr); in rxe_av_from_attr() local
79 memcpy(av->grh.dgid.raw, grh->dgid.raw, sizeof(grh->dgid.raw)); in rxe_av_from_attr()
80 av->grh.flow_label = grh->flow_label; in rxe_av_from_attr()
81 av->grh.sgid_index = grh->sgid_index; in rxe_av_from_attr()
82 av->grh.hop_limit = grh->hop_limit; in rxe_av_from_attr()
[all …]
H A Drxe_net.c380 av->grh.traffic_class, av->grh.hop_limit, df, xnet); in rxe_prepare()
404 av->grh.traffic_class, in rxe_skb_tx_dtor()
405 av->grh.hop_limit); in rxe_skb_tx_dtor()
540 attr = rdma_get_gid_attr(&rxe->ib_dev, port_num, av->grh.sgid_index); in rxe_init_packet()
/linux/drivers/infiniband/hw/hfi1/
H A Druc.c40 if (!packet->grh) { in hfi1_ruc_check_hdr()
46 const struct ib_global_route *grh; in hfi1_ruc_check_hdr() local
51 grh = rdma_ah_read_grh(&qp->alt_ah_attr); in hfi1_ruc_check_hdr()
52 guid = get_sguid(ibp, grh->sgid_index); in hfi1_ruc_check_hdr()
53 if (!gid_ok(&packet->grh->dgid, ibp->rvp.gid_prefix, in hfi1_ruc_check_hdr()
57 &packet->grh->sgid, in hfi1_ruc_check_hdr()
58 grh->dgid.global.subnet_prefix, in hfi1_ruc_check_hdr()
59 grh->dgid.global.interface_id)) in hfi1_ruc_check_hdr()
77 if (!packet->grh) { in hfi1_ruc_check_hdr()
83 const struct ib_global_route *grh; in hfi1_ruc_check_hdr() local
[all …]
H A Dud.c144 struct ib_grh grh; in ud_loopback() local
171 hfi1_make_grh(ibp, &grh, &grd, 0, 0); in ud_loopback()
172 rvt_copy_sge(qp, &qp->r_sge, &grh, in ud_loopback()
173 sizeof(grh), true, false); in ud_loopback()
273 struct ib_grh *grh; in hfi1_make_ud_req_9B() local
287 grh = &ps->s_txreq->phdr.hdr.ibh.u.l.grh; in hfi1_make_ud_req_9B()
289 hfi1_make_grh(ibp, grh, rdma_ah_read_grh(ah_attr), in hfi1_make_ud_req_9B()
373 struct ib_grh *grh; in hfi1_make_ud_req_16B() local
384 grh = &ps->s_txreq->phdr.hdr.opah.u.l.grh; in hfi1_make_ud_req_16B()
386 ibp, grh, grd, in hfi1_make_ud_req_16B()
[all …]
H A Ddriver.c235 packet->grh = &rhdr->u.l.grh; in rcv_hdrerr()
252 if (packet->grh) { in rcv_hdrerr()
254 struct ib_grh *grh = packet->grh; in rcv_hdrerr() local
256 if (grh->next_hdr != IB_GRH_NEXT_HDR) in rcv_hdrerr()
258 vtf = be32_to_cpu(grh->version_tclass_flow); in rcv_hdrerr()
407 struct ib_grh *grh = pkt->grh; in hfi1_process_ecn_slowpath() local
481 dlid, rlid, sc, grh); in hfi1_process_ecn_slowpath()
603 packet->grh = NULL; in __prescan_rxq()
606 packet->grh = &hdr->u.l.grh; in __prescan_rxq()
804 packet->grh = NULL; in process_rcv_update()
[all …]
H A Dverbs.h83 struct ib_grh grh; member
397 const struct ib_global_route *grh, u32 hwords, u32 nwords);
H A Dipoib_tx.c265 struct ib_grh *grh; in hfi1_ipoib_build_ib_tx_headers() local
286 grh = &sdma_hdr->hdr.ibh.u.l.grh; in hfi1_ipoib_build_ib_tx_headers()
289 grh, in hfi1_ipoib_build_ib_tx_headers()
/linux/drivers/infiniband/hw/mlx4/
H A Dah.c54 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 …]
/linux/drivers/infiniband/hw/ocrdma/
H A Docrdma_ah.c79 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()
178 sgid_attr = attr->grh.sgid_attr; in ocrdma_create_ah()
231 struct ocrdma_grh *grh; in ocrdma_query_ah() local
235 grh = (struct ocrdma_grh *)((u8 *)ah->av + in ocrdma_query_ah()
[all …]
/linux/drivers/infiniband/core/
H A Dlag.c23 is_ipv4 = ipv6_addr_v4mapped((struct in6_addr *)ah_attr->grh.dgid.raw); in rdma_build_skb()
37 htons(rdma_flow_label_to_udp_sport(ah_attr->grh.flow_label)); in rdma_build_skb()
51 memcpy(&iph->saddr, ah_attr->grh.sgid_attr->gid.raw + 12, in rdma_build_skb()
53 memcpy(&iph->daddr, ah_attr->grh.dgid.raw + 12, in rdma_build_skb()
61 memcpy(&ip6h->flow_lbl, &ah_attr->grh.flow_label, in rdma_build_skb()
63 memcpy(&ip6h->saddr, ah_attr->grh.sgid_attr->gid.raw, in rdma_build_skb()
65 memcpy(&ip6h->daddr, ah_attr->grh.dgid.raw, in rdma_build_skb()
73 rdma_read_gid_l2_fields(ah_attr->grh.sgid_attr, NULL, smac); in rdma_build_skb()
115 ah_attr->grh.sgid_attr->gid_type == IB_GID_TYPE_ROCE_UDP_ENCAP && in rdma_lag_get_ah_roce_slave()
116 ah_attr->grh.flow_label)) in rdma_lag_get_ah_roce_slave()
[all …]
H A Dverbs.c369 if (dest->grh.sgid_attr) in rdma_copy_ah_attr()
370 rdma_hold_gid_attr(dest->grh.sgid_attr); in rdma_copy_ah_attr()
389 if (old->grh.sgid_attr) in rdma_replace_ah_attr()
390 rdma_hold_gid_attr(old->grh.sgid_attr); in rdma_replace_ah_attr()
409 src->grh.sgid_attr = NULL; in rdma_move_ah_attr()
428 if (ah_attr->grh.sgid_attr) { in rdma_check_ah_attr()
433 if (ah_attr->grh.sgid_attr->index != ah_attr->grh.sgid_index || in rdma_check_ah_attr()
434 ah_attr->grh.sgid_attr->port_num != ah_attr->port_num) in rdma_check_ah_attr()
449 struct ib_global_route *grh; in rdma_fill_sgid_attr() local
664 ib_get_net_type_by_grh(struct ib_device * device,u32 port_num,const struct ib_grh * grh) ib_get_net_type_by_grh() argument
758 struct ib_global_route *grh = rdma_ah_retrieve_grh(ah_attr); ib_resolve_unicast_gid_dmac() local
794 ib_init_ah_attr_from_wc(struct ib_device * device,u32 port_num,const struct ib_wc * wc,const struct ib_grh * grh,struct rdma_ah_attr * ah_attr) ib_init_ah_attr_from_wc() argument
924 ib_create_ah_from_wc(struct ib_pd * pd,const struct ib_wc * wc,const struct ib_grh * grh,u32 port_num) ib_create_ah_from_wc() argument
[all...]
H A Dagent.h47 extern void agent_send_response(const struct ib_mad_hdr *mad_hdr, const struct ib_grh *grh,
H A Duser_mad.c275 const struct ib_global_route *grh; in recv_handler() local
280 mad_recv_wc->recv_buf.grh, in recv_handler()
285 grh = rdma_ah_read_grh(&ah_attr); in recv_handler()
286 packet->mad.hdr.gid_index = grh->sgid_index; in recv_handler()
287 packet->mad.hdr.hop_limit = grh->hop_limit; in recv_handler()
288 packet->mad.hdr.traffic_class = grh->traffic_class; in recv_handler()
289 memcpy(packet->mad.hdr.gid, &grh->dgid, 16); in recv_handler()
290 packet->mad.hdr.flow_label = cpu_to_be32(grh->flow_label); in recv_handler()
/linux/drivers/infiniband/hw/mlx5/
H A Dah.c38 enum ib_gid_type gid_type = ah_attr->grh.sgid_attr->gid_type; in mlx5_ah_get_udp_sport()
43 (ah_attr->grh.flow_label & IB_GRH_FLOWLABEL_MASK)) in mlx5_ah_get_udp_sport()
45 rdma_flow_label_to_udp_sport(ah_attr->grh.flow_label)); in mlx5_ah_get_udp_sport()
48 ah_attr->grh.sgid_attr); in mlx5_ah_get_udp_sport()
61 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in create_ib_ah() local
63 memcpy(ah->av.rgid, &grh->dgid, 16); in create_ib_ah()
64 ah->av.grh_gid_fl = cpu_to_be32(grh->flow_label | in create_ib_ah()
66 grh->sgid_index << 20); in create_ib_ah()
67 ah->av.hop_limit = grh->hop_limit; in create_ib_ah()
68 ah->av.tclass = grh->traffic_class; in create_ib_ah()
[all …]
H A Dqp.c3527 u32 fl = ah->grh.flow_label; in mlx5_set_path_udp_sport()
3540 const struct ib_global_route *grh = rdma_ah_read_grh(ah); in mlx5_set_path() local
3554 if (grh->sgid_index >= immutable->gid_tbl_len) { in mlx5_set_path()
3556 grh->sgid_index, in mlx5_set_path()
3572 (grh->sgid_attr->gid_type == IB_GID_TYPE_ROCE_UDP_ENCAP) && in mlx5_set_path()
3578 gid_type = ah->grh.sgid_attr->gid_type; in mlx5_set_path()
3580 MLX5_SET(ads, path, dscp, grh->traffic_class >> 2); in mlx5_set_path()
3587 MLX5_SET(ads, path, grh, !!(ah_flags & IB_AH_GRH)); in mlx5_set_path()
3592 MLX5_SET(ads, path, src_addr_index, grh->sgid_index); in mlx5_set_path()
3593 MLX5_SET(ads, path, hop_limit, grh->hop_limit); in mlx5_set_path()
[all …]
/linux/drivers/infiniband/hw/hns/
H A Dhns_roce_ah.c40 u32 fl = ah_attr->grh.flow_label; in get_ah_udp_sport()
56 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in hns_roce_create_ah() local
60 u8 tclass = get_tclass(grh); in hns_roce_create_ah()
71 ah->av.gid_index = grh->sgid_index; in hns_roce_create_ah()
76 ah->av.hop_limit = grh->hop_limit; in hns_roce_create_ah()
77 ah->av.flowlabel = grh->flow_label; in hns_roce_create_ah()
85 if (ret && grh->sgid_attr->gid_type == IB_GID_TYPE_ROCE_UDP_ENCAP) in hns_roce_create_ah()
89 grh->sgid_attr->gid_type == IB_GID_TYPE_ROCE_UDP_ENCAP) in hns_roce_create_ah()
99 memcpy(ah->av.dgid, grh->dgid.raw, HNS_ROCE_GID_SIZE); in hns_roce_create_ah()
104 ret = rdma_read_gid_l2_fields(ah_attr->grh.sgid_attr, in hns_roce_create_ah()
H A Dhns_roce_hw_v2.c4851 const struct ib_global_route *grh = rdma_ah_read_grh(&attr->ah_attr); in get_dip_ctx_idx() local
4867 !memcmp(grh->dgid.raw, hr_dip->dgid, GID_LEN_V2)) { in get_dip_ctx_idx()
4883 memcpy(hr_dip->dgid, grh->dgid.raw, sizeof(grh->dgid.raw)); in get_dip_ctx_idx()
4971 const struct ib_global_route *grh = rdma_ah_read_grh(&attr->ah_attr); in fill_cong_field() local
4980 grh->sgid_attr->gid_type == IB_GID_TYPE_ROCE) in fill_cong_field()
5050 const struct ib_global_route *grh = rdma_ah_read_grh(&attr->ah_attr); in hns_roce_set_sl() local
5056 ret = hns_roce_hw_v2_get_dscp(hr_dev, get_tclass(&attr->ah_attr.grh), in hns_roce_set_sl()
5059 grh->sgid_attr->gid_type == IB_GID_TYPE_ROCE_UDP_ENCAP) { in hns_roce_set_sl()
5066 grh->sgid_attr->gid_type == IB_GID_TYPE_ROCE_UDP_ENCAP) in hns_roce_set_sl()
5086 const struct ib_global_route *grh = rdma_ah_read_grh(&attr->ah_attr); in hns_roce_v2_set_path() local
[all …]
H A Dhns_roce_device.h1167 static inline u8 get_tclass(const struct ib_global_route *grh) in get_tclass() argument
1169 return grh->sgid_attr->gid_type == IB_GID_TYPE_ROCE_UDP_ENCAP ? in get_tclass()
1170 grh->traffic_class >> DSCP_SHIFT : grh->traffic_class; in get_tclass()
/linux/drivers/infiniband/hw/mthca/
H A Dmthca_av.c208 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 …]
H A Dmthca_qp.c531 const struct ib_global_route *grh = rdma_ah_read_grh(ah); in mthca_path_set() local
533 if (grh->sgid_index >= dev->limits.gid_table_len) { in mthca_path_set()
535 grh->sgid_index, in mthca_path_set()
541 path->mgid_index = grh->sgid_index; in mthca_path_set()
542 path->hop_limit = grh->hop_limit; in mthca_path_set()
545 (grh->traffic_class << 20) | in mthca_path_set()
546 (grh->flow_label)); in mthca_path_set()
547 memcpy(path->rgid, grh->dgid.raw, 16); in mthca_path_set()
/linux/drivers/infiniband/hw/qedr/
H A Dqedr_roce_cm.c387 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in qedr_gsi_build_header() local
388 const struct ib_gid_attr *sgid_attr = grh->sgid_attr; in qedr_gsi_build_header()
458 udh->grh.traffic_class = grh->traffic_class; in qedr_gsi_build_header()
459 udh->grh.flow_label = grh->flow_label; in qedr_gsi_build_header()
460 udh->grh.hop_limit = grh->hop_limit; in qedr_gsi_build_header()
461 udh->grh.destination_gid = grh->dgid; in qedr_gsi_build_header()
462 memcpy(&udh->grh.source_gid.raw, sgid_attr->gid.raw, in qedr_gsi_build_header()
463 sizeof(udh->grh.source_gid.raw)); in qedr_gsi_build_header()
469 udh->ip4.tos = htonl(grh->flow_label); in qedr_gsi_build_header()
471 udh->ip4.ttl = grh->hop_limit; in qedr_gsi_build_header()
[all …]
H A Dqedr.h535 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr); in qedr_get_dmac() local
538 if (!memcmp(&grh->dgid, &zero_sgid, sizeof(union ib_gid))) { in qedr_get_dmac()
544 memcpy(&in6, grh->dgid.raw, sizeof(in6)); in qedr_get_dmac()
/linux/include/rdma/
H A Dib_verbs.h960 struct ib_global_route grh; member
3703 const struct ib_wc *wc, const struct ib_grh *grh,
3719 const struct ib_grh *grh, u32 port_num);
4703 return &attr->grh; in rdma_ah_read_grh()
4710 return &attr->grh; in rdma_ah_retrieve_grh()
4715 struct ib_global_route *grh = rdma_ah_retrieve_grh(attr); in rdma_ah_set_dgid_raw() local
4717 memcpy(grh->dgid.raw, dgid, sizeof(grh->dgid)); in rdma_ah_set_dgid_raw()
4723 struct ib_global_route *grh = rdma_ah_retrieve_grh(attr); in rdma_ah_set_subnet_prefix() local
4725 grh->dgid.global.subnet_prefix = prefix; in rdma_ah_set_subnet_prefix()
4731 struct ib_global_route *grh = rdma_ah_retrieve_grh(attr); in rdma_ah_set_interface_id() local
[all …]
/linux/drivers/infiniband/hw/vmw_pvrdma/
H A Dpvrdma_misc.c278 pvrdma_global_route_to_ib(rdma_ah_retrieve_grh(dst), &src->grh); in pvrdma_ah_attr_to_rdma()
291 ib_global_route_to_pvrdma(&dst->grh, rdma_ah_read_grh(src)); in rdma_ah_attr_to_pvrdma()
/linux/include/uapi/rdma/
H A Drdma_user_rxe.h68 struct rxe_global_route grh; member

12