lpfc_issue_els_flogi(9)
π
lpfc_issue_els_flogi β like, the FLOGI sender, but make it kernel β¨
okay so bestie, welcome to the Kernel API Manual page for lpfc_issue_els_flogi(9) β the function that yeets a FLOGI IOCB command out for a vport. yes it's a mouthful, no you don't have to say it out loud in class π«Ά
β¨ SYNOPSIS β¨
int lpfc_issue_els_flogi (struct lpfc_vport *vport , struct
lpfc_nodelist *ndlp , uint8_t retry );
that's the whole vibe. three args, one int coming back at you. iconic honestly π₯
πΈ ARGUMENTS πΈ
vportβ pointer to a host virtual N_Port data structure. like, the vport. the whole main character here πndlpβ pointer to a node-list data structure. your node-list bestie, you'll be seeing them again in a sec πretryβ number of retries to the command IOCB. it's auint8_t, so keep it smol π
π¦ DESCRIPTION π¦
so what actually happens? this routine issues a Fabric Login (FLOGI) Request ELS command for a vport. that's the whole point, that's the assignment, slay π
here's the tea tho:
- the initiator service parameters get put into the payload of the FLOGI Request IOCB β¨
- the top-level callback function pointer to
lpfc_cmpl_els_flogigets put into the IOCB completion callback function field π - then
lpfc_issue_fabric_iocbis invoked to send out the FLOGI ELS command β and ngl, that's with one outstanding fabric IOCB at a time. only one. no cap, no crowd, single file line π
β οΈ heads up bestie: note that thendlpreference count will be incremented by 1 for holding thendlp. and the reference tondlpwill be stored into thendlpfield of the IOCB, so the completion callback function for the FLOGI ELS command can get at it later. it's giving "took a number, will call you back" energy π
and the return codes, because you know we don't skip those:
- return code
0β successfully issued flogi iocb for vport π - return code
1β failed to issue flogi iocb for vport π
β SEE ALSO β
the kernel file lives at ./drivers/scsi/lpfc/lpfc_els.c β and okay, the cross-reference list is literally a friend group at this point, there's so many of them. full roster, nobody left behind, iykyk π
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_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 page!! source:./drivers/scsi/lpfc, dated October 2026, living in the Kernel API Manual aslpfc_issue_els_flogi(9). go forth and FLOGI responsibly bestie, mwah π
π¦ 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