iscsi_iser_ep_connect(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… iscsi_iser_ep_connect(9) β€” like, the Kernel API Manual page, bestie ✨

Okay so this is a page from the Kernel API Manual and it's all about iscsi_iser_ep_connect β€” the function that kicks off an iSER connection. Yes, that one. Sit down, grab a πŸ“, we're getting into it.


🌸 NAME 🌸

iscsi_iser_ep_connect β€” Initiate iSER connection establishment πŸ’–

Like, it starts the whole "hey bestie, let's connect" arc. Main character energy fr.


✨ SYNOPSIS ✨

struct iscsi_endpoint * iscsi_iser_ep_connect (struct Scsi_Host *shost ,
struct sockaddr *dst_addr , int non_blocking );

That's the whole vibe. It hands you back a struct iscsi_endpoint *, and it takes three things. Let's meet them 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • shost β€” the scsi_host. Yep. That's the one. πŸ‘‘
  • dst_addr β€” the destination address, i.e. where you're tryna go πŸ“
  • non_blocking β€” tells the routine whether it's allowed to block. Like, can it just sit there and wait, or does it need to keep it moving? ⏳

πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the tea, and it's honestly iconic:

It allocates an iscsi_endpoint, allocates an iser_conn structure, and binds them together. Cute. Obsessed. πŸ’…

After that, it starts up RDMA connection establishment via rdma_cm. Slay.

Now, the way it's not doing things matters too β€” and no cap, this is the important bit: we don't allocate iser_conn embedded in iscsi_endpoint, because during teardown the endpoint gets destroyed at ep_disconnect while iser_conn cleans up its resources asynchronuously. 😭 Two different lifecycles, two different timelines β€” they're not bundled together, periodt.

Lowkey that's the whole design decision this function is built around. Don't come for the separation, it's on purpose.

πŸ”₯ RETURN πŸ”₯

It returns the iscsi_endpoint created by the iscsi layer 🫢 β€” or ERR_PTR(error) if it fails. So, y'know, vibe check your return value. 😭


🌈 SEE ALSO 🌈

First up, the source file β€” it's literally right here in the kernel tree:

  • ./drivers/infiniband/ulp/iser/iscsi_iser.c

And the whole friend group πŸŽ€:


πŸ’œ okay that's the whole page, you ate that πŸ’œ

Sign-off time, bestie 🧚: this one lives in ./drivers/infiniband/ulp/iser, it's dated October 2026, and it's page iscsi_iser_ep_connect(9) of the Kernel API Manual. Go forth and connect responsibly β­πŸ‘‘

πŸ“¦ where this page comes from