Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations
lpfc_disc.h File Reference

Go to the source code of this file.

Data Structures

struct  lpfc_work_evt
 
struct  lpfc_fast_path_event
 
struct  lpfc_node_rrqs
 
struct  lpfc_nodelist
 
struct  lpfc_node_rrq
 

Macros

#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 */
 
#define LPFC_SLI4_MAX_XRI   1024 /* Used to make the ndlp's xri_bitmap */
 
#define XRI_BITMAP_ULONGS   (LPFC_SLI4_MAX_XRI / BITS_PER_LONG)
 
#define NLP_FC_NODE   0x1 /* entry is an FC node */
 
#define NLP_FABRIC   0x4 /* entry rep a Fabric entity */
 
#define NLP_FCP_TARGET   0x8 /* entry is an FCP target */
 
#define NLP_FCP_INITIATOR   0x10 /* entry is an FCP Initiator */
 
#define NLP_NO_SID   0xffff
 
#define NLP_FCP_2_DEVICE   0x10 /* FCP-2 device */
 
#define NLP_USG_NODE_ACT_BIT   0x1 /* Indicate ndlp is actively used */
 
#define NLP_USG_IACT_REQ_BIT   0x2 /* Request to inactivate ndlp */
 
#define NLP_USG_FREE_REQ_BIT   0x4 /* Request to invoke ndlp memory free */
 
#define NLP_USG_FREE_ACK_BIT   0x8 /* Indicate ndlp memory free invoked */
 
#define NLP_IGNR_REG_CMPL   0x00000001 /* Rcvd rscn before we cmpl reg login */
 
#define NLP_REG_LOGIN_SEND   0x00000002 /* sent reglogin to adapter */
 
#define NLP_PLOGI_SND   0x00000020 /* sent PLOGI request for this entry */
 
#define NLP_PRLI_SND   0x00000040 /* sent PRLI request for this entry */
 
#define NLP_ADISC_SND   0x00000080 /* sent ADISC request for this entry */
 
#define NLP_LOGO_SND   0x00000100 /* sent LOGO request for this entry */
 
#define NLP_RNID_SND   0x00000400 /* sent RNID request for this entry */
 
#define NLP_ELS_SND_MASK   0x000007e0 /* sent ELS request for this entry */
 
#define NLP_DEFER_RM   0x00010000 /* Remove this ndlp if no longer used */
 
#define NLP_DELAY_TMO   0x00020000 /* delay timeout is running for node */
 
#define NLP_NPR_2B_DISC   0x00040000 /* node is included in num_disc_nodes */
 
#define NLP_RCV_PLOGI   0x00080000 /* Rcv'ed PLOGI from remote system */
 
#define NLP_LOGO_ACC   0x00100000 /* Process LOGO after ACC completes */
 
#define NLP_TGT_NO_SCSIID   0x00200000 /* good PRLI but no binding for scsid */
 
#define NLP_ISSUE_LOGO   0x00400000 /* waiting to issue a LOGO */
 
#define NLP_ACC_REGLOGIN
 
#define NLP_NPR_ADISC
 
#define NLP_RM_DFLT_RPI   0x04000000 /* need to remove leftover dflt RPI */
 
#define NLP_NODEV_REMOVE   0x08000000 /* Defer removal till discovery ends */
 
#define NLP_TARGET_REMOVE   0x10000000 /* Target remove in process */
 
#define NLP_SC_REQ   0x20000000 /* Target requires authentication */
 
#define NLP_RPI_REGISTERED   0x80000000 /* nlp_rpi is valid */
 
#define NLP_CHK_NODE_ACT(ndlp)
 
#define NLP_SET_NODE_ACT(ndlp)
 
#define NLP_INT_NODE_ACT(ndlp)
 
#define NLP_CLR_NODE_ACT(ndlp)
 
#define NLP_CHK_IACT_REQ(ndlp)
 
#define NLP_SET_IACT_REQ(ndlp)
 
#define NLP_CHK_FREE_REQ(ndlp)
 
#define NLP_SET_FREE_REQ(ndlp)
 
#define NLP_CHK_FREE_ACK(ndlp)
 
#define NLP_SET_FREE_ACK(ndlp)
 
#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 */
 
#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
 

Enumerations

enum  lpfc_work_type {
  LPFC_EVT_ONLINE, LPFC_EVT_OFFLINE_PREP, LPFC_EVT_OFFLINE, LPFC_EVT_WARM_START,
  LPFC_EVT_KILL, LPFC_EVT_ELS_RETRY, LPFC_EVT_DEV_LOSS, LPFC_EVT_FASTPATH_MGMT_EVT,
  LPFC_EVT_RESET_HBA
}
 

Macro Definition Documentation

#define FC_MAX_HOLD_RSCN   32 /* max number of deferred RSCNs */

Definition at line 21 of file lpfc_disc.h.

#define FC_MAX_NS_RSP   64512 /* max size NameServer rsp */

Definition at line 22 of file lpfc_disc.h.

#define FC_MAXLOOP   126 /* max devices supported on a fc loop */

Definition at line 23 of file lpfc_disc.h.

#define LPFC_DISC_FLOGI_TMO   10 /* Discovery FLOGI ratov */

Definition at line 24 of file lpfc_disc.h.

#define LPFC_SLI4_MAX_XRI   1024 /* Used to make the ndlp's xri_bitmap */

Definition at line 71 of file lpfc_disc.h.

#define NLP_ACC_REGLOGIN
Value:
0x01000000 /* Issue Reg Login after successful
ACC */

Definition at line 149 of file lpfc_disc.h.

#define NLP_ADISC_SND   0x00000080 /* sent ADISC request for this entry */

Definition at line 138 of file lpfc_disc.h.

#define NLP_CHK_FREE_ACK (   ndlp)
Value:
((ndlp)->nlp_usg_map \

Definition at line 177 of file lpfc_disc.h.

#define NLP_CHK_FREE_REQ (   ndlp)
Value:
((ndlp)->nlp_usg_map \

Definition at line 173 of file lpfc_disc.h.

#define NLP_CHK_IACT_REQ (   ndlp)
Value:
((ndlp)->nlp_usg_map \

Definition at line 169 of file lpfc_disc.h.

#define NLP_CHK_NODE_ACT (   ndlp)
Value:
(((ndlp)->nlp_usg_map \
&& \
!((ndlp)->nlp_usg_map \

Definition at line 158 of file lpfc_disc.h.

#define NLP_CLR_NODE_ACT (   ndlp)
Value:
((ndlp)->nlp_usg_map \

Definition at line 167 of file lpfc_disc.h.

#define NLP_DEFER_RM   0x00010000 /* Remove this ndlp if no longer used */

Definition at line 142 of file lpfc_disc.h.

#define NLP_DELAY_TMO   0x00020000 /* delay timeout is running for node */

Definition at line 143 of file lpfc_disc.h.

#define NLP_ELS_SND_MASK   0x000007e0 /* sent ELS request for this entry */

Definition at line 141 of file lpfc_disc.h.

#define NLP_EVT_CMPL_ADISC   0x9 /* Sent an ELS ADISC command */

Definition at line 260 of file lpfc_disc.h.

#define NLP_EVT_CMPL_LOGO   0x8 /* Sent an ELS LOGO command */

Definition at line 259 of file lpfc_disc.h.

#define NLP_EVT_CMPL_PLOGI   0x6 /* Sent an ELS PLOGI command */

Definition at line 257 of file lpfc_disc.h.

#define NLP_EVT_CMPL_PRLI   0x7 /* Sent an ELS PRLI command */

Definition at line 258 of file lpfc_disc.h.

#define NLP_EVT_CMPL_REG_LOGIN   0xa /* REG_LOGIN mbox cmd completed */

Definition at line 261 of file lpfc_disc.h.

#define NLP_EVT_DEVICE_RECOVERY   0xc /* Device existence unknown */

Definition at line 263 of file lpfc_disc.h.

#define NLP_EVT_DEVICE_RM   0xb /* Device not found in NS / ALPAmap */

Definition at line 262 of file lpfc_disc.h.

#define NLP_EVT_MAX_EVENT   0xd

Definition at line 264 of file lpfc_disc.h.

#define NLP_EVT_RCV_ADISC   0x3 /* Rcv'd an ELS ADISC command */

Definition at line 254 of file lpfc_disc.h.

#define NLP_EVT_RCV_LOGO   0x2 /* Rcv'd an ELS LOGO command */

Definition at line 253 of file lpfc_disc.h.

#define NLP_EVT_RCV_PDISC   0x4 /* Rcv'd an ELS PDISC command */

Definition at line 255 of file lpfc_disc.h.

#define NLP_EVT_RCV_PLOGI   0x0 /* Rcv'd an ELS PLOGI command */

Definition at line 251 of file lpfc_disc.h.

#define NLP_EVT_RCV_PRLI   0x1 /* Rcv'd an ELS PRLI command */

Definition at line 252 of file lpfc_disc.h.

#define NLP_EVT_RCV_PRLO   0x5 /* Rcv'd an ELS PRLO command */

Definition at line 256 of file lpfc_disc.h.

#define NLP_FABRIC   0x4 /* entry rep a Fabric entity */

Definition at line 86 of file lpfc_disc.h.

#define NLP_FC_NODE   0x1 /* entry is an FC node */

Definition at line 85 of file lpfc_disc.h.

#define NLP_FCP_2_DEVICE   0x10 /* FCP-2 device */

Definition at line 100 of file lpfc_disc.h.

#define NLP_FCP_INITIATOR   0x10 /* entry is an FCP Initiator */

Definition at line 88 of file lpfc_disc.h.

#define NLP_FCP_TARGET   0x8 /* entry is an FCP target */

Definition at line 87 of file lpfc_disc.h.

#define NLP_IGNR_REG_CMPL   0x00000001 /* Rcvd rscn before we cmpl reg login */

Definition at line 134 of file lpfc_disc.h.

#define NLP_INT_NODE_ACT (   ndlp)
Value:
((ndlp)->nlp_usg_map \

Definition at line 165 of file lpfc_disc.h.

#define NLP_ISSUE_LOGO   0x00400000 /* waiting to issue a LOGO */

Definition at line 148 of file lpfc_disc.h.

#define NLP_LOGO_ACC   0x00100000 /* Process LOGO after ACC completes */

Definition at line 146 of file lpfc_disc.h.

#define NLP_LOGO_SND   0x00000100 /* sent LOGO request for this entry */

Definition at line 139 of file lpfc_disc.h.

#define NLP_NO_SID   0xffff

Definition at line 95 of file lpfc_disc.h.

#define NLP_NODEV_REMOVE   0x08000000 /* Defer removal till discovery ends */

Definition at line 152 of file lpfc_disc.h.

#define NLP_NPR_2B_DISC   0x00040000 /* node is included in num_disc_nodes */

Definition at line 144 of file lpfc_disc.h.

#define NLP_NPR_ADISC
Value:
0x02000000 /* Issue ADISC when dq'ed from
NPR list */

Definition at line 150 of file lpfc_disc.h.

#define NLP_PLOGI_SND   0x00000020 /* sent PLOGI request for this entry */

Definition at line 136 of file lpfc_disc.h.

#define NLP_PRLI_SND   0x00000040 /* sent PRLI request for this entry */

Definition at line 137 of file lpfc_disc.h.

#define NLP_RCV_PLOGI   0x00080000 /* Rcv'ed PLOGI from remote system */

Definition at line 145 of file lpfc_disc.h.

#define NLP_REG_LOGIN_SEND   0x00000002 /* sent reglogin to adapter */

Definition at line 135 of file lpfc_disc.h.

#define NLP_RM_DFLT_RPI   0x04000000 /* need to remove leftover dflt RPI */

Definition at line 151 of file lpfc_disc.h.

#define NLP_RNID_SND   0x00000400 /* sent RNID request for this entry */

Definition at line 140 of file lpfc_disc.h.

#define NLP_RPI_REGISTERED   0x80000000 /* nlp_rpi is valid */

Definition at line 155 of file lpfc_disc.h.

#define NLP_SC_REQ   0x20000000 /* Target requires authentication */

Definition at line 154 of file lpfc_disc.h.

#define NLP_SET_FREE_ACK (   ndlp)
Value:
((ndlp)->nlp_usg_map \

Definition at line 179 of file lpfc_disc.h.

#define NLP_SET_FREE_REQ (   ndlp)
Value:
((ndlp)->nlp_usg_map \

Definition at line 175 of file lpfc_disc.h.

#define NLP_SET_IACT_REQ (   ndlp)
Value:
((ndlp)->nlp_usg_map \

Definition at line 171 of file lpfc_disc.h.

#define NLP_SET_NODE_ACT (   ndlp)
Value:
((ndlp)->nlp_usg_map \

Definition at line 163 of file lpfc_disc.h.

#define NLP_STE_ADISC_ISSUE   0x2 /* ADISC was sent to NL_PORT */

Definition at line 200 of file lpfc_disc.h.

#define NLP_STE_FREED_NODE   0xff /* node entry was freed to MEM_NLP */

Definition at line 208 of file lpfc_disc.h.

#define NLP_STE_LOGO_ISSUE   0x5 /* LOGO was sent to NL_PORT */

Definition at line 203 of file lpfc_disc.h.

#define NLP_STE_MAPPED_NODE   0x7 /* Identified as a FCP Target */

Definition at line 205 of file lpfc_disc.h.

#define NLP_STE_MAX_STATE   0x9

Definition at line 207 of file lpfc_disc.h.

#define NLP_STE_NPR_NODE   0x8 /* NPort disappeared */

Definition at line 206 of file lpfc_disc.h.

#define NLP_STE_PLOGI_ISSUE   0x1 /* PLOGI was sent to NL_PORT */

Definition at line 199 of file lpfc_disc.h.

#define NLP_STE_PRLI_ISSUE   0x4 /* PRLI was sent to NL_PORT */

Definition at line 202 of file lpfc_disc.h.

#define NLP_STE_REG_LOGIN_ISSUE   0x3 /* REG_LOGIN was issued for NL_PORT */

Definition at line 201 of file lpfc_disc.h.

#define NLP_STE_UNMAPPED_NODE   0x6 /* PRLI completed from NL_PORT */

Definition at line 204 of file lpfc_disc.h.

#define NLP_STE_UNUSED_NODE   0x0 /* node is just allocated */

Definition at line 198 of file lpfc_disc.h.

#define NLP_TARGET_REMOVE   0x10000000 /* Target remove in process */

Definition at line 153 of file lpfc_disc.h.

#define NLP_TGT_NO_SCSIID   0x00200000 /* good PRLI but no binding for scsid */

Definition at line 147 of file lpfc_disc.h.

#define NLP_USG_FREE_ACK_BIT   0x8 /* Indicate ndlp memory free invoked */

Definition at line 106 of file lpfc_disc.h.

#define NLP_USG_FREE_REQ_BIT   0x4 /* Request to invoke ndlp memory free */

Definition at line 105 of file lpfc_disc.h.

#define NLP_USG_IACT_REQ_BIT   0x2 /* Request to inactivate ndlp */

Definition at line 104 of file lpfc_disc.h.

#define NLP_USG_NODE_ACT_BIT   0x1 /* Indicate ndlp is actively used */

Definition at line 103 of file lpfc_disc.h.

#define XRI_BITMAP_ULONGS   (LPFC_SLI4_MAX_XRI / BITS_PER_LONG)

Definition at line 72 of file lpfc_disc.h.

Enumeration Type Documentation

Enumerator:
LPFC_EVT_ONLINE 
LPFC_EVT_OFFLINE_PREP 
LPFC_EVT_OFFLINE 
LPFC_EVT_WARM_START 
LPFC_EVT_KILL 
LPFC_EVT_ELS_RETRY 
LPFC_EVT_DEV_LOSS 
LPFC_EVT_FASTPATH_MGMT_EVT 
LPFC_EVT_RESET_HBA 

Definition at line 32 of file lpfc_disc.h.