Emulex Logo
OneCoreā„¢ Storage SDK Release 11.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Connection State Machine: Connection States

Functions

static void * __ocs_cxn_common (const char *funcname, ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Common device event handler. More...
 
static void * __ocs_cxn_initial (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Initial state. More...
 
static void * __ocs_cxn_connect (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Connect to a remote node. More...
 
static void * __ocs_cxn_connect_wait (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Waiting for the connection to complete. More...
 
static void * __ocs_cxn_connect_delay (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Connection to target failed, delay before retrying. More...
 
static void * __ocs_cxn_connected (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Connected, waiting for the teardown request. More...
 
static void * __ocs_cxn_close_abort_io (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 Aborts active IO objects on a connection. More...
 
static void * __ocs_cxn_close_abort_login (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 Aborts any login transactions on a connection. More...
 
static void * __ocs_cxn_abort_wait (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Waiting for the IO aborts to complete. More...
 
static void * __ocs_cxn_close (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 Closes a TCP connection. More...
 
static void * __ocs_cxn_close_wait (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Closing, waiting for the close callback. More...
 
static void * __ocs_cxn_upload (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Closing, waiting for the close callback. More...
 
static void * __ocs_cxn_upload_wait (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Waiting for connection upload to complete. More...
 
static void * __ocs_cxn_get_info (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 Get information on the connection. More...
 
static void * __ocs_cxn_get_info_wait (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Waiting for connection information request to complete. More...
 
static void * __ocs_cxn_offload (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 Offload the connection to the chip. More...
 
static void * __ocs_cxn_offload_wait (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Waiting for connection offload request to complete. More...
 
static void * __ocs_cxn_reject (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 Reject a connection after some connection protocol started. More...
 
static void * __ocs_cxn_reject_wait (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 State: Waiting for connection reject request to complete. More...
 
static void * __ocs_cxn_error (ocs_sm_ctx_t *ctx, ocs_sm_event_t evt, void *arg)
 An error was received, something unexpected occurred. More...
 

Function Details

static void * __ocs_cxn_abort_wait ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Waiting for the IO aborts to complete.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 669 of file ocs_cxn.c.

static void * __ocs_cxn_close ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

Closes a TCP connection.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 741 of file ocs_cxn.c.

static void * __ocs_cxn_close_abort_io ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

Aborts active IO objects on a connection.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 555 of file ocs_cxn.c.

static void * __ocs_cxn_close_abort_login ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

Aborts any login transactions on a connection.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 624 of file ocs_cxn.c.

static void * __ocs_cxn_close_wait ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Closing, waiting for the close callback.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 801 of file ocs_cxn.c.

static void* __ocs_cxn_common ( const char *  funcname,
ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Common device event handler.

Description
For connection nodes, this handles default/common events.
Parameters
funcnameHigher level function name.
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 288 of file ocs_cxn.c.

static void * __ocs_cxn_connect ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Connect to a remote node.

Description
For connection nodes, this handles connecting to a remote node.
Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 374 of file ocs_cxn.c.

static void * __ocs_cxn_connect_delay ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Connection to target failed, delay before retrying.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 480 of file ocs_cxn.c.

static void * __ocs_cxn_connect_wait ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Waiting for the connection to complete.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 427 of file ocs_cxn.c.

static void * __ocs_cxn_connected ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Connected, waiting for the teardown request.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 519 of file ocs_cxn.c.

static void * __ocs_cxn_error ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

An error was received, something unexpected occurred.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 1273 of file ocs_cxn.c.

static void * __ocs_cxn_get_info ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

Get information on the connection.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 983 of file ocs_cxn.c.

static void * __ocs_cxn_get_info_wait ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Waiting for connection information request to complete.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 1032 of file ocs_cxn.c.

static void* __ocs_cxn_initial ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Initial state.

Description
For connection nodes, this handles connect/connection received events.
Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 320 of file ocs_cxn.c.

static void * __ocs_cxn_offload ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

Offload the connection to the chip.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 1073 of file ocs_cxn.c.

static void * __ocs_cxn_offload_wait ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Waiting for connection offload request to complete.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 1126 of file ocs_cxn.c.

static void * __ocs_cxn_reject ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

Reject a connection after some connection protocol started.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 1173 of file ocs_cxn.c.

static void * __ocs_cxn_reject_wait ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Waiting for connection reject request to complete.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 1231 of file ocs_cxn.c.

static void * __ocs_cxn_upload ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Closing, waiting for the close callback.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 849 of file ocs_cxn.c.

static void * __ocs_cxn_upload_wait ( ocs_sm_ctx_t *  ctx,
ocs_sm_event_t  evt,
void *  arg 
)
static

State: Waiting for connection upload to complete.

Parameters
ctxRemote node sm context.
evtEvent to process.
argPer event optional argument.
Returns
Returns NULL.

Definition at line 898 of file ocs_cxn.c.