lpfc_prep_els_iocb(9)
π lpfc_prep_els_iocb(9) π
okay bestie, welcome to the Kernel API Manual corner β this page is literally about allocating and prepping a lpfc iocb data structure, and itβs giving main-character kernel energy π
β¨ NAME β¨
lpfc_prep_els_iocb β allocate and prepare a lpfc iocb data structure. no cap, thatβs the whole vibe π
π¦ SYNOPSIS π¦
struct lpfc_iocbq * lpfc_prep_els_iocb (struct lpfc_vport *vport , u8
expect_rsp , u16 cmd_size , u8 retry , struct lpfc_nodelist *ndlp , u32
did , u32 elscmd );
π ARGUMENTS π
vportβ pointer to a host virtual N_Port data structure.expect_rspβ flag indicating whether response is expected.cmd_sizeβ size of the ELS command.retryβ number of retries to the command when it fails.ndlpβ pointer to a node-list data structure.didβ destination identifier.elscmdβ the ELS command code.
πΈ DESCRIPTION πΈ
okay so hereβs the lore: this routine allocates a lpfc-IOCB data structure from the driver lpfc-IOCB free-list, then preps that IOCB with the parameters passed into the routine so the discovery state machine can issue Extended Link Service (ELS) commands. itβs the generic lpfc-IOCB allocation-and-preparation routine used by all the discovery state machine routines β the ELS command-specific fields get set up later by the individual discovery machine routines after they call this routine to allocate and prepare a generic IOCB data structure. bestie, itβs the prepper, not the whole personality π
it fills in the Buffer Descriptor Entries (BDEs), and allocates buffers for both the command payload and the response payload (if expected). also β and this part matters β the reference count on the ndlp is incremented by 1, and the reference to the ndlp is put into ndlp of the IOCB data structure for this IOCB to hold the ndlp reference for the commandβs callback function to access later. iconic reference-holding behavior, honestly π«Ά
Return code:
- Pointer to the newly allocated/prepared els iocb data structure
NULL- when els iocb data structure allocation/preparation failed
π SEE ALSO π
Kernel file ./drivers/scsi/lpfc/lpfc_els.c β and hereβs the whole friend group, bestie:
lpfc_els_chk_latt(9)lpfc_issue_fabric_reglogin(9)lpfc_issue_reg_vfi(9)lpfc_issue_unreg_vfi(9)lpfc_check_clean_addr_bit(9)lpfc_cmpl_els_flogi_fabric(9)lpfc_cmpl_els_flogi_nport(9)lpfc_cmpl_els_flogi(9)lpfc_cmpl_els_link_down(9)lpfc_issue_els_flogi(9)lpfc_els_abort_flogi(9)lpfc_initial_flogi(9)lpfc_initial_fdisc(9)lpfc_more_plogi(9)lpfc_plogi_confirm_nport(9)lpfc_end_rscn(9)lpfc_cmpl_els_rrq(9)lpfc_check_encryption(9)lpfc_cmpl_els_plogi(9)lpfc_issue_els_plogi(9)lpfc_cmpl_els_prli(9)lpfc_issue_els_prli(9)lpfc_rscn_disc(9)lpfc_adisc_done(9)lpfc_more_adisc(9)lpfc_cmpl_els_adisc(9)lpfc_issue_els_adisc(9)lpfc_cmpl_els_logo(9)lpfc_issue_els_logo(9)lpfc_cmpl_els_cmd(9)lpfc_reg_fab_ctrl_node(9)lpfc_cmpl_els_disc_cmd(9)lpfc_issue_els_scr(9)lpfc_issue_els_rscn(9)lpfc_issue_els_farpr(9)lpfc_issue_els_rdf(9)lpfc_least_capable_settings(9)lpfc_cmpl_els_edc(9)lpfc_cancel_retry_delay_tmo(9)lpfc_els_retry_delay(9)lpfc_els_retry_delay_handler(9)lpfc_link_reset(9)lpfc_els_retry(9)lpfc_els_free_data(9)lpfc_els_free_bpl(9)lpfc_els_free_iocb(9)lpfc_cmpl_els_logo_acc(9)lpfc_mbx_cmpl_dflt_rpi(9)lpfc_cmpl_els_rsp(9)lpfc_els_rsp_acc(9)lpfc_els_rsp_reject(9)lpfc_els_rsp_adisc_acc(9)lpfc_els_rsp_prli_acc(9)lpfc_els_rsp_rnid_acc(9)lpfc_els_clear_rrq(9)lpfc_els_rsp_echo_acc(9)lpfc_els_disc_adisc(9)lpfc_els_disc_plogi(9)lpfc_els_rcv_lcb(9)lpfc_els_flush_rscn(9)lpfc_rscn_payload_check(9)lpfc_rscn_recovery_check(9)lpfc_send_rscn_event(9)lpfc_els_rcv_rscn(9)lpfc_els_handle_rscn(9)lpfc_els_rcv_flogi(9)lpfc_els_rcv_rnid(9)lpfc_els_rcv_echo(9)lpfc_els_rcv_lirr(9)lpfc_els_rcv_rrq(9)lpfc_els_rsp_rls_acc(9)lpfc_els_rcv_rls(9)lpfc_els_rcv_rtv(9)lpfc_send_rrq(9)lpfc_els_rsp_rpl_acc(9)lpfc_els_rcv_rpl(9)lpfc_els_rcv_farp(9)lpfc_els_rcv_farpr(9)lpfc_els_rcv_fan(9)lpfc_els_rcv_edc(9)lpfc_els_timeout(9)lpfc_els_timeout_handler(9)lpfc_els_flush_cmd(9)lpfc_els_flush_all_cmd(9)lpfc_send_els_failure_event(9)lpfc_send_els_event(9)lpfc_display_fpin_wwpn(9)lpfc_els_rcv_fpin_li(9)lpfc_els_rcv_fpin_del(9)lpfc_els_rcv_fpin_peer_cgn(9)lpfc_els_rcv_fpin_cgn(9)lpfc_els_unsol_buffer(9)lpfc_els_unsol_event(9)lpfc_do_scr_ns_plogi(9)lpfc_cmpl_reg_new_vport(9)lpfc_register_new_vport(9)lpfc_cancel_all_vport_retry_delay_timer(9)lpfc_retry_pport_discovery(9)lpfc_fabric_login_reqd(9)lpfc_cmpl_els_fdisc(9)lpfc_issue_els_fdisc(9)lpfc_cmpl_els_npiv_logo(9)lpfc_issue_els_npiv_logo(9)lpfc_fabric_block_timeout(9)lpfc_resume_fabric_iocbs(9)lpfc_unblock_fabric_iocbs(9)lpfc_block_fabric_iocbs(9)lpfc_cmpl_fabric_iocb(9)lpfc_issue_fabric_iocb(9)lpfc_fabric_abort_vport(9)lpfc_fabric_abort_nport(9)lpfc_fabric_abort_hba(9)lpfc_sli4_vport_delete_els_xri_aborted(9)lpfc_sli4_els_xri_aborted(9)
π and thatβs the whole page, bestie: source/version ./drivers/scsi/lpfc, date October 2026, manual page lpfc_prep_els_iocb(9). periodt. π
π¦ 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