#include "efc.h"
static void
efc_fabric_initiate_shutdown(struct efc_node *node)
{ … }
static void
__efc_fabric_common(const char *funcname, struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_fabric_init(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
void *arg)
{ … }
void
efc_fabric_set_topology(struct efc_node *node,
enum efc_nport_topology topology)
{ … }
void
efc_fabric_notify_topology(struct efc_node *node)
{ … }
static bool efc_rnode_is_nport(struct fc_els_flogi *rsp)
{ … }
void
__efc_fabric_flogi_wait_rsp(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_vport_fabric_init(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_fabric_fdisc_wait_rsp(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
static int
efc_start_ns_node(struct efc_nport *nport)
{ … }
static int
efc_start_fabctl_node(struct efc_nport *nport)
{ … }
void
__efc_fabric_wait_domain_attach(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_fabric_idle(struct efc_sm_ctx *ctx, enum efc_sm_event evt,
void *arg)
{ … }
void
__efc_ns_init(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg)
{ … }
void
__efc_ns_plogi_wait_rsp(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_ns_wait_node_attach(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_fabric_wait_attach_evt_shutdown(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_ns_rftid_wait_rsp(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_ns_rffid_wait_rsp(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
static int
efc_process_gidpt_payload(struct efc_node *node,
void *data, u32 gidpt_len)
{ … }
void
__efc_ns_gidpt_wait_rsp(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_ns_idle(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg)
{ … }
static void
gidpt_delay_timer_cb(struct timer_list *t)
{ … }
void
__efc_ns_gidpt_delay(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_fabctl_init(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_fabctl_wait_scr_rsp(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
static void
efc_process_rscn(struct efc_node *node, struct efc_node_cb *cbdata)
{ … }
void
__efc_fabctl_ready(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_fabctl_wait_ls_acc_cmpl(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
static uint64_t
efc_get_wwpn(struct fc_els_flogi *sp)
{ … }
static int
efc_rnode_is_winner(struct efc_nport *nport)
{ … }
void
__efc_p2p_wait_domain_attach(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_p2p_rnode_init(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_p2p_wait_flogi_acc_cmpl(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_p2p_wait_plogi_rsp(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_p2p_wait_plogi_rsp_recvd_prli(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_p2p_wait_node_attach(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
int
efc_p2p_setup(struct efc_nport *nport)
{ … }