bnx2i_alloc_bdt(9)
π bnx2i_alloc_bdt(9) β from the Kernel API Manual, bestie β¨
Ok so real talk, this is a page straight out of the Kernel API Manual and it's about bnx2i_alloc_bdt(9), and honestly? It's a little icon doing one very specific job. Let's get into it π«Ά
πΈ NAME πΈ
bnx2i_alloc_bdt β the function that allocates the buffer descriptor (BD) table for the command. That's it, that's the whole vibe. It hands your command its very own BD table and it does it slayfully π
β¨ SYNOPSIS β¨
int bnx2i_alloc_bdt (struct bnx2i_hba *hba , struct iscsi_session
*page* , struct bnx2i_cmd *cmd );
No cap, that's the whole signature. Three pointers in, an int out, and the BD table situation gets handled. Periodt π₯
Lowkey important: the second parameter is struct iscsi_session *session β it's written across a line break up there so don't let the wrap fool you π
π¦ ARGUMENTS π¦
Three besties walk into this function and here's who they are:
hbaβ the adapter instance pointer. It's giving "which physical adapter are we even talking about" main character energy πsessionβ the iscsi session pointer. Your session, your girl, your context for the command πcmdβ the iscsi command structure. This is the actual command that needs its BD table allocated, and we're here to make that happen π
π SEE ALSO π
Ok this list is long and I'm obsessed, so buckle up. First of all, the kernel file this whole thing lives in:
./drivers/scsi/bnx2i/bnx2i_iscsi.c
And then the entire extended friend group, all at section 9 of the manual:
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_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_alloc_hba(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)
Literal friend group of the century, iykyk π
Anyway bestie, that's the page! This one came from ./drivers/scsi/bnx2i and it's dated October 2026 β go read the whole squad, they all ate π
β¨
π¦ 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