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()
675 vport->port_state = LPFC_FDISC; in lpfc_rcv_logo()
697 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_logo()
711 lpfc_rcv_prli(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli() argument
746 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_RPORT, in lpfc_rcv_prli()
755 lpfc_disc_set_adisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp) in lpfc_disc_set_adisc() argument
757 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_disc_set_adisc()
764 if (!(vport->fc_flag & FC_PT2PT)) { in lpfc_disc_set_adisc()
766 if ((vport->cfg_use_adisc && (vport->fc_flag & FC_RSCN_MODE)) || in lpfc_disc_set_adisc()
776 lpfc_unreg_rpi(vport, ndlp); in lpfc_disc_set_adisc()
791 struct lpfc_vport *vport, in lpfc_release_rpi() argument
800 lpfc_printf_vlog(vport, KERN_ERR, LOG_MBOX, in lpfc_release_rpi()
803 lpfc_unreg_login(phba, vport->vpi, rpi, pmb); in lpfc_release_rpi()
812 lpfc_disc_illegal(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_disc_illegal() argument
820 phba = vport->phba; in lpfc_disc_illegal()
827 lpfc_release_rpi(phba, vport, rpi); in lpfc_disc_illegal()
829 lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY, in lpfc_disc_illegal()
838 lpfc_cmpl_plogi_illegal(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_plogi_illegal() argument
847 lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY, in lpfc_cmpl_plogi_illegal()
859 lpfc_rcv_plogi_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_unused_node() argument
866 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb)) { in lpfc_rcv_plogi_unused_node()
873 lpfc_rcv_els_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_els_unused_node() argument
876 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_rcv_els_unused_node()
881 lpfc_rcv_logo_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_unused_node() argument
884 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_logo_unused_node()
890 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_logo_unused_node()
896 lpfc_cmpl_logo_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_unused_node() argument
903 lpfc_device_rm_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_unused_node() argument
910 lpfc_device_recov_unused_node(struct lpfc_vport *vport, in lpfc_device_recov_unused_node() argument
918 lpfc_rcv_plogi_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_plogi_issue() argument
921 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_plogi_plogi_issue()
922 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi_plogi_issue()
936 port_cmp = memcmp(&vport->fc_portname, &sp->portName, in lpfc_rcv_plogi_plogi_issue()
944 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, in lpfc_rcv_plogi_plogi_issue()
947 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb) && in lpfc_rcv_plogi_plogi_issue()
949 (vport->num_disc_nodes)) { in lpfc_rcv_plogi_plogi_issue()
954 lpfc_more_plogi(vport); in lpfc_rcv_plogi_plogi_issue()
955 if (vport->num_disc_nodes == 0) { in lpfc_rcv_plogi_plogi_issue()
957 vport->fc_flag &= ~FC_NDISC_ACTIVE; in lpfc_rcv_plogi_plogi_issue()
959 lpfc_can_disctmo(vport); in lpfc_rcv_plogi_plogi_issue()
960 lpfc_end_rscn(vport); in lpfc_rcv_plogi_plogi_issue()
969 lpfc_rcv_prli_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_plogi_issue() argument
978 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prli_plogi_issue()
983 lpfc_rcv_logo_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_plogi_issue() argument
989 lpfc_els_abort(vport->phba, ndlp); in lpfc_rcv_logo_plogi_issue()
991 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_plogi_issue()
996 lpfc_rcv_els_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_els_plogi_issue() argument
999 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_els_plogi_issue()
1000 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_els_plogi_issue()
1007 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_els_plogi_issue()
1009 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_rcv_els_plogi_issue()
1019 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_els_plogi_issue()
1025 lpfc_cmpl_plogi_plogi_issue(struct lpfc_vport *vport, in lpfc_cmpl_plogi_plogi_issue() argument
1030 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_plogi_plogi_issue()
1031 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_plogi_plogi_issue()
1065 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1069 if (!lpfc_check_sparm(vport, ndlp, sp, CLASS3, 0)) in lpfc_cmpl_plogi_plogi_issue()
1072 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1076 if (vport->cfg_fcp_class == 2 && (sp->cls2.classValid)) in lpfc_cmpl_plogi_plogi_issue()
1095 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1103 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_plogi_plogi_issue()
1105 if (lpfc_reg_rpi(phba, vport->vpi, irsp->un.elsreq64.remoteID, in lpfc_cmpl_plogi_plogi_issue()
1119 mbox->vport = vport; in lpfc_cmpl_plogi_plogi_issue()
1122 lpfc_nlp_set_state(vport, ndlp, in lpfc_cmpl_plogi_plogi_issue()
1137 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1145 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1155 lpfc_vport_set_state(vport, FC_VPORT_FAILED); in lpfc_cmpl_plogi_plogi_issue()
1156 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1166 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_plogi_plogi_issue()
1174 lpfc_cmpl_logo_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_plogi_issue() argument
1181 lpfc_cmpl_reglogin_plogi_issue(struct lpfc_vport *vport, in lpfc_cmpl_reglogin_plogi_issue() argument
1189 phba = vport->phba; in lpfc_cmpl_reglogin_plogi_issue()
1194 lpfc_release_rpi(phba, vport, rpi); in lpfc_cmpl_reglogin_plogi_issue()
1200 lpfc_device_rm_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_plogi_issue() argument
1203 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_rm_plogi_issue()
1212 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_plogi_issue()
1214 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_plogi_issue()
1220 lpfc_device_recov_plogi_issue(struct lpfc_vport *vport, in lpfc_device_recov_plogi_issue() argument
1225 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_plogi_issue()
1226 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_plogi_issue()
1231 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_plogi_issue()
1238 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_plogi_issue()
1247 lpfc_rcv_plogi_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_adisc_issue() argument
1250 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_plogi_adisc_issue()
1251 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi_adisc_issue()
1259 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb)) { in lpfc_rcv_plogi_adisc_issue()
1264 if (vport->num_disc_nodes) in lpfc_rcv_plogi_adisc_issue()
1265 lpfc_more_adisc(vport); in lpfc_rcv_plogi_adisc_issue()
1270 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_plogi_adisc_issue()
1271 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_plogi_adisc_issue()
1277 lpfc_rcv_prli_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_adisc_issue() argument
1282 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_adisc_issue()
1287 lpfc_rcv_logo_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_adisc_issue() argument
1290 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo_adisc_issue()
1298 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_adisc_issue()
1303 lpfc_rcv_padisc_adisc_issue(struct lpfc_vport *vport, in lpfc_rcv_padisc_adisc_issue() argument
1311 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_adisc_issue()
1316 lpfc_rcv_prlo_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_adisc_issue() argument
1324 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_PRLO); in lpfc_rcv_prlo_adisc_issue()
1329 lpfc_cmpl_adisc_adisc_issue(struct lpfc_vport *vport, in lpfc_cmpl_adisc_adisc_issue() argument
1333 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_adisc_adisc_issue()
1334 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_adisc_adisc_issue()
1347 (!lpfc_check_adisc(vport, ndlp, &ap->nodeName, &ap->portName))) { in lpfc_cmpl_adisc_adisc_issue()
1360 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_adisc_adisc_issue()
1361 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_adisc_adisc_issue()
1376 lpfc_nlp_set_state(vport, ndlp, NLP_STE_MAPPED_NODE); in lpfc_cmpl_adisc_adisc_issue()
1379 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_adisc_adisc_issue()
1386 lpfc_device_rm_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_adisc_issue() argument
1389 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_rm_adisc_issue()
1398 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_adisc_issue()
1400 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_adisc_issue()
1406 lpfc_device_recov_adisc_issue(struct lpfc_vport *vport, in lpfc_device_recov_adisc_issue() argument
1411 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_adisc_issue()
1412 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_adisc_issue()
1417 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_adisc_issue()
1424 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_adisc_issue()
1428 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_adisc_issue()
1433 lpfc_rcv_plogi_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_plogi_reglogin_issue() argument
1440 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_reglogin_issue()
1445 lpfc_rcv_prli_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_prli_reglogin_issue() argument
1452 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_reglogin_issue()
1457 lpfc_rcv_logo_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_logo_reglogin_issue() argument
1462 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo_reglogin_issue()
1497 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_reglogin_issue()
1502 lpfc_rcv_padisc_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_padisc_reglogin_issue() argument
1509 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_reglogin_issue()
1514 lpfc_rcv_prlo_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_prlo_reglogin_issue() argument
1522 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_reglogin_issue()
1527 lpfc_cmpl_reglogin_reglogin_issue(struct lpfc_vport *vport, in lpfc_cmpl_reglogin_reglogin_issue() argument
1532 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_reglogin_reglogin_issue()
1539 lpfc_printf_vlog(vport, KERN_ERR, LOG_DISCOVERY, in lpfc_cmpl_reglogin_reglogin_issue()
1542 did, mb->mbxStatus, vport->port_state, in lpfc_cmpl_reglogin_reglogin_issue()
1551 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_reglogin_reglogin_issue()
1563 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_cmpl_reglogin_reglogin_issue()
1565 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_reglogin_reglogin_issue()
1570 if (vport->phba->sli_rev < LPFC_SLI_REV4) in lpfc_cmpl_reglogin_reglogin_issue()
1578 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PRLI_ISSUE); in lpfc_cmpl_reglogin_reglogin_issue()
1579 lpfc_issue_els_prli(vport, ndlp, 0); in lpfc_cmpl_reglogin_reglogin_issue()
1582 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_reglogin_reglogin_issue()
1588 lpfc_device_rm_reglogin_issue(struct lpfc_vport *vport, in lpfc_device_rm_reglogin_issue() argument
1593 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_rm_reglogin_issue()
1601 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_reglogin_issue()
1607 lpfc_device_recov_reglogin_issue(struct lpfc_vport *vport, in lpfc_device_recov_reglogin_issue() argument
1612 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_reglogin_issue()
1617 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_reglogin_issue()
1621 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_reglogin_issue()
1626 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_reglogin_issue()
1631 lpfc_rcv_plogi_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_prli_issue() argument
1638 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_prli_issue()
1643 lpfc_rcv_prli_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_prli_issue() argument
1648 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_prli_issue()
1653 lpfc_rcv_logo_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_prli_issue() argument
1659 lpfc_els_abort(vport->phba, ndlp); in lpfc_rcv_logo_prli_issue()
1661 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_prli_issue()
1666 lpfc_rcv_padisc_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_prli_issue() argument
1671 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_prli_issue()
1681 lpfc_rcv_prlo_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_prli_issue() argument
1686 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_prli_issue()
1691 lpfc_cmpl_prli_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_prli_prli_issue() argument
1694 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_prli_prli_issue()
1696 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_prli_prli_issue()
1706 if ((vport->port_type == LPFC_NPIV_PORT) && in lpfc_cmpl_prli_prli_issue()
1707 vport->cfg_restrict_login) { in lpfc_cmpl_prli_prli_issue()
1711 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_prli_prli_issue()
1732 (vport->port_type == LPFC_NPIV_PORT) && in lpfc_cmpl_prli_prli_issue()
1733 vport->cfg_restrict_login) { in lpfc_cmpl_prli_prli_issue()
1738 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_cmpl_prli_prli_issue()
1741 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_prli_prli_issue()
1747 lpfc_nlp_set_state(vport, ndlp, NLP_STE_MAPPED_NODE); in lpfc_cmpl_prli_prli_issue()
1749 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_prli_prli_issue()
1772 lpfc_device_rm_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_prli_issue() argument
1775 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_rm_prli_issue()
1784 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_prli_issue()
1786 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_prli_issue()
1809 lpfc_device_recov_prli_issue(struct lpfc_vport *vport, in lpfc_device_recov_prli_issue() argument
1814 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_prli_issue()
1815 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_prli_issue()
1820 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_prli_issue()
1827 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_prli_issue()
1831 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_prli_issue()
1836 lpfc_rcv_plogi_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_logo_issue() argument
1845 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_plogi_logo_issue()
1850 lpfc_rcv_prli_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_logo_issue() argument
1859 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prli_logo_issue()
1864 lpfc_rcv_logo_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_logo_issue() argument
1867 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_logo_logo_issue()
1873 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_logo_logo_issue()
1878 lpfc_rcv_padisc_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_logo_issue() argument
1887 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_padisc_logo_issue()
1892 lpfc_rcv_prlo_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_logo_issue() argument
1901 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_logo_issue()
1906 lpfc_cmpl_logo_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_logo_issue() argument
1909 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_logo_logo_issue()
1912 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_logo_logo_issue()
1916 lpfc_disc_set_adisc(vport, ndlp); in lpfc_cmpl_logo_logo_issue()
1921 lpfc_device_rm_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_logo_issue() argument
1934 lpfc_device_recov_logo_issue(struct lpfc_vport *vport, in lpfc_device_recov_logo_issue() argument
1947 lpfc_rcv_plogi_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_unmap_node() argument
1952 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_unmap_node()
1957 lpfc_rcv_prli_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_unmap_node() argument
1962 lpfc_rcv_prli(vport, ndlp, cmdiocb); in lpfc_rcv_prli_unmap_node()
1963 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_unmap_node()
1968 lpfc_rcv_logo_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_unmap_node() argument
1973 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_unmap_node()
1978 lpfc_rcv_padisc_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_unmap_node() argument
1983 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_unmap_node()
1988 lpfc_rcv_prlo_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_unmap_node() argument
1993 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_unmap_node()
1998 lpfc_device_recov_unmap_node(struct lpfc_vport *vport, in lpfc_device_recov_unmap_node() argument
2003 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_unmap_node()
2006 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_unmap_node()
2010 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_unmap_node()
2016 lpfc_rcv_plogi_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_mapped_node() argument
2021 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_mapped_node()
2026 lpfc_rcv_prli_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_mapped_node() argument
2031 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_mapped_node()
2036 lpfc_rcv_logo_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_mapped_node() argument
2041 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_mapped_node()
2046 lpfc_rcv_padisc_mapped_node(struct lpfc_vport *vport, in lpfc_rcv_padisc_mapped_node() argument
2052 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_mapped_node()
2057 lpfc_rcv_prlo_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_mapped_node() argument
2060 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_prlo_mapped_node()
2064 lpfc_sli_abort_iocb(vport, &phba->sli.ring[phba->sli.fcp_ring], in lpfc_rcv_prlo_mapped_node()
2068 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_PRLO); in lpfc_rcv_prlo_mapped_node()
2073 lpfc_device_recov_mapped_node(struct lpfc_vport *vport, in lpfc_device_recov_mapped_node() argument
2078 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_mapped_node()
2081 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_mapped_node()
2085 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_mapped_node()
2090 lpfc_rcv_plogi_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_npr_node() argument
2093 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_plogi_npr_node()
2099 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb)) { in lpfc_rcv_plogi_npr_node()
2100 lpfc_cancel_retry_delay_tmo(vport, ndlp); in lpfc_rcv_plogi_npr_node()
2108 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_plogi_npr_node()
2109 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_plogi_npr_node()
2116 lpfc_rcv_prli_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_npr_node() argument
2119 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_prli_npr_node()
2126 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prli_npr_node()
2134 lpfc_nlp_set_state(vport, ndlp, NLP_STE_ADISC_ISSUE); in lpfc_rcv_prli_npr_node()
2135 lpfc_issue_els_adisc(vport, ndlp, 0); in lpfc_rcv_prli_npr_node()
2138 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_prli_npr_node()
2139 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_prli_npr_node()
2146 lpfc_rcv_logo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_npr_node() argument
2151 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_npr_node()
2156 lpfc_rcv_padisc_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_npr_node() argument
2161 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_npr_node()
2172 lpfc_nlp_set_state(vport, ndlp, NLP_STE_ADISC_ISSUE); in lpfc_rcv_padisc_npr_node()
2173 lpfc_issue_els_adisc(vport, ndlp, 0); in lpfc_rcv_padisc_npr_node()
2176 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_padisc_npr_node()
2177 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_padisc_npr_node()
2184 lpfc_rcv_prlo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_npr_node() argument
2187 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_rcv_prlo_npr_node()
2194 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_npr_node()
2213 lpfc_cmpl_plogi_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_plogi_npr_node() argument
2218 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_plogi_npr_node()
2234 lpfc_cmpl_prli_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_prli_npr_node() argument
2245 lpfc_drop_node(vport, ndlp); in lpfc_cmpl_prli_npr_node()
2252 lpfc_cmpl_logo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_npr_node() argument
2255 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_cmpl_logo_npr_node()
2260 vport->fc_flag &= ~(FC_FABRIC | FC_PUBLIC_LOOP); in lpfc_cmpl_logo_npr_node()
2263 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_logo_npr_node()
2268 lpfc_cmpl_adisc_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_adisc_npr_node() argument
2279 lpfc_drop_node(vport, ndlp); in lpfc_cmpl_adisc_npr_node()
2286 lpfc_cmpl_reglogin_npr_node(struct lpfc_vport *vport, in lpfc_cmpl_reglogin_npr_node() argument
2295 if (vport->phba->sli_rev < LPFC_SLI_REV4) in lpfc_cmpl_reglogin_npr_node()
2300 lpfc_drop_node(vport, ndlp); in lpfc_cmpl_reglogin_npr_node()
2308 lpfc_device_rm_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_npr_node() argument
2311 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_rm_npr_node()
2319 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_npr_node()
2324 lpfc_device_recov_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_recov_npr_node() argument
2327 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_device_recov_npr_node()
2332 if (vport->fc_flag & FC_RSCN_DEFERRED) in lpfc_device_recov_npr_node()
2335 lpfc_cancel_retry_delay_tmo(vport, ndlp); in lpfc_device_recov_npr_node()
2530 lpfc_disc_state_machine(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_disc_state_machine() argument
2544 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_disc_state_machine()
2549 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM, in lpfc_disc_state_machine()
2554 rc = (func) (vport, ndlp, arg, evt); in lpfc_disc_state_machine()
2558 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_disc_state_machine()
2562 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM, in lpfc_disc_state_machine()
2568 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_disc_state_machine()
2571 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM, in lpfc_disc_state_machine()