Lines Matching refs:mad
126 struct ib_user_mad mad; member
171 for (packet->mad.hdr.id = 0; in queue_packet()
172 packet->mad.hdr.id < IB_UMAD_MAX_AGENTS; in queue_packet()
173 packet->mad.hdr.id++) in queue_packet()
174 if (agent == __get_agent(file, packet->mad.hdr.id)) { in queue_packet()
206 packet->mad.hdr.status = ETIMEDOUT; in send_handler()
229 packet->mad.hdr.status = 0; in recv_handler()
230 packet->mad.hdr.length = hdr_size(file) + mad_recv_wc->mad_len; in recv_handler()
231 packet->mad.hdr.qpn = cpu_to_be32(mad_recv_wc->wc->src_qp); in recv_handler()
232 packet->mad.hdr.lid = cpu_to_be16(mad_recv_wc->wc->slid); in recv_handler()
233 packet->mad.hdr.sl = mad_recv_wc->wc->sl; in recv_handler()
234 packet->mad.hdr.path_bits = mad_recv_wc->wc->dlid_path_bits; in recv_handler()
235 packet->mad.hdr.pkey_index = mad_recv_wc->wc->pkey_index; in recv_handler()
236 packet->mad.hdr.grh_present = !!(mad_recv_wc->wc->wc_flags & IB_WC_GRH); in recv_handler()
237 if (packet->mad.hdr.grh_present) { in recv_handler()
244 packet->mad.hdr.gid_index = ah_attr.grh.sgid_index; in recv_handler()
245 packet->mad.hdr.hop_limit = ah_attr.grh.hop_limit; in recv_handler()
246 packet->mad.hdr.traffic_class = ah_attr.grh.traffic_class; in recv_handler()
247 memcpy(packet->mad.hdr.gid, &ah_attr.grh.dgid, 16); in recv_handler()
248 packet->mad.hdr.flow_label = cpu_to_be32(ah_attr.grh.flow_label); in recv_handler()
269 if ((packet->length <= sizeof (*recv_buf->mad) && in copy_recv_mad()
271 (packet->length > sizeof (*recv_buf->mad) && in copy_recv_mad()
272 count < hdr_size(file) + sizeof (*recv_buf->mad))) in copy_recv_mad()
275 if (copy_to_user(buf, &packet->mad, hdr_size(file))) in copy_recv_mad()
279 seg_payload = min_t(int, packet->length, sizeof (*recv_buf->mad)); in copy_recv_mad()
280 if (copy_to_user(buf, recv_buf->mad, seg_payload)) in copy_recv_mad()
295 offset = ib_get_mad_data_offset(recv_buf->mad->mad_hdr.mgmt_class); in copy_recv_mad()
303 if (copy_to_user(buf, ((void *) recv_buf->mad) + offset, in copy_recv_mad()
319 if (copy_to_user(buf, &packet->mad, hdr_size(file))) in copy_send_mad()
324 if (copy_to_user(buf, packet->mad.data, packet->length)) in copy_send_mad()
384 copy_from_user(msg->mad + IB_MGMT_RMPP_HDR, buf + IB_MGMT_RMPP_HDR, in copy_rmpp_mad()
416 hdr = (struct ib_mad_hdr *) packet->mad.data; in is_duplicate()
418 sent_hdr = (struct ib_mad_hdr *) sent_packet->mad.data; in is_duplicate()
436 if (same_destination(&packet->mad.hdr, &sent_packet->mad.hdr)) in is_duplicate()
462 if (copy_from_user(&packet->mad, buf, hdr_size(file))) { in ib_umad_write()
467 if (packet->mad.hdr.id >= IB_UMAD_MAX_AGENTS) { in ib_umad_write()
474 if (copy_from_user(packet->mad.data, buf, IB_MGMT_RMPP_HDR)) { in ib_umad_write()
481 agent = __get_agent(file, packet->mad.hdr.id); in ib_umad_write()
488 ah_attr.dlid = be16_to_cpu(packet->mad.hdr.lid); in ib_umad_write()
489 ah_attr.sl = packet->mad.hdr.sl; in ib_umad_write()
490 ah_attr.src_path_bits = packet->mad.hdr.path_bits; in ib_umad_write()
492 if (packet->mad.hdr.grh_present) { in ib_umad_write()
494 memcpy(ah_attr.grh.dgid.raw, packet->mad.hdr.gid, 16); in ib_umad_write()
495 ah_attr.grh.sgid_index = packet->mad.hdr.gid_index; in ib_umad_write()
496 ah_attr.grh.flow_label = be32_to_cpu(packet->mad.hdr.flow_label); in ib_umad_write()
497 ah_attr.grh.hop_limit = packet->mad.hdr.hop_limit; in ib_umad_write()
498 ah_attr.grh.traffic_class = packet->mad.hdr.traffic_class; in ib_umad_write()
507 rmpp_mad = (struct ib_rmpp_mad *) packet->mad.data; in ib_umad_write()
522 be32_to_cpu(packet->mad.hdr.qpn), in ib_umad_write()
523 packet->mad.hdr.pkey_index, rmpp_active, in ib_umad_write()
531 packet->msg->timeout_ms = packet->mad.hdr.timeout_ms; in ib_umad_write()
532 packet->msg->retries = packet->mad.hdr.retries; in ib_umad_write()
536 memcpy(packet->msg->mad, packet->mad.data, IB_MGMT_MAD_HDR); in ib_umad_write()
539 if (copy_from_user(packet->msg->mad + copy_offset, in ib_umad_write()
556 if (!ib_response_mad(packet->msg->mad)) { in ib_umad_write()
557 tid = &((struct ib_mad_hdr *) packet->msg->mad)->tid; in ib_umad_write()