Lines Matching full:vport
157 struct lpfc_vport *vport = ndlp->vport; in lpfc_ct_reject_event() local
158 struct lpfc_hba *phba = vport->phba; in lpfc_ct_reject_event()
241 cmdiocbq->vport = vport; in lpfc_ct_reject_event()
267 lpfc_printf_vlog(vport, KERN_ERR, LOG_ELS, in lpfc_ct_reject_event()
269 rc, vport->fc_flag); in lpfc_ct_reject_event()
286 struct lpfc_vport *vport = ctiocbq->vport; in lpfc_ct_handle_mibreq() local
294 lpfc_vlog_msg(vport, KERN_WARNING, LOG_ELS, in lpfc_ct_handle_mibreq()
300 /* Ignore traffic received during vport shutdown */ in lpfc_ct_handle_mibreq()
301 if (test_bit(FC_UNLOADING, &vport->load_flag)) in lpfc_ct_handle_mibreq()
304 ndlp = lpfc_findnode_did(vport, did); in lpfc_ct_handle_mibreq()
306 lpfc_vlog_msg(vport, KERN_WARNING, LOG_ELS, in lpfc_ct_handle_mibreq()
315 lpfc_vlog_msg(vport, KERN_WARNING, LOG_ELS, in lpfc_ct_handle_mibreq()
576 * @vport: pointer to a host virtual N_Port data structure.
586 lpfc_gen_req(struct lpfc_vport *vport, struct lpfc_dmabuf *bmp, in lpfc_gen_req() argument
593 struct lpfc_hba *phba = vport->phba; in lpfc_gen_req()
628 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, in lpfc_gen_req()
632 vport->port_state); in lpfc_gen_req()
635 geniocb->vport = vport; in lpfc_gen_req()
655 * @vport: pointer to a host virtual N_Port data structure.
664 lpfc_ct_cmd(struct lpfc_vport *vport, struct lpfc_dmabuf *inmp, in lpfc_ct_cmd() argument
670 struct lpfc_hba *phba = vport->phba; in lpfc_ct_cmd()
689 status = lpfc_gen_req(vport, bmp, inmp, outmp, cmpl, ndlp, in lpfc_ct_cmd()
715 lpfc_prep_node_fc4type(struct lpfc_vport *vport, uint32_t Did, uint8_t fc4_type) in lpfc_prep_node_fc4type() argument
719 if ((vport->port_type != LPFC_NPIV_PORT) || in lpfc_prep_node_fc4type()
720 !(vport->ct_flags & FC_CT_RFF_ID) || !vport->cfg_restrict_login) { in lpfc_prep_node_fc4type()
722 ndlp = lpfc_setup_disc_node(vport, Did); in lpfc_prep_node_fc4type()
725 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_prep_node_fc4type()
727 Did, ndlp->nlp_flag, vport->fc_flag); in lpfc_prep_node_fc4type()
736 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_prep_node_fc4type()
740 ndlp->nlp_state, vport->fc_flag, in lpfc_prep_node_fc4type()
741 vport->fc_rscn_id_cnt); in lpfc_prep_node_fc4type()
749 lpfc_nlp_set_state(vport, ndlp, in lpfc_prep_node_fc4type()
753 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_prep_node_fc4type()
755 Did, vport->fc_flag, vport->fc_rscn_id_cnt); in lpfc_prep_node_fc4type()
757 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_prep_node_fc4type()
760 Did, vport->fc_flag, in lpfc_prep_node_fc4type()
761 vport->fc_rscn_id_cnt, ndlp); in lpfc_prep_node_fc4type()
764 if (!test_bit(FC_RSCN_MODE, &vport->fc_flag) || in lpfc_prep_node_fc4type()
765 lpfc_rscn_payload_check(vport, Did)) { in lpfc_prep_node_fc4type()
766 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_prep_node_fc4type()
768 Did, vport->fc_flag, vport->fc_rscn_id_cnt); in lpfc_prep_node_fc4type()
774 ndlp = lpfc_findnode_did(vport, Did); in lpfc_prep_node_fc4type()
782 lpfc_setup_disc_node(vport, Did); in lpfc_prep_node_fc4type()
783 } else if (lpfc_ns_cmd(vport, SLI_CTNS_GFF_ID, in lpfc_prep_node_fc4type()
785 vport->num_disc_nodes++; in lpfc_prep_node_fc4type()
787 lpfc_setup_disc_node(vport, Did); in lpfc_prep_node_fc4type()
789 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_prep_node_fc4type()
791 Did, vport->fc_flag, vport->fc_rscn_id_cnt); in lpfc_prep_node_fc4type()
793 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_prep_node_fc4type()
796 vport->fc_flag, in lpfc_prep_node_fc4type()
797 vport->fc_rscn_id_cnt); in lpfc_prep_node_fc4type()
803 lpfc_ns_rsp_audit_did(struct lpfc_vport *vport, uint32_t Did, uint8_t fc4_type) in lpfc_ns_rsp_audit_did() argument
805 struct lpfc_hba *phba = vport->phba; in lpfc_ns_rsp_audit_did()
813 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_ns_rsp_audit_did()
822 if (Did != vport->fc_myDID && in lpfc_ns_rsp_audit_did()
824 vport->cfg_peer_port_login)) { in lpfc_ns_rsp_audit_did()
827 lpfc_prep_node_fc4type(vport, Did, fc4_type); in lpfc_ns_rsp_audit_did()
831 list_for_each_entry(ndlp, &vport->fc_nodes, nlp_listp) { in lpfc_ns_rsp_audit_did()
844 lpfc_ns_rsp(struct lpfc_vport *vport, struct lpfc_dmabuf *mp, uint8_t fc4_type, in lpfc_ns_rsp() argument
856 lpfc_set_disctmo(vport); in lpfc_ns_rsp()
857 vport->num_disc_nodes = 0; in lpfc_ns_rsp()
858 vport->fc_ns_retry = 0; in lpfc_ns_rsp()
879 lpfc_ns_rsp_audit_did(vport, Did, fc4_type); in lpfc_ns_rsp()
893 if (vport->phba->nvmet_support) { in lpfc_ns_rsp()
894 list_for_each_entry(ndlp, &vport->fc_nodes, nlp_listp) { in lpfc_ns_rsp()
897 lpfc_disc_state_machine(vport, ndlp, NULL, in lpfc_ns_rsp()
912 struct lpfc_vport *vport = cmdiocb->vport; in lpfc_cmpl_ct_cmd_gid_ft() local
930 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_cmpl_ct_cmd_gid_ft()
932 ulp_status, ulp_word4, vport->fc_ns_retry); in lpfc_cmpl_ct_cmd_gid_ft()
936 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gid_ft()
942 if (vport == phba->pport && test_bit(FC_UNLOADING, &vport->load_flag)) { in lpfc_cmpl_ct_cmd_gid_ft()
943 if (test_bit(FC_RSCN_MODE, &vport->fc_flag)) in lpfc_cmpl_ct_cmd_gid_ft()
944 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gid_ft()
948 if (lpfc_els_chk_latt(vport)) { in lpfc_cmpl_ct_cmd_gid_ft()
949 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gid_ft()
951 if (test_bit(FC_RSCN_MODE, &vport->fc_flag)) in lpfc_cmpl_ct_cmd_gid_ft()
952 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gid_ft()
953 lpfc_vport_set_state(vport, FC_VPORT_FAILED); in lpfc_cmpl_ct_cmd_gid_ft()
956 if (lpfc_error_lost_link(vport, ulp_status, ulp_word4)) { in lpfc_cmpl_ct_cmd_gid_ft()
957 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gid_ft()
961 ulp_status, ulp_word4, vport->fc_flag, in lpfc_cmpl_ct_cmd_gid_ft()
962 vport->port_state, vport->gidft_inp); in lpfc_cmpl_ct_cmd_gid_ft()
963 if (test_bit(FC_RSCN_MODE, &vport->fc_flag)) in lpfc_cmpl_ct_cmd_gid_ft()
964 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gid_ft()
965 if (vport->gidft_inp) in lpfc_cmpl_ct_cmd_gid_ft()
966 vport->gidft_inp--; in lpfc_cmpl_ct_cmd_gid_ft()
970 if (test_and_clear_bit(FC_RSCN_DEFERRED, &vport->fc_flag)) { in lpfc_cmpl_ct_cmd_gid_ft()
974 if (vport->gidft_inp) in lpfc_cmpl_ct_cmd_gid_ft()
975 vport->gidft_inp--; in lpfc_cmpl_ct_cmd_gid_ft()
981 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, in lpfc_cmpl_ct_cmd_gid_ft()
983 vport->fc_flag, vport->fc_rscn_id_cnt); in lpfc_cmpl_ct_cmd_gid_ft()
984 lpfc_els_handle_rscn(vport); in lpfc_cmpl_ct_cmd_gid_ft()
991 if (vport->fc_ns_retry < LPFC_MAX_NS_RETRY) { in lpfc_cmpl_ct_cmd_gid_ft()
995 vport->fc_ns_retry++; in lpfc_cmpl_ct_cmd_gid_ft()
997 type = lpfc_get_gidft_type(vport, cmdiocb); in lpfc_cmpl_ct_cmd_gid_ft()
1002 rc = lpfc_ns_cmd(vport, SLI_CTNS_GID_FT, in lpfc_cmpl_ct_cmd_gid_ft()
1003 vport->fc_ns_retry, type); in lpfc_cmpl_ct_cmd_gid_ft()
1007 if (vport->gidft_inp) in lpfc_cmpl_ct_cmd_gid_ft()
1008 vport->gidft_inp--; in lpfc_cmpl_ct_cmd_gid_ft()
1011 if (test_bit(FC_RSCN_MODE, &vport->fc_flag)) in lpfc_cmpl_ct_cmd_gid_ft()
1012 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gid_ft()
1013 lpfc_vport_set_state(vport, FC_VPORT_FAILED); in lpfc_cmpl_ct_cmd_gid_ft()
1014 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_ct_cmd_gid_ft()
1016 ulp_status, vport->fc_ns_retry); in lpfc_cmpl_ct_cmd_gid_ft()
1023 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gid_ft()
1026 vport->fc_flag, in lpfc_cmpl_ct_cmd_gid_ft()
1028 vport->num_disc_nodes, in lpfc_cmpl_ct_cmd_gid_ft()
1029 vport->gidft_inp, in lpfc_cmpl_ct_cmd_gid_ft()
1032 lpfc_ns_rsp(vport, in lpfc_cmpl_ct_cmd_gid_ft()
1041 lpfc_printf_vlog(vport, KERN_INFO, in lpfc_cmpl_ct_cmd_gid_ft()
1048 vport->fc_flag); in lpfc_cmpl_ct_cmd_gid_ft()
1050 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_cmpl_ct_cmd_gid_ft()
1056 lpfc_printf_vlog(vport, KERN_INFO, in lpfc_cmpl_ct_cmd_gid_ft()
1063 vport->fc_flag); in lpfc_cmpl_ct_cmd_gid_ft()
1065 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_cmpl_ct_cmd_gid_ft()
1075 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_ct_cmd_gid_ft()
1081 vport->fc_flag); in lpfc_cmpl_ct_cmd_gid_ft()
1083 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_cmpl_ct_cmd_gid_ft()
1089 if (vport->gidft_inp) in lpfc_cmpl_ct_cmd_gid_ft()
1090 vport->gidft_inp--; in lpfc_cmpl_ct_cmd_gid_ft()
1093 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gid_ft()
1095 vport->gidft_inp, vport->num_disc_nodes); in lpfc_cmpl_ct_cmd_gid_ft()
1098 if ((vport->num_disc_nodes == 0) && in lpfc_cmpl_ct_cmd_gid_ft()
1099 (vport->gidft_inp == 0)) { in lpfc_cmpl_ct_cmd_gid_ft()
1105 if (vport->port_state >= LPFC_DISC_AUTH) { in lpfc_cmpl_ct_cmd_gid_ft()
1106 if (test_bit(FC_RSCN_MODE, &vport->fc_flag)) { in lpfc_cmpl_ct_cmd_gid_ft()
1107 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gid_ft()
1109 set_bit(FC_RSCN_MODE, &vport->fc_flag); in lpfc_cmpl_ct_cmd_gid_ft()
1111 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gid_ft()
1115 lpfc_disc_start(vport); in lpfc_cmpl_ct_cmd_gid_ft()
1127 struct lpfc_vport *vport = cmdiocb->vport; in lpfc_cmpl_ct_cmd_gid_pt() local
1145 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_cmpl_ct_cmd_gid_pt()
1148 vport->fc_ns_retry); in lpfc_cmpl_ct_cmd_gid_pt()
1152 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gid_pt()
1158 if (vport == phba->pport && test_bit(FC_UNLOADING, &vport->load_flag)) { in lpfc_cmpl_ct_cmd_gid_pt()
1159 if (test_bit(FC_RSCN_MODE, &vport->fc_flag)) in lpfc_cmpl_ct_cmd_gid_pt()
1160 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gid_pt()
1164 if (lpfc_els_chk_latt(vport)) { in lpfc_cmpl_ct_cmd_gid_pt()
1165 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gid_pt()
1167 if (test_bit(FC_RSCN_MODE, &vport->fc_flag)) in lpfc_cmpl_ct_cmd_gid_pt()
1168 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gid_pt()
1169 lpfc_vport_set_state(vport, FC_VPORT_FAILED); in lpfc_cmpl_ct_cmd_gid_pt()
1172 if (lpfc_error_lost_link(vport, ulp_status, ulp_word4)) { in lpfc_cmpl_ct_cmd_gid_pt()
1173 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gid_pt()
1177 ulp_status, ulp_word4, vport->fc_flag, in lpfc_cmpl_ct_cmd_gid_pt()
1178 vport->port_state, vport->gidft_inp); in lpfc_cmpl_ct_cmd_gid_pt()
1179 if (test_bit(FC_RSCN_MODE, &vport->fc_flag)) in lpfc_cmpl_ct_cmd_gid_pt()
1180 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gid_pt()
1181 if (vport->gidft_inp) in lpfc_cmpl_ct_cmd_gid_pt()
1182 vport->gidft_inp--; in lpfc_cmpl_ct_cmd_gid_pt()
1186 if (test_and_clear_bit(FC_RSCN_DEFERRED, &vport->fc_flag)) { in lpfc_cmpl_ct_cmd_gid_pt()
1190 if (vport->gidft_inp) in lpfc_cmpl_ct_cmd_gid_pt()
1191 vport->gidft_inp--; in lpfc_cmpl_ct_cmd_gid_pt()
1197 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, in lpfc_cmpl_ct_cmd_gid_pt()
1199 vport->fc_flag, vport->fc_rscn_id_cnt); in lpfc_cmpl_ct_cmd_gid_pt()
1200 lpfc_els_handle_rscn(vport); in lpfc_cmpl_ct_cmd_gid_pt()
1207 if (vport->fc_ns_retry < LPFC_MAX_NS_RETRY) { in lpfc_cmpl_ct_cmd_gid_pt()
1211 vport->fc_ns_retry++; in lpfc_cmpl_ct_cmd_gid_pt()
1214 rc = lpfc_ns_cmd(vport, SLI_CTNS_GID_PT, in lpfc_cmpl_ct_cmd_gid_pt()
1215 vport->fc_ns_retry, GID_PT_N_PORT); in lpfc_cmpl_ct_cmd_gid_pt()
1219 if (vport->gidft_inp) in lpfc_cmpl_ct_cmd_gid_pt()
1220 vport->gidft_inp--; in lpfc_cmpl_ct_cmd_gid_pt()
1223 if (test_bit(FC_RSCN_MODE, &vport->fc_flag)) in lpfc_cmpl_ct_cmd_gid_pt()
1224 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gid_pt()
1225 lpfc_vport_set_state(vport, FC_VPORT_FAILED); in lpfc_cmpl_ct_cmd_gid_pt()
1226 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_ct_cmd_gid_pt()
1228 ulp_status, vport->fc_ns_retry); in lpfc_cmpl_ct_cmd_gid_pt()
1235 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gid_pt()
1238 vport->fc_flag, in lpfc_cmpl_ct_cmd_gid_pt()
1240 vport->num_disc_nodes, in lpfc_cmpl_ct_cmd_gid_pt()
1241 vport->gidft_inp, in lpfc_cmpl_ct_cmd_gid_pt()
1244 lpfc_ns_rsp(vport, in lpfc_cmpl_ct_cmd_gid_pt()
1254 vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gid_pt()
1260 vport->fc_flag); in lpfc_cmpl_ct_cmd_gid_pt()
1263 vport, LPFC_DISC_TRC_CT, in lpfc_cmpl_ct_cmd_gid_pt()
1270 vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gid_pt()
1276 vport->fc_flag); in lpfc_cmpl_ct_cmd_gid_pt()
1279 vport, LPFC_DISC_TRC_CT, in lpfc_cmpl_ct_cmd_gid_pt()
1287 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_ct_cmd_gid_pt()
1293 vport->fc_flag); in lpfc_cmpl_ct_cmd_gid_pt()
1296 vport, LPFC_DISC_TRC_CT, in lpfc_cmpl_ct_cmd_gid_pt()
1302 if (vport->gidft_inp) in lpfc_cmpl_ct_cmd_gid_pt()
1303 vport->gidft_inp--; in lpfc_cmpl_ct_cmd_gid_pt()
1306 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gid_pt()
1308 vport->gidft_inp, vport->num_disc_nodes); in lpfc_cmpl_ct_cmd_gid_pt()
1311 if ((vport->num_disc_nodes == 0) && in lpfc_cmpl_ct_cmd_gid_pt()
1312 (vport->gidft_inp == 0)) { in lpfc_cmpl_ct_cmd_gid_pt()
1318 if (vport->port_state >= LPFC_DISC_AUTH) { in lpfc_cmpl_ct_cmd_gid_pt()
1319 if (test_bit(FC_RSCN_MODE, &vport->fc_flag)) { in lpfc_cmpl_ct_cmd_gid_pt()
1320 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gid_pt()
1322 set_bit(FC_RSCN_MODE, &vport->fc_flag); in lpfc_cmpl_ct_cmd_gid_pt()
1324 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gid_pt()
1328 lpfc_disc_start(vport); in lpfc_cmpl_ct_cmd_gid_pt()
1339 struct lpfc_vport *vport = cmdiocb->vport; in lpfc_cmpl_ct_cmd_gff_id() local
1352 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_cmpl_ct_cmd_gff_id()
1358 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gff_id()
1368 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gff_id()
1379 lpfc_printf_vlog(vport, KERN_INFO, in lpfc_cmpl_ct_cmd_gff_id()
1384 vport->fc_rscn_id_cnt); in lpfc_cmpl_ct_cmd_gff_id()
1416 rc = lpfc_ns_cmd(vport, SLI_CTNS_GFF_ID, in lpfc_cmpl_ct_cmd_gff_id()
1427 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_ct_cmd_gff_id()
1431 vport->fc_flag, vport->fc_rscn_id_cnt); in lpfc_cmpl_ct_cmd_gff_id()
1435 ndlp = lpfc_setup_disc_node(vport, did); in lpfc_cmpl_ct_cmd_gff_id()
1437 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gff_id()
1440 did, ndlp->nlp_flag, vport->fc_flag, in lpfc_cmpl_ct_cmd_gff_id()
1441 vport->fc_rscn_id_cnt); in lpfc_cmpl_ct_cmd_gff_id()
1443 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gff_id()
1446 vport->fc_flag, vport->fc_rscn_id_cnt); in lpfc_cmpl_ct_cmd_gff_id()
1450 if (vport->num_disc_nodes) in lpfc_cmpl_ct_cmd_gff_id()
1451 vport->num_disc_nodes--; in lpfc_cmpl_ct_cmd_gff_id()
1453 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gff_id()
1455 vport->gidft_inp, vport->num_disc_nodes); in lpfc_cmpl_ct_cmd_gff_id()
1457 if (vport->num_disc_nodes == 0) { in lpfc_cmpl_ct_cmd_gff_id()
1463 if (vport->port_state >= LPFC_DISC_AUTH) { in lpfc_cmpl_ct_cmd_gff_id()
1464 if (test_bit(FC_RSCN_MODE, &vport->fc_flag)) { in lpfc_cmpl_ct_cmd_gff_id()
1465 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gff_id()
1467 set_bit(FC_RSCN_MODE, &vport->fc_flag); in lpfc_cmpl_ct_cmd_gff_id()
1469 lpfc_els_flush_rscn(vport); in lpfc_cmpl_ct_cmd_gff_id()
1472 lpfc_disc_start(vport); in lpfc_cmpl_ct_cmd_gff_id()
1486 struct lpfc_vport *vport = cmdiocb->vport; in lpfc_cmpl_ct_cmd_gft_id() local
1500 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_cmpl_ct_cmd_gft_id()
1506 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gft_id()
1517 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gft_id()
1530 ndlp = lpfc_findnode_did(vport, did); in lpfc_cmpl_ct_cmd_gft_id()
1540 lpfc_printf_vlog(vport, KERN_INFO, in lpfc_cmpl_ct_cmd_gft_id()
1552 lpfc_nlp_set_state(vport, ndlp, in lpfc_cmpl_ct_cmd_gft_id()
1554 lpfc_issue_els_prli(vport, ndlp, 0); in lpfc_cmpl_ct_cmd_gft_id()
1557 lpfc_printf_vlog(vport, KERN_INFO, in lpfc_cmpl_ct_cmd_gft_id()
1564 lpfc_issue_els_logo(vport, ndlp, 0); in lpfc_cmpl_ct_cmd_gft_id()
1566 lpfc_nlp_set_state(vport, ndlp, in lpfc_cmpl_ct_cmd_gft_id()
1571 lpfc_vlog_msg(vport, KERN_WARNING, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_gft_id()
1583 struct lpfc_vport *vport = cmdiocb->vport; in lpfc_cmpl_ct() local
1607 latt = lpfc_els_chk_latt(vport); in lpfc_cmpl_ct()
1610 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct()
1617 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_cmpl_ct()
1622 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_cmpl_ct()
1638 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_cmpl_ct()
1640 rc = lpfc_ns_cmd(vport, cmdcode, retry, 0); in lpfc_cmpl_ct()
1647 * wait obj and clear flag to reset the vport. in lpfc_cmpl_ct()
1665 struct lpfc_vport *vport = cmdiocb->vport; in lpfc_cmpl_ct_cmd_rft_id() local
1676 vport->ct_flags |= FC_CT_RFT_ID; in lpfc_cmpl_ct_cmd_rft_id()
1686 struct lpfc_vport *vport = cmdiocb->vport; in lpfc_cmpl_ct_cmd_rnn_id() local
1697 vport->ct_flags |= FC_CT_RNN_ID; in lpfc_cmpl_ct_cmd_rnn_id()
1707 struct lpfc_vport *vport = cmdiocb->vport; in lpfc_cmpl_ct_cmd_rspn_id() local
1718 vport->ct_flags |= FC_CT_RSPN_ID; in lpfc_cmpl_ct_cmd_rspn_id()
1728 struct lpfc_vport *vport = cmdiocb->vport; in lpfc_cmpl_ct_cmd_rsnn_nn() local
1739 vport->ct_flags |= FC_CT_RSNN_NN; in lpfc_cmpl_ct_cmd_rsnn_nn()
1749 struct lpfc_vport *vport = cmdiocb->vport; in lpfc_cmpl_ct_cmd_da_id() local
1752 vport->ct_flags = 0; in lpfc_cmpl_ct_cmd_da_id()
1761 struct lpfc_vport *vport = cmdiocb->vport; in lpfc_cmpl_ct_cmd_rff_id() local
1772 vport->ct_flags |= FC_CT_RFF_ID; in lpfc_cmpl_ct_cmd_rff_id()
1784 lpfc_vport_symbolic_port_name(struct lpfc_vport *vport, char *symbol, in lpfc_vport_symbolic_port_name() argument
1794 n = scnprintf(symbol, size, "%d", vport->phba->brd_no); in lpfc_vport_symbolic_port_name()
1800 lpfc_vport_symbolic_node_name(struct lpfc_vport *vport, char *symbol, in lpfc_vport_symbolic_node_name() argument
1808 scnprintf(tmp, sizeof(tmp), "Emulex %s", vport->phba->ModelName); in lpfc_vport_symbolic_node_name()
1812 lpfc_decode_firmware_rev(vport->phba, fwrev, 0); in lpfc_vport_symbolic_node_name()
1821 scnprintf(tmp, sizeof(tmp), " HN:%s", vport->phba->os_host_name); in lpfc_vport_symbolic_node_name()
1835 lpfc_find_map_node(struct lpfc_vport *vport) in lpfc_find_map_node() argument
1841 spin_lock_irqsave(&vport->fc_nodes_list_lock, iflags); in lpfc_find_map_node()
1842 list_for_each_entry_safe(ndlp, next_ndlp, &vport->fc_nodes, nlp_listp) { in lpfc_find_map_node()
1849 spin_unlock_irqrestore(&vport->fc_nodes_list_lock, iflags); in lpfc_find_map_node()
1858 lpfc_get_gidft_type(struct lpfc_vport *vport, struct lpfc_iocbq *cmdiocb) in lpfc_get_gidft_type() argument
1882 lpfc_ns_cmd(struct lpfc_vport *vport, int cmdcode, in lpfc_ns_cmd() argument
1886 struct lpfc_hba *phba = vport->phba; in lpfc_ns_cmd()
1897 ndlp = lpfc_findnode_did(vport, NameServer_DID); in lpfc_ns_cmd()
1933 lpfc_printf_vlog(vport, KERN_INFO ,LOG_DISCOVERY, in lpfc_ns_cmd()
1935 cmdcode, vport->fc_flag, vport->fc_rscn_id_cnt, in lpfc_ns_cmd()
1980 if (vport->port_state < LPFC_NS_QRY) in lpfc_ns_cmd()
1981 vport->port_state = LPFC_NS_QRY; in lpfc_ns_cmd()
1982 lpfc_set_disctmo(vport); in lpfc_ns_cmd()
1992 if (vport->port_state < LPFC_NS_QRY) in lpfc_ns_cmd()
1993 vport->port_state = LPFC_NS_QRY; in lpfc_ns_cmd()
1994 lpfc_set_disctmo(vport); in lpfc_ns_cmd()
2014 vport->ct_flags &= ~FC_CT_RFT_ID; in lpfc_ns_cmd()
2017 CtReq->un.rft.port_id = cpu_to_be32(vport->fc_myDID); in lpfc_ns_cmd()
2025 if (vport->cfg_enable_fc4_type == LPFC_ENABLE_BOTH || in lpfc_ns_cmd()
2026 vport->cfg_enable_fc4_type == LPFC_ENABLE_FCP) in lpfc_ns_cmd()
2030 if (vport->cfg_enable_fc4_type == LPFC_ENABLE_BOTH || in lpfc_ns_cmd()
2031 vport->cfg_enable_fc4_type == LPFC_ENABLE_NVME) in lpfc_ns_cmd()
2035 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_ns_cmd()
2048 vport->ct_flags &= ~FC_CT_RNN_ID; in lpfc_ns_cmd()
2051 CtReq->un.rnn.PortId = cpu_to_be32(vport->fc_myDID); in lpfc_ns_cmd()
2052 memcpy(CtReq->un.rnn.wwnn, &vport->fc_nodename, in lpfc_ns_cmd()
2058 vport->ct_flags &= ~FC_CT_RSPN_ID; in lpfc_ns_cmd()
2061 CtReq->un.rspn.PortId = cpu_to_be32(vport->fc_myDID); in lpfc_ns_cmd()
2064 lpfc_vport_symbolic_port_name(vport, in lpfc_ns_cmd()
2069 vport->ct_flags &= ~FC_CT_RSNN_NN; in lpfc_ns_cmd()
2072 memcpy(CtReq->un.rsnn.wwnn, &vport->fc_nodename, in lpfc_ns_cmd()
2076 lpfc_vport_symbolic_node_name(vport, in lpfc_ns_cmd()
2084 CtReq->un.da_id.port_id = cpu_to_be32(vport->fc_myDID); in lpfc_ns_cmd()
2088 vport->ct_flags &= ~FC_CT_RFF_ID; in lpfc_ns_cmd()
2091 CtReq->un.rff.PortId = cpu_to_be32(vport->fc_myDID); in lpfc_ns_cmd()
2098 if (((vport->cfg_enable_fc4_type == LPFC_ENABLE_BOTH) || in lpfc_ns_cmd()
2099 (vport->cfg_enable_fc4_type == LPFC_ENABLE_NVME)) && in lpfc_ns_cmd()
2101 if ((vport == phba->pport) && phba->nvmet_support) { in lpfc_ns_cmd()
2106 lpfc_nvme_update_localport(vport); in lpfc_ns_cmd()
2110 } else if (((vport->cfg_enable_fc4_type == LPFC_ENABLE_BOTH) || in lpfc_ns_cmd()
2111 (vport->cfg_enable_fc4_type == LPFC_ENABLE_FCP)) && in lpfc_ns_cmd()
2119 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_ns_cmd()
2132 if (!lpfc_ct_cmd(vport, mp, bmp, ndlp, cmpl, rsp_size, retry)) { in lpfc_ns_cmd()
2134 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_ns_cmd()
2150 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT, in lpfc_ns_cmd()
2153 cmdcode, rc, vport->fc_flag, vport->fc_rscn_id_cnt); in lpfc_ns_cmd()
2170 struct lpfc_vport *vport; in lpfc_fdmi_rprt_defer() local
2178 vport = vports[i]; in lpfc_fdmi_rprt_defer()
2182 if (vport->ct_flags & FC_CT_RPRT_DEFER) { in lpfc_fdmi_rprt_defer()
2183 vport->ct_flags &= ~FC_CT_RPRT_DEFER; in lpfc_fdmi_rprt_defer()
2184 vport->fdmi_port_mask = mask; in lpfc_fdmi_rprt_defer()
2185 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_RPRT, 0); in lpfc_fdmi_rprt_defer()
2205 struct lpfc_vport *vport = cmdiocb->vport; in lpfc_cmpl_ct_disc_fdmi() local
2217 latt = lpfc_els_chk_latt(vport); in lpfc_cmpl_ct_disc_fdmi()
2218 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT, in lpfc_cmpl_ct_disc_fdmi()
2223 lpfc_printf_vlog(vport, KERN_WARNING, LOG_DISCOVERY, in lpfc_cmpl_ct_disc_fdmi()
2272 ndlp = lpfc_findnode_did(vport, FDMI_DID); in lpfc_cmpl_ct_disc_fdmi()
2280 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY | LOG_ELS, in lpfc_cmpl_ct_disc_fdmi()
2286 if (vport->fdmi_hba_mask == LPFC_FDMI2_HBA_ATTR) { in lpfc_cmpl_ct_disc_fdmi()
2288 vport->fdmi_hba_mask = LPFC_FDMI1_HBA_ATTR; in lpfc_cmpl_ct_disc_fdmi()
2293 vport->fdmi_port_mask = LPFC_FDMI1_PORT_ATTR; in lpfc_cmpl_ct_disc_fdmi()
2295 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_DHBA, 0); in lpfc_cmpl_ct_disc_fdmi()
2300 if (vport->port_type != LPFC_PHYSICAL_PORT) { in lpfc_cmpl_ct_disc_fdmi()
2305 if (vport->fdmi_port_mask == LPFC_FDMI2_PORT_ATTR) { in lpfc_cmpl_ct_disc_fdmi()
2307 vport->fdmi_port_mask = LPFC_FDMI1_PORT_ATTR; in lpfc_cmpl_ct_disc_fdmi()
2309 lpfc_fdmi_cmd(vport, ndlp, cmd, 0); in lpfc_cmpl_ct_disc_fdmi()
2312 if (vport->fdmi_port_mask == LPFC_FDMI2_SMART_ATTR) { in lpfc_cmpl_ct_disc_fdmi()
2313 vport->fdmi_port_mask = LPFC_FDMI2_PORT_ATTR; in lpfc_cmpl_ct_disc_fdmi()
2315 lpfc_fdmi_cmd(vport, ndlp, cmd, 0); in lpfc_cmpl_ct_disc_fdmi()
2330 if (vport->fdmi_port_mask == LPFC_FDMI2_PORT_ATTR) { in lpfc_cmpl_ct_disc_fdmi()
2332 vport->fdmi_hba_mask = LPFC_FDMI1_HBA_ATTR; in lpfc_cmpl_ct_disc_fdmi()
2333 vport->fdmi_port_mask = LPFC_FDMI1_PORT_ATTR; in lpfc_cmpl_ct_disc_fdmi()
2335 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_DHBA, 0); in lpfc_cmpl_ct_disc_fdmi()
2338 if (vport->fdmi_port_mask == LPFC_FDMI2_SMART_ATTR) { in lpfc_cmpl_ct_disc_fdmi()
2339 vport->fdmi_port_mask = LPFC_FDMI2_PORT_ATTR; in lpfc_cmpl_ct_disc_fdmi()
2341 lpfc_fdmi_cmd(vport, ndlp, cmd, 0); in lpfc_cmpl_ct_disc_fdmi()
2355 lpfc_fdmi_rprt_defer(phba, vport->fdmi_port_mask); in lpfc_cmpl_ct_disc_fdmi()
2357 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_RPA, 0); in lpfc_cmpl_ct_disc_fdmi()
2361 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_DPRT, 0); in lpfc_cmpl_ct_disc_fdmi()
2365 if (vport->port_type == LPFC_PHYSICAL_PORT) { in lpfc_cmpl_ct_disc_fdmi()
2366 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_RHBA, 0); in lpfc_cmpl_ct_disc_fdmi()
2372 /* Only issue a RPRT for the vport if the RHBA in lpfc_cmpl_ct_disc_fdmi()
2377 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_RPRT, 0); in lpfc_cmpl_ct_disc_fdmi()
2379 lpfc_printf_vlog(vport, KERN_INFO, in lpfc_cmpl_ct_disc_fdmi()
2382 vport->ct_flags |= FC_CT_RPRT_DEFER; in lpfc_cmpl_ct_disc_fdmi()
2387 if (vport->port_type == LPFC_PHYSICAL_PORT && in lpfc_cmpl_ct_disc_fdmi()
2391 lpfc_printf_vlog(vport, KERN_INFO, in lpfc_cmpl_ct_disc_fdmi()
2405 if (lpfc_fdmi_cmd(vport, ndlp, cmd, in lpfc_cmpl_ct_disc_fdmi()
2427 * @vport: pointer to a host virtual N_Port data structure.
2435 lpfc_fdmi_change_check(struct lpfc_vport *vport) in lpfc_fdmi_change_check() argument
2437 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_change_check()
2445 if (!test_bit(FC_FABRIC, &vport->fc_flag)) in lpfc_fdmi_change_check()
2448 ndlp = lpfc_findnode_did(vport, FDMI_DID); in lpfc_fdmi_change_check()
2457 lpfc_ns_cmd(vport, SLI_CTNS_RSNN_NN, 0, 0); in lpfc_fdmi_change_check()
2464 if (vport->port_type == LPFC_PHYSICAL_PORT) { in lpfc_fdmi_change_check()
2467 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_DHBA, 0); in lpfc_fdmi_change_check()
2472 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_DPRT, 0); in lpfc_fdmi_change_check()
2481 if (!(vport->fdmi_port_mask & LPFC_FDMI_PORT_ATTR_num_disc)) in lpfc_fdmi_change_check()
2485 cnt = lpfc_find_map_node(vport); in lpfc_fdmi_change_check()
2486 if (cnt == vport->fdmi_num_disc) in lpfc_fdmi_change_check()
2489 if (vport->port_type == LPFC_PHYSICAL_PORT) { in lpfc_fdmi_change_check()
2490 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_RPA, in lpfc_fdmi_change_check()
2496 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_RPRT, in lpfc_fdmi_change_check()
2602 lpfc_fdmi_hba_attr_wwnn(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_wwnn() argument
2605 &vport->fc_sparam.nodeName); in lpfc_fdmi_hba_attr_wwnn()
2609 lpfc_fdmi_hba_attr_manufacturer(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_manufacturer() argument
2619 lpfc_fdmi_hba_attr_sn(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_sn() argument
2621 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_hba_attr_sn()
2628 lpfc_fdmi_hba_attr_model(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_model() argument
2630 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_hba_attr_model()
2637 lpfc_fdmi_hba_attr_description(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_description() argument
2639 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_hba_attr_description()
2646 lpfc_fdmi_hba_attr_hdw_ver(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_hdw_ver() argument
2648 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_hba_attr_hdw_ver()
2658 lpfc_fdmi_hba_attr_drvr_ver(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_drvr_ver() argument
2665 lpfc_fdmi_hba_attr_rom_ver(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_rom_ver() argument
2667 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_hba_attr_rom_ver()
2682 lpfc_fdmi_hba_attr_fmw_ver(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_fmw_ver() argument
2684 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_hba_attr_fmw_ver()
2693 lpfc_fdmi_hba_attr_os_ver(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_os_ver() argument
2706 lpfc_fdmi_hba_attr_ct_len(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_ct_len() argument
2713 lpfc_fdmi_hba_attr_symbolic_name(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_symbolic_name() argument
2717 lpfc_vport_symbolic_node_name(vport, buf, sizeof(buf)); in lpfc_fdmi_hba_attr_symbolic_name()
2723 lpfc_fdmi_hba_attr_vendor_info(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_vendor_info() argument
2729 lpfc_fdmi_hba_attr_num_ports(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_num_ports() argument
2736 lpfc_fdmi_hba_attr_fabric_wwnn(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_fabric_wwnn() argument
2739 &vport->fabric_nodename); in lpfc_fdmi_hba_attr_fabric_wwnn()
2743 lpfc_fdmi_hba_attr_bios_ver(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_bios_ver() argument
2745 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_hba_attr_bios_ver()
2752 lpfc_fdmi_hba_attr_bios_state(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_bios_state() argument
2759 lpfc_fdmi_hba_attr_vendor_id(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_hba_attr_vendor_id() argument
2769 lpfc_fdmi_port_attr_fc4type(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_fc4type() argument
2771 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_port_attr_fc4type()
2777 if ((phba->sli_rev == LPFC_SLI_REV4) && (vport == phba->pport) && in lpfc_fdmi_port_attr_fc4type()
2786 lpfc_fdmi_port_attr_support_speed(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_support_speed() argument
2788 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_port_attr_support_speed()
2862 lpfc_fdmi_port_attr_speed(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_speed() argument
2864 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_port_attr_speed()
2927 lpfc_fdmi_port_attr_max_frame(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_max_frame() argument
2929 struct serv_parm *hsp = (struct serv_parm *)&vport->fc_sparam; in lpfc_fdmi_port_attr_max_frame()
2937 lpfc_fdmi_port_attr_os_devname(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_os_devname() argument
2939 struct Scsi_Host *shost = lpfc_shost_from_vport(vport); in lpfc_fdmi_port_attr_os_devname()
2949 lpfc_fdmi_port_attr_host_name(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_host_name() argument
2953 scnprintf(buf, sizeof(buf), "%s", vport->phba->os_host_name); in lpfc_fdmi_port_attr_host_name()
2959 lpfc_fdmi_port_attr_wwnn(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_wwnn() argument
2962 &vport->fc_sparam.nodeName); in lpfc_fdmi_port_attr_wwnn()
2966 lpfc_fdmi_port_attr_wwpn(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_wwpn() argument
2969 &vport->fc_sparam.portName); in lpfc_fdmi_port_attr_wwpn()
2973 lpfc_fdmi_port_attr_symbolic_name(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_symbolic_name() argument
2977 lpfc_vport_symbolic_port_name(vport, buf, sizeof(buf)); in lpfc_fdmi_port_attr_symbolic_name()
2983 lpfc_fdmi_port_attr_port_type(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_port_type() argument
2985 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_port_attr_port_type()
2994 lpfc_fdmi_port_attr_class(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_class() argument
3001 lpfc_fdmi_port_attr_fabric_wwpn(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_fabric_wwpn() argument
3004 &vport->fabric_portname); in lpfc_fdmi_port_attr_fabric_wwpn()
3008 lpfc_fdmi_port_attr_active_fc4type(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_active_fc4type() argument
3010 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_port_attr_active_fc4type()
3016 if (vport == phba->pport && in lpfc_fdmi_port_attr_active_fc4type()
3025 lpfc_fdmi_port_attr_port_state(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_port_state() argument
3032 lpfc_fdmi_port_attr_num_disc(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_num_disc() argument
3034 vport->fdmi_num_disc = lpfc_find_map_node(vport); in lpfc_fdmi_port_attr_num_disc()
3037 vport->fdmi_num_disc); in lpfc_fdmi_port_attr_num_disc()
3041 lpfc_fdmi_port_attr_nportid(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_port_attr_nportid() argument
3043 return lpfc_fdmi_set_attr_u32(attr, RPRT_PORT_ID, vport->fc_myDID); in lpfc_fdmi_port_attr_nportid()
3047 lpfc_fdmi_smart_attr_service(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_smart_attr_service() argument
3054 lpfc_fdmi_smart_attr_guid(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_smart_attr_guid() argument
3057 &vport->fc_sparam.nodeName, in lpfc_fdmi_smart_attr_guid()
3058 &vport->fc_sparam.portName); in lpfc_fdmi_smart_attr_guid()
3062 lpfc_fdmi_smart_attr_version(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_smart_attr_version() argument
3069 lpfc_fdmi_smart_attr_model(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_smart_attr_model() argument
3071 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_smart_attr_model()
3078 lpfc_fdmi_smart_attr_port_info(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_smart_attr_port_info() argument
3083 (vport->vpi) ? 2 /* NPIV */ : 1 /* Physical */); in lpfc_fdmi_smart_attr_port_info()
3087 lpfc_fdmi_smart_attr_qos(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_smart_attr_qos() argument
3093 lpfc_fdmi_smart_attr_security(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_smart_attr_security() argument
3099 lpfc_fdmi_vendor_attr_mi(struct lpfc_vport *vport, void *attr) in lpfc_fdmi_vendor_attr_mi() argument
3101 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_vendor_attr_mi()
3111 (struct lpfc_vport *vport, void *attrbuf) = {
3135 (struct lpfc_vport *vport, void *attrbuf) = {
3165 * @vport: pointer to a host virtual N_Port data structure.
3173 lpfc_fdmi_cmd(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp, in lpfc_fdmi_cmd() argument
3176 struct lpfc_hba *phba = vport->phba; in lpfc_fdmi_cmd()
3188 int (*func)(struct lpfc_vport *vport, void *attrbuf); in lpfc_fdmi_cmd()
3224 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_fdmi_cmd()
3226 cmdcode, new_mask, vport->fdmi_port_mask, in lpfc_fdmi_cmd()
3227 vport->fc_flag, vport->port_state); in lpfc_fdmi_cmd()
3270 mask = vport->fdmi_hba_mask; in lpfc_fdmi_cmd()
3276 addsz = func(vport, ((uint8_t *)rh + size)); in lpfc_fdmi_cmd()
3296 if (vport->port_type != LPFC_PHYSICAL_PORT) { in lpfc_fdmi_cmd()
3320 (uint8_t *)&vport->fc_sparam.portName, in lpfc_fdmi_cmd()
3330 mask = vport->fdmi_port_mask; in lpfc_fdmi_cmd()
3336 addsz = func(vport, ((uint8_t *)base + size)); in lpfc_fdmi_cmd()
3362 (uint8_t *)&vport->fc_sparam.portName, in lpfc_fdmi_cmd()
3372 if (vport->port_type != LPFC_PHYSICAL_PORT) { in lpfc_fdmi_cmd()
3381 (uint8_t *)&vport->fc_sparam.portName, in lpfc_fdmi_cmd()
3389 lpfc_printf_vlog(vport, KERN_WARNING, LOG_DISCOVERY, in lpfc_fdmi_cmd()
3407 if (!lpfc_ct_cmd(vport, rq, rsp, ndlp, cmpl, rsp_size, 0)) in lpfc_fdmi_cmd()
3420 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_fdmi_cmd()
3436 struct lpfc_vport *vport = from_timer(vport, t, delayed_disc_tmo); in lpfc_delayed_disc_tmo() local
3437 struct lpfc_hba *phba = vport->phba; in lpfc_delayed_disc_tmo()
3441 spin_lock_irqsave(&vport->work_port_lock, iflag); in lpfc_delayed_disc_tmo()
3442 tmo_posted = vport->work_port_events & WORKER_DELAYED_DISC_TMO; in lpfc_delayed_disc_tmo()
3444 vport->work_port_events |= WORKER_DELAYED_DISC_TMO; in lpfc_delayed_disc_tmo()
3445 spin_unlock_irqrestore(&vport->work_port_lock, iflag); in lpfc_delayed_disc_tmo()
3455 * @vport: pointer to a host virtual N_Port data structure.
3457 * This function start nport discovery of the vport.
3460 lpfc_delayed_disc_timeout_handler(struct lpfc_vport *vport) in lpfc_delayed_disc_timeout_handler() argument
3462 if (!test_and_clear_bit(FC_DISC_DELAYED, &vport->fc_flag)) in lpfc_delayed_disc_timeout_handler()
3465 lpfc_do_scr_ns_plogi(vport->phba, vport); in lpfc_delayed_disc_timeout_handler()
3558 struct lpfc_vport *vport = cmdiocb->vport; in lpfc_cmpl_ct_cmd_vmid() local
3575 if (lpfc_els_chk_latt(vport) || get_job_ulpstatus(phba, rspiocb)) { in lpfc_cmpl_ct_cmd_vmid()
3582 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_vmid()
3592 &vport->load_flag); in lpfc_cmpl_ct_cmd_vmid()
3600 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_vmid()
3611 vmp = lpfc_get_vmid_from_hashtable(vport, hash, in lpfc_cmpl_ct_cmd_vmid()
3614 write_lock(&vport->vmid_lock); in lpfc_cmpl_ct_cmd_vmid()
3618 write_unlock(&vport->vmid_lock); in lpfc_cmpl_ct_cmd_vmid()
3620 vport->vmid_flag |= LPFC_VMID_IN_USE; in lpfc_cmpl_ct_cmd_vmid()
3622 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_vmid()
3629 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_vmid()
3635 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_vmid()
3637 read_lock(&vport->vmid_lock); in lpfc_cmpl_ct_cmd_vmid()
3639 vmp = &vport->vmid[i]; in lpfc_cmpl_ct_cmd_vmid()
3643 read_unlock(&vport->vmid_lock); in lpfc_cmpl_ct_cmd_vmid()
3645 if (!hash_empty(vport->hash_table)) in lpfc_cmpl_ct_cmd_vmid()
3646 hash_for_each(vport->hash_table, bucket, cur, hnode) in lpfc_cmpl_ct_cmd_vmid()
3648 set_bit(FC_ALLOW_VMID, &vport->load_flag); in lpfc_cmpl_ct_cmd_vmid()
3651 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY, in lpfc_cmpl_ct_cmd_vmid()
3661 * @vport: pointer to a host virtual N_Port data structure.
3668 lpfc_vmid_cmd(struct lpfc_vport *vport, in lpfc_vmid_cmd() argument
3671 struct lpfc_hba *phba = vport->phba; in lpfc_vmid_cmd()
3686 ndlp = lpfc_findnode_did(vport, FDMI_DID); in lpfc_vmid_cmd()
3714 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, in lpfc_vmid_cmd()
3716 vport->fc_flag, vport->port_state, cmdcode); in lpfc_vmid_cmd()
3733 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY, in lpfc_vmid_cmd()
3735 ctreq->un.PortID = cpu_to_be32(vport->fc_myDID); in lpfc_vmid_cmd()
3747 ctreq->un.PortID = cpu_to_be32(vport->fc_myDID); in lpfc_vmid_cmd()
3752 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY, in lpfc_vmid_cmd()
3754 ctreq->un.PortID = cpu_to_be32(vport->fc_myDID); in lpfc_vmid_cmd()
3762 write_lock(&vport->vmid_lock); in lpfc_vmid_cmd()
3764 write_unlock(&vport->vmid_lock); in lpfc_vmid_cmd()
3769 ctreq->un.PortID = cpu_to_be32(vport->fc_myDID); in lpfc_vmid_cmd()
3774 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY, in lpfc_vmid_cmd()
3791 if (!lpfc_ct_cmd(vport, mp, bmp, ndlp, cmpl, rsp_size, retry)) in lpfc_vmid_cmd()
3805 lpfc_printf_vlog(vport, KERN_DEBUG, LOG_DISCOVERY, in lpfc_vmid_cmd()