#define FC_MAX_HOLD_RSCN 32/* max number of deferred RSCNs */ #define FC_MAX_NS_RSP 64512/* max size NameServer rsp */ #define FC_MAXLOOP 126/* max devices supported on a fc loop */ #define LPFC_DISC_FLOGI_TMO 10/* Discovery FLOGI ratov */
/* This is the protocol dependent definition for a Node List Entry. *ThisisusedbyFibreChannelprotocoltosupportFCP.
*/
/* nlp_flag mask bits */ enum lpfc_nlp_flag {
NLP_IGNR_REG_CMPL = 0, /* Rcvd rscn before we cmpl reg login */
NLP_REG_LOGIN_SEND = 1, /* sent reglogin to adapter */
NLP_SUPPRESS_RSP = 4, /* Remote NPort supports suppress rsp */
NLP_PLOGI_SND = 5, /* sent PLOGI request for this entry */
NLP_PRLI_SND = 6, /* sent PRLI request for this entry */
NLP_ADISC_SND = 7, /* sent ADISC request for this entry */
NLP_LOGO_SND = 8, /* sent LOGO request for this entry */
NLP_RNID_SND = 10, /* sent RNID request for this entry */
NLP_NVMET_RECOV = 12, /* NVMET auditing node for recovery. */
NLP_UNREG_INP = 15, /* UNREG_RPI cmd is in progress */
NLP_DROPPED = 16, /* Init ref count has been dropped */
NLP_DELAY_TMO = 17, /* delay timeout is running for node */
NLP_NPR_2B_DISC = 18, /* node is included in num_disc_nodes */
NLP_RCV_PLOGI = 19, /* Rcv'ed PLOGI from remote system */
NLP_LOGO_ACC = 20, /* Process LOGO after ACC completes */
NLP_TGT_NO_SCSIID = 21, /* good PRLI but no binding for scsid */
NLP_ISSUE_LOGO = 22, /* waiting to issue a LOGO */
NLP_IN_DEV_LOSS = 23, /* devloss in progress */
NLP_ACC_REGLOGIN = 24, /* Issue Reg Login after successful
ACC */
NLP_NPR_ADISC = 25, /* Issue ADISC when dq'ed from
NPR list */
NLP_RM_DFLT_RPI = 26, /* need to remove leftover dflt RPI */
NLP_NODEV_REMOVE = 27, /* Defer removal till discovery ends */
NLP_SC_REQ = 29, /* Target requires authentication */
NLP_FIRSTBURST = 30, /* Target supports FirstBurst */
NLP_RPI_REGISTERED = 31/* nlp_rpi is valid */
};
/* There are 4 different double linked lists nodelist entries can reside on. *ThePortLogin(PLOGI)listandAddressDiscovery(ADISC)listareused *whenLinkUpdiscoveryorRegisteredStateChangeNotification(RSCN) *processingisneeded.EachlistholdsthenodesthatrequireaPLOGIor *ADISCExtendedLinkService(ELS)request.Theselistskeeptrackofthe *nodesaffectedbyanRSCN,oraLinkUp(Typically,allnodesareeffected *byLinkUp)event.Theunmapped_listcontainsallnodesthathave *successfullyloggedintoattheFibreChannellevel.The *mapped_listwillcontainallnodesthataremappedFCPtargets. * *Thebindlistisalistofundiscovered(potentiallynon-existent)nodes *thatwehavesavedbindinginformationon.Thisinformationisusedwhen *nodestransitionfromtheunmappedtothemappedlist.
*/
/* Defines for nlp_state */ #define NLP_STE_UNUSED_NODE 0x0 /* node is just allocated */ #define NLP_STE_PLOGI_ISSUE 0x1 /* PLOGI was sent to NL_PORT */ #define NLP_STE_ADISC_ISSUE 0x2 /* ADISC was sent to NL_PORT */ #define NLP_STE_REG_LOGIN_ISSUE 0x3 /* REG_LOGIN was issued for NL_PORT */ #define NLP_STE_PRLI_ISSUE 0x4 /* PRLI was sent to NL_PORT */ #define NLP_STE_LOGO_ISSUE 0x5 /* LOGO was sent to NL_PORT */ #define NLP_STE_UNMAPPED_NODE 0x6 /* PRLI completed from NL_PORT */ #define NLP_STE_MAPPED_NODE 0x7 /* Identified as a FCP Target */ #define NLP_STE_NPR_NODE 0x8 /* NPort disappeared */ #define NLP_STE_MAX_STATE 0x9 #define NLP_STE_FREED_NODE 0xff /* node entry was freed to MEM_NLP */
/* For UNUSED_NODE state, the node has just been allocated. *ForPLOGI_ISSUEandREG_LOGIN_ISSUE,thenodeison *thePLOGIlist.ForREG_LOGIN_COMPL,thenodeistakenoffthePLOGIlist *andputontheunmappedlist.ForADISCprocessing,thenodeistakenoff *theADISClistandplacedoneitherthemappedorunmappedlist(depending *onitspreviousstate).Onceontheunmappedlist,aPRLIisissuedandthe *statechangedtoPRLI_ISSUE.WhenthePRLIcompletionoccurs,thestateis *changedtoPRLI_COMPL.Ifthecompletionindicatesamapped *node,thenodeistakenofftheunmappedlist.Thebindinglistischecked *foravalidbinding,orabindingisautomaticallyassigned.Ifbinding *assignmentisunsuccessful,thenodeisleftontheunmappedlist.If *bindingassignmentissuccessful,theassociatedbindinglistentry(if *any)isremoved,andthenodeisplacedonthemappedlist.
*/ /* *ForaLinkDown,allnodesontheADISC,PLOGI,unmappedormapped *listswillreceiveaDEVICE_RECOVERYevent.Ifthelinkdownordevlosstimers *expire,alleffectednodeswillreceiveaDEVICE_RMevent.
*/ /* *ForaLinkUporRSCN,allnodeswillmovefromthemapped/unmappedlists *toeithertheADISCorPLOGIlist.AfteraNameserverqueryorALPAloopmap *check,additionalnodesmaybeadded(DEVICE_ADD)orremoved(DEVICE_RM)to/ *fromthePLOGIorADISClists.OncethePLOGIandADISClistsarepopulated, *wewillfirstprocesstheADISClist.32entriesareprocessedinitiallyand *ADISCisinititedforeachone.Completions/Eventsforeachnodeare *funnelledthruthestatemachine.AseachnodefinishesADISCprocessing,it *startsADISCforanynodeswaitingforADISCprocessing.Ifnonodesare *waiting,andtheADISClistcountisidentically0,thenwearedone.For *LinkUpdiscovery,sinceallnodesonthePLOGIlistareUNREG_LOGIN'ed,we *canissueaCLEAR_LAandreenableLinkEvents.NextwewillprocessthePLOGI *list.32entriesareprocessedinitiallyandPLOGIisinititedforeachone. *Completions/Eventsforeachnodearefunnelledthruthestatemachine.As *eachnodefinishesPLOGIprocessing,itstartsPLOGIforanynodeswaiting *forPLOGIprocessing.Ifnonodesarewaiting,andthePLOGIlistcountis *identically0,thenwearedone.Wehavenowcompleteddiscovery/RSCN *handling.Uponcompletion,ALLnodesshouldbeoneitherthemappedor *unmappedlists.
*/
/* Defines for Node List Entry Events that could happen */ #define NLP_EVT_RCV_PLOGI 0x0 /* Rcv'd an ELS PLOGI command */ #define NLP_EVT_RCV_PRLI 0x1 /* Rcv'd an ELS PRLI command */ #define NLP_EVT_RCV_LOGO 0x2 /* Rcv'd an ELS LOGO command */ #define NLP_EVT_RCV_ADISC 0x3 /* Rcv'd an ELS ADISC command */ #define NLP_EVT_RCV_PDISC 0x4 /* Rcv'd an ELS PDISC command */ #define NLP_EVT_RCV_PRLO 0x5 /* Rcv'd an ELS PRLO command */ #define NLP_EVT_CMPL_PLOGI 0x6 /* Sent an ELS PLOGI command */ #define NLP_EVT_CMPL_PRLI 0x7 /* Sent an ELS PRLI command */ #define NLP_EVT_CMPL_LOGO 0x8 /* Sent an ELS LOGO command */ #define NLP_EVT_CMPL_ADISC 0x9 /* Sent an ELS ADISC command */ #define NLP_EVT_CMPL_REG_LOGIN 0xa /* REG_LOGIN mbox cmd completed */ #define NLP_EVT_DEVICE_RM 0xb /* Device not found in NS / ALPAmap */ #define NLP_EVT_DEVICE_RECOVERY 0xc /* Device existence unknown */ #define NLP_EVT_MAX_EVENT 0xd #define NLP_EVT_NOTHING_PENDING 0xff
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.16 Sekunden
(vorverarbeitet am 2026-10-01)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.