STRUCT IB_USER_MAD_HDR_OLD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ib_user_mad_hdr_old(9)

okay so bestie, welcome to the Kernel API Manual πŸŽ€ β€” yes we're in kernel land today, and yes it's iconic. This page is about struct ib_user_mad_hdr_old, which is literally just the old version of the MAD packet header, except it's missing pkey_index. that's the whole vibe. she's the prequel. the OG. the "before the glow-up" header πŸ¦‹


✨ NAME ✨

struct ib_user_mad_hdr_old β€” the old version of the MAD packet header, aka the one without pkey_index πŸ’…


🌸 SYNOPSIS 🌸

struct ib_user_mad_hdr_old {
    __u32 id;
    __u32 status;
    __u32 timeout_ms;
    __u32 retries;
    __u32 length;
    __be32 qpn;
    __be32 qkey;
    __be16 lid;
    __u8 sl;
    __u8 path_bits;
    __u8 grh_present;
    __u8 gid_index;
    __u8 hop_limit;
    __u8 traffic_class;
    __u8 gid[16];
    __be32 flow_label;
};

like, look at her. so many little fields. so much main character energy πŸ‘‘


🌈 Members 🌈

here's the full rundown, no cap, every single one:

  • id β€” the ID of the agent MAD was received with / is gonna be sent with πŸ”₯
  • status β€” 0 on a successful receive, or ETIMEDOUT if no response came back (in that case the transaction ID in data[] gets set to the TID of the original request) πŸ’€ β€” and heads up, this one's ignored on send
  • timeout_ms β€” how many milliseconds to wait for a response. it's unset on receive
  • retries β€” number of automatic retries to attempt πŸŒ€
  • qpn β€” the remote QP number, received from / to be sent to
  • qkey β€” remote Q_Key to be sent with. unset on receive
  • lid β€” remote lid, received from / to be sent to
  • sl β€” service level, received with / to be sent with
  • path_bits β€” local path bits, received with / to be sent with
  • grh_present β€” if set, the GRH was received / should be sent ✨
  • gid_index β€” local GID index to send with. unset on receive
  • hop_limit β€” hop limit in the GRH
  • traffic_class β€” traffic class in the GRH 🚦
  • gid β€” remote GID in the GRH
  • flow_label β€” flow label in the GRH 🌊
ngl, length is sitting right there in the struct but the page doesn't give her a description. she's mysterious. we respect that 🫢

πŸ‘€ SEE ALSO πŸ‘€

  • Kernel file ./include/uapi/rdma/ib_user_mad.h
  • struct ib_user_mad_hdr(9)
  • struct ib_user_mad(9)
  • struct ib_user_mad_reg_req(9)
  • struct ib_user_mad_reg_req2(9)

and that's the whole page, bestie πŸ’– she lives at ./include/uapi/rdma, dated October 2026, and she's filed under struct ib_user_mad_hdr_old(9) β€” go read the newer ones, they ate πŸ“βœ¨

πŸ“¦ where this page comes from