lpfc_issue_els_rdf(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… lpfc_issue_els_rdf(9) β€” a Kernel API Manual moment πŸŽ€

okay so bestie, welcome to the Kernel API Manual page for lpfc_issue_els_rdf(9). this is the one where we slide into the Fabric Controller's DMs and ask to be registered for diagnostic functions. it's giving "let me in, i promise i'm cool" energy and honestly? iconic. πŸ¦‹


✨ NAME ✨

lpfc_issue_els_rdf β€” register for diagnostic functions from the fabric.

like, you're literally signing up for the fabric's diagnostics. periodt.


🌸 SYNOPSIS 🌸

int lpfc_issue_els_rdf (struct lpfc_vport *vport , uint8_t retry );

that's it. that's the whole vibe check. two args, one int coming back at you. 🫢


🧚 ARGUMENTS 🧚

  • vport β€” pointer to a host virtual N_Port data structure. your main character struct, fr. everything happens through her. πŸ‘‘
  • retry β€” the retry counter for the command IOCB. how many times we're willing to try again before we're like "okay bestie, we tried." πŸ”

πŸ’– DESCRIPTION πŸ’–

so this routine issues an ELS RDF to the Fabric Controller to register for diagnostic functions. that's the whole assignment. no cap. ✨

⚠️ big note incoming, don't scroll past: the ndlp reference count will be incremented by 1 for holding the ndlp, and the reference to ndlp will be stored into the ndlp field of the IOCB for the completion callback function to the RDF ELS command. so yeah, we're holding a ref so the completion callback can find her later. that's the arrangement. πŸ’…

and now the return codes, because of course there are return codes 😭 β€” literally every function has lore:

  • 0 β€” Successfully issued rdf command πŸŽ‰ slay.
  • < 0 β€” Failed to issue rdf command πŸ’€
    • -EACCES β€” RDF not required for NPIV_PORT. not for you, bestie. πŸ™ˆ
    • -ENODEV β€” No fabric controller device available. nobody home. 🏚️
    • -ENOMEM β€” No available memory. we're broke (in RAM). 😭
    • -EIO β€” The mailbox failed to complete successfully. the mailbox ghosted us. πŸ“­

πŸ¦‹ SEE ALSO πŸ¦‹

the full bestie list, all of it, in order, no skips (iykyk) πŸ’œ β€” Kernel file ./drivers/scsi/lpfc/lpfc_els.c:

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_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 whole page bestie!! 🌈

<cute>okay real talk, the sign-off ✨ β€” this lil page lives in ./drivers/scsi/lpfc, it's dated October 2026, and it's filed under lpfc_issue_els_rdf(9). love that for us. mwah. πŸ’‹πŸŽ€</cute>

πŸ’€ also lowkey "cute" isn't a real tag, sorry, but you get the vibe. go issue your RDF, queen. 🫢
πŸ“¦ where this page comes from