STRUCT SRPT_PORT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay bestie, welcome to struct srpt_port(9) from the Kernel API Manual β€” it's literally the SRPT RDMA port information struct, and it's kind of the main character here. ✨

πŸŽ€ SYNOPSIS πŸŽ€

struct srpt_port {
    struct srpt_device      *sdev;
    struct ib_mad_agent     *mad_agent;
    bool enabled;
    u8 port;
    u32 sm_lid;
    u32 lid;
    union ib_gid            gid;
    struct work_struct      work;
    char guid_name[64];
    struct srpt_port_id     *guid_id;
    char gid_name[64];
    struct srpt_port_id     *gid_id;
    struct srpt_port_attrib port_attrib;
    atomic_t refcount;
    struct completion       *freed_channels;
    struct mutex            mutex;
    struct list_head        nexus_list;
 };

🌸 Members 🌸

  • sdev β€” backpointer to the HCA information. iconic little link back home πŸ’…
  • mad_agent β€” per-port management datagram processing information.
  • enabled β€” whether or not this target port is enabled. vibe check: on or off? βœ…
  • port β€” one-based port number.
  • sm_lid β€” cached value of the port's sm_lid.
  • lid β€” cached value of the port's lid.
  • gid β€” cached value of the port's gid.
  • work β€” work structure for refreshing the aforementioned cached values. bestie is doing refresh duty πŸ”
  • guid_name β€” port name in GUID format.
  • guid_id β€” LIO target port information for the port name in GUID format.
  • gid_name β€” port name in GID format.
  • gid_id β€” LIO target port information for the port name in GID format.
  • port_attrib β€” port attributes that can be accessed through configfs.
  • refcount β€” number of objects associated with this port.
  • freed_channels β€” completion that will be signaled once refcount becomes 0.
  • mutex β€” protects nexus_list. no fighting in the group chat πŸ”’
  • nexus_list β€” nexus list. see also srpt_nexus.entry.

πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file: ./drivers/infiniband/ulp/srpt/ib_srpt.h

Also go peek at the whole friend group: enum srpt_command_state(9), struct srpt_ioctx(9), struct srpt_recv_ioctx(9), struct srpt_send_ioctx(9), enum rdma_ch_state(9), struct srpt_rdma_ch(9), struct srpt_nexus(9), struct srpt_port_attrib(9), struct srpt_tpg(9), struct srpt_port_id(9), struct srpt_device(9) 🫢


xoxo, your kernel bestie πŸ’– β€” source/version: ./drivers/infiniband/ulp/srpt, date: October 2026, page: struct srpt_port(9) 🌈

πŸ“¦ where this page comes from