STRUCT ISER_RX_DESC(9)
π struct iser_rx_desc(9) β the iSER RX descriptor, explained π
okay bestie, welcome to the <pink>kernel api manual</pink> β¨ this one is literally the page for struct iser_rx_desc, which is the iSER RX descriptor π yes that's the NAME section, we're doing this properly.
β¨ SYNOPSIS β¨
here's the whole vibe, copy-pasted straight from the source because we do not paraphrase code in this house π
struct iser_rx_desc {
struct iser_ctrl iser_header;
struct iscsi_hdr iscsi_header;
char data[ISER_RECV_DATA_SEG_LEN];
u64 dma_addr;
struct ib_sge rx_sg;
struct ib_cqe cqe;
char pad[ISER_RX_PAD_SIZE];
};
that's it. that's the struct. no cap, it's giving receive buffer main character energy π¦
π«Ά Members π«Ά
like a group chat, every member pulls their weight:
iser_headerβ theiserheader πΈ literally just the iser header, doing iser header things.iscsi_headerβ theiscsiheader π same deal, but iscsi flavored.dataβ the received data segment π this is where the actual payload lands, bestie. the good stuff.dma_addrβ the receive buffer dma address β¨ the address of the receive buffer, dma-style. iykyk.rx_sgβib_sgeof receive buffer π the scatter/gather entry for the receive buffer.cqeβ the completion handler π« it handles completions. iconic behavior honestly.padβ for sense data. and here's the note, straight up, no editing: TODO: Modify to maximum sense length supported π yeah, it's a TODO. we love a work-in-progress king π it's padding for sense data, and the TODO says to modify it to the maximum sense length supported.
ngl, that pad field is lowkey the most relatable member β just vibing there, waiting for someone to come fix it π
π SEE ALSO π
go read these next, they're the friend group π§ and yes, the source file is right there too:
- Kernel file
./drivers/infiniband/ulp/iser/iscsi_iser.h struct iser_data_buf(9)struct iser_mem_reg(9)struct iser_tx_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)
okay that's the whole page, you ate it fr fr π
this masterpiece lives over in ./drivers/infiniband/ulp/iser, and it's stamped October 2026 β so yeah, see you in the future bestie, stay slay, drink water, read your kernel headers π«Άβ¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms