ib_user_mad
data_len = min(uiop->uio_resid, sizeof (struct ib_user_mad));
struct ib_user_mad *user_mad; /* incoming uMAD hdr */
user_mad = (struct ib_user_mad *)umad_ctx->send_umad;
offsetof(struct ib_user_mad, data) + hdr_len;
(unsigned char *) user_mad + (sizeof (struct ib_user_mad) +
len - sizeof (struct ib_user_mad) - mad_offset;