Emulex Logo
OneCoreā„¢ Storage SDK Release 11.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sli4_skh_iscsi.c File Reference
#include "ocs.h"
#include "ocs_hal.h"
#include "sli4.h"
#include "sli4_iscsi.h"
#include "ocs_iscsi_spec.h"

Go to the source code of this file.

Detailed Description

Implementation of iSCSI Skyhawk SLI-4 functions

Definition in file sli4_skh_iscsi.c.

Functions

static int32_t sli_skh_iscsi_cqe_i_sol (sli4_t *sli4, uint8_t *cqe, sli4_qentry_fields_t *fields)
 Parse an iSCSI work queue CQ entry. More...
 
static int32_t sli_skh_iscsi_cqe_t_sol (sli4_t *sli4, uint8_t *cqe, sli4_qentry_fields_t *fields)
 Parse an iSCSI work queue CQ entry. More...
 
static int32_t sli_skh_iscsi_cqe_t_sol_data_digest (sli4_t *sli4, uint8_t *cqe, sli4_qentry_fields_t *fields)
 Parse an iSCSI work queue CQ entry. More...
 
static int32_t sli_skh_iscsi_cqe_t_cnxinv (sli4_t *sli4, uint8_t *cqe, sli4_qentry_fields_t *fields)
 Parse an iSCSI work queue CQ entry. More...
 
static int32_t sli_skh_iscsi_cqe_t_cmdinv (sli4_t *sli4, uint8_t *cqe, sli4_qentry_fields_t *fields)
 Parse an iSCSI work queue CQ entry. More...
 
static int32_t sli_skh_iscsi_cqe_i_t_dpdu (sli4_t *sli4, uint8_t *cqe, sli4_qentry_fields_t *fields)
 Parse an iSCSI work queue CQ entry. More...
 
static int32_t sli_skh_iscsi_cqe_i_t_dmsg (sli4_t *sli4, uint8_t *cqe, sli4_qentry_fields_t *fields)
 Parse an iSCSI work queue CQ entry. More...
 
static int32_t sli_skh_iscsi_cqe_tx_dif_error (sli4_t *sli4, uint8_t *cqe, sli4_qentry_fields_t *fields)
 Parse an iSCSI work queue CQ entry. More...
 
static int32_t sli_skh_wqe_dif (void *buf, ocs_hal_dif_info_t *dif_info, sli4_sge_t *sgl0, sli4_sge_t *sgl_dif)
 Write an DIF WQE work queue entry. More...
 
static int32_t sli_skh_wqe_ini_write (sli4_t *sli4, void *buf, size_t size, uint16_t lun, uint32_t exp_xfer_len, uint32_t cmdsn, uint16_t icd_index, ocs_hal_dif_info_t *dif_info, sli4_sge_t *sgl, uint32_t n_sge)
 write an INITIATOR_WRITE_COMMAND WQE work queue entry More...
 
static int32_t sli_skh_wqe_ini_tmf (sli4_t *sli4, void *buf, size_t size, uint16_t lun, uint32_t cmdsn, uint16_t icd_index, sli4_sge_t *sgl, uint32_t n_sge)
 Write an INITIATOR_TMF WQE work queue entry. More...
 
static int32_t sli_skh_wqe_ini_nop (sli4_t *sli4, void *buf, size_t size, uint8_t dm, uint32_t cmdsn, ocs_dma_t *bhs, ocs_dma_t *payload1, ocs_dma_t *payload2, uint32_t exp_xfer_len, uint16_t icd_index)
 Write an INITIATOR_NOP_OUT_COMMAND WQE work queue entry. More...
 
static int32_t sli_skh_wqe_ini_read (sli4_t *sli4, void *buf, size_t size, uint16_t lun, uint32_t exp_xfer_len, uint32_t cmdsn, uint16_t icd_index, ocs_hal_dif_info_t *dif_info, sli4_sge_t *sgl, uint32_t n_sge)
 write an INITIATOR_READ WQE work queue entry. More...
 
static int32_t sli_skh_wqe_update_context (sli4_t *sli4, void *buf, size_t size, ocs_hal_target_login_options_t *lgn_options, uint32_t statsn)
 Write an CONTEXT_UPDATE_WQE work queue entry. More...
 
static int32_t sli_skh_wqe_tgt_sts (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *bhs, uint16_t lun, uint32_t exp_xfer_len, uint32_t exp_data_sn, uint32_t itt, uint16_t icd_index, uint16_t ref_icd_index, ocs_hal_dif_info_t *dif_info, uint32_t r2t_offset, sli4_sge_t *sgl, uint32_t n_sge)
 Write an TGT_STS_WQE work queue entry. More...
 
static int32_t sli_skh_wqe_tgt_datain (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *bhs, uint16_t lun, uint8_t dm, uint8_t underrun, uint8_t overrun, uint32_t exp_xfer_len, uint16_t icd_index, uint16_t ref_icd_index, uint32_t data_sn, uint8_t piggy_back_status, ocs_hal_dif_info_t *dif_info, sli4_sge_t *sgl, uint32_t n_sge)
 Write an TGT_DATAIN_WQE work queue entry. More...
 
static int32_t sli_skh_wqe_tgt_sos (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *bhs, ocs_dma_t *payload1, ocs_dma_t *payload2, uint16_t lun, uint8_t dm, uint32_t exp_xfer_len, uint16_t icd_index)
 Write an TGT_SOS_WQE work queue entry. More...
 
static int32_t sli_skh_wqe_unassisted (sli4_t *sli4, void *buf, size_t size, uint8_t set_dm, uint8_t incr_statsn, uint8_t is_login, ocs_dma_t *bhs, ocs_dma_t *payload1, ocs_dma_t *payload2, uint32_t exp_xfer_len, uint16_t icd_index)
 Write an DM_CMD_WQE work queue entry. More...
 
static int32_t sli_skh_queue_iscsi_wq_write (sli4_t *sli4, sli4_queue_t *q, uint8_t *entry, void *io)
 Write an QWE entry to the queue object. More...
 
static int32_t sli_skh_queue_iscsi_wqe_invalidate (sli4_t *sli4, sli4_queue_t *q, void *io, uint8_t is_for_tm)
 Writes a 1 to the invalidate bit of the WQE. More...
 
static int32_t sli_skh_cmd_common_get_sli4_parameters (sli4_t *sli4, void *buf, size_t size)
 Write a COMMON_GET_SLI4_PARAMETERS command to the provided buffer. More...
 
int32_t sli_skh_get_sli4_parameters (sli4_t *sli4)
 Issue the GET_SLI4_PARAMETERS IOCTL and populate the results. More...
 

Variables

const char * SLI_QNAME []
 
cqe_handler_t * ini_skh_cqe_handlers [ISCSI_CQE_CODE_MAX+1]
 
cqe_handler_t * tgt_skh_cqe_handlers [ISCSI_CQE_CODE_MAX+1]
 
sli_wqe_handlers_t sli_skh_iscsi_wqe_handlers
 

Function Details

static int32_t sli_skh_cmd_common_get_sli4_parameters ( sli4_t *  sli4,
void *  buf,
size_t  size 
)
static

Write a COMMON_GET_SLI4_PARAMETERS command to the provided buffer.

Parameters
sli4SLI context pointer.
bufVirtual pointer to the destination buffer.
sizeBuffer size in bytes.
Returns
Number of bytes written.

Definition at line 1243 of file sli4_skh_iscsi.c.

int32_t sli_skh_get_sli4_parameters ( sli4_t *  sli4)

Issue the GET_SLI4_PARAMETERS IOCTL and populate the results.

Parameters
sli4SLI context.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 1273 of file sli4_skh_iscsi.c.

static int32_t sli_skh_iscsi_cqe_i_sol ( sli4_t *  sli4,
uint8_t *  cqe,
sli4_qentry_fields_t *  fields 
)
static

Parse an iSCSI work queue CQ entry.

Parameters
sli4SLI context.
cqePointer to the CQ entry.
fieldsReturns the fields embedded in the CQ entry.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 822 of file sli4_skh_iscsi.c.

static int32_t sli_skh_iscsi_cqe_i_t_dmsg ( sli4_t *  sli4,
uint8_t *  cqe,
sli4_qentry_fields_t *  fields 
)
static

Parse an iSCSI work queue CQ entry.

Parameters
sli4SLI context.
cqePointer to the CQ entry.
fieldsReturns the fields embedded in the CQ entry.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 1194 of file sli4_skh_iscsi.c.

static int32_t sli_skh_iscsi_cqe_i_t_dpdu ( sli4_t *  sli4,
uint8_t *  cqe,
sli4_qentry_fields_t *  fields 
)
static

Parse an iSCSI work queue CQ entry.

Parameters
sli4SLI context.
cqePointer to the CQ entry.
fieldsReturns the fields embedded in the CQ entry.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 1166 of file sli4_skh_iscsi.c.

static int32_t sli_skh_iscsi_cqe_t_cmdinv ( sli4_t *  sli4,
uint8_t *  cqe,
sli4_qentry_fields_t *  fields 
)
static

Parse an iSCSI work queue CQ entry.

Parameters
sli4SLI context.
cqePointer to the CQ entry.
fieldsReturns the fields embedded in the CQ entry.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 1137 of file sli4_skh_iscsi.c.

static int32_t sli_skh_iscsi_cqe_t_cnxinv ( sli4_t *  sli4,
uint8_t *  cqe,
sli4_qentry_fields_t *  fields 
)
static

Parse an iSCSI work queue CQ entry.

Parameters
sli4SLI context.
cqePointer to the CQ entry.
fieldsReturns the fields embedded in the CQ entry.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 1099 of file sli4_skh_iscsi.c.

static int32_t sli_skh_iscsi_cqe_t_sol ( sli4_t *  sli4,
uint8_t *  cqe,
sli4_qentry_fields_t *  fields 
)
static

Parse an iSCSI work queue CQ entry.

Parameters
sli4SLI context.
cqePointer to the CQ entry.
fieldsReturns the fields embedded in the CQ entry.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 1036 of file sli4_skh_iscsi.c.

static int32_t sli_skh_iscsi_cqe_t_sol_data_digest ( sli4_t *  sli4,
uint8_t *  cqe,
sli4_qentry_fields_t *  fields 
)
static

Parse an iSCSI work queue CQ entry.

Parameters
sli4SLI context.
cqePointer to the CQ entry.
fieldsReturns the fields embedded in the CQ entry.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 1066 of file sli4_skh_iscsi.c.

static int32_t sli_skh_iscsi_cqe_tx_dif_error ( sli4_t *  sli4,
uint8_t *  cqe,
sli4_qentry_fields_t *  fields 
)
static

Parse an iSCSI work queue CQ entry.

Parameters
sli4SLI context.
cqePointer to the CQ entry.
fieldsReturns the fields embedded in the CQ entry.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 1218 of file sli4_skh_iscsi.c.

static int32_t sli_skh_queue_iscsi_wq_write ( sli4_t *  sli4,
sli4_queue_t *  q,
uint8_t *  entry,
void *  io 
)
static

Write an QWE entry to the queue object.

Parameters
sli4SLI context.
qPointer to queue object.
entryPointer to entry contents.
ioPointer to the IO object.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 875 of file sli4_skh_iscsi.c.

static int32_t sli_skh_queue_iscsi_wqe_invalidate ( sli4_t *  sli4,
sli4_queue_t *  q,
void *  io,
uint8_t  is_for_tm 
)
static

Writes a 1 to the invalidate bit of the WQE.

Parameters
sli4SLI context.
qPointer to the queue object.
ioPointer to the IO object.
is_for_tmTRUE if the IO is being aborted for task management, otherwise FALSE.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 994 of file sli4_skh_iscsi.c.

static int32_t sli_skh_wqe_dif ( void *  buf,
ocs_hal_dif_info_t *  dif_info,
sli4_sge_t *  sgl0,
sli4_sge_t *  sgl_dif 
)
static

Write an DIF WQE work queue entry.

Parameters
bufDestination buffer for the WQE.
dif_infoPointer to the DIF fields (may be NULL).
sgl0Pointer to the SGL to put in SGE0 (data).
sgl_difPointer to the SGL to put in SGE1 (DIF separate).
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 160 of file sli4_skh_iscsi.c.

static int32_t sli_skh_wqe_ini_nop ( sli4_t *  sli4,
void *  buf,
size_t  size,
uint8_t  dm,
uint32_t  cmdsn,
ocs_dma_t *  bhs,
ocs_dma_t *  payload1,
ocs_dma_t *  payload2,
uint32_t  exp_xfer_len,
uint16_t  icd_index 
)
static

Write an INITIATOR_NOP_OUT_COMMAND WQE work queue entry.

Parameters
sli4SLI context.
bufDestination buffer for the WQE.
sizeBuffer size in bytes.
dmDetermines whether a dmsg CQE is generated.
cmdsniSCSI cmdsn for the command.
bhsPointer to the basic header segment.
payload1Optional pointer to payload memory.
payload2Optional pointer to payload memory.
exp_xfer_lenTotal # of payload bytes.
icd_indexICD index fr this request.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 359 of file sli4_skh_iscsi.c.

static int32_t sli_skh_wqe_ini_read ( sli4_t *  sli4,
void *  buf,
size_t  size,
uint16_t  lun,
uint32_t  exp_xfer_len,
uint32_t  cmdsn,
uint16_t  icd_index,
ocs_hal_dif_info_t *  dif_info,
sli4_sge_t *  sgl,
uint32_t  n_sge 
)
static

write an INITIATOR_READ WQE work queue entry.

Description
  • sgl[0] points the the BHS.
  • sgl[1] must be empty.
  • sgl[2] starts the data SGEs.
Parameters
sli4SLI context.
bufDestination buffer for the WQE.
sizeBuffer size in bytes.
lunLUN value for the command.
exp_xfer_lenTotal # of payload bytes.
cmdsniSCSI cmdsn for the command.
icd_indexICD index fr this request.
dif_infoPointer to the DIF fields (may be NULL).
sglPointer to the SGEs for this IO.
n_sgeNumber of SGEs present.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 424 of file sli4_skh_iscsi.c.

static int32_t sli_skh_wqe_ini_tmf ( sli4_t *  sli4,
void *  buf,
size_t  size,
uint16_t  lun,
uint32_t  cmdsn,
uint16_t  icd_index,
sli4_sge_t *  sgl,
uint32_t  n_sge 
)
static

Write an INITIATOR_TMF WQE work queue entry.

Description
  • sgl[0] points the the BHS.
Parameters
sli4SLI context.
bufDestination buffer for the WQE.
sizeBuffer size in bytes.
lunThe LUN value for the command.
cmdsniSCSI cmdsn for the command.
icd_indexICD index fr this request.
sglPointer to the SGEs for this IO.
n_sgeNumber of SGEs present.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 320 of file sli4_skh_iscsi.c.

static int32_t sli_skh_wqe_ini_write ( sli4_t *  sli4,
void *  buf,
size_t  size,
uint16_t  lun,
uint32_t  exp_xfer_len,
uint32_t  cmdsn,
uint16_t  icd_index,
ocs_hal_dif_info_t *  dif_info,
sli4_sge_t *  sgl,
uint32_t  n_sge 
)
static

write an INITIATOR_WRITE_COMMAND WQE work queue entry

Description
  • sgl[0] points the BHS.
  • sgl[1] must be empty.
  • sgl[2] starts the data SGEs.
Parameters
sli4SLI context.
bufDestination buffer for the WQE.
sizeBuffer size in bytes.
lunLUN value for the command.
exp_xfer_lenTotal # of payload bytes.
cmdsniSCSI cmdsn for the command.
icd_indexICD index fr this request.
dif_infoPointer to the DIF fields (may be NULL).
sglPointer to the SGEs for this IO.
n_sgeNumber of SGEs present.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 240 of file sli4_skh_iscsi.c.

static int32_t sli_skh_wqe_tgt_datain ( sli4_t *  sli4,
void *  buf,
size_t  size,
ocs_dma_t *  bhs,
uint16_t  lun,
uint8_t  dm,
uint8_t  underrun,
uint8_t  overrun,
uint32_t  exp_xfer_len,
uint16_t  icd_index,
uint16_t  ref_icd_index,
uint32_t  data_sn,
uint8_t  piggy_back_status,
ocs_hal_dif_info_t *  dif_info,
sli4_sge_t *  sgl,
uint32_t  n_sge 
)
static

Write an TGT_DATAIN_WQE work queue entry.

Description
The SGE entries in this WQE are used if all the entries fit in the WQE for a performance increase.
Parameters
sli4SLI context.
bufDestination buffer for the WQE.
sizeBuffer size in bytes.
bhsPointer to the basic header segment.
lunLUN value for the command.
dmDetermines whether a dmsg CQE is generated.
underrunSets the underrun bit in the auto response.
overrunSets the overrun bit in the auto response.
exp_xfer_lenTotal # of payload bytes.
icd_indexICD Index for this request.
ref_icd_indexReference ICD Index.
data_snStarting data sequence number.
piggy_back_statusIf true, a good status is sent to the initiator.
dif_infoPointer to the DIF fields (may be NULL).
sglPointer to the SGEs for this IO.
n_sgeNumber of SGEs present.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 630 of file sli4_skh_iscsi.c.

static int32_t sli_skh_wqe_tgt_sos ( sli4_t *  sli4,
void *  buf,
size_t  size,
ocs_dma_t *  bhs,
ocs_dma_t *  payload1,
ocs_dma_t *  payload2,
uint16_t  lun,
uint8_t  dm,
uint32_t  exp_xfer_len,
uint16_t  icd_index 
)
static

Write an TGT_SOS_WQE work queue entry.

Parameters
sli4SLI context.
bufDestination buffer for the WQE.
sizeBuffer size in bytes.
bhsPointer to the basic header segment.
payload1Optional pointer to payload memory.
payload2Optional pointer to payload memory.
lunLUN value for the command.
dmDetermines whether a dmsg CQE is generated.
exp_xfer_lenTotal # of payload bytes.
icd_indexICD index for this request.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 714 of file sli4_skh_iscsi.c.

static int32_t sli_skh_wqe_tgt_sts ( sli4_t *  sli4,
void *  buf,
size_t  size,
ocs_dma_t *  bhs,
uint16_t  lun,
uint32_t  exp_xfer_len,
uint32_t  exp_data_sn,
uint32_t  itt,
uint16_t  icd_index,
uint16_t  ref_icd_index,
ocs_hal_dif_info_t *  dif_info,
uint32_t  r2t_offset,
sli4_sge_t *  sgl,
uint32_t  n_sge 
)
static

Write an TGT_STS_WQE work queue entry.

Parameters
sli4SLI context.
bufDestination buffer for the WQE.
sizeBuffer size in bytes.
bhsPointer to the basic header segment.
lunLUN value for the command.
exp_xfer_lenTotal # of payload bytes.
exp_data_snExpected data sequence number.
ittInitiator transfer tag.
icd_indexICD index fr this request.
ref_icd_indexReference ICD Index.
dif_infoPointer to the DIF fields (may be NULL).
r2t_offsetR2T buffer Offset.
sglPointer to the SGEs for this IO.
n_sgeNumber of SGEs present.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 546 of file sli4_skh_iscsi.c.

static int32_t sli_skh_wqe_unassisted ( sli4_t *  sli4,
void *  buf,
size_t  size,
uint8_t  set_dm,
uint8_t  incr_statsn,
uint8_t  is_login,
ocs_dma_t *  bhs,
ocs_dma_t *  payload1,
ocs_dma_t *  payload2,
uint32_t  exp_xfer_len,
uint16_t  icd_index 
)
static

Write an DM_CMD_WQE work queue entry.

Parameters
sli4SLI context.
bufDestination buffer for the WQE.
sizeBuffer size in bytes.
set_dmIf TRUE, then a I_T_DMSG_CQE is generated on TCP ACK.
incr_statsnIf TRUE, the statsn is incremented by the FW.
is_loginIf TRUE, the statsn is not updated by FW.
bhsPointer to the basic header segment.
payload1Optional pointer to payload memory.
payload2Optional pointer to payload memory.
exp_xfer_lenTotal # of payload bytes.
icd_indexICD index fr this request.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 772 of file sli4_skh_iscsi.c.

static int32_t sli_skh_wqe_update_context ( sli4_t *  sli4,
void *  buf,
size_t  size,
ocs_hal_target_login_options_t *  lgn_options,
uint32_t  statsn 
)
static

Write an CONTEXT_UPDATE_WQE work queue entry.

Parameters
sli4SLI context.
bufdestination buffer for the WQE.
sizebuffer size in bytes.
lgn_optionsthe target login options for the connection.
statsnthe status SN for the connection.
Returns
Returns 0 on success, or a non-zero value otherwise.

Definition at line 497 of file sli4_skh_iscsi.c.

Variable Details

cqe_handler_t* ini_skh_cqe_handlers[ISCSI_CQE_CODE_MAX+1]

Definition at line 70 of file sli4_skh_iscsi.c.

const char* SLI_QNAME[]

Definition at line 75 of file sli4.c.

sli_wqe_handlers_t sli_skh_iscsi_wqe_handlers
Initial value:
= {
.wqe_update_context = sli_skh_wqe_update_context,
.wqe_ini_read = sli_skh_wqe_ini_read,
.wqe_ini_write = sli_skh_wqe_ini_write,
.wqe_ini_nop = sli_skh_wqe_ini_nop,
.wqe_ini_tmf = sli_skh_wqe_ini_tmf,
.wqe_tgt_datain = sli_skh_wqe_tgt_datain,
.wqe_tgt_sts = sli_skh_wqe_tgt_sts,
.wqe_tgt_sos = sli_skh_wqe_tgt_sos,
.wqe_unassisted = sli_skh_wqe_unassisted,
.queue_iscsi_wq_write = sli_skh_queue_iscsi_wq_write,
.queue_iscsi_wqe_invalidate = sli_skh_queue_iscsi_wqe_invalidate
}
static int32_t sli_skh_wqe_unassisted(sli4_t *sli4, void *buf, size_t size, uint8_t set_dm, uint8_t incr_statsn, uint8_t is_login, ocs_dma_t *bhs, ocs_dma_t *payload1, ocs_dma_t *payload2, uint32_t exp_xfer_len, uint16_t icd_index)
Write an DM_CMD_WQE work queue entry.
static int32_t sli_skh_wqe_ini_read(sli4_t *sli4, void *buf, size_t size, uint16_t lun, uint32_t exp_xfer_len, uint32_t cmdsn, uint16_t icd_index, ocs_hal_dif_info_t *dif_info, sli4_sge_t *sgl, uint32_t n_sge)
write an INITIATOR_READ WQE work queue entry.
static int32_t sli_skh_queue_iscsi_wq_write(sli4_t *sli4, sli4_queue_t *q, uint8_t *entry, void *io)
Write an QWE entry to the queue object.
static int32_t sli_skh_wqe_ini_write(sli4_t *sli4, void *buf, size_t size, uint16_t lun, uint32_t exp_xfer_len, uint32_t cmdsn, uint16_t icd_index, ocs_hal_dif_info_t *dif_info, sli4_sge_t *sgl, uint32_t n_sge)
write an INITIATOR_WRITE_COMMAND WQE work queue entry
static int32_t sli_skh_queue_iscsi_wqe_invalidate(sli4_t *sli4, sli4_queue_t *q, void *io, uint8_t is_for_tm)
Writes a 1 to the invalidate bit of the WQE.
static int32_t sli_skh_wqe_tgt_sts(sli4_t *sli4, void *buf, size_t size, ocs_dma_t *bhs, uint16_t lun, uint32_t exp_xfer_len, uint32_t exp_data_sn, uint32_t itt, uint16_t icd_index, uint16_t ref_icd_index, ocs_hal_dif_info_t *dif_info, uint32_t r2t_offset, sli4_sge_t *sgl, uint32_t n_sge)
Write an TGT_STS_WQE work queue entry.
static int32_t sli_skh_wqe_tgt_sos(sli4_t *sli4, void *buf, size_t size, ocs_dma_t *bhs, ocs_dma_t *payload1, ocs_dma_t *payload2, uint16_t lun, uint8_t dm, uint32_t exp_xfer_len, uint16_t icd_index)
Write an TGT_SOS_WQE work queue entry.
static int32_t sli_skh_wqe_update_context(sli4_t *sli4, void *buf, size_t size, ocs_hal_target_login_options_t *lgn_options, uint32_t statsn)
Write an CONTEXT_UPDATE_WQE work queue entry.
static int32_t sli_skh_wqe_ini_tmf(sli4_t *sli4, void *buf, size_t size, uint16_t lun, uint32_t cmdsn, uint16_t icd_index, sli4_sge_t *sgl, uint32_t n_sge)
Write an INITIATOR_TMF WQE work queue entry.
static int32_t sli_skh_wqe_ini_nop(sli4_t *sli4, void *buf, size_t size, uint8_t dm, uint32_t cmdsn, ocs_dma_t *bhs, ocs_dma_t *payload1, ocs_dma_t *payload2, uint32_t exp_xfer_len, uint16_t icd_index)
Write an INITIATOR_NOP_OUT_COMMAND WQE work queue entry.
static int32_t sli_skh_wqe_tgt_datain(sli4_t *sli4, void *buf, size_t size, ocs_dma_t *bhs, uint16_t lun, uint8_t dm, uint8_t underrun, uint8_t overrun, uint32_t exp_xfer_len, uint16_t icd_index, uint16_t ref_icd_index, uint32_t data_sn, uint8_t piggy_back_status, ocs_hal_dif_info_t *dif_info, sli4_sge_t *sgl, uint32_t n_sge)
Write an TGT_DATAIN_WQE work queue entry.

Definition at line 1323 of file sli4_skh_iscsi.c.

cqe_handler_t* tgt_skh_cqe_handlers[ISCSI_CQE_CODE_MAX+1]

Definition at line 109 of file sli4_skh_iscsi.c.