lpfc_plogi_confirm_nport(9)
π
lpfc_plogi_confirm_nport β Kernel API Manual, bestie edition β¨
π NAME π
lpfc_plogi_confirm_nport β confirm plogi wwpn matches stored ndlp π«Ά
πΈ SYNOPSIS πΈ
okay so hereβs the sacred signature, untouched, because code is literally code:
struct lpfc_nodelist * lpfc_plogi_confirm_nport (struct lpfc_hba *phba ,
uint32_t *prsp , struct lpfc_nodelist *ndlp );
π ARGUMENTS π
phbaβ pointer to lpfc hba data structure. πprspβ pointer to response IOCB payload. β¨ndlpβ pointer to a node-list data structure. π¦
π¦ DESCRIPTION π¦
okay so hereβs the vibe: this routine checks and indicates whether the WWPN of an N_Port, retrieved from a PLOGI, matches the WWPN that is stored in the ndlp for that N_POrt. π
The following cases are considered N_Port confirmed:
- The N_Port is a Fabric ndlp. πΈ
- The
ndlpis on the vport list and matches the WWPN of the N_Port logged into. π - The
ndlpis not on the vport list, but it does not have a WWPN assigned either. π
If the WWPN is confirmed, the pointer to the ndlp will be returned. If the WWPN is not confirmed:
- If there is a node on the vport list other than the
ndlpwith the same WWPN of the N_Port PLOGI logged into,lpfc_unreg_rpiwill be invoked on that node to release the RPI associated with the node. π₯ - If there is no node found on the vport list with the same WWPN of the N_Port PLOGI logged into, a new node shall be allocated (or activated). β
In either case, the parameters of the ndlp shall be copied to the new_ndlp, the ndlp shall be released, and the new_ndlp shall be put onto the vport node list and its pointer returned as the confirmed node. periodt. π
π¨ important plot twist, bestie: before thendlpgot "released", thekeepDIDfrom the not-matching or inactivenew_ndlpon the vport node list is assigned to thenlp_DIDof thendlp. Why? Because the release ofndlpis actually to put it into an inactive state on the vport node list, and the vport node list management algorithm does not allow two nodes with the same DID. no cap. π
Return code: pointer to the PLOGI N_Port ndlp. π
π SEE ALSO π
Kernel file ./drivers/scsi/lpfc/lpfc_els.c β yes, thatβs the file, iykyk. The full squad, no skipping:
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_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)
xoxo, from ./drivers/scsi/lpfc in October 2026 β this has been lpfc_plogi_confirm_nport(9) signing off π
π«Άβ¨
π¦ 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