#include "efc.h"
#include "efc_els.h"
#include "../libefc_sli/sli4.h"
#define EFC_LOG_ENABLE_ELS_TRACE(efc) …
#define node_els_trace() …
#define els_io_printf(els, fmt, ...) …
#define EFC_ELS_RSP_LEN …
#define EFC_ELS_GID_PT_RSP_LEN …
struct efc_els_io_req *
efc_els_io_alloc(struct efc_node *node, u32 reqlen)
{ … }
struct efc_els_io_req *
efc_els_io_alloc_size(struct efc_node *node, u32 reqlen, u32 rsplen)
{ … }
void
efc_els_io_free(struct efc_els_io_req *els)
{ … }
void
_efc_els_io_free(struct kref *arg)
{ … }
static void
efc_els_retry(struct efc_els_io_req *els);
static void
efc_els_delay_timer_cb(struct timer_list *t)
{ … }
static int
efc_els_req_cb(void *arg, u32 length, int status, u32 ext_status)
{ … }
void efc_disc_io_complete(struct efc_disc_io *io, u32 len, u32 status,
u32 ext_status)
{ … }
static int efc_els_send_req(struct efc_node *node, struct efc_els_io_req *els,
enum efc_disc_io_type io_type)
{ … }
static void
efc_els_retry(struct efc_els_io_req *els)
{ … }
static int
efc_els_acc_cb(void *arg, u32 length, int status, u32 ext_status)
{ … }
static int
efc_els_send_rsp(struct efc_els_io_req *els, u32 rsplen)
{ … }
int
efc_send_plogi(struct efc_node *node)
{ … }
int
efc_send_flogi(struct efc_node *node)
{ … }
int
efc_send_fdisc(struct efc_node *node)
{ … }
int
efc_send_prli(struct efc_node *node)
{ … }
int
efc_send_logo(struct efc_node *node)
{ … }
int
efc_send_adisc(struct efc_node *node)
{ … }
int
efc_send_scr(struct efc_node *node)
{ … }
int
efc_send_ls_rjt(struct efc_node *node, u32 ox_id, u32 reason_code,
u32 reason_code_expl, u32 vendor_unique)
{ … }
int
efc_send_plogi_acc(struct efc_node *node, u32 ox_id)
{ … }
int
efc_send_flogi_p2p_acc(struct efc_node *node, u32 ox_id, u32 s_id)
{ … }
int
efc_send_prli_acc(struct efc_node *node, u32 ox_id)
{ … }
int
efc_send_prlo_acc(struct efc_node *node, u32 ox_id)
{ … }
int
efc_send_ls_acc(struct efc_node *node, u32 ox_id)
{ … }
int
efc_send_logo_acc(struct efc_node *node, u32 ox_id)
{ … }
int
efc_send_adisc_acc(struct efc_node *node, u32 ox_id)
{ … }
static inline void
fcct_build_req_header(struct fc_ct_hdr *hdr, u16 cmd, u16 max_size)
{ … }
int
efc_ns_send_rftid(struct efc_node *node)
{ … }
int
efc_ns_send_rffid(struct efc_node *node)
{ … }
int
efc_ns_send_gidpt(struct efc_node *node)
{ … }
void
efc_els_io_cleanup(struct efc_els_io_req *els, int evt, void *arg)
{ … }
static int
efc_ct_acc_cb(void *arg, u32 length, int status, u32 ext_status)
{ … }
int
efc_send_ct_rsp(struct efc *efc, struct efc_node *node, u16 ox_id,
struct fc_ct_hdr *ct_hdr, u32 cmd_rsp_code,
u32 reason_code, u32 reason_code_explanation)
{ … }
int
efc_send_bls_acc(struct efc_node *node, struct fc_frame_header *hdr)
{ … }