lpfc_cmpl_els_flogi_fabric(9)
hey bestie π welcome to lpfc_cmpl_els_flogi_fabric(9) from the Kernel API Manual β todayβs main character is the completion function for a FLOGI to a fabric port, and she is booked, busy, and handling it π
π NAME π
lpfc_cmpl_els_flogi_fabric β completion function for flogi to a fabric port. No cap, thatβs literally her whole job description.
β¨ SYNOPSIS β¨
int lpfc_cmpl_els_flogi_fabric (struct lpfc_vport *vport , struct lpfc_nodelist *ndlp , struct serv_parm *sp , uint32_t ulp_word4 );
π ARGUMENTS π
vportβ pointer to a host virtual N_Port data structure. The vport girlie in question π«Άndlpβ pointer to a node-list data structure. The node-list bestie.spβ pointer to service parameter data structure. Service-param realness β¨ulp_word4β command response value. The receipts from the command.
π¦ DESCRIPTION π¦
Okay so this routine is invoked by the lpfc_cmpl_els_flogi completion callback function to handle the completion of a Fabric Login (FLOGI) into a fabric port in a fabric topology. Sheβs the cleanup-and-setup girlie for that exact moment π«
It properly sets up the parameters to the ndlp from the IOCB response. Literally copying the important bits over so nobodyβs confused.
It also checks the newly assigned N_Port ID to the vport against the previously assigned N_Port ID. If it is different from the previously assigned Destination ID (DID), the lpfc_unreg_rpi routine is invoked on all the remaining nodes with the vport to unregister the Remote Port Indicators (RPIs). Yes bestie, thatβs the unregister-the-RPIs moment β highkey important, lowkey dramatic π
Finally, the lpfc_issue_fabric_reglogin is invoked to register login to the fabric. And thatβs the slay at the end of the function π
Return code 0 β Success (currently, always return 0). Periodt, always 0 for now.
πΈ SEE ALSO πΈ
Kernel file ./drivers/scsi/lpfc/lpfc_els.c β and the whole squad, no missing members, fr fr:
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_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)
mwah π this page is brought to you by the Kernel API Manual, source tree ./drivers/scsi/lpfc, dated October 2026 β and yes, she 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