lpfc_issue_els_plogi(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay bestie, welcome to lpfc_issue_els_plogi(9) β€” it's a kernel API manual page and it's giving β€œlet's log into a remote N_Port” energy, so buckle up πŸ’–

✨ NAME ✨

lpfc_issue_els_plogi β€” issue an plogi iocb command for a vport. that's literally the whole name section, and yes we're keeping the iconic β€œan plogi” phrasing exactly as it is πŸŽ€

🌸 SYNOPSIS 🌸

here's the signature, don't let the spacing jumpscare you:

int lpfc_issue_els_plogi (struct lpfc_vport *vport , uint32_t did ,
       uint8_t retry );

πŸŽ€ ARGUMENTS πŸŽ€

  • vport β€” pointer to a host virtual N_Port data structure. your virtual N_Port bestie, basically πŸ’…
  • did β€” destination port identifier. it's who we're sending the PLOGI to, iykyk.
  • retry β€” number of retries to the command IOCB. like how many attempts the command gets to slay ✨

πŸ’… DESCRIPTION πŸ’…

so this routine issues a Port Login (PLOGI) command to a remote N_Port (with the did) for a vport. before it does that, the ndlp with the remote N_Port DID must exist on the vport's ndlp list β€” no ndlp, no PLOGI, periodt 🫢

this routine constructs the proper fields of the PLOGI IOCB and invokes the lpfc_sli_issue_iocb routine to send out the PLOGI ELS command. like, it's literally building the IOCB and sending the ELS command, no cap πŸ”₯

little note, and this part is important: 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 PLOGI ELS command. that's the whole hold-and-callback situation, bestie πŸ’–

return codes, explained with love:

  • 0 β€” Successfully issued a plogi for vport.
  • 1 β€” failed to issue a plogi for vport.

πŸ¦‹ SEE ALSO πŸ¦‹

kernel file ./drivers/scsi/lpfc/lpfc_els.c is the spot, and then peep the whole friend group: 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_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 lives in ./drivers/scsi/lpfc, dated October 2026, and it's literally lpfc_issue_els_plogi(9) β€” byeee, bestie 🫢

πŸ“¦ where this page comes from