Lines Matching refs:vport
52 lpfc_check_adisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_check_adisc() argument
73 lpfc_check_sparm(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_check_sparm() argument
76 volatile struct serv_parm *hsp = &vport->fc_sparam; in lpfc_check_sparm()
155 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_check_sparm()
226 lpfc_printf_vlog(ndlp->vport, KERN_INFO, LOG_DISCOVERY, in lpfc_els_abort()
309 rc = lpfc_els_rsp_acc(login_mbox->vport, ELS_CMD_PLOGI, in lpfc_defer_plogi_acc()
325 lpfc_rcv_plogi(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi() argument
328 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi()
349 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_rcv_plogi()
353 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, in lpfc_rcv_plogi()
358 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_rcv_plogi()
362 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, in lpfc_rcv_plogi()
368 if ((lpfc_check_sparm(vport, ndlp, sp, CLASS3, 0) == 0)) { in lpfc_rcv_plogi()
372 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, in lpfc_rcv_plogi()
383 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, in lpfc_rcv_plogi()
387 ndlp->nlp_rpi, vport->port_state, in lpfc_rcv_plogi()
388 vport->fc_flag); in lpfc_rcv_plogi()
390 if (vport->cfg_fcp_class == 2 && sp->cls2.classValid) in lpfc_rcv_plogi()
431 lpfc_els_rsp_acc(vport, ELS_CMD_PLOGI, cmdiocb, in lpfc_rcv_plogi()
437 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_rcv_plogi()
452 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_plogi()
467 if ((vport->fc_flag & FC_PT2PT) && in lpfc_rcv_plogi()
468 !(vport->fc_flag & FC_PT2PT_PLOGI)) { in lpfc_rcv_plogi()
471 vport->fc_myDID = bf_get(els_rsp64_sid, in lpfc_rcv_plogi()
474 vport->fc_myDID = icmd->un.rcvels.parmRo; in lpfc_rcv_plogi()
507 lpfc_issue_reg_vfi(vport); in lpfc_rcv_plogi()
515 link_mbox->vport = vport; in lpfc_rcv_plogi()
529 lpfc_can_disctmo(vport); in lpfc_rcv_plogi()
555 lpfc_unreg_rpi(vport, ndlp); in lpfc_rcv_plogi()
564 rc = lpfc_reg_rpi(phba, vport->vpi, remote_did, in lpfc_rcv_plogi()
570 login_mbox->vport = vport; in lpfc_rcv_plogi()
583 (vport->fc_flag & FC_FABRIC)) { in lpfc_rcv_plogi()
588 if ((vport->port_type == LPFC_NPIV_PORT && in lpfc_rcv_plogi()
589 vport->cfg_restrict_login)) { in lpfc_rcv_plogi()
615 rc = lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, in lpfc_rcv_plogi()
655 lpfc_nlp_set_state(vport, ndlp, NLP_STE_REG_LOGIN_ISSUE); in lpfc_rcv_plogi()
665 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_plogi()
680 struct lpfc_vport *vport; in lpfc_mbx_cmpl_resume_rpi() local
687 vport = mboxq->vport; in lpfc_mbx_cmpl_resume_rpi()
691 lpfc_els_rsp_adisc_acc(vport, elsiocb, ndlp); in lpfc_mbx_cmpl_resume_rpi()
693 lpfc_els_rsp_acc(vport, ELS_CMD_PLOGI, elsiocb, in lpfc_mbx_cmpl_resume_rpi()
705 lpfc_rcv_padisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc() argument
708 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_padisc()
733 lpfc_check_adisc(vport, ndlp, pnn, ppn)) { in lpfc_rcv_padisc()
740 if (vport->phba->sli_rev == LPFC_SLI_REV4) { in lpfc_rcv_padisc()
758 lpfc_els_rsp_adisc_acc(vport, cmdiocb, ndlp); in lpfc_rcv_padisc()
760 lpfc_els_rsp_acc(vport, ELS_CMD_PLOGI, cmdiocb, in lpfc_rcv_padisc()
776 lpfc_nlp_set_state(vport, ndlp, in lpfc_rcv_padisc()
787 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_padisc()
797 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_padisc()
802 lpfc_rcv_logo(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo() argument
805 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_logo()
806 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo()
818 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_logo()
820 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_logo()
837 if (vport->port_state <= LPFC_FDISC || in lpfc_rcv_logo()
838 vport->fc_flag & FC_PT2PT) in lpfc_rcv_logo()
840 lpfc_linkdown_port(vport); in lpfc_rcv_logo()
842 vport->fc_flag |= FC_VPORT_LOGO_RCVD; in lpfc_rcv_logo()
863 if (!(vport->load_flag & FC_UNLOADING) && in lpfc_rcv_logo()
875 vport->port_state = LPFC_FDISC; in lpfc_rcv_logo()
885 (vport->fc_flag & FC_PT2PT))) || in lpfc_rcv_logo()
902 lpfc_nlp_unreg_node(vport, ndlp); in lpfc_rcv_logo()
905 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_logo()
919 lpfc_rcv_prli_support_check(struct lpfc_vport *vport, in lpfc_rcv_prli_support_check() argument
929 if (vport->phba->nvmet_support) { in lpfc_rcv_prli_support_check()
935 if (!vport->nvmei_support && (cmd == ELS_CMD_NVMEPRLI)) in lpfc_rcv_prli_support_check()
940 lpfc_printf_vlog(vport, KERN_WARNING, LOG_NVME_DISC, in lpfc_rcv_prli_support_check()
948 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, in lpfc_rcv_prli_support_check()
954 lpfc_rcv_prli(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli() argument
957 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_prli()
1000 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_rcv_prli()
1018 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_RPORT, in lpfc_rcv_prli()
1022 if (vport->cfg_enable_fc4_type != LPFC_ENABLE_NVME) in lpfc_rcv_prli()
1028 lpfc_disc_set_adisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp) in lpfc_disc_set_adisc() argument
1037 if (!(vport->fc_flag & FC_PT2PT)) { in lpfc_disc_set_adisc()
1039 if (vport->cfg_use_adisc && ((vport->fc_flag & FC_RSCN_MODE) || in lpfc_disc_set_adisc()
1052 lpfc_unreg_rpi(vport, ndlp); in lpfc_disc_set_adisc()
1067 lpfc_release_rpi(struct lpfc_hba *phba, struct lpfc_vport *vport, in lpfc_release_rpi() argument
1077 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_release_rpi()
1090 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_release_rpi()
1093 lpfc_unreg_login(phba, vport->vpi, rpi, pmb); in lpfc_release_rpi()
1095 pmb->vport = vport; in lpfc_release_rpi()
1103 (!(vport->fc_flag & FC_OFFLINE_MODE))) in lpfc_release_rpi()
1106 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_release_rpi()
1120 lpfc_disc_illegal(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_disc_illegal() argument
1127 phba = vport->phba; in lpfc_disc_illegal()
1133 lpfc_release_rpi(phba, vport, ndlp, rpi); in lpfc_disc_illegal()
1135 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_disc_illegal()
1144 lpfc_cmpl_plogi_illegal(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_plogi_illegal() argument
1153 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_plogi_illegal()
1165 lpfc_rcv_plogi_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_unused_node() argument
1172 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb)) { in lpfc_rcv_plogi_unused_node()
1179 lpfc_rcv_els_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_els_unused_node() argument
1182 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_rcv_els_unused_node()
1187 lpfc_rcv_logo_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_unused_node() argument
1195 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_logo_unused_node()
1201 lpfc_cmpl_logo_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_unused_node() argument
1208 lpfc_device_rm_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_unused_node() argument
1215 lpfc_device_recov_unused_node(struct lpfc_vport *vport, in lpfc_device_recov_unused_node() argument
1223 lpfc_rcv_plogi_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_plogi_issue() argument
1226 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_plogi_plogi_issue()
1227 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi_plogi_issue()
1241 port_cmp = memcmp(&vport->fc_portname, &sp->portName, in lpfc_rcv_plogi_plogi_issue()
1249 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, in lpfc_rcv_plogi_plogi_issue()
1252 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb) && in lpfc_rcv_plogi_plogi_issue()
1254 (vport->num_disc_nodes)) { in lpfc_rcv_plogi_plogi_issue()
1259 lpfc_more_plogi(vport); in lpfc_rcv_plogi_plogi_issue()
1260 if (vport->num_disc_nodes == 0) { in lpfc_rcv_plogi_plogi_issue()
1262 vport->fc_flag &= ~FC_NDISC_ACTIVE; in lpfc_rcv_plogi_plogi_issue()
1264 lpfc_can_disctmo(vport); in lpfc_rcv_plogi_plogi_issue()
1265 lpfc_end_rscn(vport); in lpfc_rcv_plogi_plogi_issue()
1274 lpfc_rcv_prli_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_plogi_issue() argument
1283 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prli_plogi_issue()
1288 lpfc_rcv_logo_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_plogi_issue() argument
1294 if (vport->phba->sli_rev == LPFC_SLI_REV3) in lpfc_rcv_logo_plogi_issue()
1297 lpfc_els_abort(vport->phba, ndlp); in lpfc_rcv_logo_plogi_issue()
1299 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_plogi_issue()
1304 lpfc_rcv_els_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_els_plogi_issue() argument
1307 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_els_plogi_issue()
1314 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_els_plogi_issue()
1316 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_rcv_els_plogi_issue()
1326 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_els_plogi_issue()
1332 lpfc_cmpl_plogi_plogi_issue(struct lpfc_vport *vport, in lpfc_cmpl_plogi_plogi_issue() argument
1337 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_plogi_plogi_issue()
1375 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_plogi_plogi_issue()
1379 if (!lpfc_check_sparm(vport, ndlp, sp, CLASS3, 0)) in lpfc_cmpl_plogi_plogi_issue()
1382 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1386 if (vport->cfg_fcp_class == 2 && (sp->cls2.classValid)) in lpfc_cmpl_plogi_plogi_issue()
1403 if ((vport->fc_flag & FC_PT2PT) && in lpfc_cmpl_plogi_plogi_issue()
1404 (vport->fc_flag & FC_PT2PT_PLOGI)) { in lpfc_cmpl_plogi_plogi_issue()
1433 lpfc_issue_reg_vfi(vport); in lpfc_cmpl_plogi_plogi_issue()
1437 lpfc_printf_vlog(vport, KERN_ERR, in lpfc_cmpl_plogi_plogi_issue()
1450 mbox->vport = vport; in lpfc_cmpl_plogi_plogi_issue()
1459 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_plogi_plogi_issue()
1463 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_plogi_plogi_issue()
1473 if (lpfc_reg_rpi(phba, vport->vpi, did, in lpfc_cmpl_plogi_plogi_issue()
1493 mbox->vport = vport; in lpfc_cmpl_plogi_plogi_issue()
1496 lpfc_nlp_set_state(vport, ndlp, in lpfc_cmpl_plogi_plogi_issue()
1507 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_plogi_plogi_issue()
1515 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_plogi_plogi_issue()
1525 lpfc_vport_set_state(vport, FC_VPORT_FAILED); in lpfc_cmpl_plogi_plogi_issue()
1526 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_plogi_plogi_issue()
1536 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_plogi_plogi_issue()
1541 lpfc_cmpl_logo_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_plogi_issue() argument
1548 lpfc_cmpl_reglogin_plogi_issue(struct lpfc_vport *vport, in lpfc_cmpl_reglogin_plogi_issue() argument
1556 phba = vport->phba; in lpfc_cmpl_reglogin_plogi_issue()
1561 lpfc_release_rpi(phba, vport, ndlp, rpi); in lpfc_cmpl_reglogin_plogi_issue()
1567 lpfc_device_rm_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_plogi_issue() argument
1577 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_plogi_issue()
1579 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_plogi_issue()
1585 lpfc_device_recov_plogi_issue(struct lpfc_vport *vport, in lpfc_device_recov_plogi_issue() argument
1590 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_plogi_issue()
1595 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_plogi_issue()
1602 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_plogi_issue()
1611 lpfc_rcv_plogi_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_adisc_issue() argument
1614 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi_adisc_issue()
1622 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb)) { in lpfc_rcv_plogi_adisc_issue()
1627 if (vport->num_disc_nodes) in lpfc_rcv_plogi_adisc_issue()
1628 lpfc_more_adisc(vport); in lpfc_rcv_plogi_adisc_issue()
1633 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_plogi_adisc_issue()
1634 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_plogi_adisc_issue()
1640 lpfc_rcv_prli_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_adisc_issue() argument
1645 if (lpfc_rcv_prli_support_check(vport, ndlp, cmdiocb)) in lpfc_rcv_prli_adisc_issue()
1646 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_adisc_issue()
1651 lpfc_rcv_logo_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_adisc_issue() argument
1654 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo_adisc_issue()
1662 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_adisc_issue()
1667 lpfc_rcv_padisc_adisc_issue(struct lpfc_vport *vport, in lpfc_rcv_padisc_adisc_issue() argument
1675 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_adisc_issue()
1680 lpfc_rcv_prlo_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_adisc_issue() argument
1688 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_PRLO); in lpfc_rcv_prlo_adisc_issue()
1693 lpfc_cmpl_adisc_adisc_issue(struct lpfc_vport *vport, in lpfc_cmpl_adisc_adisc_issue() argument
1697 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_adisc_adisc_issue()
1711 (!lpfc_check_adisc(vport, ndlp, &ap->nodeName, &ap->portName))) { in lpfc_cmpl_adisc_adisc_issue()
1721 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_adisc_adisc_issue()
1722 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_adisc_adisc_issue()
1743 lpfc_nlp_set_state(vport, ndlp, NLP_STE_MAPPED_NODE); in lpfc_cmpl_adisc_adisc_issue()
1746 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_adisc_adisc_issue()
1753 lpfc_device_rm_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_adisc_issue() argument
1763 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_adisc_issue()
1765 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_adisc_issue()
1771 lpfc_device_recov_adisc_issue(struct lpfc_vport *vport, in lpfc_device_recov_adisc_issue() argument
1776 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_adisc_issue()
1781 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_adisc_issue()
1788 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_adisc_issue()
1792 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_adisc_issue()
1797 lpfc_rcv_plogi_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_plogi_reglogin_issue() argument
1804 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_reglogin_issue()
1809 lpfc_rcv_prli_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_prli_reglogin_issue() argument
1817 if (!lpfc_rcv_prli_support_check(vport, ndlp, cmdiocb)) { in lpfc_rcv_prli_reglogin_issue()
1820 if (vport->phba->nvmet_support) { in lpfc_rcv_prli_reglogin_issue()
1826 lpfc_rcv_prli(vport, ndlp, cmdiocb); in lpfc_rcv_prli_reglogin_issue()
1827 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_reglogin_issue()
1836 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, in lpfc_rcv_prli_reglogin_issue()
1842 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_reglogin_issue()
1848 lpfc_rcv_logo_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_logo_reglogin_issue() argument
1853 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo_reglogin_issue()
1886 if (vport->cfg_enable_fc4_type != LPFC_ENABLE_FCP) { in lpfc_rcv_logo_reglogin_issue()
1887 ns_ndlp = lpfc_findnode_did(vport, NameServer_DID); in lpfc_rcv_logo_reglogin_issue()
1892 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_reglogin_issue()
1897 lpfc_rcv_padisc_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_padisc_reglogin_issue() argument
1904 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_reglogin_issue()
1909 lpfc_rcv_prlo_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_prlo_reglogin_issue() argument
1917 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_reglogin_issue()
1922 lpfc_cmpl_reglogin_reglogin_issue(struct lpfc_vport *vport, in lpfc_cmpl_reglogin_reglogin_issue() argument
1927 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_reglogin_reglogin_issue()
1934 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_reglogin_reglogin_issue()
1937 did, mb->mbxStatus, vport->port_state, in lpfc_cmpl_reglogin_reglogin_issue()
1946 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_reglogin_reglogin_issue()
1958 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_cmpl_reglogin_reglogin_issue()
1969 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_reglogin_reglogin_issue()
1979 if (vport->fc_flag & FC_PT2PT) { in lpfc_cmpl_reglogin_reglogin_issue()
1985 if ((!(vport->fc_flag & FC_PT2PT_NO_NVME)) && in lpfc_cmpl_reglogin_reglogin_issue()
1986 (vport->cfg_enable_fc4_type == LPFC_ENABLE_BOTH || in lpfc_cmpl_reglogin_reglogin_issue()
1987 vport->cfg_enable_fc4_type == LPFC_ENABLE_NVME)) { in lpfc_cmpl_reglogin_reglogin_issue()
1990 lpfc_nvme_update_localport(vport); in lpfc_cmpl_reglogin_reglogin_issue()
2001 if (vport->cfg_enable_fc4_type != LPFC_ENABLE_FCP) { in lpfc_cmpl_reglogin_reglogin_issue()
2002 lpfc_ns_cmd(vport, SLI_CTNS_GFT_ID, 0, in lpfc_cmpl_reglogin_reglogin_issue()
2010 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PRLI_ISSUE); in lpfc_cmpl_reglogin_reglogin_issue()
2011 if (lpfc_issue_els_prli(vport, ndlp, 0)) { in lpfc_cmpl_reglogin_reglogin_issue()
2012 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_cmpl_reglogin_reglogin_issue()
2014 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_reglogin_reglogin_issue()
2017 if ((vport->fc_flag & FC_PT2PT) && phba->nvmet_support) in lpfc_cmpl_reglogin_reglogin_issue()
2018 phba->targetport->port_id = vport->fc_myDID; in lpfc_cmpl_reglogin_reglogin_issue()
2026 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_reglogin_reglogin_issue()
2033 lpfc_device_rm_reglogin_issue(struct lpfc_vport *vport, in lpfc_device_rm_reglogin_issue() argument
2044 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_reglogin_issue()
2050 lpfc_device_recov_reglogin_issue(struct lpfc_vport *vport, in lpfc_device_recov_reglogin_issue() argument
2058 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_reglogin_issue()
2062 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_reglogin_issue()
2069 !vport->phba->nvmet_support) in lpfc_device_recov_reglogin_issue()
2074 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_reglogin_issue()
2079 lpfc_rcv_plogi_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_prli_issue() argument
2086 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_prli_issue()
2091 lpfc_rcv_prli_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_prli_issue() argument
2096 if (!lpfc_rcv_prli_support_check(vport, ndlp, cmdiocb)) in lpfc_rcv_prli_prli_issue()
2098 lpfc_rcv_prli(vport, ndlp, cmdiocb); in lpfc_rcv_prli_prli_issue()
2099 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_prli_issue()
2104 lpfc_rcv_logo_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_prli_issue() argument
2110 lpfc_els_abort(vport->phba, ndlp); in lpfc_rcv_logo_prli_issue()
2112 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_prli_issue()
2117 lpfc_rcv_padisc_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_prli_issue() argument
2122 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_prli_issue()
2132 lpfc_rcv_prlo_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_prli_issue() argument
2137 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_prli_issue()
2142 lpfc_cmpl_prli_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_prli_prli_issue() argument
2146 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_prli_prli_issue()
2170 if ((vport->port_type == LPFC_NPIV_PORT) && in lpfc_cmpl_prli_prli_issue()
2171 vport->cfg_restrict_login) { in lpfc_cmpl_prli_prli_issue()
2187 lpfc_printf_vlog(vport, KERN_INFO, LOG_NVME_DISC, in lpfc_cmpl_prli_prli_issue()
2253 lpfc_printf_vlog(vport, KERN_INFO, LOG_NVME_DISC, in lpfc_cmpl_prli_prli_issue()
2264 (vport->port_type == LPFC_NPIV_PORT) && in lpfc_cmpl_prli_prli_issue()
2265 vport->cfg_restrict_login) { in lpfc_cmpl_prli_prli_issue()
2270 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_cmpl_prli_prli_issue()
2273 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_prli_prli_issue()
2284 lpfc_nlp_set_state(vport, ndlp, NLP_STE_MAPPED_NODE); in lpfc_cmpl_prli_prli_issue()
2287 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_prli_prli_issue()
2289 lpfc_printf_vlog(vport, in lpfc_cmpl_prli_prli_issue()
2318 lpfc_device_rm_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_prli_issue() argument
2328 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_prli_issue()
2330 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_prli_issue()
2353 lpfc_device_recov_prli_issue(struct lpfc_vport *vport, in lpfc_device_recov_prli_issue() argument
2358 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_prli_issue()
2363 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_prli_issue()
2370 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_prli_issue()
2374 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_prli_issue()
2379 lpfc_rcv_plogi_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_logo_issue() argument
2388 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_plogi_logo_issue()
2393 lpfc_rcv_prli_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_logo_issue() argument
2402 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prli_logo_issue()
2407 lpfc_rcv_logo_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_logo_issue() argument
2415 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_logo_logo_issue()
2420 lpfc_rcv_padisc_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_logo_issue() argument
2429 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_padisc_logo_issue()
2434 lpfc_rcv_prlo_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_logo_issue() argument
2443 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_logo_issue()
2448 lpfc_cmpl_logo_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_logo_issue() argument
2452 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_logo_logo_issue()
2456 lpfc_disc_set_adisc(vport, ndlp); in lpfc_cmpl_logo_logo_issue()
2461 lpfc_device_rm_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_logo_issue() argument
2469 lpfc_unreg_rpi(vport, ndlp); in lpfc_device_rm_logo_issue()
2471 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_logo_issue()
2472 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_logo_issue()
2477 lpfc_device_recov_logo_issue(struct lpfc_vport *vport, in lpfc_device_recov_logo_issue() argument
2490 lpfc_rcv_plogi_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_unmap_node() argument
2495 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_unmap_node()
2500 lpfc_rcv_prli_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_unmap_node() argument
2505 if (!lpfc_rcv_prli_support_check(vport, ndlp, cmdiocb)) in lpfc_rcv_prli_unmap_node()
2508 lpfc_rcv_prli(vport, ndlp, cmdiocb); in lpfc_rcv_prli_unmap_node()
2509 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_unmap_node()
2514 lpfc_rcv_logo_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_unmap_node() argument
2519 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_unmap_node()
2524 lpfc_rcv_padisc_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_unmap_node() argument
2529 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_unmap_node()
2534 lpfc_rcv_prlo_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_unmap_node() argument
2539 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_unmap_node()
2544 lpfc_device_rm_unmap_node(struct lpfc_vport *vport, in lpfc_device_rm_unmap_node() argument
2549 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_unmap_node()
2554 lpfc_device_recov_unmap_node(struct lpfc_vport *vport, in lpfc_device_recov_unmap_node() argument
2560 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_unmap_node()
2565 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_unmap_node()
2571 lpfc_rcv_plogi_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_mapped_node() argument
2576 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_mapped_node()
2581 lpfc_rcv_prli_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_mapped_node() argument
2586 if (!lpfc_rcv_prli_support_check(vport, ndlp, cmdiocb)) in lpfc_rcv_prli_mapped_node()
2588 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_mapped_node()
2593 lpfc_rcv_logo_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_mapped_node() argument
2598 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_mapped_node()
2603 lpfc_rcv_padisc_mapped_node(struct lpfc_vport *vport, in lpfc_rcv_padisc_mapped_node() argument
2609 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_mapped_node()
2614 lpfc_rcv_prlo_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_mapped_node() argument
2620 lpfc_sli_abort_iocb(vport, ndlp->nlp_sid, 0, LPFC_CTX_TGT); in lpfc_rcv_prlo_mapped_node()
2623 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_PRLO); in lpfc_rcv_prlo_mapped_node()
2628 lpfc_device_recov_mapped_node(struct lpfc_vport *vport, in lpfc_device_recov_mapped_node() argument
2633 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_mapped_node()
2636 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_mapped_node()
2645 lpfc_rcv_plogi_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_npr_node() argument
2653 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb)) { in lpfc_rcv_plogi_npr_node()
2654 lpfc_cancel_retry_delay_tmo(vport, ndlp); in lpfc_rcv_plogi_npr_node()
2662 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_plogi_npr_node()
2663 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_plogi_npr_node()
2670 lpfc_rcv_prli_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_npr_node() argument
2679 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prli_npr_node()
2690 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_prli_npr_node()
2691 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_prli_npr_node()
2698 lpfc_rcv_logo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_npr_node() argument
2703 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_npr_node()
2708 lpfc_rcv_padisc_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_npr_node() argument
2713 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_npr_node()
2729 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_padisc_npr_node()
2730 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_padisc_npr_node()
2737 lpfc_rcv_prlo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_npr_node() argument
2746 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_npr_node()
2765 lpfc_cmpl_plogi_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_plogi_npr_node() argument
2768 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_plogi_npr_node()
2784 lpfc_cmpl_prli_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_prli_npr_node() argument
2787 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_prli_npr_node()
2797 lpfc_drop_node(vport, ndlp); in lpfc_cmpl_prli_npr_node()
2804 lpfc_cmpl_logo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_npr_node() argument
2807 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_logo_npr_node()
2812 vport->fc_flag &= ~(FC_FABRIC | FC_PUBLIC_LOOP); in lpfc_cmpl_logo_npr_node()
2815 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_logo_npr_node()
2820 lpfc_cmpl_adisc_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_adisc_npr_node() argument
2823 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_adisc_npr_node()
2833 lpfc_drop_node(vport, ndlp); in lpfc_cmpl_adisc_npr_node()
2840 lpfc_cmpl_reglogin_npr_node(struct lpfc_vport *vport, in lpfc_cmpl_reglogin_npr_node() argument
2849 if (vport->phba->sli_rev < LPFC_SLI_REV4) in lpfc_cmpl_reglogin_npr_node()
2853 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_reglogin_npr_node()
2857 lpfc_drop_node(vport, ndlp); in lpfc_cmpl_reglogin_npr_node()
2865 lpfc_device_rm_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_npr_node() argument
2874 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_npr_node()
2879 lpfc_device_recov_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_recov_npr_node() argument
2885 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_npr_node()
2888 lpfc_cancel_retry_delay_tmo(vport, ndlp); in lpfc_device_recov_npr_node()
3084 lpfc_disc_state_machine(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_disc_state_machine() argument
3101 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_disc_state_machine()
3107 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM, in lpfc_disc_state_machine()
3112 rc = (func) (vport, ndlp, arg, evt); in lpfc_disc_state_machine()
3118 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_disc_state_machine()
3124 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM, in lpfc_disc_state_machine()
3130 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_disc_state_machine()
3133 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM, in lpfc_disc_state_machine()