lm_l5sp.c revision d14abf155341d55053c76eeec58b787a456b753b
#include "lm5710.h"
#include "command.h"
#include "everest_l5cm_constants.h"
#include "lm_l5if.h"
static lm_status_t lm_sc_post_init_request(
{
return LM_STATUS_PENDING;
}
static lm_status_t lm_sc_post_update_request(
{
struct protocol_common_spe spe = {0};
return LM_STATUS_PENDING;
}
/* Desciption:
* post slow path request of given type for given iscsi state
* Assumptions:
* - caller initialized request->type according to his specific request
* - caller allocated space for request->data, according to the specific request type
* - all previous slow path requests for given tcp state are already completed
* Returns:
* PENDING, SUCCESS or any failure */
{
DbgMessage(pdev, VERBOSEl5sp, "### lm_sc_post_slow_path_request cid=%d, type=%d\n", iscsi->cid, request->type);
{
/* NirV: called under lock, iscsi_state is being changed */
case SP_REQUEST_SC_INIT:
break;
case SP_REQUEST_SC_UPDATE:
break;
default:
DbgBreakMsg("Illegal slow path request type!\n");
break;
}
if (lm_status == LM_STATUS_PENDING)
{
"calling lm_command_post, cid=%d, command=%d, con_type=%d, data=%lx\n",
lm_command_post(pdev, iscsi->cid, command, CMD_PRIORITY_NORMAL, ISCSI_CONNECTION_TYPE/*ulp*/, data);
}
return lm_status;
}
/* Desciption:
* initiate a caller allocated lm iscsi state
* Assumptions:
* - caller already zeroed given iscsi state
* Returns:
* SUCCESS or any failure */
struct _lm_device_t *pdev,
{
// NirV: sc: future statistics update
/* the rest of the iscsi state's fields that require initialization value other than 0,
* will be initialized later (when lm_sc_init_iscsi_context is called) */
return LM_STATUS_SUCCESS;
}
/* Desciption:
* delete iscsi state from lm _except_ from actual freeing of memory.
* the task of freeing of memory is done in lm_sc_free_iscsi_state()
* Assumptions:
* global toe lock is taken by the caller
*/
void lm_sc_del_iscsi_state(
struct _lm_device_t *pdev,
{
/* just a moment before we delete this connection, lets take it's info... */
/*lm_tcp_collect_stats(pdev, tcp);*/
/*pdev->iscsi_info.stats.total_upld++;*/
/* tcp->cid could have not been initialized if delete of state
is a result of a failed initialization */
notify_fw = 0;
}
} /* lm_sc_del_iscsi_state */
/* clean up the lm_fcoe_state */
void
struct _lm_device_t *pdev,
{
/*
DbgBreakIf(fcoe->hdr.status >= STATE_STATUS_OFFLOAD_PENDING &&
fcoe->hdr.status < STATE_STATUS_UPLOAD_DONE);
*/
/* remove the lm_fcoe_state from the state list */
/* tcp->cid could have not been initialized if delete of state
is a result of a failed initialization */
/*
DbgBreakIf(fcoe->hdr.status != STATE_STATUS_UPLOAD_DONE &&
fcoe->hdr.status != STATE_STATUS_INIT_OFFLOAD_ERR);
*/
} /* lm_fc_del_fcoe_state */
struct _lm_device_t *pdev,
{
/* the rest of the fcoe state's fields that require initialization value other than 0,
* will be initialized later (when lm_fc_init_fcoe_context is called) */
return LM_STATUS_SUCCESS;
}
void lm_sc_init_sp_req_type(
struct _lm_device_t * pdev,
void * req_input_data)
{
void *update_kwqe_virt;
struct protocol_common_spe spe = {0};
case SP_REQUEST_SC_INIT:
break;
case SP_REQUEST_SC_UPDATE:
break;
default:
DbgBreakMsg("lm_sc_init_sp_req_type: Illegal slow path request type!\n");
}
} /* lm_init_sp_req_type */