lpfc_els_rcv_fan(9)
hey bestie π welcome to the lpfc_els_rcv_fan(9) page from the Kernel API Manual. this one is short, sweet, and very "unsolicited event walked in wearing a FAN shirt" β and yes, every reference is coming with us, no cap.
β¨ NAME β¨
Processing an unsolicited fan iocb command β that's literally the whole name. lpfc_els_rcv_fan handles an unsolicited FAN IOCB command.
π SYNOPSIS π
int lpfc_els_rcv_fan (struct lpfc_vport *vport , struct lpfc_iocbq
*cmdiocb , struct lpfc_nodelist *fan_ndlp );
π ARGUMENTS π
vportβ pointer to a host virtual N_Port data structure.cmdiocbβ pointer tolpfccommand iocb data structure.fan_ndlpβ pointer to a node-list data structure.
πΈ DESCRIPTION πΈ
Okay so this routine processes a Fabric Address Notification (FAN) IOCB command that arrives as an ELS unsolicited event. Important vibe check: the FAN ELS command will only be processed on a physical port β meaning the vport represents the physical port. π«Ά
Then the fabric NodeName and PortName from the FAN IOCB get compared against those in the phba data structure. If any of those is different, the lpfc_initial_flogi routine is invoked to initialize Fabric Login (FLOGI) to the fabric to start the discover over. Otherwise, if both of those are identical, the lpfc_issue_fabric_reglogin routine is invoked to register login to the fabric.
Return code 0 β Successfully processed fan iocb (currently always return 0). π yes bestie, always 0.
π¦ SEE ALSO π¦
The kernel file is ./drivers/scsi/lpfc/lpfc_els.c, and the whole friend group is:
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_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_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)
that's the whole page, bestie π β source/version tag ./drivers/scsi/lpfc, dated October 2026. go slay your FAN processing β¨
π¦ 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