Functions | |
| int32_t | sli_cmd_fcoe_wq_create (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *qmem, uint16_t cq_id, uint16_t ulp) |
| Write an FCOE_WQ_CREATE command. More... | |
| int32_t | sli_cmd_fcoe_wq_create_v1 (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *qmem, uint16_t cq_id, uint16_t ignored) |
| Write an FCOE_WQ_CREATE_V1 command. More... | |
| int32_t | sli_cmd_fcoe_wq_destroy (sli4_t *sli4, void *buf, size_t size, uint16_t wq_id) |
| Write an FCOE_WQ_DESTROY command. More... | |
| int32_t | sli_cmd_fcoe_post_sgl_pages (sli4_t *sli4, void *buf, size_t size, uint16_t xri, uint32_t xri_count, ocs_dma_t *page0[], ocs_dma_t *page1[], ocs_dma_t *dma) |
| Write an FCOE_POST_SGL_PAGES command. More... | |
| int32_t | sli_cmd_fcoe_rq_create (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *qmem, uint16_t cq_id, uint16_t ulp, uint16_t buffer_size) |
| Write an FCOE_RQ_CREATE command. More... | |
| int32_t | sli_cmd_fcoe_rq_create_v1 (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *qmem, uint16_t cq_id, uint16_t ulp, uint16_t buffer_size) |
| Write an FCOE_RQ_CREATE_V1 command. More... | |
| int32_t | sli_cmd_fcoe_rq_destroy (sli4_t *sli4, void *buf, size_t size, uint16_t rq_id) |
| Write an FCOE_RQ_DESTROY command. More... | |
| int32_t | sli_cmd_fcoe_read_fcf_table (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *dma, uint16_t index) |
| Write an FCOE_READ_FCF_TABLE command. More... | |
| int32_t | sli_cmd_fcoe_post_hdr_templates (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *dma, uint16_t rpi, ocs_dma_t *payload_dma) |
| Write an FCOE_POST_HDR_TEMPLATES command. More... | |
| int32_t | sli_abort_wqe (sli4_t *sli4, void *buf, size_t size, sli4_abort_type_e type, uint32_t send_abts, uint32_t ids, uint32_t mask, uint16_t tag, uint16_t cq_id) |
| Write an ABORT_WQE work queue entry. More... | |
| int32_t | sli_els_request64_wqe (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *sgl, uint8_t req_type, uint32_t req_len, uint32_t max_rsp_len, uint8_t timeout, uint16_t xri, uint16_t tag, uint16_t cq_id, ocs_remote_node_t *rnode) |
| Write an ELS_REQUEST64_WQE work queue entry. More... | |
| int32_t | sli_fcp_icmnd64_wqe (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *sgl, uint16_t xri, uint16_t tag, uint16_t cq_id, uint32_t rpi, ocs_remote_node_t *rnode, uint8_t timeout) |
| Write an FCP_ICMND64_WQE work queue entry. More... | |
| int32_t | sli_fcp_iread64_wqe (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *sgl, uint32_t first_data_sge, uint32_t xfer_len, uint16_t xri, uint16_t tag, uint16_t cq_id, uint32_t rpi, ocs_remote_node_t *rnode, uint8_t dif, uint8_t bs, uint8_t timeout) |
| Write an FCP_IREAD64_WQE work queue entry. More... | |
| int32_t | sli_fcp_iwrite64_wqe (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *sgl, uint32_t first_data_sge, uint32_t xfer_len, uint32_t first_burst, uint16_t xri, uint16_t tag, uint16_t cq_id, uint32_t rpi, ocs_remote_node_t *rnode, uint8_t dif, uint8_t bs, uint8_t timeout) |
| Write an FCP_IWRITE64_WQE work queue entry. More... | |
| int32_t | sli_fcp_treceive64_wqe (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *sgl, uint32_t first_data_sge, uint32_t relative_off, uint32_t xfer_len, uint16_t xri, uint16_t tag, uint16_t cq_id, uint16_t xid, uint32_t rpi, ocs_remote_node_t *rnode, uint32_t flags, uint8_t dif, uint8_t bs, uint8_t csctl, uint32_t app_id, uint8_t timer) |
| Write an FCP_TRECEIVE64_WQE work queue entry. More... | |
| int32_t | sli_fcp_cont_treceive64_wqe (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *sgl, uint32_t first_data_sge, uint32_t relative_off, uint32_t xfer_len, uint16_t xri, uint16_t sec_xri, uint16_t tag, uint16_t cq_id, uint16_t xid, uint32_t rpi, ocs_remote_node_t *rnode, uint32_t flags, uint8_t dif, uint8_t bs, uint8_t csctl, uint32_t app_id, uint8_t timer) |
| Write an FCP_CONT_TRECEIVE64_WQE work queue entry. More... | |
| int32_t | sli_fcp_trsp64_wqe (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *sgl, uint32_t rsp_len, uint16_t xri, uint16_t tag, uint16_t cq_id, uint16_t xid, uint32_t rpi, ocs_remote_node_t *rnode, uint32_t flags, uint8_t csctl, uint8_t port_owned, uint32_t app_id) |
| Write an FCP_TRSP64_WQE work queue entry. More... | |
| int32_t | sli_fcp_tsend64_wqe (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *sgl, uint32_t first_data_sge, uint32_t relative_off, uint32_t xfer_len, uint16_t xri, uint16_t tag, uint16_t cq_id, uint16_t xid, uint32_t rpi, ocs_remote_node_t *rnode, uint32_t flags, uint8_t dif, uint8_t bs, uint8_t csctl, uint32_t app_id) |
| Write an FCP_TSEND64_WQE work queue entry. More... | |
| int32_t | sli_gen_request64_wqe (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *sgl, uint32_t req_len, uint32_t max_rsp_len, uint8_t timeout, uint16_t xri, uint16_t tag, uint16_t cq_id, ocs_remote_node_t *rnode, uint8_t r_ctl, uint8_t type, uint8_t df_ctl) |
| Write a GEN_REQUEST64 work queue entry. More... | |
| int32_t | sli_send_frame_wqe (sli4_t *sli4, void *buf, size_t size, uint8_t sof, uint8_t eof, uint32_t *hdr, ocs_dma_t *payload, uint32_t req_len, uint8_t timeout, uint16_t xri, uint16_t req_tag) |
| Write a SEND_FRAME work queue entry. More... | |
| int32_t | sli_xmit_sequence64_wqe (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *payload, uint32_t payload_len, uint8_t timeout, uint16_t ox_id, uint16_t xri, uint16_t tag, ocs_remote_node_t *rnode, uint8_t r_ctl, uint8_t type, uint8_t df_ctl) |
| Write a XMIT_SEQUENCE64 work queue entry. More... | |
| int32_t | sli_requeue_xri_wqe (sli4_t *sli4, void *buf, size_t size, uint16_t xri, uint16_t tag, uint16_t cq_id) |
| Write a REQUEUE_XRI_WQE work queue entry. More... | |
| int32_t | sli_xmit_bls_rsp64_wqe (sli4_t *sli4, void *buf, size_t size, sli_bls_payload_t *payload, uint16_t xri, uint16_t tag, uint16_t cq_id, ocs_remote_node_t *rnode, uint32_t s_id) |
| Write an XMIT_BLS_RSP64_WQE work queue entry. More... | |
| int32_t | sli_xmit_els_rsp64_wqe (sli4_t *sli4, void *buf, size_t size, ocs_dma_t *rsp, uint32_t rsp_len, uint16_t xri, uint16_t tag, uint16_t cq_id, uint16_t ox_id, ocs_remote_node_t *rnode, uint32_t flags, uint32_t s_id) |
| Write a XMIT_ELS_RSP64_WQE work queue entry. More... | |
| int32_t | sli_fc_process_link_state (sli4_t *sli4, void *acqe) |
| Process an asynchronous Link State event entry. More... | |
| int32_t | sli_fc_process_sli_port_event (sli4_t *sli4, void *acqe) |
| Process an asynchronous sli port event. More... | |
| int32_t | sli_fc_process_link_attention (sli4_t *sli4, void *acqe) |
| Process an asynchronous Link Attention event entry. More... | |
| int32_t | sli_fc_cqe_parse (sli4_t *sli4, sli4_queue_t *cq, uint8_t *cqe, sli4_qentry_e *etype, uint16_t *r_id) |
| Parse an FC/FCoE work queue CQ entry. More... | |
| uint32_t | sli_fc_response_length (sli4_t *sli4, uint8_t *cqe) |
| Return the ELS/CT response length. More... | |
| uint32_t | sli_fc_io_length (sli4_t *sli4, uint8_t *cqe) |
| Return the FCP IO length. More... | |
| int32_t | sli_fc_els_did (sli4_t *sli4, uint8_t *cqe, uint32_t *d_id) |
| Retrieve the D_ID from the completion. More... | |
| int32_t | sli_fc_rqe_rqid_and_index (sli4_t *sli4, uint8_t *cqe, uint16_t *rq_id, uint32_t *index) |
| Retrieve the RQ index from the completion. More... | |
| int32_t | sli_fc_process_fcoe (sli4_t *sli4, void *acqe) |
| Process an asynchronous FCoE event entry. More... | |
| int32_t | sli_fc_rq_alloc (sli4_t *sli4, sli4_queue_t *q, uint32_t n_entries, uint32_t buffer_size, sli4_queue_t *cq, uint16_t ulp, uint8_t is_hdr) |
| Allocate a receive queue. More... | |
| int32_t | sli_fc_rq_set_alloc (sli4_t *sli4, uint32_t num_rq_pairs, sli4_queue_t *qs[], uint32_t base_cq_id, uint32_t n_entries, uint32_t header_buffer_size, uint32_t payload_buffer_size, uint16_t ulp) |
| Allocate a receive queue set. More... | |
| uint32_t | sli_fc_get_rpi_requirements (sli4_t *sli4, uint32_t n_rpi) |
| Get the RPI resource requirements. More... | |
| const char * | sli_fc_get_status_string (uint32_t status) |
| Return a text string corresponding to a CQE status value. More... | |
| static int32_t | sli_fc_rqe_length (sli4_t *sli4, void *cqe, uint32_t *len_hdr, uint32_t *len_data) |
| Retrieve the received header and payload length. More... | |
| static uint8_t | sli_fc_rqe_fcfi (sli4_t *sli4, void *cqe) |
| Retrieve the received FCFI. More... | |
| int32_t sli_abort_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| sli4_abort_type_e | type, | ||
| uint32_t | send_abts, | ||
| uint32_t | ids, | ||
| uint32_t | mask, | ||
| uint16_t | tag, | ||
| uint16_t | cq_id | ||
| ) |
Write an ABORT_WQE work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| type | Abort type, such as XRI, abort tag, and request tag. |
| send_abts | Boolean to cause the hardware to automatically generate an ABTS. |
| ids | ID of IOs to abort. |
| mask | Mask applied to the ID values to abort. |
| tag | Tag value associated with this abort. |
| cq_id | The id of the completion queue where the WQE response is sent. |
| dnrx | When set to 1, this field indicates that the SLI Port must not return the associated XRI to the SLI Port's optimized write XRI pool. |
| int32_t sli_cmd_fcoe_post_hdr_templates | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | dma, | ||
| uint16_t | rpi, | ||
| ocs_dma_t * | payload_dma | ||
| ) |
Write an FCOE_POST_HDR_TEMPLATES command.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| dma | Pointer to DMA memory structure. This is allocated by the caller. |
| rpi | Starting RPI index for the header templates. |
| payload_dma | Pointer to DMA memory used to hold larger descriptor counts. |
| int32_t sli_cmd_fcoe_post_sgl_pages | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | xri, | ||
| uint32_t | xri_count, | ||
| ocs_dma_t * | page0[], | ||
| ocs_dma_t * | page1[], | ||
| ocs_dma_t * | dma | ||
| ) |
Write an FCOE_POST_SGL_PAGES command.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| xri | starting XRI |
| xri_count | XRI |
| page0 | First SGL memory page. |
| page1 | Second SGL memory page (optional). |
| dma | DMA buffer for non-embedded mailbox command (options) |
if non-embedded mbx command is used, dma buffer must be at least (32 + xri_count*16) in length
| int32_t sli_cmd_fcoe_read_fcf_table | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | dma, | ||
| uint16_t | index | ||
| ) |
Write an FCOE_READ_FCF_TABLE command.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| dma | Pointer to DMA memory structure. This is allocated by the caller. |
| index | FCF table index to retrieve. |
| int32_t sli_cmd_fcoe_rq_create | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | qmem, | ||
| uint16_t | cq_id, | ||
| uint16_t | ulp, | ||
| uint16_t | buffer_size | ||
| ) |
Write an FCOE_RQ_CREATE command.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| qmem | DMA memory for the queue. |
| cq_id | Associated CQ_ID. |
| ulp | This parameter carries the ULP for the RQ |
| buffer_size | Buffer size pointed to by each RQE. |
| int32_t sli_cmd_fcoe_rq_create_v1 | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | qmem, | ||
| uint16_t | cq_id, | ||
| uint16_t | ulp, | ||
| uint16_t | buffer_size | ||
| ) |
Write an FCOE_RQ_CREATE_V1 command.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| qmem | DMA memory for the queue. |
| cq_id | Associated CQ_ID. |
| ulp | This parameter carries the ULP for RQ (ignored for V1) |
| buffer_size | Buffer size pointed to by each RQE. |
| int32_t sli_cmd_fcoe_rq_destroy | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | rq_id | ||
| ) |
| int32_t sli_cmd_fcoe_wq_create | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | qmem, | ||
| uint16_t | cq_id, | ||
| uint16_t | ulp | ||
| ) |
Write an FCOE_WQ_CREATE command.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| qmem | DMA memory for the queue. |
| cq_id | Associated CQ_ID. |
| ulp | The ULP to bind |
| int32_t sli_cmd_fcoe_wq_create_v1 | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | qmem, | ||
| uint16_t | cq_id, | ||
| uint16_t | ignored | ||
| ) |
Write an FCOE_WQ_CREATE_V1 command.
| sli4 | SLI context. |
| buf | Destination buffer for the command. |
| size | Buffer size, in bytes. |
| qmem | DMA memory for the queue. |
| cq_id | Associated CQ_ID. |
| ignored | This parameter carries the ULP for WQ (ignored for V1) |
| int32_t sli_cmd_fcoe_wq_destroy | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | wq_id | ||
| ) |
| int32_t sli_els_request64_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | sgl, | ||
| uint8_t | req_type, | ||
| uint32_t | req_len, | ||
| uint32_t | max_rsp_len, | ||
| uint8_t | timeout, | ||
| uint16_t | xri, | ||
| uint16_t | tag, | ||
| uint16_t | cq_id, | ||
| ocs_remote_node_t * | rnode | ||
| ) |
Write an ELS_REQUEST64_WQE work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| sgl | DMA memory for the ELS request. |
| req_type | ELS request type. |
| req_len | Length of ELS request in bytes. |
| max_rsp_len | Max length of ELS response in bytes. |
| timeout | Time, in seconds, before an IO times out. Zero means 2 * R_A_TOV. |
| xri | XRI for this exchange. |
| tag | IO tag value. |
| cq_id | The id of the completion queue where the WQE response is sent. |
| rnode | Destination of ELS request (that is, the remote node). |
| int32_t sli_fc_cqe_parse | ( | sli4_t * | sli4, |
| sli4_queue_t * | cq, | ||
| uint8_t * | cqe, | ||
| sli4_qentry_e * | etype, | ||
| uint16_t * | r_id | ||
| ) |
Parse an FC/FCoE work queue CQ entry.
| sli4 | SLI context. |
| cq | CQ to process. |
| cqe | Pointer to the CQ entry. |
| etype | CQ event type. |
| r_id | Resource ID associated with this completion message (such as the IO tag). |
| int32_t sli_fc_els_did | ( | sli4_t * | sli4, |
| uint8_t * | cqe, | ||
| uint32_t * | d_id | ||
| ) |
| uint32_t sli_fc_get_rpi_requirements | ( | sli4_t * | sli4, |
| uint32_t | n_rpi | ||
| ) |
| const char* sli_fc_get_status_string | ( | uint32_t | status | ) |
| uint32_t sli_fc_io_length | ( | sli4_t * | sli4, |
| uint8_t * | cqe | ||
| ) |
| int32_t sli_fc_process_fcoe | ( | sli4_t * | sli4, |
| void * | acqe | ||
| ) |
Process an asynchronous FCoE event entry.
| sli4 | SLI context. |
| acqe | Pointer to the ACQE. |
| int32_t sli_fc_process_link_attention | ( | sli4_t * | sli4, |
| void * | acqe | ||
| ) |
Process an asynchronous Link Attention event entry.
| sli4 | SLI context. |
| acqe | Pointer to the ACQE. |
| int32_t sli_fc_process_link_state | ( | sli4_t * | sli4, |
| void * | acqe | ||
| ) |
Process an asynchronous Link State event entry.
| sli4 | SLI context. |
| acqe | Pointer to the ACQE. |
| int32_t sli_fc_process_sli_port_event | ( | sli4_t * | sli4, |
| void * | acqe | ||
| ) |
Process an asynchronous sli port event.
| sli4 | SLI context. |
| acqe | Pointer to the ACQE. |
| uint32_t sli_fc_response_length | ( | sli4_t * | sli4, |
| uint8_t * | cqe | ||
| ) |
| int32_t sli_fc_rq_alloc | ( | sli4_t * | sli4, |
| sli4_queue_t * | q, | ||
| uint32_t | n_entries, | ||
| uint32_t | buffer_size, | ||
| sli4_queue_t * | cq, | ||
| uint16_t | ulp, | ||
| uint8_t | is_hdr | ||
| ) |
Allocate a receive queue.
| sli4 | SLI context. |
| q | Pointer to the queue object for the header. |
| n_entries | Number of entries to allocate. |
| buffer_size | buffer size for the queue. |
| cq | Associated CQ. |
| ulp | The ULP to bind |
| is_hdr | Used to validate the rq_id and set the type of queue |
| int32_t sli_fc_rq_set_alloc | ( | sli4_t * | sli4, |
| uint32_t | num_rq_pairs, | ||
| sli4_queue_t * | qs[], | ||
| uint32_t | base_cq_id, | ||
| uint32_t | n_entries, | ||
| uint32_t | header_buffer_size, | ||
| uint32_t | payload_buffer_size, | ||
| uint16_t | ulp | ||
| ) |
Allocate a receive queue set.
| sli4 | SLI context. |
| num_rq_pairs | to create |
| qs | Pointers to the queue objects for both header and data. Length of this arrays should be 2 * num_rq_pairs |
| base_cq_id. | Assumes base_cq_id : (base_cq_id + num_rq_pairs) cqs as allotted. |
| n_entries | number of entries in each RQ queue. |
| header_buffer_size | |
| payload_buffer_size | |
| ulp | The ULP to bind |
|
inlinestatic |
|
inlinestatic |
Retrieve the received header and payload length.
| sli4 | SLI context. |
| cqe | Pointer to the CQ entry. |
| len_hdr | Pointer where the header length is written. |
| len_data | Pointer where the payload length is written. |
| int32_t sli_fc_rqe_rqid_and_index | ( | sli4_t * | sli4, |
| uint8_t * | cqe, | ||
| uint16_t * | rq_id, | ||
| uint32_t * | index | ||
| ) |
| int32_t sli_fcp_cont_treceive64_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | sgl, | ||
| uint32_t | first_data_sge, | ||
| uint32_t | relative_off, | ||
| uint32_t | xfer_len, | ||
| uint16_t | xri, | ||
| uint16_t | sec_xri, | ||
| uint16_t | tag, | ||
| uint16_t | cq_id, | ||
| uint16_t | xid, | ||
| uint32_t | rpi, | ||
| ocs_remote_node_t * | rnode, | ||
| uint32_t | flags, | ||
| uint8_t | dif, | ||
| uint8_t | bs, | ||
| uint8_t | csctl, | ||
| uint32_t | app_id, | ||
| uint8_t | timer | ||
| ) |
Write an FCP_CONT_TRECEIVE64_WQE work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| sgl | DMA memory for the Scatter-Gather List. |
| first_data_sge | Index of first data sge (used if perf hints are enabled) |
| relative_off | Relative offset of the IO (if any). |
| xfer_len | Data transfer length. |
| xri | XRI for this exchange. |
| sec_xri | Secondary XRI for this exchange. (BZ 161832 workaround) |
| tag | IO tag value. |
| xid | OX_ID for the exchange. |
| cq_id | The id of the completion queue where the WQE response is sent. |
| rpi | remote node indicator (RPI) |
| rnode | Destination request (i.e. remote node). |
| flags | Optional attributes, including:
|
| dif | T10 DIF operation, or 0 to disable. |
| bs | T10 DIF block size, or 0 if DIF is disabled. |
| csctl | value of csctl field. |
| app_id | value for VM application header. |
| int32_t sli_fcp_icmnd64_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | sgl, | ||
| uint16_t | xri, | ||
| uint16_t | tag, | ||
| uint16_t | cq_id, | ||
| uint32_t | rpi, | ||
| ocs_remote_node_t * | rnode, | ||
| uint8_t | timeout | ||
| ) |
Write an FCP_ICMND64_WQE work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| sgl | DMA memory for the scatter gather list. |
| xri | XRI for this exchange. |
| tag | IO tag value. |
| cq_id | The id of the completion queue where the WQE response is sent. |
| rpi | remote node indicator (RPI) |
| rnode | Destination request (that is, the remote node). |
| timeout | Time, in seconds, before an IO times out. Zero means no timeout. |
| int32_t sli_fcp_iread64_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | sgl, | ||
| uint32_t | first_data_sge, | ||
| uint32_t | xfer_len, | ||
| uint16_t | xri, | ||
| uint16_t | tag, | ||
| uint16_t | cq_id, | ||
| uint32_t | rpi, | ||
| ocs_remote_node_t * | rnode, | ||
| uint8_t | dif, | ||
| uint8_t | bs, | ||
| uint8_t | timeout | ||
| ) |
Write an FCP_IREAD64_WQE work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| sgl | DMA memory for the scatter gather list. |
| first_data_sge | Index of first data sge (used if perf hints are enabled) |
| xfer_len | Data transfer length. |
| xri | XRI for this exchange. |
| tag | IO tag value. |
| cq_id | The id of the completion queue where the WQE response is sent. |
| rpi | remote node indicator (RPI) |
| rnode | Destination request (i.e. remote node). |
| dif | T10 DIF operation, or 0 to disable. |
| bs | T10 DIF block size, or 0 if DIF is disabled. |
| timeout | Time, in seconds, before an IO times out. Zero means no timeout. |
| int32_t sli_fcp_iwrite64_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | sgl, | ||
| uint32_t | first_data_sge, | ||
| uint32_t | xfer_len, | ||
| uint32_t | first_burst, | ||
| uint16_t | xri, | ||
| uint16_t | tag, | ||
| uint16_t | cq_id, | ||
| uint32_t | rpi, | ||
| ocs_remote_node_t * | rnode, | ||
| uint8_t | dif, | ||
| uint8_t | bs, | ||
| uint8_t | timeout | ||
| ) |
Write an FCP_IWRITE64_WQE work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| sgl | DMA memory for the scatter gather list. |
| first_data_sge | Index of first data sge (used if perf hints are enabled) |
| xfer_len | Data transfer length. |
| first_burst | The number of first burst bytes |
| xri | XRI for this exchange. |
| tag | IO tag value. |
| cq_id | The id of the completion queue where the WQE response is sent. |
| rpi | remote node indicator (RPI) |
| rnode | Destination request (i.e. remote node) |
| dif | T10 DIF operation, or 0 to disable |
| bs | T10 DIF block size, or 0 if DIF is disabled |
| timeout | Time, in seconds, before an IO times out. Zero means no timeout. |
| int32_t sli_fcp_treceive64_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | sgl, | ||
| uint32_t | first_data_sge, | ||
| uint32_t | relative_off, | ||
| uint32_t | xfer_len, | ||
| uint16_t | xri, | ||
| uint16_t | tag, | ||
| uint16_t | cq_id, | ||
| uint16_t | xid, | ||
| uint32_t | rpi, | ||
| ocs_remote_node_t * | rnode, | ||
| uint32_t | flags, | ||
| uint8_t | dif, | ||
| uint8_t | bs, | ||
| uint8_t | csctl, | ||
| uint32_t | app_id, | ||
| uint8_t | timer | ||
| ) |
Write an FCP_TRECEIVE64_WQE work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| sgl | DMA memory for the Scatter-Gather List. |
| first_data_sge | Index of first data sge (used if perf hints are enabled) |
| relative_off | Relative offset of the IO (if any). |
| xfer_len | Data transfer length. |
| xri | XRI for this exchange. |
| tag | IO tag value. |
| xid | OX_ID for the exchange. |
| cq_id | The id of the completion queue where the WQE response is sent. |
| rpi | remote node indicator (RPI) |
| rnode | Destination request (i.e. remote node). |
| flags | Optional attributes, including:
|
| dif | T10 DIF operation, or 0 to disable. |
| bs | T10 DIF block size, or 0 if DIF is disabled. |
| csctl | value of csctl field. |
| app_id | value for VM application header. |
| int32_t sli_fcp_trsp64_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | sgl, | ||
| uint32_t | rsp_len, | ||
| uint16_t | xri, | ||
| uint16_t | tag, | ||
| uint16_t | cq_id, | ||
| uint16_t | xid, | ||
| uint32_t | rpi, | ||
| ocs_remote_node_t * | rnode, | ||
| uint32_t | flags, | ||
| uint8_t | csctl, | ||
| uint8_t | port_owned, | ||
| uint32_t | app_id | ||
| ) |
Write an FCP_TRSP64_WQE work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| sgl | DMA memory for the Scatter-Gather List. |
| rsp_len | Response data length. |
| xri | XRI for this exchange. |
| tag | IO tag value. |
| cq_id | The id of the completion queue where the WQE response is sent. |
| xid | OX_ID for the exchange. |
| rpi | remote node indicator (RPI) |
| rnode | Destination request (i.e. remote node). |
| flags | Optional attributes, including:
|
| csctl | value of csctl field. |
| port_owned | 0/1 to indicate if the XRI is port owned (used to set XBL=0) |
| app_id | value for VM application header. |
| int32_t sli_fcp_tsend64_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | sgl, | ||
| uint32_t | first_data_sge, | ||
| uint32_t | relative_off, | ||
| uint32_t | xfer_len, | ||
| uint16_t | xri, | ||
| uint16_t | tag, | ||
| uint16_t | cq_id, | ||
| uint16_t | xid, | ||
| uint32_t | rpi, | ||
| ocs_remote_node_t * | rnode, | ||
| uint32_t | flags, | ||
| uint8_t | dif, | ||
| uint8_t | bs, | ||
| uint8_t | csctl, | ||
| uint32_t | app_id | ||
| ) |
Write an FCP_TSEND64_WQE work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| sgl | DMA memory for the scatter gather list. |
| first_data_sge | Index of first data sge (used if perf hints are enabled) |
| relative_off | Relative offset of the IO (if any). |
| xfer_len | Data transfer length. |
| xri | XRI for this exchange. |
| tag | IO tag value. |
| cq_id | The id of the completion queue where the WQE response is sent. |
| xid | OX_ID for the exchange. |
| rpi | remote node indicator (RPI) |
| rnode | Destination request (i.e. remote node). |
| flags | Optional attributes, including:
|
| dif | T10 DIF operation, or 0 to disable. |
| bs | T10 DIF block size, or 0 if DIF is disabled. |
| csctl | value of csctl field. |
| app_id | value for VM application header. |
| int32_t sli_gen_request64_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | sgl, | ||
| uint32_t | req_len, | ||
| uint32_t | max_rsp_len, | ||
| uint8_t | timeout, | ||
| uint16_t | xri, | ||
| uint16_t | tag, | ||
| uint16_t | cq_id, | ||
| ocs_remote_node_t * | rnode, | ||
| uint8_t | r_ctl, | ||
| uint8_t | type, | ||
| uint8_t | df_ctl | ||
| ) |
Write a GEN_REQUEST64 work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| sgl | DMA memory for the request. |
| req_len | Length of request. |
| max_rsp_len | Max length of response. |
| timeout | Time, in seconds, before an IO times out. Zero means infinite. |
| xri | XRI for this exchange. |
| tag | IO tag value. |
| cq_id | The id of the completion queue where the WQE response is sent. |
| rnode | Destination of request (that is, the remote node). |
| r_ctl | R_CTL value for sequence. |
| type | TYPE value for sequence. |
| df_ctl | DF_CTL value for sequence. |
| int32_t sli_requeue_xri_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint16_t | xri, | ||
| uint16_t | tag, | ||
| uint16_t | cq_id | ||
| ) |
Write a REQUEUE_XRI_WQE work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| xri | XRI for this exchange. |
| tag | IO tag value. |
| cq_id | The id of the completion queue where the WQE response is sent. |
| int32_t sli_send_frame_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| uint8_t | sof, | ||
| uint8_t | eof, | ||
| uint32_t * | hdr, | ||
| ocs_dma_t * | payload, | ||
| uint32_t | req_len, | ||
| uint8_t | timeout, | ||
| uint16_t | xri, | ||
| uint16_t | req_tag | ||
| ) |
Write a SEND_FRAME work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| sof | Start of frame value |
| eof | End of frame value |
| hdr | Pointer to FC header data |
| payload | DMA memory for the payload. |
| req_len | Length of payload. |
| timeout | Time, in seconds, before an IO times out. Zero means infinite. |
| xri | XRI for this exchange. |
| req_tag | IO tag value. |
| int32_t sli_xmit_bls_rsp64_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| sli_bls_payload_t * | payload, | ||
| uint16_t | xri, | ||
| uint16_t | tag, | ||
| uint16_t | cq_id, | ||
| ocs_remote_node_t * | rnode, | ||
| uint32_t | s_id | ||
| ) |
Write an XMIT_BLS_RSP64_WQE work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| payload | Contents of the BLS payload to be sent. |
| xri | XRI for this exchange. |
| tag | IO tag value. |
| cq_id | The id of the completion queue where the WQE response is sent. |
| rnode | Destination of request (that is, the remote node). |
| s_id | Source ID to use in the response. If UINT32_MAX, use SLI Port's ID. |
| int32_t sli_xmit_els_rsp64_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | rsp, | ||
| uint32_t | rsp_len, | ||
| uint16_t | xri, | ||
| uint16_t | tag, | ||
| uint16_t | cq_id, | ||
| uint16_t | ox_id, | ||
| ocs_remote_node_t * | rnode, | ||
| uint32_t | flags, | ||
| uint32_t | s_id | ||
| ) |
Write a XMIT_ELS_RSP64_WQE work queue entry.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| rsp | DMA memory for the ELS response. |
| rsp_len | Length of ELS response, in bytes. |
| xri | XRI for this exchange. |
| tag | IO tag value. |
| cq_id | The id of the completion queue where the WQE response is sent. |
| ox_id | OX_ID of the exchange containing the request. |
| rnode | Destination of the ELS response (that is, the remote node). |
| flags | Optional attributes, including:
|
| s_id | S_ID used for special responses. |
| int32_t sli_xmit_sequence64_wqe | ( | sli4_t * | sli4, |
| void * | buf, | ||
| size_t | size, | ||
| ocs_dma_t * | payload, | ||
| uint32_t | payload_len, | ||
| uint8_t | timeout, | ||
| uint16_t | ox_id, | ||
| uint16_t | xri, | ||
| uint16_t | tag, | ||
| ocs_remote_node_t * | rnode, | ||
| uint8_t | r_ctl, | ||
| uint8_t | type, | ||
| uint8_t | df_ctl | ||
| ) |
Write a XMIT_SEQUENCE64 work queue entry.
This WQE is used to send FC-CT response frames.
| sli4 | SLI context. |
| buf | Destination buffer for the WQE. |
| size | Buffer size, in bytes. |
| payload | DMA memory for the request. |
| payload_len | Length of request. |
| timeout | Time, in seconds, before an IO times out. Zero means infinite. |
| ox_id | originator exchange ID |
| xri | XRI for this exchange. |
| tag | IO tag value. |
| rnode | Destination of request (that is, the remote node). |
| r_ctl | R_CTL value for sequence. |
| type | TYPE value for sequence. |
| df_ctl | DF_CTL value for sequence. |