lpfc_els_rcv_fan(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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 to lpfc command 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:


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