bnx2i_alloc_hba(9)
π bnx2i_alloc_hba(9) π
okay bestie, welcome to the Kernel API Manual β yes, that's the manual we're in, and yes, we're about to get into it. this is the page for bnx2i_alloc_hba, and it's short and sweet but like, actually important, so pay attention π
β¨ NAME β¨
bnx2i_alloc_hba β allocate and init adapter instance
like, it makes the adapter and gets it set up. the name literally tells you. iconic.
πΈ SYNOPSIS πΈ
struct bnx2i_hba * bnx2i_alloc_hba (struct cnic_dev *cnic );
that's the whole signature, no cap. returns a struct bnx2i_hba *. takes one thing. slay.
π¦ ARGUMENTS π¦
cnicβ the cnic device pointer. that's it. that's the argument. it's the device pointer for the cnic, and you gotta hand it over π«Ά
π DESCRIPTION π
so what it does is: allocate & initialize the adapter structure, and then it calls other support routines to do the per-adapter initialization. literally the whole vibe β it's the setup girlie. it builds the adapter struct and then delegates the rest of the per-adapter init to its little support-routine friends. teamwork makes the dream work, periodt β¨
π₯ SEE ALSO π₯
the kernel file lives right here, go look:
- Kernel file
./drivers/scsi/bnx2i/bnx2i_iscsi.c
and here's the whole friend group, all the related pages, every single one, no skipping (iykyk):
bnx2i_get_write_cmd_bd_idx(9)bnx2i_setup_write_cmd_bd_info(9)bnx2i_map_scsi_sg(9)bnx2i_iscsi_map_sg_list(9)bnx2i_iscsi_unmap_sg_list(9)bnx2i_bind_conn_to_iscsi_cid(9)bnx2i_get_conn_from_id(9)bnx2i_alloc_iscsi_cid(9)bnx2i_free_iscsi_cid(9)bnx2i_setup_free_cid_que(9)bnx2i_release_free_cid_que(9)bnx2i_alloc_ep(9)bnx2i_free_ep(9)bnx2i_alloc_bdt(9)bnx2i_destroy_cmd_pool(9)bnx2i_setup_cmd_pool(9)bnx2i_setup_mp_bdt(9)bnx2i_free_mp_bdt(9)bnx2i_drop_session(9)bnx2i_ep_destroy_list_add(9)bnx2i_ep_destroy_list_del(9)bnx2i_ep_ofld_list_add(9)bnx2i_ep_ofld_list_del(9)bnx2i_find_ep_in_ofld_list(9)bnx2i_find_ep_in_destroy_list(9)bnx2i_ep_active_list_add(9)bnx2i_ep_active_list_del(9)bnx2i_setup_host_queue_size(9)bnx2i_free_hba(9)bnx2i_conn_free_login_resources(9)bnx2i_conn_alloc_login_resources(9)bnx2i_iscsi_prep_generic_pdu_bd(9)bnx2i_iscsi_send_generic_request(9)bnx2i_cpy_scsi_cdb(9)bnx2i_mtask_xmit(9)bnx2i_task_xmit(9)bnx2i_session_create(9)bnx2i_session_destroy(9)bnx2i_conn_create(9)bnx2i_conn_bind(9)bnx2i_conn_destroy(9)bnx2i_ep_get_param(9)bnx2i_host_get_param(9)bnx2i_conn_start(9)bnx2i_conn_get_stats(9)bnx2i_check_route(9)bnx2i_tear_down_conn(9)bnx2i_ep_connect(9)bnx2i_ep_poll(9)bnx2i_ep_tcp_conn_active(9)bnx2i_hw_ep_disconnect(9)bnx2i_ep_disconnect(9)bnx2i_nl_set_path(9)
and that's the page, bestie π huge shoutout to the source at ./drivers/scsi/bnx2i, dated October 2026 β that's where this whole thing lives, go touch grass in the driver tree and stay hydrated ππ§ββοΈπ
π¦ 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