[SCSI] bfa: New portlog entries for events (FIP/FLOGI/FDISC/LOGO).
Signed-off-by: Krishna Gudipati <kgudipat@brocade.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
Родитель
1c8a4c3749
Коммит
f58e9ebbf7
|
@ -326,6 +326,7 @@ static void
|
||||||
bfa_fcport_sm_linkdown(struct bfa_fcport_s *fcport,
|
bfa_fcport_sm_linkdown(struct bfa_fcport_s *fcport,
|
||||||
enum bfa_fcport_sm_event event)
|
enum bfa_fcport_sm_event event)
|
||||||
{
|
{
|
||||||
|
struct bfi_pport_event_s *pevent = fcport->event_arg.i2hmsg.event;
|
||||||
bfa_trc(fcport->bfa, event);
|
bfa_trc(fcport->bfa, event);
|
||||||
|
|
||||||
switch (event) {
|
switch (event) {
|
||||||
|
@ -335,6 +336,22 @@ bfa_fcport_sm_linkdown(struct bfa_fcport_s *fcport,
|
||||||
bfa_assert(fcport->event_cbfn);
|
bfa_assert(fcport->event_cbfn);
|
||||||
bfa_plog_str(fcport->bfa->plog, BFA_PL_MID_HAL,
|
bfa_plog_str(fcport->bfa->plog, BFA_PL_MID_HAL,
|
||||||
BFA_PL_EID_PORT_ST_CHANGE, 0, "Port Linkup");
|
BFA_PL_EID_PORT_ST_CHANGE, 0, "Port Linkup");
|
||||||
|
|
||||||
|
if (!bfa_ioc_get_fcmode(&fcport->bfa->ioc)) {
|
||||||
|
|
||||||
|
bfa_trc(fcport->bfa, pevent->link_state.fcf.fipenabled);
|
||||||
|
bfa_trc(fcport->bfa, pevent->link_state.fcf.fipfailed);
|
||||||
|
|
||||||
|
if (pevent->link_state.fcf.fipfailed)
|
||||||
|
bfa_plog_str(fcport->bfa->plog, BFA_PL_MID_HAL,
|
||||||
|
BFA_PL_EID_FIP_FCF_DISC, 0,
|
||||||
|
"FIP FCF Discovery Failed");
|
||||||
|
else
|
||||||
|
bfa_plog_str(fcport->bfa->plog, BFA_PL_MID_HAL,
|
||||||
|
BFA_PL_EID_FIP_FCF_DISC, 0,
|
||||||
|
"FIP FCF Discovered");
|
||||||
|
}
|
||||||
|
|
||||||
bfa_fcport_callback(fcport, BFA_PPORT_LINKUP);
|
bfa_fcport_callback(fcport, BFA_PPORT_LINKUP);
|
||||||
bfa_fcport_aen_post(fcport, BFA_PORT_AEN_ONLINE);
|
bfa_fcport_aen_post(fcport, BFA_PORT_AEN_ONLINE);
|
||||||
/**
|
/**
|
||||||
|
@ -1500,8 +1517,6 @@ bfa_port_stats_query(void *cbarg)
|
||||||
bfi_h2i_set(msg->mh, BFI_MC_FC_PORT, BFI_PPORT_H2I_GET_STATS_REQ,
|
bfi_h2i_set(msg->mh, BFI_MC_FC_PORT, BFI_PPORT_H2I_GET_STATS_REQ,
|
||||||
bfa_lpuid(fcport->bfa));
|
bfa_lpuid(fcport->bfa));
|
||||||
bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT);
|
bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT);
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1526,7 +1541,6 @@ bfa_port_stats_clear(void *cbarg)
|
||||||
bfi_h2i_set(msg->mh, BFI_MC_FC_PORT, BFI_PPORT_H2I_CLEAR_STATS_REQ,
|
bfi_h2i_set(msg->mh, BFI_MC_FC_PORT, BFI_PPORT_H2I_CLEAR_STATS_REQ,
|
||||||
bfa_lpuid(fcport->bfa));
|
bfa_lpuid(fcport->bfa));
|
||||||
bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT);
|
bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1599,7 +1613,6 @@ bfa_port_qos_stats_clear(void *cbarg)
|
||||||
bfi_h2i_set(msg->mh, BFI_MC_FC_PORT, BFI_PPORT_H2I_CLEAR_QOS_STATS_REQ,
|
bfi_h2i_set(msg->mh, BFI_MC_FC_PORT, BFI_PPORT_H2I_CLEAR_QOS_STATS_REQ,
|
||||||
bfa_lpuid(fcport->bfa));
|
bfa_lpuid(fcport->bfa));
|
||||||
bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT);
|
bfa_reqq_produce(fcport->bfa, BFA_REQQ_PORT);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -99,6 +99,12 @@ bfa_lps_sm_init(struct bfa_lps_s *lps, enum bfa_lps_event event)
|
||||||
bfa_sm_set_state(lps, bfa_lps_sm_login);
|
bfa_sm_set_state(lps, bfa_lps_sm_login);
|
||||||
bfa_lps_send_login(lps);
|
bfa_lps_send_login(lps);
|
||||||
}
|
}
|
||||||
|
if (lps->fdisc)
|
||||||
|
bfa_plog_str(lps->bfa->plog, BFA_PL_MID_LPS,
|
||||||
|
BFA_PL_EID_LOGIN, 0, "FDISC Request");
|
||||||
|
else
|
||||||
|
bfa_plog_str(lps->bfa->plog, BFA_PL_MID_LPS,
|
||||||
|
BFA_PL_EID_LOGIN, 0, "FLOGI Request");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BFA_LPS_SM_LOGOUT:
|
case BFA_LPS_SM_LOGOUT:
|
||||||
|
@ -136,10 +142,25 @@ bfa_lps_sm_login(struct bfa_lps_s *lps, enum bfa_lps_event event)
|
||||||
|
|
||||||
switch (event) {
|
switch (event) {
|
||||||
case BFA_LPS_SM_FWRSP:
|
case BFA_LPS_SM_FWRSP:
|
||||||
if (lps->status == BFA_STATUS_OK)
|
if (lps->status == BFA_STATUS_OK) {
|
||||||
bfa_sm_set_state(lps, bfa_lps_sm_online);
|
bfa_sm_set_state(lps, bfa_lps_sm_online);
|
||||||
else
|
if (lps->fdisc)
|
||||||
|
bfa_plog_str(lps->bfa->plog, BFA_PL_MID_LPS,
|
||||||
|
BFA_PL_EID_LOGIN, 0, "FDISC Accept");
|
||||||
|
else
|
||||||
|
bfa_plog_str(lps->bfa->plog, BFA_PL_MID_LPS,
|
||||||
|
BFA_PL_EID_LOGIN, 0, "FLOGI Accept");
|
||||||
|
} else {
|
||||||
bfa_sm_set_state(lps, bfa_lps_sm_init);
|
bfa_sm_set_state(lps, bfa_lps_sm_init);
|
||||||
|
if (lps->fdisc)
|
||||||
|
bfa_plog_str(lps->bfa->plog, BFA_PL_MID_LPS,
|
||||||
|
BFA_PL_EID_LOGIN, 0,
|
||||||
|
"FDISC Fail (RJT or timeout)");
|
||||||
|
else
|
||||||
|
bfa_plog_str(lps->bfa->plog, BFA_PL_MID_LPS,
|
||||||
|
BFA_PL_EID_LOGIN, 0,
|
||||||
|
"FLOGI Fail (RJT or timeout)");
|
||||||
|
}
|
||||||
bfa_lps_login_comp(lps);
|
bfa_lps_login_comp(lps);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -202,6 +223,8 @@ bfa_lps_sm_online(struct bfa_lps_s *lps, enum bfa_lps_event event)
|
||||||
bfa_sm_set_state(lps, bfa_lps_sm_logout);
|
bfa_sm_set_state(lps, bfa_lps_sm_logout);
|
||||||
bfa_lps_send_logout(lps);
|
bfa_lps_send_logout(lps);
|
||||||
}
|
}
|
||||||
|
bfa_plog_str(lps->bfa->plog, BFA_PL_MID_LPS,
|
||||||
|
BFA_PL_EID_LOGO, 0, "Logout");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BFA_LPS_SM_RX_CVL:
|
case BFA_LPS_SM_RX_CVL:
|
||||||
|
|
|
@ -333,8 +333,7 @@ struct bfa_pport_fcpmap_s {
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Port RNID info.
|
* Port RNI */
|
||||||
*/
|
|
||||||
struct bfa_pport_rnid_s {
|
struct bfa_pport_rnid_s {
|
||||||
wwn_t wwn;
|
wwn_t wwn;
|
||||||
u32 unittype;
|
u32 unittype;
|
||||||
|
@ -347,6 +346,23 @@ struct bfa_pport_rnid_s {
|
||||||
u16 topologydiscoveryflags;
|
u16 topologydiscoveryflags;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct bfa_fcport_fcf_s {
|
||||||
|
wwn_t name; /* FCF name */
|
||||||
|
wwn_t fabric_name; /* Fabric Name */
|
||||||
|
u8 fipenabled; /* FIP enabled or not */
|
||||||
|
u8 fipfailed; /* FIP failed or not */
|
||||||
|
u8 resv[2];
|
||||||
|
u8 pri; /* FCF priority */
|
||||||
|
u8 version; /* FIP version used */
|
||||||
|
u8 available; /* Available for login */
|
||||||
|
u8 fka_disabled; /* FKA is disabled */
|
||||||
|
u8 maxsz_verified; /* FCoE max size verified */
|
||||||
|
u8 fc_map[3]; /* FC map */
|
||||||
|
u16 vlan; /* FCoE vlan tag/priority */
|
||||||
|
u32 fka_adv_per; /* FIP ka advert. period */
|
||||||
|
struct mac_s mac; /* FCF mac */
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Link state information
|
* Link state information
|
||||||
*/
|
*/
|
||||||
|
@ -378,6 +394,7 @@ struct bfa_pport_link_s {
|
||||||
struct fc_alpabm_s alpabm; /* alpa bitmap */
|
struct fc_alpabm_s alpabm; /* alpa bitmap */
|
||||||
} loop_info;
|
} loop_info;
|
||||||
} tl;
|
} tl;
|
||||||
|
struct bfa_fcport_fcf_s fcf; /*!< FCF information (for FCoE) */
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* __BFA_DEFS_PPORT_H__ */
|
#endif /* __BFA_DEFS_PPORT_H__ */
|
||||||
|
|
|
@ -50,6 +50,11 @@ struct fchs_s {
|
||||||
|
|
||||||
u32 ro; /* relative offset */
|
u32 ro; /* relative offset */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define FC_SOF_LEN 4
|
||||||
|
#define FC_EOF_LEN 4
|
||||||
|
#define FC_CRC_LEN 4
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fibre Channel BB_E Header Structure
|
* Fibre Channel BB_E Header Structure
|
||||||
*/
|
*/
|
||||||
|
|
Загрузка…
Ссылка в новой задаче