Lines Matching refs:ah_attr
36 const struct rdma_ah_attr *ah_attr)
38 enum ib_gid_type gid_type = ah_attr->grh.sgid_attr->gid_type;
42 (rdma_ah_get_ah_flags(ah_attr) & IB_AH_GRH) &&
43 (ah_attr->grh.flow_label & IB_GRH_FLOWLABEL_MASK))
45 rdma_flow_label_to_udp_sport(ah_attr->grh.flow_label));
48 ah_attr->grh.sgid_attr);
56 struct rdma_ah_attr *ah_attr = init_attr->ah_attr;
59 if (rdma_ah_get_ah_flags(ah_attr) & IB_AH_GRH) {
60 const struct ib_global_route *grh = rdma_ah_read_grh(ah_attr);
70 ah->av.stat_rate_sl = (rdma_ah_get_static_rate(ah_attr) << 4);
72 if (ah_attr->type == RDMA_AH_ATTR_TYPE_ROCE) {
77 gid_type = ah_attr->grh.sgid_attr->gid_type;
79 memcpy(ah->av.rmac, ah_attr->roce.dmac,
80 sizeof(ah_attr->roce.dmac));
81 ah->av.udp_sport = mlx5_ah_get_udp_sport(dev, ah_attr);
82 ah->av.stat_rate_sl |= (rdma_ah_get_sl(ah_attr) & 0x7) << 1;
87 ah->av.rlid = cpu_to_be16(rdma_ah_get_dlid(ah_attr));
88 ah->av.fl_mlid = rdma_ah_get_path_bits(ah_attr) & 0x7f;
89 ah->av.stat_rate_sl |= (rdma_ah_get_sl(ah_attr) & 0xf);
97 struct rdma_ah_attr *ah_attr = init_attr->ah_attr;
100 enum rdma_ah_attr_type ah_type = ah_attr->type;
103 !(rdma_ah_get_ah_flags(ah_attr) & IB_AH_GRH))
117 memcpy(resp.dmac, ah_attr->roce.dmac, ETH_ALEN);
127 int mlx5_ib_query_ah(struct ib_ah *ibah, struct rdma_ah_attr *ah_attr)
132 memset(ah_attr, 0, sizeof(*ah_attr));
133 ah_attr->type = ibah->type;
137 rdma_ah_set_grh(ah_attr, NULL,
142 rdma_ah_set_dgid_raw(ah_attr, ah->av.rgid);
144 rdma_ah_set_dlid(ah_attr, be16_to_cpu(ah->av.rlid));
145 rdma_ah_set_static_rate(ah_attr, ah->av.stat_rate_sl >> 4);
146 rdma_ah_set_sl(ah_attr, ah->av.stat_rate_sl & 0xf);