lpfc_cmpl_els_prli(9)
π
lpfc_cmpl_els_prli β completion callback function for prli (Kernel API Manual, bestie edition)
okay so. Hi. This page is from the Kernel API Manual, and it's about lpfc_cmpl_els_prli β the function that shows up when a Process Login finally comes back and you gotta deal with the answer. It lives in the kernel file ./drivers/scsi/lpfc/lpfc_els.c (iykyk). Buckle up, it's short and sweet. π
β¨ SYNOPSIS β¨
void lpfc_cmpl_els_prli (struct lpfc_hba *phba , struct lpfc_iocbq
*cmdiocb , struct lpfc_iocbq *rspiocb );
like, that's the whole signature. no return value, void, it just does its thing and dips. π
π«Ά ARGUMENTS π«Ά
phbaβ pointer to lpfc hba data structure. it's the HBA's whole personality in one struct. π¦cmdiocbβ pointer to lpfc command iocb data structure. the command side of the story.rspiocbβ pointer to lpfc response iocb data structure. and this is the response side, literally the reply.
πΈ DESCRIPTION πΈ
okay so here's the vibe: this routine is the completion callback function for a Process Login (PRLI) ELS command. So the PRLI went out, and now it's back, and this function is the one that answers the door. πͺβ¨
First thing it does is check the PRLI response IOCB status for error status. like, vibe check on the response. π
If there is error status reported? Then a PRLI retry shall be attempted, and it does that by invoking the lpfc_els_retry routine. Try again bestie, it's giving resilience. π₯
Otherwise β no error, we're slaying β the state NLP_EVT_CMPL_PRLI gets sent to the Discover State Machine (DSM) for this ndlp, to mark the PRLI completion. that's it, that's the whole function. main character energy, in and out. π
ngl it's a small function but it's load-bearing. mess with the state machine at your own risk, bestie. π
π SEE ALSO π
bestie. the see-also section on this page is not playing around. it's giving "my mutuals list" and honestly? obsessed. here's every single one, exactly as it appears, all in the kernel file ./drivers/scsi/lpfc/lpfc_els.c:
lpfc_els_chk_latt(9), lpfc_prep_els_iocb(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_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 page!! π§ mwah. this one comes from ./drivers/scsi/lpfc, dated October 2026 β so yeah, bookmark it, screenshot it, send it to the group chat. 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