Lines Matching defs:ah
1147 static int mlx4_resolve_grh_to_l2(struct ibv_pd *pd, struct mlx4_ah *ah,
1155 memcpy(ah->mac, &attr->grh.dgid.raw[8], 3);
1156 memcpy(ah->mac + 3, &attr->grh.dgid.raw[13], 3);
1157 ah->mac[0] ^= 2;
1161 ah->mac[0] = 0x33;
1162 ah->mac[1] = 0x33;
1164 ah->mac[i] = attr->grh.dgid.raw[i + 10];
1171 ah->av.dlid = htobe16(0xc000);
1172 ah->av.port_pd |= htobe32(1 << 31);
1179 ah->av.port_pd |= htobe32(1 << 29);
1180 ah->vlan = vid | ((attr->sl & 7) << 13);
1188 struct mlx4_ah *ah;
1194 ah = malloc(sizeof *ah);
1195 if (!ah)
1198 memset(&ah->av, 0, sizeof ah->av);
1200 ah->av.port_pd = htobe32(to_mpd(pd)->pdn | (attr->port_num << 24));
1203 ah->av.g_slid = attr->src_path_bits;
1204 ah->av.dlid = htobe16(attr->dlid);
1205 ah->av.sl_tclass_flowlabel = htobe32(attr->sl << 28);
1207 ah->av.sl_tclass_flowlabel = htobe32(attr->sl << 29);
1210 ah->av.stat_rate = attr->static_rate + MLX4_STAT_RATE_OFFSET;
1214 ah->av.g_slid |= 0x80;
1215 ah->av.gid_index = attr->grh.sgid_index;
1216 ah->av.hop_limit = attr->grh.hop_limit;
1217 ah->av.sl_tclass_flowlabel |=
1220 memcpy(ah->av.dgid, attr->grh.dgid.raw, 16);
1228 ah->mac, &vid)) {
1229 free(ah);
1234 ah->av.port_pd |= htobe32(1 << 29);
1235 ah->vlan = vid |
1240 if (mlx4_resolve_grh_to_l2(pd, ah, attr)) {
1241 free(ah);
1247 return &ah->ibv_ah;
1250 int mlx4_destroy_ah(struct ibv_ah *ah)
1252 free(to_mah(ah));