Functions | |
| int32_t | ocs_iscsi_login_initialize (ocs_iscsi_t *iscsi) |
| Initialize the login and retry object used within the login module. More... | |
| void | ocs_iscsi_login_teardown (ocs_iscsi_t *iscsi) |
| Releases the login and retry object used within the login module. More... | |
| int32_t | ocs_iscsi_are_login_reqs_outstanding (ocs_cxn_t *cxn) |
| Checks to see if there are any retry or login IOs active on a connection. More... | |
| ocs_hal_rtn_e | ocs_iscsi_login_cxn_cleanup (ocs_cxn_t *cxn) |
| Frees any retry objects for the connection. More... | |
| void | ocs_iscsi_login_retry (ocs_cxn_t *cxn) |
| Attempt to start a request on the retry queue. More... | |
| static ocs_cxn_q_cbit_t * | ocs_iscsi_cbit_pdu_setup (ocs_cxn_t *cxn, ocs_hal_rq_buffer_t *hdr, ocs_hal_rq_buffer_t *data, uint32_t data_len, uint8_t *status, uint8_t *status_detail, char **recv_ptr, uint32_t *recv_len, char **resp_ptr, uint32_t *resp_size) |
| Does the initial checks and processing for the continue bit. More... | |
| static void | ocs_iscsi_cbit_fill_buffer (ocs_cxn_t *cxn, uint8_t status, uint32_t *len) |
| Copies the appropriate send data from the c bit processing. More... | |
| static void | ocs_iscsi_cbit_backout (ocs_cxn_t *cxn, ocs_cxn_q_cbit_t *cbit) |
| Backs out the adding of a cbit object on this connection. More... | |
| void | ocs_iscsi_cbit_cleanup (ocs_cxn_t *cxn) |
| Sends the login parameters to the firmware. More... | |
| ocs_pdu_process_rtn_e | ocs_iscsi_recv_login (ocs_cxn_t *cxn, ocs_hal_rq_buffer_t *hdr, uint32_t hdr_len, ocs_hal_rq_buffer_t *data, uint32_t data_len) |
| Function to process a login PDU on a target. More... | |
| static int32_t | ocs_iscsi_send_login_rsp_invalid_during_login_queue (ocs_cxn_t *cxn, uint32_t itt) |
| Function to queue a send login request. More... | |
| int32_t | ocs_iscsi_recv_login_rsp (ocs_cxn_t *cxn, ocs_hal_rq_buffer_t *hdr, uint32_t hdr_len, ocs_hal_rq_buffer_t *data, uint32_t data_len) |
| Function to process a login response PDU. More... | |
| static int32_t | ocs_iscsi_send_login_queue (ocs_cxn_t *cxn, bool is_discovery, char *tgt_name) |
| Function to queue a send login request. More... | |
| static int32_t | ocs_iscsi_add_tgt_keys (ocs_cxn_t *cxn, char *resp_ptr, uint32_t resp_size, uint32_t plen_orig, char *tgt_name) |
| Add targets to the sendTarget response. More... | |
| ocs_pdu_process_rtn_e | ocs_iscsi_recv_text (ocs_cxn_t *cxn, ocs_hal_rq_buffer_t *hdr, uint32_t hdr_len, ocs_hal_rq_buffer_t *data, uint32_t data_len, uint8_t *reject_reason) |
| Function to process a text PDU. More... | |
| ocs_pdu_process_rtn_e | ocs_iscsi_recv_logout (ocs_cxn_t *cxn, ocs_hal_rq_buffer_t *hdr, uint32_t hdr_len) |
| Function to process a logout PDU. More... | |
| int32_t | ocs_iscsi_send_logout (ocs_cxn_t *cxn, uint8_t immediate, uint8_t reason_code) |
| Function to send a logout PDU. More... | |
| int32_t | ocs_iscsi_send_logout_rsp (ocs_cxn_t *cxn, uint8_t response, uint32_t itt) |
| Function to send a logout response PDU. More... | |
| int32_t | ocs_iscsi_recv_logout_rsp (ocs_cxn_t *cxn, ocs_hal_rq_buffer_t *hdr, uint32_t hdr_len) |
| Handle logout response from a target. More... | |
| int32_t | ocs_iscsi_send_nop_out (ocs_cxn_t *cxn, uint64_t lun, uint32_t itt, uint32_t ttt, char *data_ptr, uint32_t data_len) |
| Send NOP-Out from an initiator. More... | |
| int32_t | ocs_iscsi_send_nop_in (ocs_cxn_t *cxn, uint64_t lun, uint32_t itt, uint32_t ttt, char *data_ptr, uint32_t data_len) |
| Send NOP-In from a target. More... | |
| int32_t | ocs_iscsi_recv_nop_in (ocs_cxn_t *cxn, ocs_hal_rq_buffer_t *hdr, uint32_t hdr_len, ocs_hal_rq_buffer_t *data, uint32_t data_len) |
| Handle NOP-IN from a target. More... | |
| ocs_pdu_process_rtn_e | ocs_iscsi_recv_nop_out (ocs_cxn_t *cxn, ocs_hal_rq_buffer_t *hdr, uint32_t hdr_len, ocs_hal_rq_buffer_t *data, uint32_t data_len) |
| Handle NOP-OUT from an initiator. More... | |
| static int32_t | ocs_iscsi_send_reject_queue (ocs_cxn_t *cxn, void *hdr, uint32_t hdr_len, uint8_t reason) |
| Function to queue a send reject request. More... | |
| static int32_t | ocs_iscsi_send_async_queue (ocs_cxn_t *cxn, void *payload, uint32_t payload_len, uint8_t reason, uint64_t lun, uint16_t param1, uint16_t param2, uint16_t param3) |
| Function to queue an asynchronous request. More... | |
|
static |
Add targets to the sendTarget response.
| cxn | Pointer to the connection object. |
| resp_ptr | Pointer to the start of the response buffer. |
| resp_size | Size of the response buffer. |
| plen_orig | Payload length added so far. |
| tgt_name | Target name to add. |
Definition at line 3429 of file ocs_login.c.
| int32_t ocs_iscsi_are_login_reqs_outstanding | ( | ocs_cxn_t * | cxn | ) |
Checks to see if there are any retry or login IOs active on a connection.
| cxn | Pointer to the connection object. |
Definition at line 245 of file ocs_login.c.
|
static |
Backs out the adding of a cbit object on this connection.
| cxn | Pointer to the connection object. |
| cbit | Pointer to the C bit object that was added. |
Definition at line 2388 of file ocs_login.c.
| void ocs_iscsi_cbit_cleanup | ( | ocs_cxn_t * | cxn | ) |
Sends the login parameters to the firmware.
| cxn | Pointer to the connection object. |
Definition at line 2410 of file ocs_login.c.
|
static |
Copies the appropriate send data from the c bit processing.
| cxn | Pointer to the connection object. |
| status | Passes the login status. |
| len | Passes and returns the length of the payload. |
Definition at line 2355 of file ocs_login.c.
|
static |
Does the initial checks and processing for the continue bit.
| cxn | Pointer to the connection object. |
| hdr | DMA memory information for the header. |
| data | DMA memory information for the data. |
| data_len | Length of the data received. |
| status | Passes and returns the login status. |
| status_detail | Passes and returns the login detailed status. |
| recv_ptr | Returns the pointer to the receive data. |
| recv_len | Returns the length of the received data. |
| resp_ptr | Returns the pointer to the send payload. |
| resp_size | Returns the size of the send payload. |
Definition at line 2241 of file ocs_login.c.
| ocs_hal_rtn_e ocs_iscsi_login_cxn_cleanup | ( | ocs_cxn_t * | cxn | ) |
Frees any retry objects for the connection.
| cxn | Pointer to the connection object. |
Definition at line 277 of file ocs_login.c.
| int32_t ocs_iscsi_login_initialize | ( | ocs_iscsi_t * | iscsi | ) |
Initialize the login and retry object used within the login module.
| iscsi | Pointer to the iSCSI object. |
Definition at line 200 of file ocs_login.c.
| void ocs_iscsi_login_retry | ( | ocs_cxn_t * | cxn | ) |
Attempt to start a request on the retry queue.
| cxn | Pointer to the connection object. |
Definition at line 402 of file ocs_login.c.
| void ocs_iscsi_login_teardown | ( | ocs_iscsi_t * | iscsi | ) |
Releases the login and retry object used within the login module.
| iscsi | Pointer to the iSCSI object. |
Definition at line 227 of file ocs_login.c.
| ocs_pdu_process_rtn_e ocs_iscsi_recv_login | ( | ocs_cxn_t * | cxn, |
| ocs_hal_rq_buffer_t * | hdr, | ||
| uint32_t | hdr_len, | ||
| ocs_hal_rq_buffer_t * | data, | ||
| uint32_t | data_len | ||
| ) |
Function to process a login PDU on a target.
| cxn | Pointer to the connection object. |
| hdr | DMA memory information for the header. |
| hdr_len | Length of the header received. |
| data | DMA memory information for the data. |
| data_len | Length of the data received. |
Definition at line 2450 of file ocs_login.c.
| int32_t ocs_iscsi_recv_login_rsp | ( | ocs_cxn_t * | cxn, |
| ocs_hal_rq_buffer_t * | hdr, | ||
| uint32_t | hdr_len, | ||
| ocs_hal_rq_buffer_t * | data, | ||
| uint32_t | data_len | ||
| ) |
Function to process a login response PDU.
| cxn | Pointer to the connection object. |
| hdr | DMA memory information for the header. |
| hdr_len | Length of the header received. |
| data | DMA memory information for the data. |
| data_len | Length of the data received. |
Definition at line 2893 of file ocs_login.c.
| ocs_pdu_process_rtn_e ocs_iscsi_recv_logout | ( | ocs_cxn_t * | cxn, |
| ocs_hal_rq_buffer_t * | hdr, | ||
| uint32_t | hdr_len | ||
| ) |
Function to process a logout PDU.
| cxn | Pointer to the connection object. |
| hdr | DMA memory information for the header. |
| hdr_len | Length of the header received. |
Definition at line 3881 of file ocs_login.c.
| int32_t ocs_iscsi_recv_logout_rsp | ( | ocs_cxn_t * | cxn, |
| ocs_hal_rq_buffer_t * | hdr, | ||
| uint32_t | hdr_len | ||
| ) |
Handle logout response from a target.
| cxn | Pointer to the connection object. |
| hdr | DMA memory information for the header. |
| hdr_len | Length of the header received. |
Definition at line 4163 of file ocs_login.c.
| int32_t ocs_iscsi_recv_nop_in | ( | ocs_cxn_t * | cxn, |
| ocs_hal_rq_buffer_t * | hdr, | ||
| uint32_t | hdr_len, | ||
| ocs_hal_rq_buffer_t * | data, | ||
| uint32_t | data_len | ||
| ) |
Handle NOP-IN from a target.
| cxn | Pointer to the connection object. |
| hdr | DMA memory information for the header. |
| hdr_len | Length of the header received. |
| data | DMA memory information for the data. |
| data_len | length of the data received. |
Definition at line 4503 of file ocs_login.c.
| ocs_pdu_process_rtn_e ocs_iscsi_recv_nop_out | ( | ocs_cxn_t * | cxn, |
| ocs_hal_rq_buffer_t * | hdr, | ||
| uint32_t | hdr_len, | ||
| ocs_hal_rq_buffer_t * | data, | ||
| uint32_t | data_len | ||
| ) |
Handle NOP-OUT from an initiator.
| cxn | Pointer to the connection object. |
| hdr | DMA memory information for the header. |
| hdr_len | Length of the header received. |
| data | DMA memory information for the data. |
| data_len | Length of the data received. |
Definition at line 4560 of file ocs_login.c.
| ocs_pdu_process_rtn_e ocs_iscsi_recv_text | ( | ocs_cxn_t * | cxn, |
| ocs_hal_rq_buffer_t * | hdr, | ||
| uint32_t | hdr_len, | ||
| ocs_hal_rq_buffer_t * | data, | ||
| uint32_t | data_len, | ||
| uint8_t * | reject_reason | ||
| ) |
Function to process a text PDU.
| cxn | Pointer to the connection object. |
| hdr | DMA memory information for the header. |
| hdr_len | Length of the header received. |
| data | DMA memory information for the data. |
| data_len | Length of the data received. |
| reject_reason | Returns the reject reason. |
Definition at line 3546 of file ocs_login.c.
|
static |
Function to queue an asynchronous request.
| cxn | Pointer to the connection object. |
| payload | Virtual memory containing the payload to send. |
| payload_len | Length of the payload to send. |
| reason | iSCSI asynchronous reason. |
| lun | iSCSI LUN. |
| param1 | Parameter 1 in the asynchronous PDU. |
| param2 | Parameter 2 in the asynchronous PDU. |
| param3 | Parameter 3 in the asynchronous PDU. |
Definition at line 4742 of file ocs_login.c.
|
static |
Function to queue a send login request.
| cxn | Pointer to the connection object. |
| is_discovery | TRUE for a discovery session. |
| tgt_name | Target name for a normal session. |
Definition at line 3147 of file ocs_login.c.
|
static |
Function to queue a send login request.
| cxn | Pointer to the connection object. |
| itt | Initiator task tag. |
Definition at line 2785 of file ocs_login.c.
| int32_t ocs_iscsi_send_logout | ( | ocs_cxn_t * | cxn, |
| uint8_t | immediate, | ||
| uint8_t | reason_code | ||
| ) |
Function to send a logout PDU.
| cxn | Pointer to the connection object. |
| immediate | TRUE if sending as an immediate command. |
| reason_code | Logout reason. |
Definition at line 3992 of file ocs_login.c.
| int32_t ocs_iscsi_send_logout_rsp | ( | ocs_cxn_t * | cxn, |
| uint8_t | response, | ||
| uint32_t | itt | ||
| ) |
Function to send a logout response PDU.
| cxn | Pointer to the connection object. |
| response | Logout response per the iSCSI specification. |
| itt | Initiator task tag of the logout request. |
Definition at line 4095 of file ocs_login.c.
| int32_t ocs_iscsi_send_nop_in | ( | ocs_cxn_t * | cxn, |
| uint64_t | lun, | ||
| uint32_t | itt, | ||
| uint32_t | ttt, | ||
| char * | data_ptr, | ||
| uint32_t | data_len | ||
| ) |
Send NOP-In from a target.
| cxn | Pointer to the connection object. |
| lun | LUN for the PDU (Host byte order). |
| itt | Initiator task tag (Host byte order). |
| ttt | Target transfer tag (Host byte order). |
| data_ptr | Pointer to the payload data (may be NULL). |
| data_len | Length of the payload data. |
Definition at line 4404 of file ocs_login.c.
| int32_t ocs_iscsi_send_nop_out | ( | ocs_cxn_t * | cxn, |
| uint64_t | lun, | ||
| uint32_t | itt, | ||
| uint32_t | ttt, | ||
| char * | data_ptr, | ||
| uint32_t | data_len | ||
| ) |
Send NOP-Out from an initiator.
| cxn | Pointer to the connection object. |
| lun | LUN for the PDU (Host byte order). |
| itt | Initiator task tag (Host byte order). |
| ttt | Target transfer tag (Host byte order). |
| data_ptr | Pointer to the payload data (may be NULL). |
| data_len | Length of the payload data. |
Definition at line 4250 of file ocs_login.c.
|
static |
Function to queue a send reject request.
| cxn | Pointer to the connection object. |
| hdr | Virtual memory information for the rejected header. |
| hdr_len | Length of the header received. |
| reason | The iSCSI reject reason. |
Definition at line 4613 of file ocs_login.c.