STRUCT ISER_TX_DESC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct iser_tx_desc(9)

okay bestie, welcome to the Kernel API Manual, and today's main character is struct iser_tx_desc β€” the iSER TX descriptor πŸ¦‹ (yes, that's the NAME section, and yes, it's giving "small struct, huge responsibilities").


✨ SYNOPSIS ✨

here's the whole glow-up, every field exactly as written, no cap:

struct iser_tx_desc {
    struct iser_ctrl             iser_header;
    struct iscsi_hdr             iscsi_header;
    enum iser_desc_type        type;
    u64 dma_addr;
    struct ib_sge                tx_sg[2];
    int num_sge;
    struct ib_cqe                cqe;
    bool mapped;
    struct ib_reg_wr             reg_wr;
    struct ib_send_wr            send_wr;
    struct ib_send_wr            inv_wr;
};

πŸŽ€ Members πŸŽ€

like, let's go field by field, bestie, because every single one of these is doing something:

  • iser_header β€” the iser header πŸ’–
  • iscsi_header β€” the iscsi header 🫢
  • type β€” command/control/dataout
  • dma_addr β€” the header buffer's dma_address πŸ“
  • tx_sg β€” the scatter-gather situation: sg[0] points to the iser/iscsi headers, and sg[1] optionally points to either of: immediate data, unsolicited data-out, or control 🌈
  • num_sge β€” how many sges are actually used on this TX task πŸ”’
  • cqe β€” the completion handler ⭐
  • mapped β€” is the task header mapped? (yes/no vibe check) πŸ™ˆ
  • reg_wr β€” registration WR
  • send_wr β€” send WR
  • inv_wr β€” invalidate WR

like, reg WR, send WR, inv WR β€” three whole work requests just vibing in one struct. iconic. πŸ‘‘


πŸ¦‹ SEE ALSO πŸ¦‹

the whole friend group, iykyk β€” first up, the kernel file itself: ./drivers/infiniband/ulp/iser/iscsi_iser.h, then all these besties:

  • struct iser_data_buf(9)
  • struct iser_mem_reg(9)
  • struct iser_rx_desc(9)
  • struct iser_login_desc(9)
  • struct iser_device(9)
  • struct iser_reg_resources(9)
  • struct iser_fr_desc(9)
  • struct iser_fr_pool(9)
  • struct ib_conn(9)
  • struct iser_conn(9)
  • struct iscsi_iser_task(9)
  • struct iser_global(9)

go read them fr fr, they all ate πŸ’…βœ¨


ngl this page is short but she eats every time. no warnings, no deprecated nonsense, just a clean little descriptor struct doing her thing πŸ’œ

and that's the whole page, bestie πŸ“ β€” brought to you by the source in ./drivers/infiniband/ulp/iser, dated October 2026, and the man page for struct iser_tx_desc(9) is officially wrapped. periodt πŸ§šβ€β™€οΈπŸ’–

πŸ“¦ where this page comes from