STRUCT SRP_RPORT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct srp_rport(9)

okay bestie, welcome to the glow-up of struct srp_rport β€” the SRP initiator or target port, straight out of the Kernel API Manual. she's a struct, she's iconic, and she's got a lot of fields, so grab a snack πŸ“


✨ NAME ✨

struct srp_rport β€” SRP initiator or target port 🫢


🌸 SYNOPSIS 🌸

struct srp_rport {
    struct device dev;
    u8 port_id[16];
    u8 roles;
    void *lld_data;
    struct mutex            mutex;
    enum srp_rport_state    state;
    int reconnect_delay;
    int failed_reconnects;
    struct delayed_work     reconnect_work;
    int fast_io_fail_tmo;
    int dev_loss_tmo;
    struct delayed_work     fast_io_fail_work;
    struct delayed_work     dev_loss_work;
 };

no cap, that's the whole thing. now let's meet the members one by one πŸ’–


πŸ‘‘ Members πŸ‘‘

  • dev β€” the device that this rport is associated with. her home base 🏠
  • port_id β€” a 16-byte port identifier. yes, sixteen. she's got range πŸ’…
  • roles β€” what role this port is playing: initiator or target. main character energy either way πŸ‘‘
  • lld_data β€” LLD private data. lowkey none of our business πŸ™ˆ
  • mutex β€” protects against concurrent rport reconnect / fast_io_fail / dev_loss_tmo activity. she's the group chat mod keeping everyone from talking over each other πŸ”’
  • state β€” the rport state.
  • reconnect_delay β€” reconnect delay, in seconds ⏳
  • failed_reconnects β€” how many reconnect attempts have flopped. it's giving character development 😭
  • reconnect_work β€” work structure used for scheduling reconnect attempts πŸ› οΈ
  • fast_io_fail_tmo β€” fast I/O fail timeout, in seconds ⚑
  • dev_loss_tmo β€” device loss timeout, in seconds πŸ’€
  • fast_io_fail_work β€” work structure used for scheduling fast I/O fail work πŸ› οΈ
  • dev_loss_work β€” work structure used for scheduling device loss work πŸ› οΈ

πŸ¦‹ Description πŸ¦‹

so here's the rundown of who cares about what, bestie:

Fields that are relevant for SRP initiator and SRP target drivers:

Fields that are only relevant for SRP initiator drivers:

fr fr, that's literally what the page says β€” two lists, both living their truth 🌈

πŸ”₯ SEE ALSO πŸ”₯

  • Kernel file ./include/scsi/scsi_transport_srp.h
  • enum srp_rport_state(9)
  • struct srp_function_template(9)
  • srp_chkready(9)

go read those next, iykyk πŸ’œ


and that's the whole vibe check, bestie ✨ this page lives in <pink>./include/scsi</pink> and she was stamped <purple>October 2026</purple> β€” until next time, stay hydrated and don't forget to lock your mutex πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from