Lines Matching refs:vport
48 lpfc_check_adisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_check_adisc() argument
69 lpfc_check_sparm(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_check_sparm() argument
72 volatile struct serv_parm *hsp = &vport->fc_sparam; in lpfc_check_sparm()
151 lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY, in lpfc_check_sparm()
212 lpfc_printf_vlog(ndlp->vport, KERN_INFO, LOG_DISCOVERY, in lpfc_els_abort()
273 lpfc_rcv_plogi(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi() argument
276 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_plogi()
277 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi()
288 if (vport->port_state <= LPFC_FDISC) { in lpfc_rcv_plogi()
293 if (vport->fc_flag & FC_PT2PT) { in lpfc_rcv_plogi()
295 if (!(vport->fc_flag & FC_PT2PT_PLOGI)) { in lpfc_rcv_plogi()
304 lpfc_disc_start(vport); in lpfc_rcv_plogi()
306 lpfc_initial_flogi(vport); in lpfc_rcv_plogi()
310 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, in lpfc_rcv_plogi()
319 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_rcv_plogi()
323 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, in lpfc_rcv_plogi()
328 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_rcv_plogi()
332 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, in lpfc_rcv_plogi()
338 if ((lpfc_check_sparm(vport, ndlp, sp, CLASS3, 0) == 0)) { in lpfc_rcv_plogi()
342 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, in lpfc_rcv_plogi()
349 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, in lpfc_rcv_plogi()
353 ndlp->nlp_rpi, vport->port_state, in lpfc_rcv_plogi()
354 vport->fc_flag); in lpfc_rcv_plogi()
356 if (vport->cfg_fcp_class == 2 && sp->cls2.classValid) in lpfc_rcv_plogi()
384 lpfc_els_rsp_acc(vport, ELS_CMD_PLOGI, cmdiocb, in lpfc_rcv_plogi()
390 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_rcv_plogi()
400 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_plogi()
405 if ((vport->fc_flag & FC_PT2PT) && in lpfc_rcv_plogi()
406 !(vport->fc_flag & FC_PT2PT_PLOGI)) { in lpfc_rcv_plogi()
409 vport->fc_myDID = icmd->un.rcvels.parmRo; in lpfc_rcv_plogi()
415 mbox->vport = vport; in lpfc_rcv_plogi()
427 lpfc_issue_reg_vfi(vport); in lpfc_rcv_plogi()
429 lpfc_can_disctmo(vport); in lpfc_rcv_plogi()
437 lpfc_unreg_rpi(vport, ndlp); in lpfc_rcv_plogi()
439 rc = lpfc_reg_rpi(phba, vport->vpi, icmd->un.rcvels.remoteID, in lpfc_rcv_plogi()
454 mbox->vport = vport; in lpfc_rcv_plogi()
473 if ((vport->port_type == LPFC_NPIV_PORT && in lpfc_rcv_plogi()
474 vport->cfg_restrict_login)) { in lpfc_rcv_plogi()
486 rc = lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, in lpfc_rcv_plogi()
492 rc = lpfc_els_rsp_acc(vport, ELS_CMD_PLOGI, cmdiocb, ndlp, mbox); in lpfc_rcv_plogi()
499 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_plogi()
514 struct lpfc_vport *vport; in lpfc_mbx_cmpl_resume_rpi() local
521 vport = mboxq->vport; in lpfc_mbx_cmpl_resume_rpi()
525 lpfc_els_rsp_adisc_acc(vport, elsiocb, ndlp); in lpfc_mbx_cmpl_resume_rpi()
527 lpfc_els_rsp_acc(vport, ELS_CMD_PLOGI, elsiocb, in lpfc_mbx_cmpl_resume_rpi()
535 lpfc_rcv_padisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc() argument
538 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_padisc()
564 if (icmd->ulpStatus == 0 && lpfc_check_adisc(vport, ndlp, pnn, ppn)) { in lpfc_rcv_padisc()
571 if (vport->phba->sli_rev == LPFC_SLI_REV4) { in lpfc_rcv_padisc()
590 lpfc_els_rsp_adisc_acc(vport, cmdiocb, ndlp); in lpfc_rcv_padisc()
592 lpfc_els_rsp_acc(vport, ELS_CMD_PLOGI, cmdiocb, in lpfc_rcv_padisc()
598 lpfc_nlp_set_state(vport, ndlp, NLP_STE_MAPPED_NODE); in lpfc_rcv_padisc()
600 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_rcv_padisc()
609 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_padisc()
619 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_padisc()
624 lpfc_rcv_logo(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo() argument
627 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_logo()
628 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo()
640 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_logo()
642 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_logo()
644 if (vport->port_state <= LPFC_FDISC) in lpfc_rcv_logo()
646 lpfc_linkdown_port(vport); in lpfc_rcv_logo()
648 vport->fc_flag |= FC_VPORT_LOGO_RCVD; in lpfc_rcv_logo()
669 if (!(vport->load_flag & FC_UNLOADING) && in lpfc_rcv_logo()
681 vport->port_state = LPFC_FDISC; in lpfc_rcv_logo()
703 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_logo()
717 lpfc_rcv_prli(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli() argument
752 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_RPORT, in lpfc_rcv_prli()
761 lpfc_disc_set_adisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp) in lpfc_disc_set_adisc() argument
763 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_disc_set_adisc()
770 if (!(vport->fc_flag & FC_PT2PT)) { in lpfc_disc_set_adisc()
772 if ((vport->cfg_use_adisc && (vport->fc_flag & FC_RSCN_MODE)) || in lpfc_disc_set_adisc()
782 lpfc_unreg_rpi(vport, ndlp); in lpfc_disc_set_adisc()
797 struct lpfc_vport *vport, in lpfc_release_rpi() argument
806 lpfc_printf_vlog(vport, KERN_ERR, LOG_MBOX, in lpfc_release_rpi()
809 lpfc_unreg_login(phba, vport->vpi, rpi, pmb); in lpfc_release_rpi()
818 lpfc_disc_illegal(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_disc_illegal() argument
825 phba = vport->phba; in lpfc_disc_illegal()
831 lpfc_release_rpi(phba, vport, rpi); in lpfc_disc_illegal()
833 lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY, in lpfc_disc_illegal()
842 lpfc_cmpl_plogi_illegal(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_plogi_illegal() argument
851 lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY, in lpfc_cmpl_plogi_illegal()
863 lpfc_rcv_plogi_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_unused_node() argument
870 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb)) { in lpfc_rcv_plogi_unused_node()
877 lpfc_rcv_els_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_els_unused_node() argument
880 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_rcv_els_unused_node()
885 lpfc_rcv_logo_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_unused_node() argument
888 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_logo_unused_node()
894 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_logo_unused_node()
900 lpfc_cmpl_logo_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_unused_node() argument
907 lpfc_device_rm_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_unused_node() argument
914 lpfc_device_recov_unused_node(struct lpfc_vport *vport, in lpfc_device_recov_unused_node() argument
922 lpfc_rcv_plogi_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_plogi_issue() argument
925 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_plogi_plogi_issue()
926 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi_plogi_issue()
940 port_cmp = memcmp(&vport->fc_portname, &sp->portName, in lpfc_rcv_plogi_plogi_issue()
948 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, in lpfc_rcv_plogi_plogi_issue()
951 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb) && in lpfc_rcv_plogi_plogi_issue()
953 (vport->num_disc_nodes)) { in lpfc_rcv_plogi_plogi_issue()
958 lpfc_more_plogi(vport); in lpfc_rcv_plogi_plogi_issue()
959 if (vport->num_disc_nodes == 0) { in lpfc_rcv_plogi_plogi_issue()
961 vport->fc_flag &= ~FC_NDISC_ACTIVE; in lpfc_rcv_plogi_plogi_issue()
963 lpfc_can_disctmo(vport); in lpfc_rcv_plogi_plogi_issue()
964 lpfc_end_rscn(vport); in lpfc_rcv_plogi_plogi_issue()
973 lpfc_rcv_prli_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_plogi_issue() argument
982 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prli_plogi_issue()
987 lpfc_rcv_logo_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_plogi_issue() argument
993 lpfc_els_abort(vport->phba, ndlp); in lpfc_rcv_logo_plogi_issue()
995 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_plogi_issue()
1000 lpfc_rcv_els_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_els_plogi_issue() argument
1003 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_els_plogi_issue()
1004 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_els_plogi_issue()
1011 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_els_plogi_issue()
1013 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_rcv_els_plogi_issue()
1023 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_els_plogi_issue()
1029 lpfc_cmpl_plogi_plogi_issue(struct lpfc_vport *vport, in lpfc_cmpl_plogi_plogi_issue() argument
1034 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_plogi_plogi_issue()
1035 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_plogi_plogi_issue()
1069 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1073 if (!lpfc_check_sparm(vport, ndlp, sp, CLASS3, 0)) in lpfc_cmpl_plogi_plogi_issue()
1076 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1080 if (vport->cfg_fcp_class == 2 && (sp->cls2.classValid)) in lpfc_cmpl_plogi_plogi_issue()
1099 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1107 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_plogi_plogi_issue()
1109 if (lpfc_reg_rpi(phba, vport->vpi, irsp->un.elsreq64.remoteID, in lpfc_cmpl_plogi_plogi_issue()
1123 mbox->vport = vport; in lpfc_cmpl_plogi_plogi_issue()
1126 lpfc_nlp_set_state(vport, ndlp, in lpfc_cmpl_plogi_plogi_issue()
1141 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1149 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1159 lpfc_vport_set_state(vport, FC_VPORT_FAILED); in lpfc_cmpl_plogi_plogi_issue()
1160 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1170 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_plogi_plogi_issue()
1178 lpfc_cmpl_logo_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_plogi_issue() argument
1185 lpfc_cmpl_reglogin_plogi_issue(struct lpfc_vport *vport, in lpfc_cmpl_reglogin_plogi_issue() argument
1193 phba = vport->phba; in lpfc_cmpl_reglogin_plogi_issue()
1198 lpfc_release_rpi(phba, vport, rpi); in lpfc_cmpl_reglogin_plogi_issue()
1204 lpfc_device_rm_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_plogi_issue() argument
1207 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_rm_plogi_issue()
1216 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_plogi_issue()
1218 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_plogi_issue()
1224 lpfc_device_recov_plogi_issue(struct lpfc_vport *vport, in lpfc_device_recov_plogi_issue() argument
1229 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_plogi_issue()
1230 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_plogi_issue()
1235 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_plogi_issue()
1242 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_plogi_issue()
1251 lpfc_rcv_plogi_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_adisc_issue() argument
1254 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_plogi_adisc_issue()
1255 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi_adisc_issue()
1263 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb)) { in lpfc_rcv_plogi_adisc_issue()
1268 if (vport->num_disc_nodes) in lpfc_rcv_plogi_adisc_issue()
1269 lpfc_more_adisc(vport); in lpfc_rcv_plogi_adisc_issue()
1274 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_plogi_adisc_issue()
1275 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_plogi_adisc_issue()
1281 lpfc_rcv_prli_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_adisc_issue() argument
1286 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_adisc_issue()
1291 lpfc_rcv_logo_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_adisc_issue() argument
1294 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo_adisc_issue()
1302 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_adisc_issue()
1307 lpfc_rcv_padisc_adisc_issue(struct lpfc_vport *vport, in lpfc_rcv_padisc_adisc_issue() argument
1315 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_adisc_issue()
1320 lpfc_rcv_prlo_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_adisc_issue() argument
1328 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_PRLO); in lpfc_rcv_prlo_adisc_issue()
1333 lpfc_cmpl_adisc_adisc_issue(struct lpfc_vport *vport, in lpfc_cmpl_adisc_adisc_issue() argument
1337 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_adisc_adisc_issue()
1338 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_adisc_adisc_issue()
1351 (!lpfc_check_adisc(vport, ndlp, &ap->nodeName, &ap->portName))) { in lpfc_cmpl_adisc_adisc_issue()
1364 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_adisc_adisc_issue()
1365 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_adisc_adisc_issue()
1380 lpfc_nlp_set_state(vport, ndlp, NLP_STE_MAPPED_NODE); in lpfc_cmpl_adisc_adisc_issue()
1383 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_adisc_adisc_issue()
1390 lpfc_device_rm_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_adisc_issue() argument
1393 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_rm_adisc_issue()
1402 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_adisc_issue()
1404 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_adisc_issue()
1410 lpfc_device_recov_adisc_issue(struct lpfc_vport *vport, in lpfc_device_recov_adisc_issue() argument
1415 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_adisc_issue()
1416 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_adisc_issue()
1421 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_adisc_issue()
1428 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_adisc_issue()
1432 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_adisc_issue()
1437 lpfc_rcv_plogi_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_plogi_reglogin_issue() argument
1444 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_reglogin_issue()
1449 lpfc_rcv_prli_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_prli_reglogin_issue() argument
1456 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_reglogin_issue()
1461 lpfc_rcv_logo_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_logo_reglogin_issue() argument
1466 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo_reglogin_issue()
1501 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_reglogin_issue()
1506 lpfc_rcv_padisc_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_padisc_reglogin_issue() argument
1513 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_reglogin_issue()
1518 lpfc_rcv_prlo_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_prlo_reglogin_issue() argument
1526 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_reglogin_issue()
1531 lpfc_cmpl_reglogin_reglogin_issue(struct lpfc_vport *vport, in lpfc_cmpl_reglogin_reglogin_issue() argument
1536 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_reglogin_reglogin_issue()
1543 lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY, in lpfc_cmpl_reglogin_reglogin_issue()
1546 did, mb->mbxStatus, vport->port_state, in lpfc_cmpl_reglogin_reglogin_issue()
1555 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_reglogin_reglogin_issue()
1567 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_cmpl_reglogin_reglogin_issue()
1569 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_reglogin_reglogin_issue()
1574 if (vport->phba->sli_rev < LPFC_SLI_REV4) in lpfc_cmpl_reglogin_reglogin_issue()
1582 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PRLI_ISSUE); in lpfc_cmpl_reglogin_reglogin_issue()
1583 lpfc_issue_els_prli(vport, ndlp, 0); in lpfc_cmpl_reglogin_reglogin_issue()
1586 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_reglogin_reglogin_issue()
1592 lpfc_device_rm_reglogin_issue(struct lpfc_vport *vport, in lpfc_device_rm_reglogin_issue() argument
1597 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_rm_reglogin_issue()
1605 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_reglogin_issue()
1611 lpfc_device_recov_reglogin_issue(struct lpfc_vport *vport, in lpfc_device_recov_reglogin_issue() argument
1616 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_reglogin_issue()
1621 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_reglogin_issue()
1625 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_reglogin_issue()
1630 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_reglogin_issue()
1635 lpfc_rcv_plogi_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_prli_issue() argument
1642 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_prli_issue()
1647 lpfc_rcv_prli_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_prli_issue() argument
1652 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_prli_issue()
1657 lpfc_rcv_logo_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_prli_issue() argument
1663 lpfc_els_abort(vport->phba, ndlp); in lpfc_rcv_logo_prli_issue()
1665 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_prli_issue()
1670 lpfc_rcv_padisc_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_prli_issue() argument
1675 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_prli_issue()
1685 lpfc_rcv_prlo_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_prli_issue() argument
1690 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_prli_issue()
1695 lpfc_cmpl_prli_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_prli_prli_issue() argument
1698 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_prli_prli_issue()
1700 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_prli_prli_issue()
1710 if ((vport->port_type == LPFC_NPIV_PORT) && in lpfc_cmpl_prli_prli_issue()
1711 vport->cfg_restrict_login) { in lpfc_cmpl_prli_prli_issue()
1715 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_prli_prli_issue()
1736 (vport->port_type == LPFC_NPIV_PORT) && in lpfc_cmpl_prli_prli_issue()
1737 vport->cfg_restrict_login) { in lpfc_cmpl_prli_prli_issue()
1742 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_cmpl_prli_prli_issue()
1745 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_prli_prli_issue()
1751 lpfc_nlp_set_state(vport, ndlp, NLP_STE_MAPPED_NODE); in lpfc_cmpl_prli_prli_issue()
1753 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_prli_prli_issue()
1776 lpfc_device_rm_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_prli_issue() argument
1779 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_rm_prli_issue()
1788 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_prli_issue()
1790 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_prli_issue()
1813 lpfc_device_recov_prli_issue(struct lpfc_vport *vport, in lpfc_device_recov_prli_issue() argument
1818 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_prli_issue()
1819 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_prli_issue()
1824 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_prli_issue()
1831 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_prli_issue()
1835 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_prli_issue()
1840 lpfc_rcv_plogi_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_logo_issue() argument
1849 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_plogi_logo_issue()
1854 lpfc_rcv_prli_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_logo_issue() argument
1863 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prli_logo_issue()
1868 lpfc_rcv_logo_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_logo_issue() argument
1871 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_logo_logo_issue()
1877 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_logo_logo_issue()
1882 lpfc_rcv_padisc_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_logo_issue() argument
1891 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_padisc_logo_issue()
1896 lpfc_rcv_prlo_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_logo_issue() argument
1905 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_logo_issue()
1910 lpfc_cmpl_logo_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_logo_issue() argument
1913 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_logo_logo_issue()
1916 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_logo_logo_issue()
1920 lpfc_disc_set_adisc(vport, ndlp); in lpfc_cmpl_logo_logo_issue()
1925 lpfc_device_rm_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_logo_issue() argument
1938 lpfc_device_recov_logo_issue(struct lpfc_vport *vport, in lpfc_device_recov_logo_issue() argument
1951 lpfc_rcv_plogi_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_unmap_node() argument
1956 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_unmap_node()
1961 lpfc_rcv_prli_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_unmap_node() argument
1966 lpfc_rcv_prli(vport, ndlp, cmdiocb); in lpfc_rcv_prli_unmap_node()
1967 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_unmap_node()
1972 lpfc_rcv_logo_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_unmap_node() argument
1977 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_unmap_node()
1982 lpfc_rcv_padisc_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_unmap_node() argument
1987 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_unmap_node()
1992 lpfc_rcv_prlo_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_unmap_node() argument
1997 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_unmap_node()
2002 lpfc_device_recov_unmap_node(struct lpfc_vport *vport, in lpfc_device_recov_unmap_node() argument
2007 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_unmap_node()
2010 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_unmap_node()
2014 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_unmap_node()
2020 lpfc_rcv_plogi_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_mapped_node() argument
2025 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_mapped_node()
2030 lpfc_rcv_prli_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_mapped_node() argument
2035 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_mapped_node()
2040 lpfc_rcv_logo_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_mapped_node() argument
2045 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_mapped_node()
2050 lpfc_rcv_padisc_mapped_node(struct lpfc_vport *vport, in lpfc_rcv_padisc_mapped_node() argument
2056 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_mapped_node()
2061 lpfc_rcv_prlo_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_mapped_node() argument
2064 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_prlo_mapped_node()
2068 lpfc_sli_abort_iocb(vport, &phba->sli.ring[phba->sli.fcp_ring], in lpfc_rcv_prlo_mapped_node()
2072 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_PRLO); in lpfc_rcv_prlo_mapped_node()
2077 lpfc_device_recov_mapped_node(struct lpfc_vport *vport, in lpfc_device_recov_mapped_node() argument
2082 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_mapped_node()
2085 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_mapped_node()
2089 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_mapped_node()
2094 lpfc_rcv_plogi_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_npr_node() argument
2097 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_plogi_npr_node()
2103 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb)) { in lpfc_rcv_plogi_npr_node()
2104 lpfc_cancel_retry_delay_tmo(vport, ndlp); in lpfc_rcv_plogi_npr_node()
2112 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_plogi_npr_node()
2113 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_plogi_npr_node()
2120 lpfc_rcv_prli_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_npr_node() argument
2123 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_prli_npr_node()
2130 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prli_npr_node()
2138 lpfc_nlp_set_state(vport, ndlp, NLP_STE_ADISC_ISSUE); in lpfc_rcv_prli_npr_node()
2139 lpfc_issue_els_adisc(vport, ndlp, 0); in lpfc_rcv_prli_npr_node()
2142 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_prli_npr_node()
2143 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_prli_npr_node()
2150 lpfc_rcv_logo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_npr_node() argument
2155 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_npr_node()
2160 lpfc_rcv_padisc_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_npr_node() argument
2165 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_npr_node()
2176 lpfc_nlp_set_state(vport, ndlp, NLP_STE_ADISC_ISSUE); in lpfc_rcv_padisc_npr_node()
2177 lpfc_issue_els_adisc(vport, ndlp, 0); in lpfc_rcv_padisc_npr_node()
2180 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_padisc_npr_node()
2181 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_padisc_npr_node()
2188 lpfc_rcv_prlo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_npr_node() argument
2191 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_prlo_npr_node()
2198 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_npr_node()
2217 lpfc_cmpl_plogi_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_plogi_npr_node() argument
2222 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_plogi_npr_node()
2238 lpfc_cmpl_prli_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_prli_npr_node() argument
2249 lpfc_drop_node(vport, ndlp); in lpfc_cmpl_prli_npr_node()
2256 lpfc_cmpl_logo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_npr_node() argument
2259 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_logo_npr_node()
2264 vport->fc_flag &= ~(FC_FABRIC | FC_PUBLIC_LOOP); in lpfc_cmpl_logo_npr_node()
2267 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_logo_npr_node()
2272 lpfc_cmpl_adisc_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_adisc_npr_node() argument
2283 lpfc_drop_node(vport, ndlp); in lpfc_cmpl_adisc_npr_node()
2290 lpfc_cmpl_reglogin_npr_node(struct lpfc_vport *vport, in lpfc_cmpl_reglogin_npr_node() argument
2299 if (vport->phba->sli_rev < LPFC_SLI_REV4) in lpfc_cmpl_reglogin_npr_node()
2304 lpfc_drop_node(vport, ndlp); in lpfc_cmpl_reglogin_npr_node()
2312 lpfc_device_rm_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_npr_node() argument
2315 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_rm_npr_node()
2323 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_npr_node()
2328 lpfc_device_recov_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_recov_npr_node() argument
2331 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_npr_node()
2336 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_npr_node()
2339 lpfc_cancel_retry_delay_tmo(vport, ndlp); in lpfc_device_recov_npr_node()
2534 lpfc_disc_state_machine(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_disc_state_machine() argument
2548 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_disc_state_machine()
2553 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM, in lpfc_disc_state_machine()
2558 rc = (func) (vport, ndlp, arg, evt); in lpfc_disc_state_machine()
2562 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_disc_state_machine()
2566 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM, in lpfc_disc_state_machine()
2572 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_disc_state_machine()
2575 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM, in lpfc_disc_state_machine()