Emulex Logo
OneCoreā„¢ Storage SDK Release 11.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ocs_io_t Struct Reference

#include <ocs_io.h>

Detailed Description

Definition at line 77 of file ocs_io.h.

Data Fields

ocs_t * ocs
 
uint32_t instance_index
 
const char * display_name
 
ocs_node_t * node
 
ocs_list_link_t io_alloc_link
 
uint32_t init_task_tag
 
uint32_t tgt_task_tag
 
uint32_t hw_tag
 
uint32_t tag
 
ocs_scsi_sgl_t * sgl
 
uint32_t sgl_allocated
 
uint32_t sgl_count
 
ocs_scsi_ini_io_t ini_io
 
ocs_scsi_tgt_io_t tgt_io
 
uint32_t exp_xfer_len
 
ocs_mgmt_functions_t * mgmt_functions
 
void * hal_priv
 
ocs_io_type_e io_type
 
ocs_ref_t ref
 
void * dslab_item
 
ocs_hal_io_t * hio
 
size_t transferred
 
uint32_t auto_resp:1
 
uint32_t low_latency:1
 
uint32_t wq_steering:4
 
uint32_t wq_class:4
 
uint64_t xfer_req
 
ocs_scsi_rsp_io_cb_t scsi_ini_cb
 
void * scsi_ini_cb_arg
 
ocs_scsi_io_cb_t scsi_tgt_cb
 
void * scsi_tgt_cb_arg
 
ocs_scsi_io_cb_t abort_cb
 
void * abort_cb_arg
 
ocs_scsi_io_cb_t bls_cb
 
void * bls_cb_arg
 
ocs_scsi_tmf_cmd_e tmf_cmd
 
uint16_t abort_rx_id
 
uint32_t cmd_tgt:1
 
uint32_t send_abts:1
 
uint32_t cmd_ini:1
 
uint32_t seq_init:1
 
ocs_hal_io_param_t iparam
 
ocs_hal_dif_info_t hal_dif
 
ocs_scsi_dif_info_t scsi_dif_info
 
ocs_hal_io_type_e hio_type
 
uint64_t wire_len
 
void * hal_cb
 
ocs_list_link_t io_pending_link
 
ocs_list_link_t tmf_abort_link
 
bool tmf_abort
 
ocs_dma_t ovfl_sgl
 
uint32_t els_pend:1
 
uint32_t els_active:1
 
ocs_dma_t els_req
 
ocs_dma_t els_rsp
 
ocs_sm_ctx_t els_sm
 
uint32_t els_evtdepth
 
uint32_t els_req_free:1
 
uint32_t els_retries_remaining
 
void(* els_callback )(ocs_node_t *node, ocs_node_cb_t *cbdata, void *cbarg)
 
void * els_callback_arg
 
uint32_t els_timeout_sec
 
ocs_timer_t delay_timer
 
ocs_io_t * io_to_abort
 
ocs_list_link_t link
 
ocs_dma_t cmdbuf
 
ocs_dma_t rspbuf
 
uint32_t timeout
 
uint8_t cs_ctl
 
uint8_t io_free
 
uint32_t app_id
 
uint8_t trecv_wqe_timer
 
els_loopback_io_evt_t loopback_evt_data
 

Field Documentation

ocs_scsi_io_cb_t ocs_io_t::abort_cb

abort callback function

Definition at line 114 of file ocs_io.h.

void* ocs_io_t::abort_cb_arg

abort callback function argument

Definition at line 115 of file ocs_io.h.

uint16_t ocs_io_t::abort_rx_id

rx_id from the ABTS that initiated the command abort

Definition at line 119 of file ocs_io.h.

uint32_t ocs_io_t::app_id

Definition at line 162 of file ocs_io.h.

uint32_t ocs_io_t::auto_resp

set if auto_trsp was set

Definition at line 105 of file ocs_io.h.

ocs_scsi_io_cb_t ocs_io_t::bls_cb

BLS callback function

Definition at line 116 of file ocs_io.h.

void* ocs_io_t::bls_cb_arg

BLS callback function argument

Definition at line 117 of file ocs_io.h.

uint32_t ocs_io_t::cmd_ini

True if this is an Initiator command

Definition at line 121 of file ocs_io.h.

uint32_t ocs_io_t::cmd_tgt

True if this is a Target command

Definition at line 121 of file ocs_io.h.

ocs_dma_t ocs_io_t::cmdbuf

SCSI Command buffer, used for CDB (initiator)

Definition at line 157 of file ocs_io.h.

uint8_t ocs_io_t::cs_ctl

CS_CTL priority for this IO

Definition at line 160 of file ocs_io.h.

ocs_timer_t ocs_io_t::delay_timer

delay timer

Definition at line 151 of file ocs_io.h.

const char* ocs_io_t::display_name

display name

Definition at line 81 of file ocs_io.h.

void* ocs_io_t::dslab_item

pointer back to dslab allocation object

Definition at line 102 of file ocs_io.h.

uint32_t ocs_io_t::els_active

True if ELS is active

Definition at line 139 of file ocs_io.h.

void(* ocs_io_t::els_callback)(ocs_node_t *node, ocs_node_cb_t *cbdata, void *cbarg)

Definition at line 147 of file ocs_io.h.

void* ocs_io_t::els_callback_arg

Definition at line 148 of file ocs_io.h.

uint32_t ocs_io_t::els_evtdepth

current event posting nesting depth

Definition at line 144 of file ocs_io.h.

uint32_t ocs_io_t::els_pend

True if ELS is pending

Definition at line 139 of file ocs_io.h.

ocs_dma_t ocs_io_t::els_req

ELS request payload buffer

Definition at line 141 of file ocs_io.h.

uint32_t ocs_io_t::els_req_free

this els is to be free'd

Definition at line 145 of file ocs_io.h.

uint32_t ocs_io_t::els_retries_remaining

Definition at line 146 of file ocs_io.h.

ocs_dma_t ocs_io_t::els_rsp

ELS response payload buffer

Definition at line 142 of file ocs_io.h.

ocs_sm_ctx_t ocs_io_t::els_sm

EIO IO state machine context

Definition at line 143 of file ocs_io.h.

uint32_t ocs_io_t::els_timeout_sec

timeout

Definition at line 149 of file ocs_io.h.

uint32_t ocs_io_t::exp_xfer_len

expected data transfer length, based on FC or iSCSI header

Definition at line 93 of file ocs_io.h.

void* ocs_io_t::hal_cb

saved HAL callback

Definition at line 130 of file ocs_io.h.

ocs_hal_dif_info_t ocs_io_t::hal_dif

HAL formatted DIF parameters

Definition at line 126 of file ocs_io.h.

void* ocs_io_t::hal_priv

HAL private context

Definition at line 97 of file ocs_io.h.

ocs_hal_io_t* ocs_io_t::hio

HAL IO context

Definition at line 103 of file ocs_io.h.

ocs_hal_io_type_e ocs_io_t::hio_type

HAL IO type

Definition at line 128 of file ocs_io.h.

uint32_t ocs_io_t::hw_tag

HW layer unique IO id - for back-end and SCSI logging

Definition at line 86 of file ocs_io.h.

ocs_scsi_ini_io_t ocs_io_t::ini_io

backend initiator private IO data

Definition at line 91 of file ocs_io.h.

uint32_t ocs_io_t::init_task_tag

initiator task tag (OX_ID) for back-end and SCSI logging

Definition at line 84 of file ocs_io.h.

uint32_t ocs_io_t::instance_index

unique instance index value

Definition at line 80 of file ocs_io.h.

ocs_list_link_t ocs_io_t::io_alloc_link

(io_pool->io_free_list) free list link

Definition at line 83 of file ocs_io.h.

uint8_t ocs_io_t::io_free

Is io object in freelist >

Definition at line 161 of file ocs_io.h.

ocs_list_link_t ocs_io_t::io_pending_link

link list link pending

Definition at line 131 of file ocs_io.h.

ocs_io_t* ocs_io_t::io_to_abort

pointer to IO to abort

Definition at line 154 of file ocs_io.h.

ocs_io_type_e ocs_io_t::io_type

indicates what this ocs_io_t structure is used for

Definition at line 100 of file ocs_io.h.

ocs_hal_io_param_t ocs_io_t::iparam

iparams for hal io send call

Definition at line 125 of file ocs_io.h.

ocs_list_link_t ocs_io_t::link

linked list link

Definition at line 156 of file ocs_io.h.

els_loopback_io_evt_t ocs_io_t::loopback_evt_data

Definition at line 164 of file ocs_io.h.

uint32_t ocs_io_t::low_latency

set if low latency request

Definition at line 105 of file ocs_io.h.

ocs_mgmt_functions_t* ocs_io_t::mgmt_functions

Definition at line 94 of file ocs_io.h.

ocs_node_t* ocs_io_t::node

pointer to node

Definition at line 82 of file ocs_io.h.

ocs_t* ocs_io_t::ocs

pointer back to ocs

Definition at line 79 of file ocs_io.h.

ocs_dma_t ocs_io_t::ovfl_sgl

Overflow SGL

Definition at line 136 of file ocs_io.h.

ocs_ref_t ocs_io_t::ref

refcount object

Definition at line 101 of file ocs_io.h.

ocs_dma_t ocs_io_t::rspbuf

SCSI Response buffer (i+t)

Definition at line 158 of file ocs_io.h.

ocs_scsi_dif_info_t ocs_io_t::scsi_dif_info

DIF info saved for DIF error recovery

Definition at line 127 of file ocs_io.h.

ocs_scsi_rsp_io_cb_t ocs_io_t::scsi_ini_cb

initiator callback function

Definition at line 110 of file ocs_io.h.

void* ocs_io_t::scsi_ini_cb_arg

initiator callback function argument

Definition at line 111 of file ocs_io.h.

ocs_scsi_io_cb_t ocs_io_t::scsi_tgt_cb

target callback function

Definition at line 112 of file ocs_io.h.

void* ocs_io_t::scsi_tgt_cb_arg

target callback function argument

Definition at line 113 of file ocs_io.h.

uint32_t ocs_io_t::send_abts

when aborting, indicates ABTS is to be sent

Definition at line 121 of file ocs_io.h.

uint32_t ocs_io_t::seq_init

True if local node has sequence initiative

Definition at line 121 of file ocs_io.h.

ocs_scsi_sgl_t* ocs_io_t::sgl

SGL

Definition at line 88 of file ocs_io.h.

uint32_t ocs_io_t::sgl_allocated

Number of allocated SGEs

Definition at line 89 of file ocs_io.h.

uint32_t ocs_io_t::sgl_count

Number of SGEs in this SGL

Definition at line 90 of file ocs_io.h.

uint32_t ocs_io_t::tag

unique IO identifier

Definition at line 87 of file ocs_io.h.

ocs_scsi_tgt_io_t ocs_io_t::tgt_io

backend target private IO data

Definition at line 92 of file ocs_io.h.

uint32_t ocs_io_t::tgt_task_tag

target task tag (RX_ID) - for back-end and SCSI logging

Definition at line 85 of file ocs_io.h.

uint32_t ocs_io_t::timeout

Timeout value in seconds for this IO

Definition at line 159 of file ocs_io.h.

bool ocs_io_t::tmf_abort

True when io marked for tmf abort

Definition at line 134 of file ocs_io.h.

ocs_list_link_t ocs_io_t::tmf_abort_link
            list to store list of IOs to which

abort ABORT_IO_NO_RESP evt needs to be posted

Definition at line 132 of file ocs_io.h.

ocs_scsi_tmf_cmd_e ocs_io_t::tmf_cmd

TMF command being processed

Definition at line 118 of file ocs_io.h.

size_t ocs_io_t::transferred

Number of bytes transfered so far

Definition at line 104 of file ocs_io.h.

uint8_t ocs_io_t::trecv_wqe_timer

Timeout value in seconds for treceive wqe>

Definition at line 163 of file ocs_io.h.

uint64_t ocs_io_t::wire_len

wire length

Definition at line 129 of file ocs_io.h.

uint32_t ocs_io_t::wq_class

selected WQ class if steering is class

Definition at line 105 of file ocs_io.h.

uint32_t ocs_io_t::wq_steering

selected WQ steering request

Definition at line 105 of file ocs_io.h.

uint64_t ocs_io_t::xfer_req

transfer size for current request

Definition at line 109 of file ocs_io.h.


The documentation for this struct was generated from the following file: