Lines Matching full:vport
64 lpfc_check_adisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_check_adisc() argument
82 lpfc_check_sparm(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_check_sparm() argument
85 volatile struct serv_parm *hsp = &vport->fc_sparam; in lpfc_check_sparm()
164 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_check_sparm()
237 lpfc_printf_vlog(ndlp->vport, KERN_INFO, LOG_DISCOVERY, in lpfc_els_abort()
329 rc = lpfc_els_rsp_acc(login_mbox->vport, ELS_CMD_PLOGI, in lpfc_defer_plogi_acc()
345 lpfc_rcv_plogi(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi() argument
348 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi()
369 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_rcv_plogi()
373 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, in lpfc_rcv_plogi()
378 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_rcv_plogi()
382 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, in lpfc_rcv_plogi()
388 if ((lpfc_check_sparm(vport, ndlp, sp, CLASS3, 0) == 0)) { in lpfc_rcv_plogi()
392 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, in lpfc_rcv_plogi()
403 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, in lpfc_rcv_plogi()
407 ndlp->nlp_rpi, vport->port_state, in lpfc_rcv_plogi()
408 vport->fc_flag); in lpfc_rcv_plogi()
410 if (vport->cfg_fcp_class == 2 && sp->cls2.classValid) in lpfc_rcv_plogi()
451 lpfc_els_rsp_acc(vport, ELS_CMD_PLOGI, cmdiocb, in lpfc_rcv_plogi()
457 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, in lpfc_rcv_plogi()
472 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_plogi()
487 if (test_bit(FC_PT2PT, &vport->fc_flag) && in lpfc_rcv_plogi()
488 !test_bit(FC_PT2PT_PLOGI, &vport->fc_flag)) { in lpfc_rcv_plogi()
491 vport->fc_myDID = bf_get(els_rsp64_sid, in lpfc_rcv_plogi()
494 vport->fc_myDID = icmd->un.rcvels.parmRo; in lpfc_rcv_plogi()
527 lpfc_issue_reg_vfi(vport); in lpfc_rcv_plogi()
535 link_mbox->vport = vport; in lpfc_rcv_plogi()
549 lpfc_can_disctmo(vport); in lpfc_rcv_plogi()
575 lpfc_unreg_rpi(vport, ndlp); in lpfc_rcv_plogi()
584 rc = lpfc_reg_rpi(phba, vport->vpi, remote_did, in lpfc_rcv_plogi()
590 login_mbox->vport = vport; in lpfc_rcv_plogi()
603 test_bit(FC_FABRIC, &vport->fc_flag)) { in lpfc_rcv_plogi()
608 if ((vport->port_type == LPFC_NPIV_PORT && in lpfc_rcv_plogi()
609 vport->cfg_restrict_login)) { in lpfc_rcv_plogi()
634 rc = lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, in lpfc_rcv_plogi()
673 lpfc_nlp_set_state(vport, ndlp, NLP_STE_REG_LOGIN_ISSUE); in lpfc_rcv_plogi()
683 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_plogi()
698 struct lpfc_vport *vport; in lpfc_mbx_cmpl_resume_rpi() local
705 vport = mboxq->vport; in lpfc_mbx_cmpl_resume_rpi()
709 lpfc_els_rsp_adisc_acc(vport, elsiocb, ndlp); in lpfc_mbx_cmpl_resume_rpi()
711 lpfc_els_rsp_acc(vport, ELS_CMD_PLOGI, elsiocb, in lpfc_mbx_cmpl_resume_rpi()
723 lpfc_rcv_padisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc() argument
726 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_padisc()
752 lpfc_check_adisc(vport, ndlp, pnn, ppn)) { in lpfc_rcv_padisc()
759 if (vport->phba->sli_rev == LPFC_SLI_REV4) { in lpfc_rcv_padisc()
787 lpfc_els_rsp_adisc_acc(vport, cmdiocb, ndlp); in lpfc_rcv_padisc()
789 lpfc_els_rsp_acc(vport, ELS_CMD_PLOGI, cmdiocb, in lpfc_rcv_padisc()
805 lpfc_nlp_set_state(vport, ndlp, in lpfc_rcv_padisc()
816 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_padisc()
828 lpfc_rcv_logo(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo() argument
831 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo()
841 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_logo()
843 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_logo()
860 if (vport->port_state <= LPFC_FDISC || in lpfc_rcv_logo()
861 test_bit(FC_PT2PT, &vport->fc_flag)) in lpfc_rcv_logo()
863 lpfc_linkdown_port(vport); in lpfc_rcv_logo()
864 set_bit(FC_VPORT_LOGO_RCVD, &vport->fc_flag); in lpfc_rcv_logo()
880 * Don't re-instantiate if vport is marked for deletion. in lpfc_rcv_logo()
884 if (!test_bit(FC_UNLOADING, &vport->load_flag) && in lpfc_rcv_logo()
894 vport->port_state = LPFC_FDISC; in lpfc_rcv_logo()
900 lpfc_printf_vlog(vport, KERN_INFO, in lpfc_rcv_logo()
905 ndlp->nlp_type, vport->fc_flag); in lpfc_rcv_logo()
910 test_bit(FC_PT2PT, &vport->fc_flag))) || in lpfc_rcv_logo()
917 lpfc_printf_vlog(vport, KERN_INFO, in lpfc_rcv_logo()
928 lpfc_nlp_unreg_node(vport, ndlp); in lpfc_rcv_logo()
931 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_logo()
943 lpfc_rcv_prli_support_check(struct lpfc_vport *vport, in lpfc_rcv_prli_support_check() argument
956 if (vport->phba->nvmet_support) { in lpfc_rcv_prli_support_check()
962 if (!vport->nvmei_support && (cmd == ELS_CMD_NVMEPRLI)) in lpfc_rcv_prli_support_check()
966 if (vport->port_type == LPFC_NPIV_PORT && in lpfc_rcv_prli_support_check()
972 lpfc_printf_vlog(vport, KERN_WARNING, LOG_DISCOVERY, in lpfc_rcv_prli_support_check()
977 ndlp->nlp_flag, vport->port_type, in lpfc_rcv_prli_support_check()
982 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, in lpfc_rcv_prli_support_check()
988 lpfc_rcv_prli(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli() argument
991 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_prli()
1034 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_rcv_prli()
1052 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_RPORT, in lpfc_rcv_prli()
1056 if (vport->cfg_enable_fc4_type != LPFC_ENABLE_NVME) in lpfc_rcv_prli()
1062 lpfc_disc_set_adisc(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp) in lpfc_disc_set_adisc() argument
1069 if (!test_bit(FC_PT2PT, &vport->fc_flag)) { in lpfc_disc_set_adisc()
1071 if (vport->cfg_use_adisc && in lpfc_disc_set_adisc()
1072 (test_bit(FC_RSCN_MODE, &vport->fc_flag) || in lpfc_disc_set_adisc()
1081 lpfc_unreg_rpi(vport, ndlp); in lpfc_disc_set_adisc()
1088 * @vport: Pointer to lpfc_vport structure.
1096 lpfc_release_rpi(struct lpfc_hba *phba, struct lpfc_vport *vport, in lpfc_release_rpi() argument
1106 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_release_rpi()
1119 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_release_rpi()
1122 lpfc_unreg_login(phba, vport->vpi, rpi, pmb); in lpfc_release_rpi()
1124 pmb->vport = vport; in lpfc_release_rpi()
1132 (!test_bit(FC_OFFLINE_MODE, &vport->fc_flag))) in lpfc_release_rpi()
1135 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_release_rpi()
1149 lpfc_disc_illegal(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_disc_illegal() argument
1156 phba = vport->phba; in lpfc_disc_illegal()
1161 lpfc_release_rpi(phba, vport, ndlp, rpi); in lpfc_disc_illegal()
1163 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_disc_illegal()
1172 lpfc_cmpl_plogi_illegal(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_plogi_illegal() argument
1181 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_plogi_illegal()
1192 lpfc_rcv_plogi_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_unused_node() argument
1199 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb)) { in lpfc_rcv_plogi_unused_node()
1206 lpfc_rcv_els_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_els_unused_node() argument
1209 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_rcv_els_unused_node()
1214 lpfc_rcv_logo_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_unused_node() argument
1220 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_logo_unused_node()
1226 lpfc_cmpl_logo_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_unused_node() argument
1233 lpfc_device_rm_unused_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_unused_node() argument
1240 lpfc_device_recov_unused_node(struct lpfc_vport *vport, in lpfc_device_recov_unused_node() argument
1248 lpfc_rcv_plogi_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_plogi_issue() argument
1251 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi_plogi_issue()
1265 port_cmp = memcmp(&vport->fc_portname, &sp->portName, in lpfc_rcv_plogi_plogi_issue()
1273 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, in lpfc_rcv_plogi_plogi_issue()
1276 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb) && in lpfc_rcv_plogi_plogi_issue()
1278 vport->num_disc_nodes) { in lpfc_rcv_plogi_plogi_issue()
1281 lpfc_more_plogi(vport); in lpfc_rcv_plogi_plogi_issue()
1282 if (vport->num_disc_nodes == 0) { in lpfc_rcv_plogi_plogi_issue()
1283 clear_bit(FC_NDISC_ACTIVE, &vport->fc_flag); in lpfc_rcv_plogi_plogi_issue()
1284 lpfc_can_disctmo(vport); in lpfc_rcv_plogi_plogi_issue()
1285 lpfc_end_rscn(vport); in lpfc_rcv_plogi_plogi_issue()
1294 lpfc_rcv_prli_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_plogi_issue() argument
1303 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prli_plogi_issue()
1308 lpfc_rcv_logo_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_plogi_issue() argument
1314 if (vport->phba->sli_rev == LPFC_SLI_REV3) in lpfc_rcv_logo_plogi_issue()
1317 lpfc_els_abort(vport->phba, ndlp); in lpfc_rcv_logo_plogi_issue()
1319 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_plogi_issue()
1324 lpfc_rcv_els_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_els_plogi_issue() argument
1327 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_els_plogi_issue()
1334 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_els_plogi_issue()
1336 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_rcv_els_plogi_issue()
1344 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_els_plogi_issue()
1350 lpfc_cmpl_plogi_plogi_issue(struct lpfc_vport *vport, in lpfc_cmpl_plogi_plogi_issue() argument
1355 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_plogi_plogi_issue()
1393 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_plogi_plogi_issue()
1397 if (!lpfc_check_sparm(vport, ndlp, sp, CLASS3, 0)) in lpfc_cmpl_plogi_plogi_issue()
1400 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, in lpfc_cmpl_plogi_plogi_issue()
1404 if (vport->cfg_fcp_class == 2 && (sp->cls2.classValid)) in lpfc_cmpl_plogi_plogi_issue()
1421 if (test_bit(FC_PT2PT, &vport->fc_flag) && in lpfc_cmpl_plogi_plogi_issue()
1422 test_bit(FC_PT2PT_PLOGI, &vport->fc_flag)) { in lpfc_cmpl_plogi_plogi_issue()
1451 lpfc_issue_reg_vfi(vport); in lpfc_cmpl_plogi_plogi_issue()
1455 lpfc_printf_vlog(vport, KERN_ERR, in lpfc_cmpl_plogi_plogi_issue()
1468 mbox->vport = vport; in lpfc_cmpl_plogi_plogi_issue()
1477 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_plogi_plogi_issue()
1481 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_plogi_plogi_issue()
1491 if (lpfc_reg_rpi(phba, vport->vpi, did, in lpfc_cmpl_plogi_plogi_issue()
1511 mbox->vport = vport; in lpfc_cmpl_plogi_plogi_issue()
1514 lpfc_nlp_set_state(vport, ndlp, in lpfc_cmpl_plogi_plogi_issue()
1524 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_plogi_plogi_issue()
1532 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_plogi_plogi_issue()
1542 lpfc_vport_set_state(vport, FC_VPORT_FAILED); in lpfc_cmpl_plogi_plogi_issue()
1543 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_plogi_plogi_issue()
1553 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_plogi_plogi_issue()
1558 lpfc_cmpl_logo_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_plogi_issue() argument
1565 lpfc_cmpl_reglogin_plogi_issue(struct lpfc_vport *vport, in lpfc_cmpl_reglogin_plogi_issue() argument
1573 phba = vport->phba; in lpfc_cmpl_reglogin_plogi_issue()
1578 lpfc_release_rpi(phba, vport, ndlp, rpi); in lpfc_cmpl_reglogin_plogi_issue()
1584 lpfc_device_rm_plogi_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_plogi_issue() argument
1592 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_plogi_issue()
1594 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_plogi_issue()
1599 lpfc_device_recov_plogi_issue(struct lpfc_vport *vport, in lpfc_device_recov_plogi_issue() argument
1604 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_plogi_issue()
1607 if (lpfc_check_unload_and_clr_rscn(&vport->fc_flag)) in lpfc_device_recov_plogi_issue()
1614 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_plogi_issue()
1622 lpfc_rcv_plogi_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_adisc_issue() argument
1625 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_plogi_adisc_issue()
1633 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb)) { in lpfc_rcv_plogi_adisc_issue()
1635 if (vport->num_disc_nodes) in lpfc_rcv_plogi_adisc_issue()
1636 lpfc_more_adisc(vport); in lpfc_rcv_plogi_adisc_issue()
1641 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_plogi_adisc_issue()
1642 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_plogi_adisc_issue()
1648 lpfc_rcv_prli_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_adisc_issue() argument
1653 if (lpfc_rcv_prli_support_check(vport, ndlp, cmdiocb)) in lpfc_rcv_prli_adisc_issue()
1654 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_adisc_issue()
1659 lpfc_rcv_logo_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_adisc_issue() argument
1662 struct lpfc_hba *phba = vport->phba; in lpfc_rcv_logo_adisc_issue()
1670 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_adisc_issue()
1675 lpfc_rcv_padisc_adisc_issue(struct lpfc_vport *vport, in lpfc_rcv_padisc_adisc_issue() argument
1683 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_adisc_issue()
1688 lpfc_rcv_prlo_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_adisc_issue() argument
1696 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_PRLO); in lpfc_rcv_prlo_adisc_issue()
1701 lpfc_cmpl_adisc_adisc_issue(struct lpfc_vport *vport, in lpfc_cmpl_adisc_adisc_issue() argument
1705 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_adisc_adisc_issue()
1719 (!lpfc_check_adisc(vport, ndlp, &ap->nodeName, &ap->portName))) { in lpfc_cmpl_adisc_adisc_issue()
1727 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_adisc_adisc_issue()
1728 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_adisc_adisc_issue()
1749 lpfc_nlp_set_state(vport, ndlp, NLP_STE_MAPPED_NODE); in lpfc_cmpl_adisc_adisc_issue()
1752 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_adisc_adisc_issue()
1759 lpfc_device_rm_adisc_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_adisc_issue() argument
1767 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_adisc_issue()
1769 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_adisc_issue()
1774 lpfc_device_recov_adisc_issue(struct lpfc_vport *vport, in lpfc_device_recov_adisc_issue() argument
1779 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_adisc_issue()
1782 if (lpfc_check_unload_and_clr_rscn(&vport->fc_flag)) in lpfc_device_recov_adisc_issue()
1789 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()
1884 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_reglogin_issue()
1889 lpfc_rcv_padisc_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_padisc_reglogin_issue() argument
1896 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_reglogin_issue()
1901 lpfc_rcv_prlo_reglogin_issue(struct lpfc_vport *vport, in lpfc_rcv_prlo_reglogin_issue() argument
1909 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_reglogin_issue()
1914 lpfc_cmpl_reglogin_reglogin_issue(struct lpfc_vport *vport, in lpfc_cmpl_reglogin_reglogin_issue() argument
1919 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_reglogin_reglogin_issue()
1926 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_reglogin_reglogin_issue()
1929 did, mb->mbxStatus, vport->port_state, in lpfc_cmpl_reglogin_reglogin_issue()
1938 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_reglogin_reglogin_issue()
1948 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_cmpl_reglogin_reglogin_issue()
1959 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_reglogin_reglogin_issue()
1969 if (test_bit(FC_PT2PT, &vport->fc_flag)) { in lpfc_cmpl_reglogin_reglogin_issue()
1975 if ((!test_bit(FC_PT2PT_NO_NVME, &vport->fc_flag)) && in lpfc_cmpl_reglogin_reglogin_issue()
1976 (vport->cfg_enable_fc4_type == LPFC_ENABLE_BOTH || in lpfc_cmpl_reglogin_reglogin_issue()
1977 vport->cfg_enable_fc4_type == LPFC_ENABLE_NVME)) { in lpfc_cmpl_reglogin_reglogin_issue()
1980 lpfc_nvme_update_localport(vport); in lpfc_cmpl_reglogin_reglogin_issue()
1991 if (vport->cfg_enable_fc4_type != LPFC_ENABLE_FCP) { in lpfc_cmpl_reglogin_reglogin_issue()
1992 lpfc_ns_cmd(vport, SLI_CTNS_GFT_ID, 0, in lpfc_cmpl_reglogin_reglogin_issue()
2000 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PRLI_ISSUE); in lpfc_cmpl_reglogin_reglogin_issue()
2001 if (lpfc_issue_els_prli(vport, ndlp, 0)) { in lpfc_cmpl_reglogin_reglogin_issue()
2002 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_cmpl_reglogin_reglogin_issue()
2004 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_reglogin_reglogin_issue()
2007 if (test_bit(FC_PT2PT, &vport->fc_flag) && phba->nvmet_support) in lpfc_cmpl_reglogin_reglogin_issue()
2008 phba->targetport->port_id = vport->fc_myDID; in lpfc_cmpl_reglogin_reglogin_issue()
2016 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_reglogin_reglogin_issue()
2023 lpfc_device_rm_reglogin_issue(struct lpfc_vport *vport, in lpfc_device_rm_reglogin_issue() argument
2032 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_reglogin_issue()
2037 lpfc_device_recov_reglogin_issue(struct lpfc_vport *vport, in lpfc_device_recov_reglogin_issue() argument
2043 if (lpfc_check_unload_and_clr_rscn(&vport->fc_flag)) in lpfc_device_recov_reglogin_issue()
2047 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_reglogin_issue()
2053 !vport->phba->nvmet_support) in lpfc_device_recov_reglogin_issue()
2058 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_reglogin_issue()
2063 lpfc_rcv_plogi_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_prli_issue() argument
2070 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_prli_issue()
2075 lpfc_rcv_prli_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_prli_issue() argument
2080 if (!lpfc_rcv_prli_support_check(vport, ndlp, cmdiocb)) in lpfc_rcv_prli_prli_issue()
2082 lpfc_rcv_prli(vport, ndlp, cmdiocb); in lpfc_rcv_prli_prli_issue()
2083 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_prli_issue()
2088 lpfc_rcv_logo_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_prli_issue() argument
2094 lpfc_els_abort(vport->phba, ndlp); in lpfc_rcv_logo_prli_issue()
2096 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_prli_issue()
2101 lpfc_rcv_padisc_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_prli_issue() argument
2106 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_prli_issue()
2116 lpfc_rcv_prlo_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_prli_issue() argument
2121 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_prli_issue()
2126 lpfc_cmpl_prli_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_prli_prli_issue() argument
2130 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_prli_prli_issue()
2155 if ((vport->port_type == LPFC_NPIV_PORT) && in lpfc_cmpl_prli_prli_issue()
2156 vport->cfg_restrict_login) { in lpfc_cmpl_prli_prli_issue()
2171 lpfc_printf_vlog(vport, KERN_INFO, in lpfc_cmpl_prli_prli_issue()
2249 lpfc_printf_vlog(vport, KERN_INFO, LOG_NVME_DISC, in lpfc_cmpl_prli_prli_issue()
2260 (vport->port_type == LPFC_NPIV_PORT) && in lpfc_cmpl_prli_prli_issue()
2261 vport->cfg_restrict_login) { in lpfc_cmpl_prli_prli_issue()
2263 lpfc_printf_vlog(vport, KERN_INFO, in lpfc_cmpl_prli_prli_issue()
2269 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_cmpl_prli_prli_issue()
2280 lpfc_nlp_set_state(vport, ndlp, NLP_STE_MAPPED_NODE); in lpfc_cmpl_prli_prli_issue()
2283 lpfc_nlp_set_state(vport, ndlp, NLP_STE_UNMAPPED_NODE); in lpfc_cmpl_prli_prli_issue()
2285 lpfc_printf_vlog(vport, in lpfc_cmpl_prli_prli_issue()
2314 lpfc_device_rm_prli_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_prli_issue() argument
2322 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_prli_issue()
2324 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_prli_issue()
2346 lpfc_device_recov_prli_issue(struct lpfc_vport *vport, in lpfc_device_recov_prli_issue() argument
2351 struct lpfc_hba *phba = vport->phba; in lpfc_device_recov_prli_issue()
2354 if (lpfc_check_unload_and_clr_rscn(&vport->fc_flag)) in lpfc_device_recov_prli_issue()
2361 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_prli_issue()
2364 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_prli_issue()
2369 lpfc_rcv_plogi_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_logo_issue() argument
2378 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_plogi_logo_issue()
2383 lpfc_rcv_prli_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_logo_issue() argument
2392 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prli_logo_issue()
2397 lpfc_rcv_logo_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_logo_issue() argument
2403 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_logo_logo_issue()
2408 lpfc_rcv_padisc_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_logo_issue() argument
2417 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_padisc_logo_issue()
2422 lpfc_rcv_prlo_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_logo_issue() argument
2431 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_logo_issue()
2436 lpfc_cmpl_logo_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_logo_issue() argument
2440 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_cmpl_logo_logo_issue()
2443 lpfc_disc_set_adisc(vport, ndlp); in lpfc_cmpl_logo_logo_issue()
2448 lpfc_device_rm_logo_issue(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_logo_issue() argument
2456 lpfc_unreg_rpi(vport, ndlp); in lpfc_device_rm_logo_issue()
2458 lpfc_els_abort(vport->phba, ndlp); in lpfc_device_rm_logo_issue()
2459 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_logo_issue()
2464 lpfc_device_recov_logo_issue(struct lpfc_vport *vport, in lpfc_device_recov_logo_issue() argument
2477 lpfc_rcv_plogi_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_unmap_node() argument
2482 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_unmap_node()
2487 lpfc_rcv_prli_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_unmap_node() argument
2492 if (!lpfc_rcv_prli_support_check(vport, ndlp, cmdiocb)) in lpfc_rcv_prli_unmap_node()
2495 lpfc_rcv_prli(vport, ndlp, cmdiocb); in lpfc_rcv_prli_unmap_node()
2496 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_unmap_node()
2501 lpfc_rcv_logo_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_unmap_node() argument
2506 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_unmap_node()
2511 lpfc_rcv_padisc_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_unmap_node() argument
2516 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_unmap_node()
2521 lpfc_rcv_prlo_unmap_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_unmap_node() argument
2526 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_unmap_node()
2531 lpfc_device_rm_unmap_node(struct lpfc_vport *vport, in lpfc_device_rm_unmap_node() argument
2536 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_unmap_node()
2541 lpfc_device_recov_unmap_node(struct lpfc_vport *vport, in lpfc_device_recov_unmap_node() argument
2547 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_unmap_node()
2553 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_unmap_node()
2559 lpfc_rcv_plogi_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_mapped_node() argument
2564 lpfc_rcv_plogi(vport, ndlp, cmdiocb); in lpfc_rcv_plogi_mapped_node()
2569 lpfc_rcv_prli_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_mapped_node() argument
2574 if (!lpfc_rcv_prli_support_check(vport, ndlp, cmdiocb)) in lpfc_rcv_prli_mapped_node()
2576 lpfc_els_rsp_prli_acc(vport, cmdiocb, ndlp); in lpfc_rcv_prli_mapped_node()
2581 lpfc_rcv_logo_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_mapped_node() argument
2586 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_mapped_node()
2591 lpfc_rcv_padisc_mapped_node(struct lpfc_vport *vport, in lpfc_rcv_padisc_mapped_node() argument
2597 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_mapped_node()
2602 lpfc_rcv_prlo_mapped_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_mapped_node() argument
2608 lpfc_sli_abort_iocb(vport, ndlp->nlp_sid, 0, LPFC_CTX_TGT); in lpfc_rcv_prlo_mapped_node()
2612 lpfc_els_rsp_acc(vport, ELS_CMD_PRLO, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_mapped_node()
2620 lpfc_printf_vlog(vport, KERN_INFO, LOG_NODE | LOG_ELS | LOG_DISCOVERY, in lpfc_rcv_prlo_mapped_node()
2626 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_rcv_prlo_mapped_node()
2632 lpfc_device_recov_mapped_node(struct lpfc_vport *vport, in lpfc_device_recov_mapped_node() argument
2637 lpfc_disc_set_adisc(vport, ndlp); in lpfc_device_recov_mapped_node()
2640 lpfc_nlp_set_state(vport, ndlp, NLP_STE_NPR_NODE); in lpfc_device_recov_mapped_node()
2650 lpfc_rcv_plogi_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_plogi_npr_node() argument
2659 if (lpfc_rcv_plogi(vport, ndlp, cmdiocb)) { in lpfc_rcv_plogi_npr_node()
2660 lpfc_cancel_retry_delay_tmo(vport, ndlp); in lpfc_rcv_plogi_npr_node()
2667 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_plogi_npr_node()
2668 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_plogi_npr_node()
2675 lpfc_rcv_prli_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prli_npr_node() argument
2684 lpfc_els_rsp_reject(vport, stat.un.lsRjtError, cmdiocb, ndlp, NULL); in lpfc_rcv_prli_npr_node()
2695 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_prli_npr_node()
2696 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_prli_npr_node()
2703 lpfc_rcv_logo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_logo_npr_node() argument
2708 lpfc_rcv_logo(vport, ndlp, cmdiocb, ELS_CMD_LOGO); in lpfc_rcv_logo_npr_node()
2713 lpfc_rcv_padisc_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_padisc_npr_node() argument
2718 lpfc_rcv_padisc(vport, ndlp, cmdiocb); in lpfc_rcv_padisc_npr_node()
2734 lpfc_nlp_set_state(vport, ndlp, NLP_STE_PLOGI_ISSUE); in lpfc_rcv_padisc_npr_node()
2735 lpfc_issue_els_plogi(vport, ndlp->nlp_DID, 0); in lpfc_rcv_padisc_npr_node()
2742 lpfc_rcv_prlo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_rcv_prlo_npr_node() argument
2749 lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); in lpfc_rcv_prlo_npr_node()
2764 lpfc_cmpl_plogi_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_plogi_npr_node() argument
2767 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_plogi_npr_node()
2783 lpfc_cmpl_prli_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_prli_npr_node() argument
2786 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_prli_npr_node()
2796 lpfc_drop_node(vport, ndlp); in lpfc_cmpl_prli_npr_node()
2803 lpfc_cmpl_logo_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_logo_npr_node() argument
2808 clear_bit(FC_FABRIC, &vport->fc_flag); in lpfc_cmpl_logo_npr_node()
2809 clear_bit(FC_PUBLIC_LOOP, &vport->fc_flag); in lpfc_cmpl_logo_npr_node()
2811 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_logo_npr_node()
2816 lpfc_cmpl_adisc_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_cmpl_adisc_npr_node() argument
2819 struct lpfc_hba *phba = vport->phba; in lpfc_cmpl_adisc_npr_node()
2829 lpfc_drop_node(vport, ndlp); in lpfc_cmpl_adisc_npr_node()
2836 lpfc_cmpl_reglogin_npr_node(struct lpfc_vport *vport, in lpfc_cmpl_reglogin_npr_node() argument
2845 if (vport->phba->sli_rev < LPFC_SLI_REV4) in lpfc_cmpl_reglogin_npr_node()
2849 lpfc_unreg_rpi(vport, ndlp); in lpfc_cmpl_reglogin_npr_node()
2852 lpfc_drop_node(vport, ndlp); in lpfc_cmpl_reglogin_npr_node()
2860 lpfc_device_rm_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_rm_npr_node() argument
2867 lpfc_drop_node(vport, ndlp); in lpfc_device_rm_npr_node()
2872 lpfc_device_recov_npr_node(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_device_recov_npr_node() argument
2876 if (lpfc_check_unload_and_clr_rscn(&vport->fc_flag)) in lpfc_device_recov_npr_node()
2879 lpfc_cancel_retry_delay_tmo(vport, ndlp); in lpfc_device_recov_npr_node()
3076 lpfc_disc_state_machine(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_disc_state_machine() argument
3093 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_disc_state_machine()
3099 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM, in lpfc_disc_state_machine()
3104 rc = (func) (vport, ndlp, arg, evt); in lpfc_disc_state_machine()
3110 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_disc_state_machine()
3116 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM, in lpfc_disc_state_machine()
3122 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_disc_state_machine()
3125 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_DSM, in lpfc_disc_state_machine()