iscsi_iser_ep_connect(9)
π 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β thescsi_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 π:
iscsi_iser_pdu_alloc(9)iser_initialize_task_headers(9)iscsi_iser_task_init(9)iscsi_iser_mtask_xmit(9)iscsi_iser_task_xmit(9)iscsi_iser_cleanup_task(9)iscsi_iser_check_protection(9)iscsi_iser_conn_create(9)iscsi_iser_conn_bind(9)iscsi_iser_conn_start(9)iscsi_iser_conn_stop(9)iscsi_iser_session_destroy(9)iscsi_iser_session_create(9)iscsi_iser_conn_get_stats(9)iscsi_iser_ep_poll(9)iscsi_iser_ep_disconnect(9)
π 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
- 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