Lines Matching refs:vport

305  * @vport: pointer to a host virtual N_Port data structure.
315 lpfc_gen_req(struct lpfc_vport *vport, struct lpfc_dmabuf *bmp,
322 struct lpfc_hba *phba = vport->phba;
378 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS,
382 vport->port_state);
385 geniocb->vport = vport;
401 * @vport: pointer to a host virtual N_Port data structure.
410 lpfc_ct_cmd(struct lpfc_vport *vport, struct lpfc_dmabuf *inmp,
416 struct lpfc_hba *phba = vport->phba;
435 status = lpfc_gen_req(vport, bmp, inmp, outmp, cmpl, ndlp, 0,
461 lpfc_prep_node_fc4type(struct lpfc_vport *vport, uint32_t Did, uint8_t fc4_type)
465 if ((vport->port_type != LPFC_NPIV_PORT) ||
466 !(vport->ct_flags & FC_CT_RFF_ID) || !vport->cfg_restrict_login) {
468 ndlp = lpfc_setup_disc_node(vport, Did);
471 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
473 Did, ndlp->nlp_flag, vport->fc_flag);
482 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
486 ndlp->nlp_state, vport->fc_flag,
487 vport->fc_rscn_id_cnt);
495 lpfc_nlp_set_state(vport, ndlp,
499 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
501 Did, vport->fc_flag, vport->fc_rscn_id_cnt);
503 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
506 Did, vport->fc_flag,
507 vport->fc_rscn_id_cnt, ndlp);
510 if (!(vport->fc_flag & FC_RSCN_MODE) ||
511 lpfc_rscn_payload_check(vport, Did)) {
512 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
514 Did, vport->fc_flag, vport->fc_rscn_id_cnt);
520 ndlp = lpfc_findnode_did(vport, Did);
528 lpfc_setup_disc_node(vport, Did);
529 } else if (lpfc_ns_cmd(vport, SLI_CTNS_GFF_ID,
531 vport->num_disc_nodes++;
533 lpfc_setup_disc_node(vport, Did);
535 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
537 Did, vport->fc_flag, vport->fc_rscn_id_cnt);
539 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
542 vport->fc_flag,
543 vport->fc_rscn_id_cnt);
549 lpfc_ns_rsp_audit_did(struct lpfc_vport *vport, uint32_t Did, uint8_t fc4_type)
551 struct lpfc_hba *phba = vport->phba;
553 struct Scsi_Host *shost = lpfc_shost_from_vport(vport);
560 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
569 if (Did != vport->fc_myDID &&
571 vport->cfg_peer_port_login)) {
574 lpfc_prep_node_fc4type(vport, Did, fc4_type);
578 list_for_each_entry(ndlp, &vport->fc_nodes, nlp_listp) {
593 lpfc_ns_rsp(struct lpfc_vport *vport, struct lpfc_dmabuf *mp, uint8_t fc4_type,
603 struct Scsi_Host *shost = lpfc_shost_from_vport(vport);
606 lpfc_set_disctmo(vport);
607 vport->num_disc_nodes = 0;
608 vport->fc_ns_retry = 0;
629 lpfc_ns_rsp_audit_did(vport, Did, fc4_type);
643 if (vport->phba->nvmet_support) {
644 list_for_each_entry(ndlp, &vport->fc_nodes, nlp_listp) {
647 lpfc_disc_state_machine(vport, ndlp, NULL,
664 struct lpfc_vport *vport = cmdiocb->vport;
665 struct Scsi_Host *shost = lpfc_shost_from_vport(vport);
683 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
685 irsp->ulpStatus, irsp->un.ulpWord[4], vport->fc_ns_retry);
687 /* Don't bother processing response if vport is being torn down. */
688 if (vport->load_flag & FC_UNLOADING) {
689 if (vport->fc_flag & FC_RSCN_MODE)
690 lpfc_els_flush_rscn(vport);
694 if (lpfc_els_chk_latt(vport)) {
695 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
697 if (vport->fc_flag & FC_RSCN_MODE)
698 lpfc_els_flush_rscn(vport);
699 lpfc_vport_set_state(vport, FC_VPORT_FAILED);
703 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
705 if (vport->fc_flag & FC_RSCN_MODE)
706 lpfc_els_flush_rscn(vport);
711 if (vport->fc_flag & FC_RSCN_DEFERRED) {
712 vport->fc_flag &= ~FC_RSCN_DEFERRED;
718 if (vport->gidft_inp)
719 vport->gidft_inp--;
725 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS,
727 vport->fc_flag, vport->fc_rscn_id_cnt);
728 lpfc_els_handle_rscn(vport);
736 if (vport->fc_ns_retry < LPFC_MAX_NS_RETRY) {
740 vport->fc_ns_retry++;
742 type = lpfc_get_gidft_type(vport, cmdiocb);
747 rc = lpfc_ns_cmd(vport, SLI_CTNS_GID_FT,
748 vport->fc_ns_retry, type);
752 if (vport->gidft_inp)
753 vport->gidft_inp--;
756 if (vport->fc_flag & FC_RSCN_MODE)
757 lpfc_els_flush_rscn(vport);
758 lpfc_vport_set_state(vport, FC_VPORT_FAILED);
759 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,
761 irsp->ulpStatus, vport->fc_ns_retry);
768 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
771 vport->fc_flag,
773 vport->num_disc_nodes,
774 vport->gidft_inp,
777 lpfc_ns_rsp(vport,
786 lpfc_printf_vlog(vport, KERN_INFO,
793 vport->fc_flag);
795 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
801 lpfc_printf_vlog(vport, KERN_INFO,
808 vport->fc_flag);
810 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
820 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,
826 vport->fc_flag);
828 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
834 if (vport->gidft_inp)
835 vport->gidft_inp--;
838 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
840 vport->gidft_inp, vport->num_disc_nodes);
843 if ((vport->num_disc_nodes == 0) &&
844 (vport->gidft_inp == 0)) {
850 if (vport->port_state >= LPFC_DISC_AUTH) {
851 if (vport->fc_flag & FC_RSCN_MODE) {
852 lpfc_els_flush_rscn(vport);
854 vport->fc_flag |= FC_RSCN_MODE; /* RSCN still */
858 lpfc_els_flush_rscn(vport);
861 lpfc_disc_start(vport);
873 struct lpfc_vport *vport = cmdiocb->vport;
874 struct Scsi_Host *shost = lpfc_shost_from_vport(vport);
892 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
895 vport->fc_ns_retry);
897 /* Don't bother processing response if vport is being torn down. */
898 if (vport->load_flag & FC_UNLOADING) {
899 if (vport->fc_flag & FC_RSCN_MODE)
900 lpfc_els_flush_rscn(vport);
904 if (lpfc_els_chk_latt(vport)) {
905 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
907 if (vport->fc_flag & FC_RSCN_MODE)
908 lpfc_els_flush_rscn(vport);
909 lpfc_vport_set_state(vport, FC_VPORT_FAILED);
913 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
915 if (vport->fc_flag & FC_RSCN_MODE)
916 lpfc_els_flush_rscn(vport);
921 if (vport->fc_flag & FC_RSCN_DEFERRED) {
922 vport->fc_flag &= ~FC_RSCN_DEFERRED;
928 if (vport->gidft_inp)
929 vport->gidft_inp--;
935 lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS,
937 vport->fc_flag, vport->fc_rscn_id_cnt);
938 lpfc_els_handle_rscn(vport);
946 if (vport->fc_ns_retry < LPFC_MAX_NS_RETRY) {
950 vport->fc_ns_retry++;
953 rc = lpfc_ns_cmd(vport, SLI_CTNS_GID_PT,
954 vport->fc_ns_retry, GID_PT_N_PORT);
958 if (vport->gidft_inp)
959 vport->gidft_inp--;
962 if (vport->fc_flag & FC_RSCN_MODE)
963 lpfc_els_flush_rscn(vport);
964 lpfc_vport_set_state(vport, FC_VPORT_FAILED);
965 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,
967 irsp->ulpStatus, vport->fc_ns_retry);
974 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
977 vport->fc_flag,
979 vport->num_disc_nodes,
980 vport->gidft_inp,
983 lpfc_ns_rsp(vport,
993 vport, KERN_INFO, LOG_DISCOVERY,
999 vport->fc_flag);
1002 vport, LPFC_DISC_TRC_CT,
1009 vport, KERN_INFO, LOG_DISCOVERY,
1015 vport->fc_flag);
1018 vport, LPFC_DISC_TRC_CT,
1026 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,
1032 vport->fc_flag);
1035 vport, LPFC_DISC_TRC_CT,
1041 if (vport->gidft_inp)
1042 vport->gidft_inp--;
1045 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
1047 vport->gidft_inp, vport->num_disc_nodes);
1050 if ((vport->num_disc_nodes == 0) &&
1051 (vport->gidft_inp == 0)) {
1057 if (vport->port_state >= LPFC_DISC_AUTH) {
1058 if (vport->fc_flag & FC_RSCN_MODE) {
1059 lpfc_els_flush_rscn(vport);
1061 vport->fc_flag |= FC_RSCN_MODE; /* RSCN still */
1064 lpfc_els_flush_rscn(vport);
1068 lpfc_disc_start(vport);
1079 struct lpfc_vport *vport = cmdiocb->vport;
1080 struct Scsi_Host *shost = lpfc_shost_from_vport(vport);
1092 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
1101 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
1112 lpfc_printf_vlog(vport, KERN_INFO,
1117 vport->fc_rscn_id_cnt);
1149 rc = lpfc_ns_cmd(vport, SLI_CTNS_GFF_ID,
1158 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,
1162 vport->fc_flag, vport->fc_rscn_id_cnt);
1166 ndlp = lpfc_setup_disc_node(vport, did);
1168 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
1171 did, ndlp->nlp_flag, vport->fc_flag,
1172 vport->fc_rscn_id_cnt);
1174 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
1177 vport->fc_flag, vport->fc_rscn_id_cnt);
1181 if (vport->num_disc_nodes)
1182 vport->num_disc_nodes--;
1184 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
1186 vport->gidft_inp, vport->num_disc_nodes);
1188 if (vport->num_disc_nodes == 0) {
1194 if (vport->port_state >= LPFC_DISC_AUTH) {
1195 if (vport->fc_flag & FC_RSCN_MODE) {
1196 lpfc_els_flush_rscn(vport);
1198 vport->fc_flag |= FC_RSCN_MODE; /* RSCN still */
1202 lpfc_els_flush_rscn(vport);
1204 lpfc_disc_start(vport);
1214 struct lpfc_vport *vport = cmdiocb->vport;
1226 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
1236 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
1245 ndlp = lpfc_findnode_did(vport, did);
1255 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
1267 lpfc_nlp_set_state(vport, ndlp,
1269 lpfc_issue_els_prli(vport, ndlp, 0);
1272 lpfc_printf_vlog(vport, KERN_INFO,
1279 lpfc_issue_els_logo(vport, ndlp, 0);
1281 lpfc_nlp_set_state(vport, ndlp,
1286 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,
1296 struct lpfc_vport *vport = cmdiocb->vport;
1320 latt = lpfc_els_chk_latt(vport);
1323 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
1330 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
1335 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,
1351 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
1353 rc = lpfc_ns_cmd(vport, cmdcode, retry, 0);
1369 struct lpfc_vport *vport = cmdiocb->vport;
1379 vport->ct_flags |= FC_CT_RFT_ID;
1390 struct lpfc_vport *vport = cmdiocb->vport;
1400 vport->ct_flags |= FC_CT_RNN_ID;
1411 struct lpfc_vport *vport = cmdiocb->vport;
1421 vport->ct_flags |= FC_CT_RSPN_ID;
1432 struct lpfc_vport *vport = cmdiocb->vport;
1442 vport->ct_flags |= FC_CT_RSNN_NN;
1452 struct lpfc_vport *vport = cmdiocb->vport;
1455 vport->ct_flags = 0;
1465 struct lpfc_vport *vport = cmdiocb->vport;
1475 vport->ct_flags |= FC_CT_RFF_ID;
1487 lpfc_vport_symbolic_port_name(struct lpfc_vport *vport, char *symbol,
1497 n = scnprintf(symbol, size, "%d", vport->phba->brd_no);
1503 lpfc_vport_symbolic_node_name(struct lpfc_vport *vport, char *symbol,
1511 scnprintf(tmp, sizeof(tmp), "Emulex %s", vport->phba->ModelName);
1515 lpfc_decode_firmware_rev(vport->phba, fwrev, 0);
1524 scnprintf(tmp, sizeof(tmp), " HN:%s", vport->phba->os_host_name);
1538 lpfc_find_map_node(struct lpfc_vport *vport)
1544 shost = lpfc_shost_from_vport(vport);
1546 list_for_each_entry_safe(ndlp, next_ndlp, &vport->fc_nodes, nlp_listp) {
1562 lpfc_get_gidft_type(struct lpfc_vport *vport, struct lpfc_iocbq *cmdiocb)
1586 lpfc_ns_cmd(struct lpfc_vport *vport, int cmdcode,
1590 struct lpfc_hba *phba = vport->phba;
1601 ndlp = lpfc_findnode_did(vport, NameServer_DID);
1638 lpfc_printf_vlog(vport, KERN_INFO ,LOG_DISCOVERY,
1640 cmdcode, vport->fc_flag, vport->fc_rscn_id_cnt,
1685 if (vport->port_state < LPFC_NS_QRY)
1686 vport->port_state = LPFC_NS_QRY;
1687 lpfc_set_disctmo(vport);
1697 if (vport->port_state < LPFC_NS_QRY)
1698 vport->port_state = LPFC_NS_QRY;
1699 lpfc_set_disctmo(vport);
1719 vport->ct_flags &= ~FC_CT_RFT_ID;
1722 CtReq->un.rft.PortId = cpu_to_be32(vport->fc_myDID);
1725 if (vport->cfg_enable_fc4_type == LPFC_ENABLE_BOTH ||
1726 vport->cfg_enable_fc4_type == LPFC_ENABLE_FCP)
1733 if (vport->cfg_enable_fc4_type == LPFC_ENABLE_BOTH ||
1734 vport->cfg_enable_fc4_type == LPFC_ENABLE_NVME)
1739 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
1751 vport->ct_flags &= ~FC_CT_RNN_ID;
1754 CtReq->un.rnn.PortId = cpu_to_be32(vport->fc_myDID);
1755 memcpy(CtReq->un.rnn.wwnn, &vport->fc_nodename,
1761 vport->ct_flags &= ~FC_CT_RSPN_ID;
1764 CtReq->un.rspn.PortId = cpu_to_be32(vport->fc_myDID);
1767 lpfc_vport_symbolic_port_name(vport,
1772 vport->ct_flags &= ~FC_CT_RSNN_NN;
1775 memcpy(CtReq->un.rsnn.wwnn, &vport->fc_nodename,
1779 lpfc_vport_symbolic_node_name(vport,
1787 CtReq->un.da_id.port_id = cpu_to_be32(vport->fc_myDID);
1791 vport->ct_flags &= ~FC_CT_RFF_ID;
1794 CtReq->un.rff.PortId = cpu_to_be32(vport->fc_myDID);
1801 if (((vport->cfg_enable_fc4_type == LPFC_ENABLE_BOTH) ||
1802 (vport->cfg_enable_fc4_type == LPFC_ENABLE_NVME)) &&
1804 if ((vport == phba->pport) && phba->nvmet_support) {
1809 lpfc_nvme_update_localport(vport);
1813 } else if (((vport->cfg_enable_fc4_type == LPFC_ENABLE_BOTH) ||
1814 (vport->cfg_enable_fc4_type == LPFC_ENABLE_FCP)) &&
1822 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
1835 if (!lpfc_ct_cmd(vport, mp, bmp, ndlp, cmpl, rsp_size, retry)) {
1837 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
1858 lpfc_printf_vlog(vport, KERN_ERR, LOG_TRACE_EVENT,
1860 cmdcode, rc, vport->fc_flag, vport->fc_rscn_id_cnt);
1877 struct lpfc_vport *vport = cmdiocb->vport;
1888 latt = lpfc_els_chk_latt(vport);
1889 lpfc_debugfs_disc_trc(vport, LPFC_DISC_TRC_CT,
1925 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
1933 ndlp = lpfc_findnode_did(vport, FDMI_DID);
1941 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
1947 if (vport->fdmi_hba_mask == LPFC_FDMI2_HBA_ATTR) {
1949 vport->fdmi_hba_mask = LPFC_FDMI1_HBA_ATTR;
1950 vport->fdmi_port_mask = LPFC_FDMI1_PORT_ATTR;
1952 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_DHBA, 0);
1957 if (vport->fdmi_port_mask == LPFC_FDMI2_PORT_ATTR) {
1959 vport->fdmi_port_mask = LPFC_FDMI1_PORT_ATTR;
1961 lpfc_fdmi_cmd(vport, ndlp, cmd, 0);
1963 if (vport->fdmi_port_mask == LPFC_FDMI2_SMART_ATTR) {
1964 vport->fdmi_port_mask = LPFC_FDMI2_PORT_ATTR;
1966 lpfc_fdmi_cmd(vport, ndlp, cmd, 0);
1971 if (vport->fdmi_port_mask == LPFC_FDMI2_PORT_ATTR) {
1973 vport->fdmi_hba_mask = LPFC_FDMI1_HBA_ATTR;
1974 vport->fdmi_port_mask = LPFC_FDMI1_PORT_ATTR;
1976 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_DHBA, 0);
1978 if (vport->fdmi_port_mask == LPFC_FDMI2_SMART_ATTR) {
1979 vport->fdmi_port_mask = LPFC_FDMI2_PORT_ATTR;
1981 lpfc_fdmi_cmd(vport, ndlp, cmd, 0);
1994 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_RPA, 0);
1998 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_DPRT, 0);
2002 if (vport->port_type == LPFC_PHYSICAL_PORT)
2003 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_RHBA, 0);
2005 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_RPRT, 0);
2014 * @vport: pointer to a host virtual N_Port data structure.
2022 lpfc_fdmi_change_check(struct lpfc_vport *vport)
2024 struct lpfc_hba *phba = vport->phba;
2032 if (!(vport->fc_flag & FC_FABRIC))
2035 ndlp = lpfc_findnode_did(vport, FDMI_DID);
2044 lpfc_ns_cmd(vport, SLI_CTNS_RSNN_NN, 0, 0);
2051 if (vport->port_type == LPFC_PHYSICAL_PORT)
2052 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_DHBA, 0);
2054 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_DPRT, 0);
2062 if (!(vport->fdmi_port_mask & LPFC_FDMI_PORT_ATTR_num_disc))
2066 cnt = lpfc_find_map_node(vport);
2067 if (cnt == vport->fdmi_num_disc)
2070 if (vport->port_type == LPFC_PHYSICAL_PORT) {
2071 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_RPA,
2074 lpfc_fdmi_cmd(vport, ndlp, SLI_MGMT_RPRT,
2081 lpfc_fdmi_hba_attr_wwnn(struct lpfc_vport *vport, struct lpfc_fdmi_attr_def *ad)
2089 memcpy(&ae->un.AttrWWN, &vport->fc_sparam.nodeName,
2097 lpfc_fdmi_hba_attr_manufacturer(struct lpfc_vport *vport,
2122 lpfc_fdmi_hba_attr_sn(struct lpfc_vport *vport, struct lpfc_fdmi_attr_def *ad)
2124 struct lpfc_hba *phba = vport->phba;
2143 lpfc_fdmi_hba_attr_model(struct lpfc_vport *vport,
2146 struct lpfc_hba *phba = vport->phba;
2164 lpfc_fdmi_hba_attr_description(struct lpfc_vport *vport,
2167 struct lpfc_hba *phba = vport->phba;
2186 lpfc_fdmi_hba_attr_hdw_ver(struct lpfc_vport *vport,
2189 struct lpfc_hba *phba = vport->phba;
2218 lpfc_fdmi_hba_attr_drvr_ver(struct lpfc_vport *vport,
2239 lpfc_fdmi_hba_attr_rom_ver(struct lpfc_vport *vport,
2242 struct lpfc_hba *phba = vport->phba;
2264 lpfc_fdmi_hba_attr_fmw_ver(struct lpfc_vport *vport,
2267 struct lpfc_hba *phba = vport->phba;
2285 lpfc_fdmi_hba_attr_os_ver(struct lpfc_vport *vport,
2308 lpfc_fdmi_hba_attr_ct_len(struct lpfc_vport *vport,
2324 lpfc_fdmi_hba_attr_symbolic_name(struct lpfc_vport *vport,
2333 len = lpfc_vport_symbolic_node_name(vport,
2343 lpfc_fdmi_hba_attr_vendor_info(struct lpfc_vport *vport,
2360 lpfc_fdmi_hba_attr_num_ports(struct lpfc_vport *vport,
2377 lpfc_fdmi_hba_attr_fabric_wwnn(struct lpfc_vport *vport,
2386 memcpy(&ae->un.AttrWWN, &vport->fabric_nodename,
2395 lpfc_fdmi_hba_attr_bios_ver(struct lpfc_vport *vport,
2398 struct lpfc_hba *phba = vport->phba;
2417 lpfc_fdmi_hba_attr_bios_state(struct lpfc_vport *vport,
2434 lpfc_fdmi_hba_attr_vendor_id(struct lpfc_vport *vport,
2456 lpfc_fdmi_port_attr_fc4type(struct lpfc_vport *vport,
2459 struct lpfc_hba *phba = vport->phba;
2470 if ((phba->sli_rev == LPFC_SLI_REV4) && (vport == phba->pport) &&
2481 lpfc_fdmi_port_attr_support_speed(struct lpfc_vport *vport,
2484 struct lpfc_hba *phba = vport->phba;
2535 lpfc_fdmi_port_attr_speed(struct lpfc_vport *vport,
2538 struct lpfc_hba *phba = vport->phba;
2605 lpfc_fdmi_port_attr_max_frame(struct lpfc_vport *vport,
2614 hsp = (struct serv_parm *)&vport->fc_sparam;
2625 lpfc_fdmi_port_attr_os_devname(struct lpfc_vport *vport,
2628 struct Scsi_Host *shost = lpfc_shost_from_vport(vport);
2647 lpfc_fdmi_port_attr_host_name(struct lpfc_vport *vport,
2657 vport->phba->os_host_name);
2668 lpfc_fdmi_port_attr_wwnn(struct lpfc_vport *vport,
2677 memcpy(&ae->un.AttrWWN, &vport->fc_sparam.nodeName,
2686 lpfc_fdmi_port_attr_wwpn(struct lpfc_vport *vport,
2695 memcpy(&ae->un.AttrWWN, &vport->fc_sparam.portName,
2704 lpfc_fdmi_port_attr_symbolic_name(struct lpfc_vport *vport,
2713 len = lpfc_vport_symbolic_port_name(vport, ae->un.AttrString, 256);
2722 lpfc_fdmi_port_attr_port_type(struct lpfc_vport *vport,
2725 struct lpfc_hba *phba = vport->phba;
2741 lpfc_fdmi_port_attr_class(struct lpfc_vport *vport,
2756 lpfc_fdmi_port_attr_fabric_wwpn(struct lpfc_vport *vport,
2765 memcpy(&ae->un.AttrWWN, &vport->fabric_portname,
2774 lpfc_fdmi_port_attr_active_fc4type(struct lpfc_vport *vport,
2787 if (vport->phba->cfg_enable_fc4_type & LPFC_ENABLE_NVME)
2797 lpfc_fdmi_port_attr_port_state(struct lpfc_vport *vport,
2813 lpfc_fdmi_port_attr_num_disc(struct lpfc_vport *vport,
2820 vport->fdmi_num_disc = lpfc_find_map_node(vport);
2821 ae->un.AttrInt = cpu_to_be32(vport->fdmi_num_disc);
2829 lpfc_fdmi_port_attr_nportid(struct lpfc_vport *vport,
2836 ae->un.AttrInt = cpu_to_be32(vport->fc_myDID);
2844 lpfc_fdmi_smart_attr_service(struct lpfc_vport *vport,
2865 lpfc_fdmi_smart_attr_guid(struct lpfc_vport *vport,
2874 memcpy(&ae->un.AttrString, &vport->fc_sparam.nodeName,
2878 &vport->fc_sparam.portName, sizeof(struct lpfc_name));
2886 lpfc_fdmi_smart_attr_version(struct lpfc_vport *vport,
2907 lpfc_fdmi_smart_attr_model(struct lpfc_vport *vport,
2910 struct lpfc_hba *phba = vport->phba;
2928 lpfc_fdmi_smart_attr_port_info(struct lpfc_vport *vport,
2937 if (vport->vpi)
2948 lpfc_fdmi_smart_attr_qos(struct lpfc_vport *vport,
2963 lpfc_fdmi_smart_attr_security(struct lpfc_vport *vport,
2979 (struct lpfc_vport *vport, struct lpfc_fdmi_attr_def *ad) = {
3003 (struct lpfc_vport *vport, struct lpfc_fdmi_attr_def *ad) = {
3032 * @vport: pointer to a host virtual N_Port data structure.
3040 lpfc_fdmi_cmd(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp,
3043 struct lpfc_hba *phba = vport->phba;
3055 int (*func)(struct lpfc_vport *vport, struct lpfc_fdmi_attr_def *ad);
3087 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
3089 vport->fc_flag, vport->port_state, cmdcode);
3134 mask = vport->fdmi_hba_mask;
3140 size += func(vport,
3171 (uint8_t *)&vport->fc_sparam.portName,
3179 mask = vport->fdmi_port_mask;
3185 size += func(vport,
3212 (uint8_t *)&vport->fc_sparam.portName,
3225 (uint8_t *)&vport->fc_sparam.portName,
3233 lpfc_printf_vlog(vport, KERN_WARNING, LOG_DISCOVERY,
3250 if (!lpfc_ct_cmd(vport, mp, bmp, ndlp, cmpl, rsp_size, 0))
3269 lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY,
3285 struct lpfc_vport *vport = from_timer(vport, t, delayed_disc_tmo);
3286 struct lpfc_hba *phba = vport->phba;
3290 spin_lock_irqsave(&vport->work_port_lock, iflag);
3291 tmo_posted = vport->work_port_events & WORKER_DELAYED_DISC_TMO;
3293 vport->work_port_events |= WORKER_DELAYED_DISC_TMO;
3294 spin_unlock_irqrestore(&vport->work_port_lock, iflag);
3304 * @vport: pointer to a host virtual N_Port data structure.
3306 * This function start nport discovery of the vport.
3309 lpfc_delayed_disc_timeout_handler(struct lpfc_vport *vport)
3311 struct Scsi_Host *shost = lpfc_shost_from_vport(vport);
3314 if (!(vport->fc_flag & FC_DISC_DELAYED)) {
3318 vport->fc_flag &= ~FC_DISC_DELAYED;
3321 lpfc_do_scr_ns_plogi(vport->phba, vport);