Lines Matching defs:ndlp
2840 struct lpfc_nodelist *ndlp, *next_ndlp;
2846 list_for_each_entry_safe(ndlp, next_ndlp, &vport->fc_nodes, nlp_listp) {
2847 if (!NLP_CHK_NODE_ACT(ndlp)) {
2848 ndlp = lpfc_enable_node(vport, ndlp,
2850 if (!ndlp)
2853 NLP_SET_FREE_REQ(ndlp);
2855 /* Trigger the release of the ndlp memory */
2856 lpfc_nlp_put(ndlp);
2860 if (NLP_CHK_FREE_REQ(ndlp)) {
2861 /* The ndlp should not be in memory free mode already */
2865 /* Indicate request for freeing ndlp memory */
2866 NLP_SET_FREE_REQ(ndlp);
2870 ndlp->nlp_DID == Fabric_DID) {
2871 /* Just free up ndlp with Fabric_DID for vports */
2872 lpfc_nlp_put(ndlp);
2879 if (ndlp->nlp_state == NLP_STE_UNUSED_NODE) {
2880 lpfc_nlp_put(ndlp);
2884 if (ndlp->nlp_type & NLP_FABRIC)
2885 lpfc_disc_state_machine(vport, ndlp, NULL,
2888 lpfc_disc_state_machine(vport, ndlp, NULL,
2892 /* At this point, ALL ndlp's should be gone
2901 list_for_each_entry_safe(ndlp, next_ndlp,
2903 lpfc_printf_vlog(ndlp->vport, KERN_ERR,
2905 "0282 did:x%x ndlp:x%px "
2907 ndlp->nlp_DID, (void *)ndlp,
2908 ndlp->nlp_usg_map,
2909 kref_read(&ndlp->kref));
3080 struct lpfc_nodelist *ndlp, *next_ndlp;
3096 list_for_each_entry_safe(ndlp, next_ndlp,
3099 if (!NLP_CHK_NODE_ACT(ndlp))
3104 NLP_CLR_NODE_ACT(ndlp);
3108 ndlp->nlp_rpi = rpi;
3109 lpfc_printf_vlog(ndlp->vport, KERN_INFO,
3111 "0009 Assign RPI x%x to ndlp x%px "
3113 ndlp->nlp_rpi, ndlp, ndlp->nlp_DID,
3114 ndlp->nlp_flag, ndlp->nlp_usg_map);
3484 struct lpfc_nodelist *ndlp, *next_ndlp;
3510 list_for_each_entry_safe(ndlp, next_ndlp,
3513 if ((!NLP_CHK_NODE_ACT(ndlp)) ||
3514 ndlp->nlp_state == NLP_STE_UNUSED_NODE) {
3518 ndlp->nlp_rpi = LPFC_RPI_ALLOC_ERROR;
3522 if (ndlp->nlp_type & NLP_FABRIC) {
3523 lpfc_disc_state_machine(vports[i], ndlp,
3525 lpfc_disc_state_machine(vports[i], ndlp,
3529 ndlp->nlp_flag &= ~NLP_NPR_ADISC;
3537 lpfc_printf_vlog(ndlp->vport, KERN_INFO,
3540 "ndlp:x%px did x%x "
3542 ndlp->nlp_rpi, ndlp,
3543 ndlp->nlp_DID,
3544 ndlp->nlp_usg_map);
3545 lpfc_sli4_free_rpi(phba, ndlp->nlp_rpi);
3546 ndlp->nlp_rpi = LPFC_RPI_ALLOC_ERROR;
3548 lpfc_unreg_rpi(vports[i], ndlp);
5585 * Return the pointer to the ndlp with the vport if successful, otherwise
5591 struct lpfc_nodelist *ndlp;
5600 ndlp = lpfc_findnode_did(vport, Fabric_DID);
5601 if (!ndlp) {
5602 /* Cannot find existing Fabric ndlp, so allocate a new one */
5603 ndlp = lpfc_nlp_init(vport, Fabric_DID);
5604 if (!ndlp)
5607 ndlp->nlp_type |= NLP_FABRIC;
5608 /* Put ndlp onto node list */
5609 lpfc_enqueue_node(vport, ndlp);
5610 } else if (!NLP_CHK_NODE_ACT(ndlp)) {
5611 /* re-setup ndlp without removing from node list */
5612 ndlp = lpfc_enable_node(vport, ndlp, NLP_STE_UNUSED_NODE);
5613 if (!ndlp)
5632 return ndlp;
5669 struct lpfc_nodelist *ndlp;
5819 ndlp = lpfc_sli4_perform_vport_cvl(vport);
5820 if (!ndlp)
5849 mod_timer(&ndlp->nlp_delayfunc,
5853 ndlp->nlp_flag |= NLP_DELAY_TMO;
5855 ndlp->nlp_last_elscmd = ELS_CMD_FDISC;
6304 /* Initialize ndlp management spinlock */
13290 /* Perform ndlp cleanup on the physical port. The nvme and nvmet