lpfc_els_rcv_rls(9)
π lpfc_els_rcv_rls β Kernel API Manual β¨
okay bestie, so this is a page from the Kernel API Manual and it's about lpfc_els_rcv_rls, and yes we're getting into Fibre Channel ELS brainrot today. stay with me, it's gonna slay π
πΈ NAME πΈ
lpfc_els_rcv_rls β process an unsolicited rls iocb, no cap π
β SYNOPSIS β
int lpfc_els_rcv_rls (struct lpfc_vport *vport , struct lpfc_iocbq
*cmdiocb , struct lpfc_nodelist *ndlp );
like literally that's the whole signature, she's giving three pointers and an int return π¦
π ARGUMENTS π
vportβ pointer to a host virtual N_Port data structure. that's your vport bestie, she's the whole vibe π«Άcmdiocbβ pointer tolpfccommand iocb data structure. this is the iocb carrying the command, main character energy fr fr πndlpβ pointer to a node-list data structure. the node list entry for the port we're dealing with πΈ
π₯ DESCRIPTION π₯
okay so here's the tea β β this routine processes a Read Link Status (RLS) IOCB that came in as an ELS unsolicited event. she's just out here handling unsolicited mail, iconic.
First thing she does is a vibe check on the remote port state π. If the remote port is not in NLP_STE_UNMAPPED_NODE state or NLP_STE_MAPPED_NODE state, she invokes the lpfc_els_rsl_reject routine to send the reject response. not me rejecting them π that's literally the behavior.
Otherwise (so, if it is in one of those two states), she issues the MBX_READ_LNK_STAT mailbox command for reading the HBA link statistics. lowkey the whole point π
And just so you know β it's for the callback function lpfc_els_rsp_rls_acc, which is set to the MBX_READ_LNK_STAT mailbox command, to actually send out the RPL Accept (ACC) response. she does the setup, the callback does the sending. teamwork periodt β¨
Return codes:
0β Successfully processed rls iocb (currently always return0) π she literally never misses, it's always0
ngl the original doc says the reject routine islpfc_els_rsl_rejectβ spelling exactly as written here, and the accept callback islpfc_els_rsp_rls_acc. two different spellings, both intentional in this page, don't come for me π
π SEE ALSO π
Kernel file ./drivers/scsi/lpfc/lpfc_els.c
okay and now the entire lpfc ELS cinematic universe, buckle up bestie, this list is long but every single one of them is invited to the party π
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_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_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)
likeβ¦ that's the whole friend group π§π
and that's the page!! source/version vibes: ./drivers/scsi/lpfc, dated October 2026 β so she's from the future, obviously, main character energy πβ¨ go read the man page bb, ily, bye π
π¦ 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