Emulex Logo
OneCoreā„¢ Storage SDK Release 11.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Open-iSCSI Interface Module (ocs_openiscsi)

Functions

int32_t ocs_scsi_ini_new_device (ocs_t *ocs)
 Initializes any initiator fields on the ocs structure. More...
 
int32_t ocs_scsi_ini_del_device (ocs_t *ocs)
 Tears down initiator members of ocs structure. More...
 
int32_t ocs_scsi_ini_new_domain (ocs_domain_t *domain)
 Accept new domain notification. More...
 
void ocs_scsi_ini_del_domain (ocs_domain_t *domain)
 Accept domain lost notification. More...
 
int32_t ocs_scsi_ini_new_sport (ocs_sport_t *sport)
 Process creation of a new SPORT. More...
 
void ocs_scsi_ini_del_sport (ocs_sport_t *sport)
 Process deletion of a SPORT. More...
 
int32_t ocs_scsi_new_target (ocs_node_t *node)
 Receive notification of a new SCSI target node. More...
 
int32_t ocs_scsi_del_target (ocs_node_t *node, ocs_scsi_del_target_reason_e reason)
 Delete a SCSI target node. More...
 
void ocs_scsi_ini_ddump (ocs_textbuf_t *textbuf, ocs_scsi_ddump_type_e type, void *obj)
 Generate driver dump data for debugging. More...
 
static int32_t ocs_lnx_xport_unsol_cb (void *arg, ocs_cxn_t *cxn, ocs_hal_rq_buffer_t *bhs, uint32_t hdr_len, ocs_hal_rq_buffer_t *data, uint32_t data_len, uint8_t code)
 Unsolicited event handler. More...
 
static void ocs_lnx_xport_fail_session (struct iscsi_cls_session *cls_session)
 Helper function for marking sessions as failed. More...
 
static void ocs_lnx_xport_link_state (ocs_t *ocs, ocs_link_state_e link_state)
 Called when the link changes state. More...
 
static int32_t ocs_lnx_xport_io_cb (ocs_io_t *io, ocs_scsi_io_status_e status, ocs_scsi_cmd_resp_t *rsp, uint32_t flags, void *arg)
 IO completion handler for iSCSI initiator. More...
 
struct iscsi_cls_session * ocs_session_create (struct iscsi_endpoint *ep, u16 cmds_max, u16 qdepth, u32 initial_cmdsn)
 Create a new iscsi session. More...
 
void ocs_session_destroy (struct iscsi_cls_session *cls_session)
 Destroy an iSCSI session. More...
 
struct iscsi_cls_conn * ocs_conn_create (struct iscsi_cls_session *cls_session, u32 cid)
 Create an instance of iSCSI connection. More...
 
int ocs_conn_bind (struct iscsi_cls_session *cls_session, struct iscsi_cls_conn *cls_conn, u64 transport_fd, int is_leading)
 Binds an iSCSI connection to an endpoint. More...
 
int ocs_iface_set_param (struct Scsi_Host *shost, void *data, uint32_t dt_len)
 
int ocs_iface_get_param (struct iscsi_iface *iface, enum iscsi_param_type param_type, int param, char *buf)
 
int ocs_ep_get_param (struct iscsi_endpoint *ep, enum iscsi_param param, char *buf)
 
int ocs_conn_get_param (struct iscsi_cls_conn *cls_conn, enum iscsi_param param, char *buf)
 
int ocs_session_get_param (struct iscsi_cls_session *cls_session, enum iscsi_param param, char *buf)
 
int ocs_set_param (struct iscsi_cls_conn *cls_conn, enum iscsi_param param, char *buf, int buflen)
 
int ocs_set_host_param (struct Scsi_Host *shost, enum iscsi_host_param param, char *buf, int buflen)
 
int ocs_get_host_param (struct Scsi_Host *shost, enum iscsi_host_param param, char *buf)
 
void ocs_conn_get_stats (struct iscsi_cls_conn *cls_conn, struct iscsi_stats *stats)
 
void ocs_set_update_ctx_options (ocs_hal_io_param_t *iparam, struct iscsi_conn *conn)
 Set UPDATE CONTEXT options. More...
 
int ocs_conn_start (struct iscsi_cls_conn *cls_conn)
 Offload of session to chip. More...
 
static int ocs_conn_update_context (struct iscsi_conn *conn)
 
static int ocs_sockaddr_to_hal_ip (struct sockaddr *addr, ocs_hal_ip_address_t *hal_ip, uint16_t *port)
 
struct iscsi_endpoint * ocs_ep_connect (struct Scsi_Host *shost, struct sockaddr *dst_addr, int non_blocking)
 Ask the chip to create TCP connection. More...
 
int ocs_ep_poll (struct iscsi_endpoint *ep, int timeout_ms)
 Poll to see if a connection is established. More...
 
void ocs_ep_disconnect (struct iscsi_endpoint *ep)
 Tears down the TCP connection. More...
 
int32_t ocs_iscsi_mtask_cb_tcp_ack_wait_rsp (ocs_io_t *io, uint32_t exp_cmdsn, uint32_t max_cmdsn, uint8_t response)
 Completion handler for non-SCSI initiator tasks that complete on TCP ACK. More...
 
int32_t ocs_iscsi_mtask_cb_tcp_ack_no_rsp (ocs_io_t *io, uint32_t exp_cmdsn, uint32_t max_cmdsn, uint8_t response)
 Completion handler for non-SCSI initiator tasks that complete on TCP ACK. More...
 
int32_t ocs_iscsi_mtask_cb_with_rsp (ocs_io_t *io, uint32_t exp_cmdsn, uint32_t max_cmdsn, uint8_t response)
 Completion handler for non-SCSI initiator tasks. More...
 
static int ocs_xmit_mtask (struct iscsi_task *task)
 Transmit a management task. More...
 
static void ocs_task_cleanup (struct iscsi_task *task)
 Clean up an iSCSI task. More...
 
static int ocs_task_xmit (struct iscsi_task *task)
 Transmit an iSCSI task. More...
 
void ocs_cleanup_task (struct iscsi_task *task)
 
static int ocs_alloc_pdu (struct iscsi_task *task, uint8_t opcode)
 Allocate a new PDU. More...
 
umode_t ocs_attr_is_visible (int param_type, int param)
 Return sysfs visibility for a parameter. More...
 

Variables

struct scsi_host_template host_template
 Host Template. More...
 
struct iscsi_transport ocs_lnx_xport_iscsi
 iSCSI transport entry points. More...
 

Function Details

static int ocs_alloc_pdu ( struct iscsi_task *  task,
uint8_t  opcode 
)
static

Allocate a new PDU.

Description
This function is called by libiscsi to create a new PDU for a task. This function calls the SCSI API to allocate an I/O object for the task. libiscsi expects us to allocate memory for the PDU and point task->hdr to it.
Parameters
taskiSCSI task to which the new PDU belongs.
opcodeOpcode of the new PDU.
Returns
Returns 0 on success; or a negative error code value on failure.

Definition at line 2239 of file ocs_openiscsi_ini.c.

umode_t ocs_attr_is_visible ( int  param_type,
int  param 
)

Return sysfs visibility for a parameter.

Description
Parameters
param_typeType of parameter to query.
paramParameter to query.
Returns
Returns a non-zero mode_t if a parameter is visible through sysfs; or 0 if the parameter is not visible.

Definition at line 2323 of file ocs_openiscsi_ini.c.

void ocs_cleanup_task ( struct iscsi_task *  task)
Description
Requests LLD to fail task. Called with session lock and after the connection has been suspended and terminated during recovery. If called from abort task, then connection is not suspended or terminated but sk_callback_lock is held.
Parameters
taskThe iSCSI task to be cleaned up.
Returns
None.

Definition at line 2201 of file ocs_openiscsi_ini.c.

int ocs_conn_bind ( struct iscsi_cls_session *  cls_session,
struct iscsi_cls_conn *  cls_conn,
u64  transport_fd,
int  is_leading 
)

Binds an iSCSI connection to an endpoint.

Description
This function binds a connection/session pair to a connected endpoint.
Parameters
cls_sessionPointer to iSCSI session.
cls_connPointer to iSCSI connection.
transport_fdFile descriptor for the endpoint (not used)
is_leadingNot used.
Returns
Returns 0 on success; or a negative error code value on failure.

Definition at line 1040 of file ocs_openiscsi_ini.c.

struct iscsi_cls_conn* ocs_conn_create ( struct iscsi_cls_session *  cls_session,
u32  cid 
)

Create an instance of iSCSI connection.

Parameters
cls_sessionTBD.
cidTBD.
Returns
TBD

Definition at line 984 of file ocs_openiscsi_ini.c.

int ocs_conn_get_param ( struct iscsi_cls_conn *  cls_conn,
enum iscsi_param  param,
char *  buf 
)
Description
Parameters
cls_conn
param
buf
Returns

Definition at line 1147 of file ocs_openiscsi_ini.c.

void ocs_conn_get_stats ( struct iscsi_cls_conn *  cls_conn,
struct iscsi_stats *  stats 
)
Description
Parameters
cls_conn
stats

Definition at line 1379 of file ocs_openiscsi_ini.c.

int ocs_conn_start ( struct iscsi_cls_conn *  cls_conn)

Offload of session to chip.

Description
Parameters
cls_conn
Returns
Returns 0.

Definition at line 1427 of file ocs_openiscsi_ini.c.

static int ocs_conn_update_context ( struct iscsi_conn *  conn)
static
Description
Parameters
conn
Returns

Definition at line 1468 of file ocs_openiscsi_ini.c.

struct iscsi_endpoint* ocs_ep_connect ( struct Scsi_Host *  shost,
struct sockaddr *  dst_addr,
int  non_blocking 
)

Ask the chip to create TCP connection.

Description
This routine first asks the chip to create a connection and then allocates an EP.
Parameters
shostPointer to Scsi_Host structure.
dst_addrThe IP address of the target.
non_blockingBlocking or non-blocking call.
Returns
  • A pointer to an endpoint on success.
  • A negative error value on error.

Definition at line 1558 of file ocs_openiscsi_ini.c.

void ocs_ep_disconnect ( struct iscsi_endpoint *  ep)

Tears down the TCP connection.

Description
Tears down a TCP connection.
Parameters
epThe endpoint to be disconnected.
Returns
None.

Definition at line 1677 of file ocs_openiscsi_ini.c.

int ocs_ep_get_param ( struct iscsi_endpoint *  ep,
enum iscsi_param  param,
char *  buf 
)
Description
Parameters
ep
param
buf
Returns

Definition at line 1129 of file ocs_openiscsi_ini.c.

int ocs_ep_poll ( struct iscsi_endpoint *  ep,
int  timeout_ms 
)

Poll to see if a connection is established.

Description
Poll to see if TCP connection is established.
Parameters
epThe endpoint to be polled.
timeout_msMaximum time to wait (not used).
Returns
Returns 1 if the endpoint is connected; or 0 if not.

Definition at line 1649 of file ocs_openiscsi_ini.c.

int ocs_get_host_param ( struct Scsi_Host *  shost,
enum iscsi_host_param  param,
char *  buf 
)
Description
Parameters
shost
param
buf
Returns

Definition at line 1347 of file ocs_openiscsi_ini.c.

int ocs_iface_get_param ( struct iscsi_iface *  iface,
enum iscsi_param_type  param_type,
int  param,
char *  buf 
)
Description
Parameters
ifaceTBD.
param_typeTBD.
paramTBD.
bufTBD.
Returns

Definition at line 1109 of file ocs_openiscsi_ini.c.

int ocs_iface_set_param ( struct Scsi_Host *  shost,
void *  data,
uint32_t  dt_len 
)
Description
Parameters
shostTBD.
dataTBD.
dt_lenTBD.
Returns

Definition at line 1090 of file ocs_openiscsi_ini.c.

int32_t ocs_iscsi_mtask_cb_tcp_ack_no_rsp ( ocs_io_t *  io,
uint32_t  exp_cmdsn,
uint32_t  max_cmdsn,
uint8_t  response 
)

Completion handler for non-SCSI initiator tasks that complete on TCP ACK.

Description
This function is called on receipt of a DMSG_CQE. The CQE indicates that a DM_CMD_WQE has been sent with the DM flag set and a TCP ACK has been received. There is no response coming, so complete the "task" to libiscsi.
Parameters
ioPointer to the io that completed.
exp_cmdsnTBD.
max_cmdsnTBD.
responseTBD.
Returns
Returns 0 on success; negative error value on failure.

Definition at line 1806 of file ocs_openiscsi_ini.c.

int32_t ocs_iscsi_mtask_cb_tcp_ack_wait_rsp ( ocs_io_t *  io,
uint32_t  exp_cmdsn,
uint32_t  max_cmdsn,
uint8_t  response 
)

Completion handler for non-SCSI initiator tasks that complete on TCP ACK.

Description
This function is called on receipt of a DMSG_CQE. The CQE indicates that a DM_CMD_WQE has been sent with the DM flag set and a TCP ACK has been received. We must wait for the response to come up the unsolicited path to complete the "task" to libiscsi.
Parameters
ioPointer to the io that completed.
exp_cmdsnTBD.
max_cmdsnTBD.
responseTBD.
Returns
Returns 0 on success; negative error value on failure.

Definition at line 1747 of file ocs_openiscsi_ini.c.

int32_t ocs_iscsi_mtask_cb_with_rsp ( ocs_io_t *  io,
uint32_t  exp_cmdsn,
uint32_t  max_cmdsn,
uint8_t  response 
)

Completion handler for non-SCSI initiator tasks.

Description
This function is called on receipt of a DMSG_CQE with a response PDU. The CQE indicates that a DM_CMD_WQE has been sent without the DM flag set. A response is received as part of the completion.
Parameters
ioPointer to the io that completed.
exp_cmdsnTBD.
max_cmdsnTBD.
responseTBD.
Returns
Returns 0 on success; or a negative error value on failure.

Definition at line 1882 of file ocs_openiscsi_ini.c.

static void ocs_lnx_xport_fail_session ( struct iscsi_cls_session *  cls_session)
static

Helper function for marking sessions as failed.

Description
This is a helper function used by ocs_lnx_xport_link_state. When a link goes down that function iterates over all sessions on the link and calls this function for each of them. This function then calls iscsi_session_failure for each of the sessions to let open-iscsi know that the session has failed.
Parameters
cls_sessionTBD.

Definition at line 764 of file ocs_openiscsi_ini.c.

static int32_t ocs_lnx_xport_io_cb ( ocs_io_t *  io,
ocs_scsi_io_status_e  status,
ocs_scsi_cmd_resp_t *  rsp,
uint32_t  flags,
void *  arg 
)
static

IO completion handler for iSCSI initiator.

Description
This function is called on receipt of a Initiator Solicited CQE in response to a SCSI I/O. The CQE indicates that the SCSI command has completed.

This function restores the original ITT in the BHS, then calls iscsi_complete_scsi_task to let libiscsi do its processing, then calls ocs_scsi_cmd_cb to let the ocs_scsi layer complete its processing.
Parameters
ioPointer to the io that completed.
statusOCS_SCSI status.
rspSCSI response, including SCSI status.
flagsFlags (currently unused).
argArgument from the upper layer (currently unused).
Returns
Returns 0 on success; or a negative error code value on failure.

Definition at line 819 of file ocs_openiscsi_ini.c.

static void ocs_lnx_xport_link_state ( ocs_t *  ocs,
ocs_link_state_e  link_state 
)
static

Called when the link changes state.

Parameters
ocsPointer to the ocs structure.
link_stateProvides the status of the link.
Returns
None.

Definition at line 778 of file ocs_openiscsi_ini.c.

static int32_t ocs_lnx_xport_unsol_cb ( void *  arg,
ocs_cxn_t *  cxn,
ocs_hal_rq_buffer_t *  bhs,
uint32_t  hdr_len,
ocs_hal_rq_buffer_t *  data,
uint32_t  data_len,
uint8_t  code 
)
static

Unsolicited event handler.

Description
Called by the iSCSI transport layer to handle unsolicited PDUs for initiator connections. For open-iSCSI, we don't want the iSCSI transport layer to receive unsolicited PDUs and push them through state machines. The Linux iSCSI transport layer (open-iSCSI) manages these.
Parameters
argTBD.
cxnTBD.
bhsTBD.
hdr_lenTBD.
dataTBD.
data_lenTBD.
codeTBD.
Returns
Returns 0 on success; or a negative error code value on failure.

Definition at line 667 of file ocs_openiscsi_ini.c.

int32_t ocs_scsi_del_target ( ocs_node_t *  node,
ocs_scsi_del_target_reason_e  reason 
)

Delete a SCSI target node.

Description
Sent by the base driver to notify the initiator-client that a remote target is now gone. The initiator-client should terminate and clean up all I/Os associated with the node.

The ocs_node_t structure has an element of type ocs_scsi_ini_node_t named ni_node that is declared and used by a target-server for private information.

Note: This function is only called if the base driver is enabled for target capability.
Parameters
nodePointer node being deleted.
reasonReason for deleting the target.
Returns
  • OCS_SCSI_CALL_ASYNC if target delete is queued for async completion.
  • OCS_SCSI_CALL_COMPLETE if call completed
  • error

Definition at line 485 of file ocs_openiscsi_ini.c.

void ocs_scsi_ini_ddump ( ocs_textbuf_t *  textbuf,
ocs_scsi_ddump_type_e  type,
void *  obj 
)

Generate driver dump data for debugging.

Description
This function is a placeholder for future use in dumping driver debug data.
Parameters
textbufThe structure into which the data is dumped.
typeThe type of data to dump.
objTBD

Definition at line 505 of file ocs_openiscsi_ini.c.

int32_t ocs_scsi_ini_del_device ( ocs_t *  ocs)

Tears down initiator members of ocs structure.

Description
Called by the OS code when the device is removed.
Parameters
ocsPointer to ocs.
Returns
Returns 0.

Definition at line 322 of file ocs_openiscsi_ini.c.

void ocs_scsi_ini_del_domain ( ocs_domain_t *  domain)

Accept domain lost notification.

Description
Called by the base driver when a domain goes away. An initiator-client uses this call to clean up all domain scoped resources.

Notes:
  • This function is only called if the base driver has been enabled for initiator capability.
  • This call is made to initiator-client backends. The ocs_scsi_tgt_del_domain() function is called to target-server backends.
  • For the open-iscsi initiator nothing needs to be done when deleting a domain, but this function is left in place as a template for future use.
Parameters
domainPointer to domain.
Returns
Returns 0 for success, or a negative error code value for failure.

Definition at line 391 of file ocs_openiscsi_ini.c.

void ocs_scsi_ini_del_sport ( ocs_sport_t *  sport)

Process deletion of a SPORT.

Description
This function is called by the base driver when a SPORT has been deleted.

For the open-iscsi initiator, no action is taken on deletion of a SPORT, but this function is left here as a template for future use.
Parameters
sportThe SPORT that has been deleted.
Returns
Returns 0.

Definition at line 435 of file ocs_openiscsi_ini.c.

int32_t ocs_scsi_ini_new_device ( ocs_t *  ocs)

Initializes any initiator fields on the ocs structure.

Description
Called by the OS initialization code when a new device is discovered.
Parameters
ocsPointer to ocs.
Returns
Returns 0 on success, or a non-zero error code value on failure.

Definition at line 234 of file ocs_openiscsi_ini.c.

int32_t ocs_scsi_ini_new_domain ( ocs_domain_t *  domain)

Accept new domain notification.

Description
Called by the base driver when a new domain is discovered. An initiator-client will accept this call to prepare for new remote node notifications arising from ocs_scsi_new_target(). The domain context has the element ocs_scsi_ini_domain_t ini_domain which is declared by the initiator-client code and is used for initiator-client private data.

Notes:
  • This function will only be called if the base-driver has been enabled for initiator capability.
  • This call is made to initiator-client backends. The ocs_scsi_tgt_new_domain() function is called to target-server backends.
  • For the open-iscsi driver, nothing needs to be done for a new domain, but this function is left in place as a template for future use.
Parameters
domainPointer to domain.
Returns
Returns 0 for success, or a negative error code value for failure.

Definition at line 363 of file ocs_openiscsi_ini.c.

int32_t ocs_scsi_ini_new_sport ( ocs_sport_t *  sport)

Process creation of a new SPORT.

Description
This function is called by the base driver when a new SPORT is discovered.

For the open-iscsi initiator, no action is taken on creation of a SPORT, but this function is left here as a template for future use.
Parameters
sportThe SPORT that has been created.
Returns
Returns 0.

Definition at line 413 of file ocs_openiscsi_ini.c.

int32_t ocs_scsi_new_target ( ocs_node_t *  node)

Receive notification of a new SCSI target node.

Description
Sent by the base driver to notify the initiator-client of the presence of a new remote target. The initiator-server may use this call to prepare for inbound IO from this node.

Note: This function is only called if the base driver is enabled for initiator capability.
Parameters
nodePointer to new remote initiator node.
Returns
None.

Definition at line 457 of file ocs_openiscsi_ini.c.

struct iscsi_cls_session* ocs_session_create ( struct iscsi_endpoint *  ep,
u16  cmds_max,
u16  qdepth,
u32  initial_cmdsn 
)

Create a new iscsi session.

Parameters
epTBD.
cmds_maxMaximum commands supported.
qdepthMaximum queue depth.
initial_cmdsnInitial iSCSI CMDSN.
Returns
Returns a pointer to the session object; or NULL.

Definition at line 916 of file ocs_openiscsi_ini.c.

void ocs_session_destroy ( struct iscsi_cls_session *  cls_session)

Destroy an iSCSI session.

Description
Destroys iSCSI session instance and releases resources allocated for it.
Parameters
cls_sessionPointer to the iSCSI session to destroy.
Returns
None.

Definition at line 968 of file ocs_openiscsi_ini.c.

int ocs_session_get_param ( struct iscsi_cls_session *  cls_session,
enum iscsi_param  param,
char *  buf 
)
Description
Parameters
cls_session
param
buf
Returns

Definition at line 1190 of file ocs_openiscsi_ini.c.

int ocs_set_host_param ( struct Scsi_Host *  shost,
enum iscsi_host_param  param,
char *  buf,
int  buflen 
)
Description
Parameters
shost
param
buf
buflen
Returns

Definition at line 1322 of file ocs_openiscsi_ini.c.

int ocs_set_param ( struct iscsi_cls_conn *  cls_conn,
enum iscsi_param  param,
char *  buf,
int  buflen 
)
Description
set iSCSI parameter. Return 0 on success, -ENODATA when param is not supported, and a -Exx value on other error.
Parameters
cls_conn
param
buf
buflen
Returns

Definition at line 1219 of file ocs_openiscsi_ini.c.

void ocs_set_update_ctx_options ( ocs_hal_io_param_t *  iparam,
struct iscsi_conn *  conn 
)

Set UPDATE CONTEXT options.

Description
Set the parameters that libiscsi keeps track of that are required by CONTEXT_UPDATE_WQE.
Parameters
iparam
conn
Returns
None.

Definition at line 1398 of file ocs_openiscsi_ini.c.

static int ocs_sockaddr_to_hal_ip ( struct sockaddr *  addr,
ocs_hal_ip_address_t *  hal_ip,
uint16_t *  port 
)
static
Description
Parameters
addr
hal_ip
port
Returns

Definition at line 1519 of file ocs_openiscsi_ini.c.

static void ocs_task_cleanup ( struct iscsi_task *  task)
static

Clean up an iSCSI task.

Description
Issue a completion to the upper layer and free internal resources for the IO.
Parameters
taskThe iSCSI task to transmit.

Definition at line 2067 of file ocs_openiscsi_ini.c.

static int ocs_task_xmit ( struct iscsi_task *  task)
static

Transmit an iSCSI task.

Description
Transmit an iSCSI task to the target.

Requests LLD to transfer cmd task. Returns 0 or the the number of bytes transferred on success, and -Exyz value on error. When offloading the data path, this is called from queuecommand with the session lock, or from the iscsi_conn_send_pdu context with the session lock. When not offloading the data path, this is called from the scsi work queue without the session lock.
Parameters
taskThe iSCSI task to transmit.
Returns
Returns 0 on success; or a non-zero error code value on failure.

Definition at line 2103 of file ocs_openiscsi_ini.c.

static int ocs_xmit_mtask ( struct iscsi_task *  task)
static

Transmit a management task.

Description
Transmits a task that does not perform a SCSI I/O.
Parameters
taskTask to be transmitted.
Returns
Returns 0 on success; or a negative error code value on failure.

Definition at line 1968 of file ocs_openiscsi_ini.c.

Variable Documentation

struct scsi_host_template host_template
Initial value:
= {
.module = THIS_MODULE,
.name = "Emulex OCS iSCSI midlayer interface",
.proc_name = "ocs",
.queuecommand = iscsi_queuecommand,
.can_queue = ISCSI_DEF_XMIT_CMDS_MAX - 1,
.this_id = -1,
.sg_tablesize = OCS_DEFAULT_SG_SEG_CNT,
.cmd_per_lun = OCS_CMD_PER_LUN,
.eh_abort_handler = ocs_eh_abort,
.eh_device_reset_handler= iscsi_eh_device_reset,
.eh_target_reset_handler = iscsi_eh_recover_target,
.use_clustering = ENABLE_CLUSTERING,
.target_alloc = iscsi_target_alloc,
.max_sectors = 0xFFFF,
.vendor_id = OCS_NL_VENDOR_ID,
}
#define OCS_DEFAULT_SG_SEG_CNT
Definition: ocs_scsi_ini.h:34
#define OCS_CMD_PER_LUN
Definition: ocs_scsi_ini.h:35
#define OCS_NL_VENDOR_ID
Definition: ocs_scsi_ini.h:33
static int ocs_eh_abort(struct scsi_cmnd *sc)

Host Template.

Description
This structure is passed to the SCSI midlayer to register the module as a host.

Definition at line 103 of file ocs_openiscsi_ini.c.

struct iscsi_transport ocs_lnx_xport_iscsi

iSCSI transport entry points.

Description
This structure defines the hooks that libiscsi uses to call various functions in this driver.

Definition at line 2407 of file ocs_openiscsi_ini.c.