/freebsd/sys/dev/mlx4/mlx4_ib/ |
H A D | mlx4_ib_ah.c | 45 static int create_ib_ah(struct ib_ah *ib_ah, struct ib_ah_attr *ah_attr) in create_ib_ah() argument 51 ah->av.ib.port_pd = cpu_to_be32(to_mpd(pd)->pdn | (ah_attr->port_num << 24)); in create_ib_ah() 52 ah->av.ib.g_slid = ah_attr->src_path_bits; in create_ib_ah() 53 ah->av.ib.sl_tclass_flowlabel = cpu_to_be32(ah_attr->sl << 28); in create_ib_ah() 54 if (ah_attr->ah_flags & IB_AH_GRH) { in create_ib_ah() 56 ah->av.ib.gid_index = ah_attr->grh.sgid_index; in create_ib_ah() 57 ah->av.ib.hop_limit = ah_attr->grh.hop_limit; in create_ib_ah() 59 cpu_to_be32((ah_attr->grh.traffic_class << 20) | in create_ib_ah() 60 ah_attr->grh.flow_label); in create_ib_ah() 61 memcpy(ah->av.ib.dgid, ah_attr->grh.dgid.raw, 16); in create_ib_ah() [all …]
|
H A D | mlx4_ib_mad.c | 190 struct ib_ah_attr ah_attr; in update_sm_ah() local 196 memset(&ah_attr, 0, sizeof ah_attr); in update_sm_ah() 197 ah_attr.dlid = lid; in update_sm_ah() 198 ah_attr.sl = sl; in update_sm_ah() 199 ah_attr.port_num = port_num; in update_sm_ah() 202 &ah_attr, 0); in update_sm_ah() 1435 struct ib_ah_attr *ah_attr) in fill_in_real_sgid_index() argument 1438 ah_attr->grh.sgid_index = slave; in fill_in_real_sgid_index() 1440 ah_attr->grh.sgid_index += get_slave_base_gid_ix(dev, slave, port); in fill_in_real_sgid_index() 1450 struct ib_ah_attr ah_attr; in mlx4_ib_multiplex_mad() local [all …]
|
H A D | mlx4_ib_mcg.c | 212 struct ib_ah_attr ah_attr; in send_mad_to_wire() local 221 mlx4_ib_query_ah(dev->sm_ah[ctx->port - 1], &ah_attr); in send_mad_to_wire() 225 &ah_attr, NULL, 0xffff, mad); in send_mad_to_wire() 234 struct ib_ah_attr ah_attr; in send_mad_to_slave() local 240 ib_query_ah(dev->sm_ah[ctx->port - 1], &ah_attr); in send_mad_to_slave() 247 wc.slid = ah_attr.dlid; /* opensm lid */ in send_mad_to_slave()
|
/freebsd/sys/dev/mlx5/mlx5_ib/ |
H A D | mlx5_ib_ah.c | 33 struct ib_ah_attr *ah_attr, in create_ib_ah() argument 36 if (ah_attr->ah_flags & IB_AH_GRH) { in create_ib_ah() 37 memcpy(ah->av.rgid, &ah_attr->grh.dgid, 16); in create_ib_ah() 38 ah->av.grh_gid_fl = cpu_to_be32(ah_attr->grh.flow_label | in create_ib_ah() 40 ah_attr->grh.sgid_index << 20); in create_ib_ah() 41 ah->av.hop_limit = ah_attr->grh.hop_limit; in create_ib_ah() 42 ah->av.tclass = ah_attr->grh.traffic_class; in create_ib_ah() 45 ah->av.stat_rate_sl = (ah_attr->static_rate << 4); in create_ib_ah() 48 memcpy(ah->av.rmac, ah_attr->dmac, sizeof(ah_attr->dmac)); in create_ib_ah() 51 ah_attr->port_num, in create_ib_ah() [all …]
|
/freebsd/sys/dev/mthca/ |
H A D | mthca_av.c | 155 struct ib_ah_attr *ah_attr, in mthca_create_ah() argument 201 av->port_pd = cpu_to_be32(pd->pd_num | (ah_attr->port_num << 24)); in mthca_create_ah() 202 av->g_slid = ah_attr->src_path_bits; in mthca_create_ah() 203 av->dlid = cpu_to_be16(ah_attr->dlid); in mthca_create_ah() 205 mthca_get_rate(dev, ah_attr->static_rate, ah_attr->port_num); in mthca_create_ah() 206 av->sl_tclass_flowlabel = cpu_to_be32(ah_attr->sl << 28); in mthca_create_ah() 207 if (ah_attr->ah_flags & IB_AH_GRH) { in mthca_create_ah() 209 av->gid_index = (ah_attr->port_num - 1) * dev->limits.gid_table_len + in mthca_create_ah() 210 ah_attr->grh.sgid_index; in mthca_create_ah() 211 av->hop_limit = ah_attr->grh.hop_limit; in mthca_create_ah() [all …]
|
H A D | mthca_mad.c | 78 struct ib_ah_attr ah_attr; in update_sm_ah() local 84 memset(&ah_attr, 0, sizeof ah_attr); in update_sm_ah() 85 ah_attr.dlid = lid; in update_sm_ah() 86 ah_attr.sl = sl; in update_sm_ah() 87 ah_attr.port_num = port_num; in update_sm_ah() 90 &ah_attr, 0); in update_sm_ah()
|
/freebsd/contrib/ofed/libibverbs/ |
H A D | verbs.c | 799 static inline void set_ah_attr_generic_fields(struct ibv_ah_attr *ah_attr, in set_ah_attr_generic_fields() argument 807 ah_attr->grh.flow_label = flow_class & 0xFFFFF; in set_ah_attr_generic_fields() 808 ah_attr->dlid = wc->slid; in set_ah_attr_generic_fields() 809 ah_attr->sl = wc->sl; in set_ah_attr_generic_fields() 810 ah_attr->src_path_bits = wc->dlid_path_bits; in set_ah_attr_generic_fields() 811 ah_attr->port_num = port_num; in set_ah_attr_generic_fields() 815 struct ibv_ah_attr *ah_attr, in set_ah_attr_by_ipv4() argument 834 (struct in6_addr *)&ah_attr->grh.dgid); in set_ah_attr_by_ipv4() 835 ah_attr->grh.sgid_index = (uint8_t) ret; in set_ah_attr_by_ipv4() 836 ah_attr->grh.hop_limit = ip4h->ip_ttl; in set_ah_attr_by_ipv4() [all …]
|
H A D | cmd.c | 1274 memcpy(attr->ah_attr.grh.dgid.raw, resp.dest.dgid, 16); in ibv_cmd_query_qp() 1275 attr->ah_attr.grh.flow_label = resp.dest.flow_label; in ibv_cmd_query_qp() 1276 attr->ah_attr.dlid = resp.dest.dlid; in ibv_cmd_query_qp() 1277 attr->ah_attr.grh.sgid_index = resp.dest.sgid_index; in ibv_cmd_query_qp() 1278 attr->ah_attr.grh.hop_limit = resp.dest.hop_limit; in ibv_cmd_query_qp() 1279 attr->ah_attr.grh.traffic_class = resp.dest.traffic_class; in ibv_cmd_query_qp() 1280 attr->ah_attr.sl = resp.dest.sl; in ibv_cmd_query_qp() 1281 attr->ah_attr.src_path_bits = resp.dest.src_path_bits; in ibv_cmd_query_qp() 1282 attr->ah_attr.static_rate = resp.dest.static_rate; in ibv_cmd_query_qp() 1283 attr->ah_attr.is_global = resp.dest.is_global; in ibv_cmd_query_qp() [all …]
|
H A D | marshall.c | 74 ibv_copy_ah_attr_from_kern(&dst->ah_attr, &src->ah_attr); in ibv_copy_qp_attr_from_kern()
|
/freebsd/sys/ofed/drivers/infiniband/core/ |
H A D | ib_verbs.c | 356 struct ib_ah_attr *ah_attr, in _ib_create_ah() argument 378 ret = device->create_ah(ah, ah_attr, flags, udata); in _ib_create_ah() 399 struct ib_ah *ib_create_ah(struct ib_pd *pd, struct ib_ah_attr *ah_attr, in ib_create_ah() argument 404 ah = _ib_create_ah(pd, ah_attr, flags, NULL); in ib_create_ah() 425 struct ib_ah_attr *ah_attr, in ib_create_user_ah() argument 430 if (rdma_protocol_roce(pd->device, ah_attr->port_num)) { in ib_create_user_ah() 431 err = ib_resolve_eth_dmac(pd->device, ah_attr); in ib_create_user_ah() 436 return _ib_create_ah(pd, ah_attr, RDMA_CREATE_AH_SLEEPABLE, udata); in ib_create_user_ah() 574 struct ib_ah_attr *ah_attr) in ib_init_ah_from_wc() argument 585 memset(ah_attr, 0, sizeof *ah_attr); in ib_init_ah_from_wc() [all …]
|
H A D | ib_sa_query.c | 506 struct ib_ah_attr ah_attr; in update_sm_ah() local 526 memset(&ah_attr, 0, sizeof ah_attr); in update_sm_ah() 527 ah_attr.dlid = port_attr.sm_lid; in update_sm_ah() 528 ah_attr.sl = port_attr.sm_sl; in update_sm_ah() 529 ah_attr.port_num = port->port_num; in update_sm_ah() 531 ah_attr.ah_flags = IB_AH_GRH; in update_sm_ah() 532 ah_attr.grh.dgid.global.subnet_prefix = cpu_to_be64(port_attr.subnet_prefix); in update_sm_ah() 533 ah_attr.grh.dgid.global.interface_id = cpu_to_be64(IB_SA_WELL_KNOWN_GUID); in update_sm_ah() 536 new_ah->ah = ib_create_ah(port->agent->qp->pd, &ah_attr, RDMA_CREATE_AH_SLEEPABLE); in update_sm_ah() 648 struct ib_sa_path_rec *rec, struct ib_ah_attr *ah_attr) in ib_init_ah_from_path() argument [all …]
|
H A D | ib_user_mad.c | 240 struct ib_ah_attr ah_attr; in recv_handler() local 245 &ah_attr); in recv_handler() 249 packet->mad.hdr.gid_index = ah_attr.grh.sgid_index; in recv_handler() 250 packet->mad.hdr.hop_limit = ah_attr.grh.hop_limit; in recv_handler() 251 packet->mad.hdr.traffic_class = ah_attr.grh.traffic_class; in recv_handler() 252 memcpy(packet->mad.hdr.gid, &ah_attr.grh.dgid, 16); in recv_handler() 253 packet->mad.hdr.flow_label = cpu_to_be32(ah_attr.grh.flow_label); in recv_handler() 457 struct ib_ah_attr ah_attr; in ib_umad_write() local 496 memset(&ah_attr, 0, sizeof ah_attr); in ib_umad_write() 497 ah_attr.dlid = be16_to_cpu(packet->mad.hdr.lid); in ib_umad_write() [all …]
|
H A D | ib_multicast.c | 726 struct ib_ah_attr *ah_attr) in ib_init_ah_from_mcmember() argument 746 memset(ah_attr, 0, sizeof *ah_attr); in ib_init_ah_from_mcmember() 747 ah_attr->dlid = be16_to_cpu(rec->mlid); in ib_init_ah_from_mcmember() 748 ah_attr->sl = rec->sl; in ib_init_ah_from_mcmember() 749 ah_attr->port_num = port_num; in ib_init_ah_from_mcmember() 750 ah_attr->static_rate = rec->rate; in ib_init_ah_from_mcmember() 752 ah_attr->ah_flags = IB_AH_GRH; in ib_init_ah_from_mcmember() 753 ah_attr->grh.dgid = rec->mgid; in ib_init_ah_from_mcmember() 755 ah_attr->grh.sgid_index = (u8) gid_index; in ib_init_ah_from_mcmember() 756 ah_attr->grh.flow_label = be32_to_cpu(rec->flow_label); in ib_init_ah_from_mcmember() [all …]
|
H A D | ib_uverbs_marshall.c | 76 ib_copy_ah_attr_to_user(&dst->ah_attr, &src->ah_attr); in ib_copy_qp_attr_to_user()
|
/freebsd/sys/dev/bnxt/bnxt_re/ |
H A D | ib_verbs.c | 56 struct ib_ah_attr *ah_attr; in bnxt_re_resolve_dmac_task() local 61 ah_attr = dmac_work->ah_attr; in bnxt_re_resolve_dmac_task() 62 rc = ib_resolve_eth_dmac(&rdev->ibdev, ah_attr); in bnxt_re_resolve_dmac_task() 907 struct ib_ah_attr *ah_attr, in bnxt_re_get_ah_info() argument 919 rc = bnxt_re_get_cached_gid(&rdev->ibdev, 1, ah_attr->grh.sgid_index, in bnxt_re_get_ah_info() 920 gid, &gattr, &ah_attr->grh, NULL); in bnxt_re_get_ah_info() 946 static int bnxt_re_init_dmac(struct bnxt_re_dev *rdev, struct ib_ah_attr *ah_attr, in bnxt_re_init_dmac() argument 954 ah_attr->grh.dgid.raw) && in bnxt_re_init_dmac() 955 !rdma_link_local_addr((struct in6_addr *)ah_attr->grh.dgid.raw)) { in bnxt_re_init_dmac() 964 resolve_dmac_work->ah_attr = ah_attr; in bnxt_re_init_dmac() [all …]
|
/freebsd/sys/dev/qlnx/qlnxr/ |
H A D | qlnxr_def.h | 832 qlnxr_get_dmac(struct qlnxr_dev *dev, struct ib_ah_attr *ah_attr, u8 *mac_addr) in qlnxr_get_dmac() argument 835 u8 *guid = &ah_attr->grh.dgid.raw[8]; /* GID's 64 MSBs are the GUID */ in qlnxr_get_dmac() 840 if (!memcmp(&ah_attr->grh.dgid, &zero_sgid, sizeof(union ib_gid))) { in qlnxr_get_dmac() 845 memcpy(&in6, ah_attr->grh.dgid.raw, sizeof(in6)); in qlnxr_get_dmac() 856 memcpy(mac_addr, ah_attr->dmac, ETH_ALEN); in qlnxr_get_dmac()
|
H A D | qlnxr_cm.c | 463 qlnxr_get_vlan_id_gsi(struct ib_ah_attr *ah_attr, u16 *vlan_id) in qlnxr_get_vlan_id_gsi() argument 466 union ib_gid *dgid = &ah_attr->grh.dgid; in qlnxr_get_vlan_id_gsi() 488 struct ib_ah_attr *ah_attr = &get_qlnxr_ah((ud_wr(swr)->ah))->attr; in qlnxr_gsi_build_header() local 489 struct ib_global_route *grh = &ah_attr->grh; in qlnxr_gsi_build_header() 505 has_vlan = qlnxr_get_vlan_id_gsi(ah_attr, &vlan_id); in qlnxr_gsi_build_header() 523 memcpy(udh->eth.dmac_h, ah_attr->dmac, ETH_ALEN); in qlnxr_gsi_build_header()
|
/freebsd/contrib/ofed/libibverbs/examples/ |
H A D | xsrq_pingpong.c | 478 attr.ah_attr.dlid = ctx.rem_dest[index].lid; in connect_qps() 479 attr.ah_attr.sl = ctx.sl; in connect_qps() 480 attr.ah_attr.port_num = ctx.ib_port; in connect_qps() 483 set_ah_attr(&attr.ah_attr, &ctx, index); in connect_qps() 509 attr.ah_attr.dlid = ctx.rem_dest[index].lid; in connect_qps() 510 attr.ah_attr.sl = ctx.sl; in connect_qps() 511 attr.ah_attr.port_num = ctx.ib_port; in connect_qps() 514 set_ah_attr(&attr.ah_attr, &ctx, index); in connect_qps()
|
H A D | ud_pingpong.c | 83 struct ibv_ah_attr ah_attr = { in pp_connect_ctx() local 110 ah_attr.is_global = 1; in pp_connect_ctx() 111 ah_attr.grh.hop_limit = 1; in pp_connect_ctx() 112 ah_attr.grh.dgid = dest->gid; in pp_connect_ctx() 113 ah_attr.grh.sgid_index = sgid_idx; in pp_connect_ctx() 116 ctx->ah = ibv_create_ah(ctx->pd, &ah_attr); in pp_connect_ctx()
|
H A D | uc_pingpong.c | 88 .ah_attr = { in pp_connect_ctx() 98 attr.ah_attr.is_global = 1; in pp_connect_ctx() 99 attr.ah_attr.grh.hop_limit = 1; in pp_connect_ctx() 100 attr.ah_attr.grh.dgid = dest->gid; in pp_connect_ctx() 101 attr.ah_attr.grh.sgid_index = sgid_idx; in pp_connect_ctx()
|
H A D | rc_pingpong.c | 105 .ah_attr = { in pp_connect_ctx() 115 attr.ah_attr.is_global = 1; in pp_connect_ctx() 116 attr.ah_attr.grh.hop_limit = 1; in pp_connect_ctx() 117 attr.ah_attr.grh.dgid = dest->gid; in pp_connect_ctx() 118 attr.ah_attr.grh.sgid_index = sgid_idx; in pp_connect_ctx()
|
H A D | srq_pingpong.c | 97 .ah_attr = { in pp_connect_ctx() 107 attr.ah_attr.is_global = 1; in pp_connect_ctx() 108 attr.ah_attr.grh.hop_limit = 1; in pp_connect_ctx() 109 attr.ah_attr.grh.dgid = dest->gid; in pp_connect_ctx() 110 attr.ah_attr.grh.sgid_index = sgid_idx; in pp_connect_ctx()
|
/freebsd/contrib/ofed/librdmacm/examples/ |
H A D | mckey.c | 275 inet_ntop(AF_INET6, param->ah_attr.grh.dgid.raw, buf, 40); in join_handler() 277 param->ah_attr.dlid, param->ah_attr.sl); in join_handler() 281 node->ah = ibv_create_ah(node->pd, ¶m->ah_attr); in join_handler()
|
/freebsd/sys/ofed/include/rdma/ |
H A D | ib_sa.h | 428 struct ib_ah_attr *ah_attr); 436 struct ib_ah_attr *ah_attr);
|
/freebsd/sys/dev/irdma/ |
H A D | irdma_verbs.c | 860 if (attr->ah_attr.ah_flags & IB_AH_GRH) { in irdma_modify_qp_roce() 861 udp_info->ttl = attr->ah_attr.grh.hop_limit; in irdma_modify_qp_roce() 862 udp_info->flow_label = attr->ah_attr.grh.flow_label; in irdma_modify_qp_roce() 863 udp_info->tos = attr->ah_attr.grh.traffic_class; in irdma_modify_qp_roce() 895 av->attrs = attr->ah_attr; in irdma_modify_qp_roce() 896 rdma_gid2ip((struct sockaddr *)&av->dgid_addr, &attr->ah_attr.grh.dgid); in irdma_modify_qp_roce() 929 ah_attr_to_dmac(attr->ah_attr)); in irdma_modify_qp_roce() 3236 irdma_query_ah(struct ib_ah *ibah, struct ib_ah_attr *ah_attr) in irdma_query_ah() argument 3240 memset(ah_attr, 0, sizeof(*ah_attr)); in irdma_query_ah() 3242 ah_attr->ah_flags = IB_AH_GRH; in irdma_query_ah() [all …]
|