Lines Matching refs:mad
70 #define MAD_TID(mad) (*((uint64_t *)((char *)(mad) + 8))) argument
200 static int redirect_port(ib_portid_t * port, uint8_t * mad) in redirect_port() argument
202 port->lid = mad_get_field(mad, 64, IB_CPI_REDIRECT_LID_F); in redirect_port()
208 port->qp = mad_get_field(mad, 64, IB_CPI_REDIRECT_QP_F); in redirect_port()
209 port->qkey = mad_get_field(mad, 64, IB_CPI_REDIRECT_QKEY_F); in redirect_port()
210 port->sl = (uint8_t) mad_get_field(mad, 64, IB_CPI_REDIRECT_SL_F); in redirect_port()
225 uint8_t sndbuf[1024], rcvbuf[1024], *mad; in mad_rpc() local
250 mad = umad_get_mad(rcvbuf); in mad_rpc()
251 status = mad_get_field(mad, 0, IB_DRSMP_STATUS_F); in mad_rpc()
258 if (redirect_port(dport, mad)) in mad_rpc()
277 xdump(stderr, "mad data\n", mad + rpc->dataoffs, rpc->datasz); in mad_rpc()
281 memcpy(rcvdata, mad + rpc->dataoffs, rpc->datasz); in mad_rpc()
290 uint8_t sndbuf[1024], rcvbuf[1024], *mad; in mad_rpc_rmpp() local
316 mad = umad_get_mad(rcvbuf); in mad_rpc_rmpp()
318 if ((status = mad_get_field(mad, 0, IB_MAD_STATUS_F)) != 0) { in mad_rpc_rmpp()
327 xdump(stderr, "rmpp mad data\n", mad + rpc->dataoffs, in mad_rpc_rmpp()
332 rmpp->flags = mad_get_field(mad, 0, IB_SA_RMPP_FLAGS_F); in mad_rpc_rmpp()
334 mad_get_field(mad, 0, IB_SA_RMPP_VERS_F) != 1) { in mad_rpc_rmpp()
338 rmpp->type = mad_get_field(mad, 0, IB_SA_RMPP_TYPE_F); in mad_rpc_rmpp()
339 rmpp->status = mad_get_field(mad, 0, IB_SA_RMPP_STATUS_F); in mad_rpc_rmpp()
341 rmpp->d1.u = mad_get_field(mad, 0, IB_SA_RMPP_D1_F); in mad_rpc_rmpp()
342 rmpp->d2.u = mad_get_field(mad, 0, IB_SA_RMPP_D2_F); in mad_rpc_rmpp()
346 memcpy(data, mad + rpc->dataoffs, rpc->datasz); in mad_rpc_rmpp()
348 rpc->recsz = mad_get_field(mad, 0, IB_SA_ATTROFFS_F); in mad_rpc_rmpp()