Emulex Logo
OneCoreā„¢ Storage SDK Release 11.2
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sli4_fc.h File Reference
#include "sli4.h"
#include "ocs_fcp.h"

Go to the source code of this file.

Detailed Description

Define Fibre Channel SLI-4 structures and function prototypes.

Definition in file sli4_fc.h.

Data Structures

struct  sli4_physical_page_descriptor_t
 
struct  sli4_req_fcoe_wq_create_t
 
struct  sli4_req_fcoe_wq_create_v1_t
 FCOE_WQ_CREATE_V1. More...
 
struct  sli4_req_fcoe_wq_destroy_t
 FCOE_WQ_DESTROY. More...
 
struct  sli4_fcoe_post_sgl_page_desc_t
 FCOE_POST_SGL_PAGES. More...
 
struct  sli4_req_fcoe_post_sgl_pages_t
 
struct  sli4_req_fcoe_rq_create_t
 FCOE_RQ_CREATE. More...
 
struct  sli4_req_fcoe_rq_create_v1_t
 FCOE_RQ_CREATE_V1. More...
 
struct  sli4_req_fcoe_rq_create_v2_t
 FCOE_RQ_CREATE_V2. More...
 
struct  sli4_req_fcoe_rq_destroy_t
 FCOE_RQ_DESTROY. More...
 
struct  sli4_req_fcoe_read_fcf_table_t
 FCOE_READ_FCF_TABLE. More...
 
struct  sli4_fcf_entry_t
 FCF table entry. More...
 
struct  sli4_res_fcoe_read_fcf_table_t
 FCOE_READ_FCF_TABLE response. More...
 
struct  sli4_req_fcoe_post_hdr_templates_t
 FCOE_POST_HDR_TEMPLATES. More...
 
struct  sli4_req_fcoe_rediscover_fcf_t
 FCOE_REDISCOVER_FCF. More...
 
struct  sli4_generic_wqe_t
 Generic WQE. More...
 
struct  sli4_abort_wqe_t
 WQE used to abort exchanges. More...
 
struct  sli4_els_request64_wqe_t
 WQE used to create an ELS request. More...
 
struct  sli4_fcp_icmnd64_wqe_t
 WQE used to create an FCP initiator no data command. More...
 
struct  sli4_fcp_iread64_wqe_t
 WQE used to create an FCP initiator read. More...
 
struct  sli4_fcp_iwrite64_wqe_t
 WQE used to create an FCP initiator write. More...
 
struct  sli4_fcp_128byte_wqe_t
 
struct  sli4_fcp_treceive64_wqe_t
 WQE used to create an FCP target receive, and FCP target receive continue. More...
 
struct  sli4_fcp_trsp64_wqe_t
 WQE used to create an FCP target response. More...
 
struct  sli4_fcp_tsend64_wqe_t
 WQE used to create an FCP target send (DATA IN). More...
 
struct  sli4_gen_request64_wqe_t
 WQE used to create a general request. More...
 
struct  sli4_send_frame_wqe_t
 WQE used to create a send frame request. More...
 
struct  sli4_xmit_sequence64_wqe_t
 WQE used to create a transmit sequence. More...
 
struct  sli4_requeue_xri_wqe_t
 WQE used unblock the specified XRI and to release it to the SLI Port's free pool. More...
 
struct  sli4_xmit_bcast64_wqe_t
 WQE used to send a single frame sequence to broadcast address. More...
 
struct  sli4_xmit_bls_rsp_wqe_t
 WQE used to create a BLS response. More...
 
struct  sli_bls_payload_t
 
struct  sli4_xmit_els_rsp64_wqe_t
 WQE used to create an ELS response. More...
 
struct  sli4_link_state_t
 Asynchronouse Event: Link State ACQE. More...
 
struct  sli4_link_attention_t
 Asynchronouse Event: FC Link Attention Event. More...
 
struct  sli4_fcoe_fip_t
 Asynchronouse Event: FCoE/FIP ACQE. More...
 
struct  sli4_fc_wcqe_t
 FC/FCoE WQ completion queue entry. More...
 
struct  sli4_fc_wqec_t
 FC/FCoE WQ consumed CQ queue entry. More...
 
struct  sli4_fc_async_rcqe_t
 
struct  sli4_fc_async_rcqe_v1_t
 
struct  sli4_fc_marker_rcqe_t
 
struct  sli4_fc_coalescing_rcqe_t
 
struct  sli4_fc_optimized_write_cmd_cqe_t
 
struct  sli4_fc_optimized_write_data_cqe_t
 
struct  sli4_fc_xri_aborted_cqe_t
 

Macros

#define SLI4_MAX_FCFI   64
 Maximum value for a FCFI. More...
 
#define SLI4_MAX_FCF_INDEX   SLI4_MAX_FCFI
 Maximum value for FCF index. More...
 
#define SLI4_OPC_FCOE_WQ_CREATE   0x1
 
#define SLI4_OPC_FCOE_WQ_DESTROY   0x2
 
#define SLI4_OPC_FCOE_POST_SGL_PAGES   0x3
 
#define SLI4_OPC_FCOE_RQ_CREATE   0x5
 
#define SLI4_OPC_FCOE_RQ_DESTROY   0x6
 
#define SLI4_OPC_FCOE_READ_FCF_TABLE   0x8
 
#define SLI4_OPC_FCOE_POST_HDR_TEMPLATES   0xb
 
#define SLI4_OPC_FCOE_REDISCOVER_FCF   0x10
 
#define SLI4_CQ_DEFAULT   0xffff
 
#define SLI4_FCOE_WQ_CREATE_V0_MAX_PAGES   4
 FCOE_WQ_CREATE. More...
 
#define SLI4_FCOE_WQ_CREATE_V1_MAX_PAGES   8
 
#define SLI4_FCOE_RQ_CREATE_V0_MAX_PAGES   8
 
#define SLI4_FCOE_RQ_CREATE_V0_MIN_BUF_SIZE   128
 
#define SLI4_FCOE_RQ_CREATE_V0_MAX_BUF_SIZE   2048
 
#define SLI4_FCOE_RQ_CREATE_V1_MAX_PAGES   8
 
#define SLI4_FCOE_RQ_CREATE_V1_MIN_BUF_SIZE   64
 
#define SLI4_FCOE_RQ_CREATE_V1_MAX_BUF_SIZE   2048
 
#define SLI4_FCOE_RQE_SIZE_8   0x2
 
#define SLI4_FCOE_RQE_SIZE_16   0x3
 
#define SLI4_FCOE_RQE_SIZE_32   0x4
 
#define SLI4_FCOE_RQE_SIZE_64   0x5
 
#define SLI4_FCOE_RQE_SIZE_128   0x6
 
#define SLI4_FCOE_RQ_PAGE_SIZE_4096   0x1
 
#define SLI4_FCOE_RQ_PAGE_SIZE_8192   0x2
 
#define SLI4_FCOE_RQ_PAGE_SIZE_16384   0x4
 
#define SLI4_FCOE_RQ_PAGE_SIZE_32768   0x8
 
#define SLI4_FCOE_RQ_PAGE_SIZE_64536   0x10
 
#define SLI4_FCOE_RQE_SIZE   8
 
#define SLI4_FCOE_FCF_TABLE_FIRST   (UINT16_MAX)
 
#define SLI4_FCOE_FCF_TABLE_LAST   (UINT16_MAX)
 
#define SLI4_FCOE_HDR_TEMPLATE_SIZE   64
 
#define SLI4_WQE_ABORT   0x0f
 
#define SLI4_WQE_ELS_REQUEST64   0x8a
 
#define SLI4_WQE_FCP_IBIDIR64   0xac
 
#define SLI4_WQE_FCP_IREAD64   0x9a
 
#define SLI4_WQE_FCP_IWRITE64   0x98
 
#define SLI4_WQE_FCP_ICMND64   0x9c
 
#define SLI4_WQE_FCP_TRECEIVE64   0xa1
 
#define SLI4_WQE_FCP_CONT_TRECEIVE64   0xe5
 
#define SLI4_WQE_FCP_TRSP64   0xa3
 
#define SLI4_WQE_FCP_TSEND64   0x9f
 
#define SLI4_WQE_GEN_REQUEST64   0xc2
 
#define SLI4_WQE_SEND_FRAME   0xe1
 
#define SLI4_WQE_XMIT_BCAST64   0X84
 
#define SLI4_WQE_XMIT_BLS_RSP   0x97
 
#define SLI4_WQE_ELS_RSP64   0x95
 
#define SLI4_WQE_XMIT_SEQUENCE64   0x82
 
#define SLI4_WQE_REQUEUE_XRI   0x93
 
#define SLI4_CMD_FCP_IREAD64_WQE   0x00
 
#define SLI4_CMD_FCP_ICMND64_WQE   0x00
 
#define SLI4_CMD_FCP_IWRITE64_WQE   0x01
 
#define SLI4_CMD_FCP_TRECEIVE64_WQE   0x02
 
#define SLI4_CMD_FCP_TRSP64_WQE   0x03
 
#define SLI4_CMD_FCP_TSEND64_WQE   0x07
 
#define SLI4_CMD_GEN_REQUEST64_WQE   0x08
 
#define SLI4_CMD_XMIT_BCAST64_WQE   0x08
 
#define SLI4_CMD_XMIT_BLS_RSP64_WQE   0x08
 
#define SLI4_CMD_ABORT_WQE   0x08
 
#define SLI4_CMD_XMIT_SEQUENCE64_WQE   0x08
 
#define SLI4_CMD_REQUEUE_XRI_WQE   0x0A
 
#define SLI4_CMD_SEND_FRAME_WQE   0x0a
 
#define SLI4_WQE_SIZE   0x05
 
#define SLI4_WQE_EXT_SIZE   0x06
 
#define SLI4_WQE_BYTES   (16 * sizeof(uint32_t))
 
#define SLI4_WQE_EXT_BYTES   (32 * sizeof(uint32_t))
 
#define SLI4_MASK_CCP   0xff
 
#define SLI4_ABORT_CRITERIA_XRI_TAG   0x01
 
#define SLI4_ABORT_CRITERIA_ABORT_TAG   0x02
 
#define SLI4_ABORT_CRITERIA_REQUEST_TAG   0x03
 
#define SLI4_ABORT_CRITERIA_EXT_ABORT_TAG   0x04
 
#define SLI4_ELS_REQUEST64_CONTEXT_RPI   0x0
 
#define SLI4_ELS_REQUEST64_CONTEXT_VPI   0x1
 
#define SLI4_ELS_REQUEST64_CONTEXT_VFI   0x2
 
#define SLI4_ELS_REQUEST64_CONTEXT_FCFI   0x3
 
#define SLI4_ELS_REQUEST64_CLASS_2   0x1
 
#define SLI4_ELS_REQUEST64_CLASS_3   0x2
 
#define SLI4_ELS_REQUEST64_DIR_WRITE   0x0
 
#define SLI4_ELS_REQUEST64_DIR_READ   0x1
 
#define SLI4_ELS_REQUEST64_OTHER   0x0
 
#define SLI4_ELS_REQUEST64_LOGO   0x1
 
#define SLI4_ELS_REQUEST64_FDISC   0x2
 
#define SLI4_ELS_REQUEST64_FLOGIN   0x3
 
#define SLI4_ELS_REQUEST64_PLOGI   0x4
 
#define SLI4_ELS_REQUEST64_CMD_GEN   0x08
 
#define SLI4_ELS_REQUEST64_CMD_NON_FABRIC   0x0c
 
#define SLI4_ELS_REQUEST64_CMD_FABRIC   0x0d
 
#define SLI4_IO_CONTINUATION   BIT(0) /** The XRI associated with this IO is already active */
 
#define SLI4_IO_AUTO_GOOD_RESPONSE   BIT(1) /** Automatically generate a good RSP frame */
 
#define SLI4_IO_NO_ABORT   BIT(2)
 
#define SLI4_IO_DNRX   BIT(3) /** Set the DNRX bit because no auto xref rdy buffer is posted */
 
#define SLI4_IO_SUPPRESS_RESPONSE   BIT(4) /** Suppress resp is supported only when AutoResp is enabled */
 
#define SLI4_DIF_DISABLED   0
 
#define SLI4_DIF_PASS_THROUGH   1
 
#define SLI4_DIF_STRIP   2
 
#define SLI4_DIF_INSERT   3
 
#define SLI4_LINK_ATTN_TYPE_LINK_UP   0x01
 
#define SLI4_LINK_ATTN_TYPE_LINK_DOWN   0x02
 
#define SLI4_LINK_ATTN_TYPE_NO_HARD_ALPA   0x03
 
#define SLI4_LINK_ATTN_TYPE_TRUNK_EVENT   0x07
 
#define SLI4_LINK_ATTN_P2P   0x01
 
#define SLI4_LINK_ATTN_FC_AL   0x02
 
#define SLI4_LINK_ATTN_INTERNAL_LOOPBACK   0x03
 
#define SLI4_LINK_ATTN_SERDES_LOOPBACK   0x04
 
#define SLI4_LINK_ATTN_1G   0x01
 
#define SLI4_LINK_ATTN_2G   0x02
 
#define SLI4_LINK_ATTN_4G   0x04
 
#define SLI4_LINK_ATTN_8G   0x08
 
#define SLI4_LINK_ATTN_10G   0x0a
 
#define SLI4_LINK_ATTN_16G   0x10
 
#define SLI4_LINK_ATTN_32G   0x20
 
#define SLI4_LINK_ATTN_64G   0x21
 
#define SLI4_LINK_ATTN_128G   0x22
 
#define SLI4_LINK_ATTN_256G   0x23
 
#define SLI4_LINK_TYPE_ETHERNET   0x0
 
#define SLI4_LINK_TYPE_FC   0x1
 
#define SLI4_FC_TRUNK_CONFIG_MASK   0xF0
 
#define SLI4_FC_TRUNK_LINK_STATE_MASK   0x0F
 
#define SLI4_FC_TRUNK_2_PORT_CONFIG   0x30
 
#define SLI4_FC_TRUNK_2_PORT_HI_CONFIG   0xC0
 
#define SLI4_FC_TRUNK_4_PORT_CONFIG   0xF0
 
#define SLI4_LINK_STATE_PHYSICAL   0x00
 FC/FCoE event types. More...
 
#define SLI4_LINK_STATE_LOGICAL   0x01
 
#define SLI4_FCOE_FIP_FCF_DISCOVERED   0x01
 
#define SLI4_FCOE_FIP_FCF_TABLE_FULL   0x02
 
#define SLI4_FCOE_FIP_FCF_DEAD   0x03
 
#define SLI4_FCOE_FIP_FCF_CLEAR_VLINK   0x04
 
#define SLI4_FCOE_FIP_FCF_MODIFIED   0x05
 
#define SLI4_GRP5_QOS_SPEED   0x01
 
#define SLI4_FC_EVENT_LINK_ATTENTION   0x01
 
#define SLI4_FC_EVENT_SHARED_LINK_ATTENTION   0x02
 
#define SLI4_PORT_SPEED_NO_LINK   0x0
 
#define SLI4_PORT_SPEED_10_MBPS   0x1
 
#define SLI4_PORT_SPEED_100_MBPS   0x2
 
#define SLI4_PORT_SPEED_1_GBPS   0x3
 
#define SLI4_PORT_SPEED_10_GBPS   0x4
 
#define SLI4_PORT_DUPLEX_NONE   0x0
 
#define SLI4_PORT_DUPLEX_HALF   0x1
 
#define SLI4_PORT_DUPLEX_FULL   0x2
 
#define SLI4_PORT_LINK_STATUS_PHYSICAL_DOWN   0x0
 
#define SLI4_PORT_LINK_STATUS_PHYSICAL_UP   0x1
 
#define SLI4_PORT_LINK_STATUS_LOGICAL_DOWN   0x2
 
#define SLI4_PORT_LINK_STATUS_LOGICAL_UP   0x3
 
#define SLI4_FC_WCQE_STATUS_SUCCESS   0x00
 FC/FCoE Completion Status Codes. More...
 
#define SLI4_FC_WCQE_STATUS_FCP_RSP_FAILURE   0x01
 
#define SLI4_FC_WCQE_STATUS_REMOTE_STOP   0x02
 
#define SLI4_FC_WCQE_STATUS_LOCAL_REJECT   0x03
 
#define SLI4_FC_WCQE_STATUS_NPORT_RJT   0x04
 
#define SLI4_FC_WCQE_STATUS_FABRIC_RJT   0x05
 
#define SLI4_FC_WCQE_STATUS_NPORT_BSY   0x06
 
#define SLI4_FC_WCQE_STATUS_FABRIC_BSY   0x07
 
#define SLI4_FC_WCQE_STATUS_LS_RJT   0x09
 
#define SLI4_FC_WCQE_STATUS_CMD_REJECT   0x0b
 
#define SLI4_FC_WCQE_STATUS_FCP_TGT_LENCHECK   0x0c
 
#define SLI4_FC_WCQE_STATUS_RQ_BUF_LEN_EXCEEDED   0x11
 
#define SLI4_FC_WCQE_STATUS_RQ_INSUFF_BUF_NEEDED   0x12
 
#define SLI4_FC_WCQE_STATUS_RQ_INSUFF_FRM_DISC   0x13
 
#define SLI4_FC_WCQE_STATUS_RQ_DMA_FAILURE   0x14
 
#define SLI4_FC_WCQE_STATUS_FCP_RSP_TRUNCATE   0x15
 
#define SLI4_FC_WCQE_STATUS_DI_ERROR   0x16
 
#define SLI4_FC_WCQE_STATUS_BA_RJT   0x17
 
#define SLI4_FC_WCQE_STATUS_RQ_INSUFF_XRI_NEEDED   0x18
 
#define SLI4_FC_WCQE_STATUS_RQ_INSUFF_XRI_DISC   0x19
 
#define SLI4_FC_WCQE_STATUS_RX_ERROR_DETECT   0x1a
 
#define SLI4_FC_WCQE_STATUS_RX_ABORT_REQUEST   0x1b
 
#define SLI4_FC_WCQE_STATUS_TARGET_WQE_TIMEOUT   0xff
 
#define SLI4_FC_WCQE_STATUS_SHUTDOWN   0xfe
 
#define SLI4_FC_WCQE_STATUS_DISPATCH_ERROR   0xfd
 
#define SLI4_FC_DI_ERROR_GE   (1 << 0) /* Guard Error */
 DI_ERROR Extended Status. More...
 
#define SLI4_FC_DI_ERROR_AE   (1 << 1) /* Application Tag Error */
 
#define SLI4_FC_DI_ERROR_RE   (1 << 2) /* Reference Tag Error */
 
#define SLI4_FC_DI_ERROR_TDPV   (1 << 3) /* Total Data Placed Valid */
 
#define SLI4_FC_DI_ERROR_UDB   (1 << 4) /* Uninitialized DIF Block */
 
#define SLI4_FC_DI_ERROR_EDIR   (1 << 5) /* Error direction */
 
#define SLI4_FC_LOCAL_REJECT_MISSING_CONTINUE   0x01
 Local Reject Reason Codes. More...
 
#define SLI4_FC_LOCAL_REJECT_SEQUENCE_TIMEOUT   0x02
 
#define SLI4_FC_LOCAL_REJECT_INTERNAL_ERROR   0x03
 
#define SLI4_FC_LOCAL_REJECT_INVALID_RPI   0x04
 
#define SLI4_FC_LOCAL_REJECT_NO_XRI   0x05
 
#define SLI4_FC_LOCAL_REJECT_ILLEGAL_COMMAND   0x06
 
#define SLI4_FC_LOCAL_REJECT_XCHG_DROPPED   0x07
 
#define SLI4_FC_LOCAL_REJECT_ILLEGAL_FIELD   0x08
 
#define SLI4_FC_LOCAL_REJECT_RPI_SUSPENDED   0x09
 
#define SLI4_FC_LOCAL_REJECT_NO_ABORT_MATCH   0x0c
 
#define SLI4_FC_LOCAL_REJECT_TX_DMA_FAILED   0x0d
 
#define SLI4_FC_LOCAL_REJECT_RX_DMA_FAILED   0x0e
 
#define SLI4_FC_LOCAL_REJECT_ILLEGAL_FRAME   0x0f
 
#define SLI4_FC_LOCAL_REJECT_NO_RESOURCES   0x11
 
#define SLI4_FC_LOCAL_REJECT_FCP_CONF_FAILURE   0x12
 
#define SLI4_FC_LOCAL_REJECT_ILLEGAL_LENGTH   0x13
 
#define SLI4_FC_LOCAL_REJECT_UNSUPPORTED_FEATURE   0x14
 
#define SLI4_FC_LOCAL_REJECT_ABORT_IN_PROGRESS   0x15
 
#define SLI4_FC_LOCAL_REJECT_ABORT_REQUESTED   0x16
 
#define SLI4_FC_LOCAL_REJECT_RCV_BUFFER_TIMEOUT   0x17
 
#define SLI4_FC_LOCAL_REJECT_LOOP_OPEN_FAILURE   0x18
 
#define SLI4_FC_LOCAL_REJECT_LINK_DOWN   0x1a
 
#define SLI4_FC_LOCAL_REJECT_CORRUPTED_DATA   0x1b
 
#define SLI4_FC_LOCAL_REJECT_CORRUPTED_RPI   0x1c
 
#define SLI4_FC_LOCAL_REJECT_OUT_OF_ORDER_DATA   0x1d
 
#define SLI4_FC_LOCAL_REJECT_OUT_OF_ORDER_ACK   0x1e
 
#define SLI4_FC_LOCAL_REJECT_DUP_FRAME   0x1f
 
#define SLI4_FC_LOCAL_REJECT_LINK_CONTROL_FRAME   0x20
 
#define SLI4_FC_LOCAL_REJECT_BAD_HOST_ADDRESS   0x21
 
#define SLI4_FC_LOCAL_REJECT_MISSING_HDR_BUFFER   0x23
 
#define SLI4_FC_LOCAL_REJECT_MSEQ_CHAIN_CORRUPTED   0x24
 
#define SLI4_FC_LOCAL_REJECT_ABORTMULT_REQUESTED   0x25
 
#define SLI4_FC_LOCAL_REJECT_BUFFER_SHORTAGE   0x28
 
#define SLI4_FC_LOCAL_REJECT_RCV_XRIBUF_WAITING   0x29
 
#define SLI4_FC_LOCAL_REJECT_INVALID_VPI   0x2e
 
#define SLI4_FC_LOCAL_REJECT_MISSING_XRIBUF   0x30
 
#define SLI4_FC_LOCAL_REJECT_INVALID_RELOFFSET   0x40
 
#define SLI4_FC_LOCAL_REJECT_MISSING_RELOFFSET   0x41
 
#define SLI4_FC_LOCAL_REJECT_INSUFF_BUFFERSPACE   0x42
 
#define SLI4_FC_LOCAL_REJECT_MISSING_SI   0x43
 
#define SLI4_FC_LOCAL_REJECT_MISSING_ES   0x44
 
#define SLI4_FC_LOCAL_REJECT_INCOMPLETE_XFER   0x45
 
#define SLI4_FC_LOCAL_REJECT_SLER_FAILURE   0x46
 
#define SLI4_FC_LOCAL_REJECT_SLER_CMD_RCV_FAILURE   0x47
 
#define SLI4_FC_LOCAL_REJECT_SLER_REC_RJT_ERR   0x48
 
#define SLI4_FC_LOCAL_REJECT_SLER_REC_SRR_RETRY_ERR   0x49
 
#define SLI4_FC_LOCAL_REJECT_SLER_SRR_RJT_ERR   0x4a
 
#define SLI4_FC_LOCAL_REJECT_SLER_RRQ_RJT_ERR   0x4c
 
#define SLI4_FC_LOCAL_REJECT_SLER_RRQ_RETRY_ERR   0x4d
 
#define SLI4_FC_LOCAL_REJECT_SLER_ABTS_ERR   0x4e
 
#define SLI4_FC_ASYNC_RQ_SUCCESS   0x10
 
#define SLI4_FC_ASYNC_RQ_BUF_LEN_EXCEEDED   0x11
 
#define SLI4_FC_ASYNC_RQ_INSUFF_BUF_NEEDED   0x12
 
#define SLI4_FC_ASYNC_RQ_INSUFF_BUF_FRM_DISC   0x13
 
#define SLI4_FC_ASYNC_RQ_DMA_FAILURE   0x14
 
#define SLI4_FC_COALESCE_RQ_SUCCESS   0x10
 
#define SLI4_FC_COALESCE_RQ_INSUFF_XRI_NEEDED   0x18
 
#define SLI4_CQE_CODE_OFFSET   14
 
#define SLI4_CQE_CODE_WORK_REQUEST_COMPLETION   0x01
 
#define SLI4_CQE_CODE_RELEASE_WQE   0x02
 
#define SLI4_CQE_CODE_RQ_ASYNC   0x04
 
#define SLI4_CQE_CODE_XRI_ABORTED   0x05
 
#define SLI4_CQE_CODE_RQ_COALESCING   0x06
 
#define SLI4_CQE_CODE_RQ_CONSUMPTION   0x07
 
#define SLI4_CQE_CODE_MEASUREMENT_REPORTING   0x08
 
#define SLI4_CQE_CODE_RQ_ASYNC_V1   0x09
 
#define SLI4_CQE_CODE_OPTIMIZED_WRITE_CMD   0x0B
 
#define SLI4_CQE_CODE_OPTIMIZED_WRITE_DATA   0x0C
 
#define SLI4_CQE_CODE_MARKER   0x1D
 

Enumerations

enum  sli4_abort_type_e { SLI_ABORT_XRI, SLI_ABORT_ABORT_ID, SLI_ABORT_REQUEST_ID, SLI_ABORT_MAX }
 
enum  sli_bls_type_e { SLI_BLS_ACC, SLI_BLS_RJT, SLI_BLS_MAX }
 

Functions

int32_t sli_fc_process_link_state (sli4_t *, void *)
 Process an asynchronous Link State event entry. More...
 
int32_t sli_fc_process_link_attention (sli4_t *, void *)
 Process an asynchronous Link Attention event entry. More...
 
int32_t sli_fc_process_sli_port_event (sli4_t *, void *)
 Process an asynchronous sli port event. More...
 
int32_t sli_fc_cqe_parse (sli4_t *, sli4_queue_t *, uint8_t *, sli4_qentry_e *, uint16_t *)
 Parse an FC/FCoE work queue CQ entry. More...
 
uint32_t sli_fc_response_length (sli4_t *, uint8_t *)
 Return the ELS/CT response length. More...
 
uint32_t sli_fc_io_length (sli4_t *, uint8_t *)
 Return the FCP IO length. More...
 
int32_t sli_fc_els_did (sli4_t *, uint8_t *, uint32_t *)
 Retrieve the D_ID from the completion. More...
 
uint32_t sli_fc_ext_status (sli4_t *, uint8_t *)
 
int32_t sli_fc_rqe_rqid_and_index (sli4_t *, uint8_t *, uint16_t *, uint32_t *)
 Retrieve the RQ index from the completion. More...
 
int32_t sli_fc_process_fcoe (sli4_t *, void *)
 Process an asynchronous FCoE event entry. More...
 
int32_t sli_cmd_fcoe_wq_create (sli4_t *, void *, size_t, ocs_dma_t *, uint16_t, uint16_t)
 Write an FCOE_WQ_CREATE command. More...
 
int32_t sli_cmd_fcoe_wq_create_v1 (sli4_t *, void *, size_t, ocs_dma_t *, uint16_t, uint16_t)
 Write an FCOE_WQ_CREATE_V1 command. More...
 
int32_t sli_cmd_fcoe_wq_destroy (sli4_t *, void *, size_t, uint16_t)
 Write an FCOE_WQ_DESTROY command. More...
 
int32_t sli_cmd_fcoe_post_sgl_pages (sli4_t *, void *, size_t, uint16_t, uint32_t, ocs_dma_t **, ocs_dma_t **, ocs_dma_t *)
 
int32_t sli_cmd_fcoe_rq_create (sli4_t *, void *, size_t, ocs_dma_t *, uint16_t, uint16_t, uint16_t)
 Write an FCOE_RQ_CREATE command. More...
 
int32_t sli_cmd_fcoe_rq_create_v1 (sli4_t *, void *, size_t, ocs_dma_t *, uint16_t, uint16_t, uint16_t)
 Write an FCOE_RQ_CREATE_V1 command. More...
 
int32_t sli_cmd_fcoe_rq_destroy (sli4_t *, void *, size_t, uint16_t)
 Write an FCOE_RQ_DESTROY command. More...
 
int32_t sli_cmd_fcoe_read_fcf_table (sli4_t *, void *, size_t, ocs_dma_t *, uint16_t)
 Write an FCOE_READ_FCF_TABLE command. More...
 
int32_t sli_cmd_fcoe_post_hdr_templates (sli4_t *, void *, size_t, ocs_dma_t *, uint16_t, ocs_dma_t *)
 Write an FCOE_POST_HDR_TEMPLATES command. More...
 
int32_t sli_cmd_fcoe_rediscover_fcf (sli4_t *, void *, size_t, uint16_t)
 
int32_t sli_fc_rq_alloc (sli4_t *, sli4_queue_t *, uint32_t, uint32_t, sli4_queue_t *, uint16_t, uint8_t)
 Allocate a receive queue. More...
 
int32_t sli_fc_rq_set_alloc (sli4_t *, uint32_t, sli4_queue_t *[], uint32_t, uint32_t, uint32_t, uint32_t, uint16_t)
 Allocate a receive queue set. More...
 
uint32_t sli_fc_get_rpi_requirements (sli4_t *, uint32_t)
 Get the RPI resource requirements. More...
 
int32_t sli_abort_wqe (sli4_t *, void *, size_t, sli4_abort_type_e, uint32_t, uint32_t, uint32_t, uint16_t, uint16_t)
 Write an ABORT_WQE work queue entry. More...
 
int32_t sli_els_request64_wqe (sli4_t *, void *, size_t, ocs_dma_t *, uint8_t, uint32_t, uint32_t, uint8_t, uint16_t, uint16_t, uint16_t, ocs_remote_node_t *)
 Write an ELS_REQUEST64_WQE work queue entry. More...
 
int32_t sli_fcp_iread64_wqe (sli4_t *, void *, size_t, ocs_dma_t *, uint32_t, uint32_t, uint16_t, uint16_t, uint16_t, uint32_t, ocs_remote_node_t *, uint8_t, uint8_t, uint8_t)
 Write an FCP_IREAD64_WQE work queue entry. More...
 
int32_t sli_fcp_iwrite64_wqe (sli4_t *, void *, size_t, ocs_dma_t *, uint32_t, uint32_t, uint32_t, uint16_t, uint16_t, uint16_t, uint32_t, ocs_remote_node_t *, uint8_t, uint8_t, uint8_t)
 Write an FCP_IWRITE64_WQE work queue entry. More...
 
int32_t sli_fcp_icmnd64_wqe (sli4_t *, void *, size_t, ocs_dma_t *, uint16_t, uint16_t, uint16_t, uint32_t, ocs_remote_node_t *, uint8_t)
 Write an FCP_ICMND64_WQE work queue entry. More...
 
int32_t sli_fcp_treceive64_wqe (sli4_t *, void *, size_t, ocs_dma_t *, uint32_t, uint32_t, uint32_t, uint16_t, uint16_t, uint16_t, uint16_t, uint32_t, ocs_remote_node_t *, uint32_t, uint8_t, uint8_t, uint8_t, uint32_t, uint8_t)
 Write an FCP_TRECEIVE64_WQE work queue entry. More...
 
int32_t sli_fcp_trsp64_wqe (sli4_t *, void *, size_t, ocs_dma_t *, uint32_t, uint16_t, uint16_t, uint16_t, uint16_t, uint32_t, ocs_remote_node_t *, uint32_t, uint8_t, uint8_t, uint32_t)
 Write an FCP_TRSP64_WQE work queue entry. More...
 
int32_t sli_fcp_tsend64_wqe (sli4_t *, void *, size_t, ocs_dma_t *, uint32_t, uint32_t, uint32_t, uint16_t, uint16_t, uint16_t, uint16_t, uint32_t, ocs_remote_node_t *, uint32_t, uint8_t, uint8_t, uint8_t, uint32_t)
 Write an FCP_TSEND64_WQE work queue entry. More...
 
int32_t sli_fcp_cont_treceive64_wqe (sli4_t *, void *, size_t, ocs_dma_t *, uint32_t, uint32_t, uint32_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint32_t, ocs_remote_node_t *, uint32_t, uint8_t, uint8_t, uint8_t, uint32_t, uint8_t)
 Write an FCP_CONT_TRECEIVE64_WQE work queue entry. More...
 
int32_t sli_gen_request64_wqe (sli4_t *, void *, size_t, ocs_dma_t *, uint32_t, uint32_t, uint8_t, uint16_t, uint16_t, uint16_t, ocs_remote_node_t *, uint8_t, uint8_t, uint8_t)
 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 *, void *, size_t, ocs_dma_t *, uint32_t, uint8_t, uint16_t, uint16_t, uint16_t, ocs_remote_node_t *, uint8_t, uint8_t, uint8_t)
 Write a XMIT_SEQUENCE64 work queue entry. More...
 
int32_t sli_xmit_bcast64_wqe (sli4_t *, void *, size_t, ocs_dma_t *, uint32_t, uint8_t, uint16_t, uint16_t, uint16_t, ocs_remote_node_t *, uint8_t, uint8_t, uint8_t)
 
int32_t sli_xmit_bls_rsp64_wqe (sli4_t *, void *, size_t, sli_bls_payload_t *, uint16_t, uint16_t, uint16_t, ocs_remote_node_t *, uint32_t)
 Write an XMIT_BLS_RSP64_WQE work queue entry. More...
 
int32_t sli_xmit_els_rsp64_wqe (sli4_t *, void *, size_t, ocs_dma_t *, uint32_t, uint16_t, uint16_t, uint16_t, uint16_t, ocs_remote_node_t *, uint32_t, uint32_t)
 Write a XMIT_ELS_RSP64_WQE work queue entry. More...
 
int32_t sli_requeue_xri_wqe (sli4_t *, void *, size_t, uint16_t, uint16_t, uint16_t)
 Write a REQUEUE_XRI_WQE work queue entry. More...
 
void sli4_cmd_lowlevel_set_watchdog (sli4_t *sli4, void *buf, size_t size, uint16_t timeout)
 Write a LOWLEVEL_SET_WATCHDOG command. More...
 
void sli4_cmd_lowlevel_enable_ras (sli4_t *sli4, void *buf, size_t size, int loglevel, uint32_t unit_size, int32_t buf_count, uint32_t *phys_addr, uintptr_t lwpd_phys_addr)
 Write a LOWLEVEL_SET_DIAG_LOG_OPTIONS command. More...
 
void sli4_cmd_lowlevel_disable_ras (sli4_t *sli4, void *buf, size_t size)
 Write a LOWLEVEL_SET_DIAG_LOG_OPTIONS command. More...
 
void sli4_cmd_lowlevel_get_itcm_parity_stats (sli4_t *sli4, void *buf, size_t size, bool clear_stats)
 
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...
 
const char * sli_fc_get_status_string (uint32_t status)
 Return a text string corresponding to a CQE status value. More...
 

Macro Details

#define SLI4_ABORT_CRITERIA_ABORT_TAG   0x02

Definition at line 543 of file sli4_fc.h.

#define SLI4_ABORT_CRITERIA_EXT_ABORT_TAG   0x04

Definition at line 545 of file sli4_fc.h.

#define SLI4_ABORT_CRITERIA_REQUEST_TAG   0x03

Definition at line 544 of file sli4_fc.h.

#define SLI4_ABORT_CRITERIA_XRI_TAG   0x01

Definition at line 542 of file sli4_fc.h.

#define SLI4_CMD_ABORT_WQE   0x08

Definition at line 425 of file sli4_fc.h.

#define SLI4_CMD_FCP_ICMND64_WQE   0x00

Definition at line 417 of file sli4_fc.h.

#define SLI4_CMD_FCP_IREAD64_WQE   0x00

WQE command types.

Definition at line 416 of file sli4_fc.h.

#define SLI4_CMD_FCP_IWRITE64_WQE   0x01

Definition at line 418 of file sli4_fc.h.

#define SLI4_CMD_FCP_TRECEIVE64_WQE   0x02

Definition at line 419 of file sli4_fc.h.

#define SLI4_CMD_FCP_TRSP64_WQE   0x03

Definition at line 420 of file sli4_fc.h.

#define SLI4_CMD_FCP_TSEND64_WQE   0x07

Definition at line 421 of file sli4_fc.h.

#define SLI4_CMD_GEN_REQUEST64_WQE   0x08

Definition at line 422 of file sli4_fc.h.

#define SLI4_CMD_REQUEUE_XRI_WQE   0x0A

Definition at line 427 of file sli4_fc.h.

#define SLI4_CMD_SEND_FRAME_WQE   0x0a

Definition at line 428 of file sli4_fc.h.

#define SLI4_CMD_XMIT_BCAST64_WQE   0x08

Definition at line 423 of file sli4_fc.h.

#define SLI4_CMD_XMIT_BLS_RSP64_WQE   0x08

Definition at line 424 of file sli4_fc.h.

#define SLI4_CMD_XMIT_SEQUENCE64_WQE   0x08

Definition at line 426 of file sli4_fc.h.

#define SLI4_CQ_DEFAULT   0xffff

Definition at line 80 of file sli4_fc.h.

#define SLI4_CQE_CODE_MARKER   0x1D

Definition at line 1896 of file sli4_fc.h.

#define SLI4_CQE_CODE_MEASUREMENT_REPORTING   0x08

Definition at line 1892 of file sli4_fc.h.

#define SLI4_CQE_CODE_OFFSET   14

Code definitions applicable to all FC/FCoE CQE types.

Definition at line 1884 of file sli4_fc.h.

#define SLI4_CQE_CODE_OPTIMIZED_WRITE_CMD   0x0B

Definition at line 1894 of file sli4_fc.h.

#define SLI4_CQE_CODE_OPTIMIZED_WRITE_DATA   0x0C

Definition at line 1895 of file sli4_fc.h.

#define SLI4_CQE_CODE_RELEASE_WQE   0x02

Definition at line 1887 of file sli4_fc.h.

#define SLI4_CQE_CODE_RQ_ASYNC   0x04

Definition at line 1888 of file sli4_fc.h.

#define SLI4_CQE_CODE_RQ_ASYNC_V1   0x09

Definition at line 1893 of file sli4_fc.h.

#define SLI4_CQE_CODE_RQ_COALESCING   0x06

Definition at line 1890 of file sli4_fc.h.

#define SLI4_CQE_CODE_RQ_CONSUMPTION   0x07

Definition at line 1891 of file sli4_fc.h.

#define SLI4_CQE_CODE_WORK_REQUEST_COMPLETION   0x01

Definition at line 1886 of file sli4_fc.h.

#define SLI4_CQE_CODE_XRI_ABORTED   0x05

Definition at line 1889 of file sli4_fc.h.

#define SLI4_DIF_DISABLED   0

Definition at line 1006 of file sli4_fc.h.

#define SLI4_DIF_INSERT   3

Definition at line 1009 of file sli4_fc.h.

#define SLI4_DIF_PASS_THROUGH   1

Definition at line 1007 of file sli4_fc.h.

#define SLI4_DIF_STRIP   2

Definition at line 1008 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_CLASS_2   0x1

Definition at line 614 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_CLASS_3   0x2

Definition at line 615 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_CMD_FABRIC   0x0d

Definition at line 628 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_CMD_GEN   0x08

Definition at line 626 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_CMD_NON_FABRIC   0x0c

Definition at line 627 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_CONTEXT_FCFI   0x3

Definition at line 612 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_CONTEXT_RPI   0x0

Definition at line 609 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_CONTEXT_VFI   0x2

Definition at line 611 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_CONTEXT_VPI   0x1

Definition at line 610 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_DIR_READ   0x1

Definition at line 618 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_DIR_WRITE   0x0

Definition at line 617 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_FDISC   0x2

Definition at line 622 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_FLOGIN   0x3

Definition at line 623 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_LOGO   0x1

Definition at line 621 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_OTHER   0x0

Definition at line 620 of file sli4_fc.h.

#define SLI4_ELS_REQUEST64_PLOGI   0x4

Definition at line 624 of file sli4_fc.h.

#define SLI4_FC_ASYNC_RQ_BUF_LEN_EXCEEDED   0x11

Definition at line 1791 of file sli4_fc.h.

#define SLI4_FC_ASYNC_RQ_DMA_FAILURE   0x14

Definition at line 1794 of file sli4_fc.h.

#define SLI4_FC_ASYNC_RQ_INSUFF_BUF_FRM_DISC   0x13

Definition at line 1793 of file sli4_fc.h.

#define SLI4_FC_ASYNC_RQ_INSUFF_BUF_NEEDED   0x12

Definition at line 1792 of file sli4_fc.h.

#define SLI4_FC_ASYNC_RQ_SUCCESS   0x10

Definition at line 1790 of file sli4_fc.h.

#define SLI4_FC_COALESCE_RQ_INSUFF_XRI_NEEDED   0x18

Definition at line 1815 of file sli4_fc.h.

#define SLI4_FC_COALESCE_RQ_SUCCESS   0x10

Definition at line 1814 of file sli4_fc.h.

#define SLI4_FC_DI_ERROR_AE   (1 << 1) /* Application Tag Error */

Definition at line 1670 of file sli4_fc.h.

#define SLI4_FC_DI_ERROR_EDIR   (1 << 5) /* Error direction */

Definition at line 1674 of file sli4_fc.h.

#define SLI4_FC_DI_ERROR_GE   (1 << 0) /* Guard Error */

DI_ERROR Extended Status.

Definition at line 1669 of file sli4_fc.h.

#define SLI4_FC_DI_ERROR_RE   (1 << 2) /* Reference Tag Error */

Definition at line 1671 of file sli4_fc.h.

#define SLI4_FC_DI_ERROR_TDPV   (1 << 3) /* Total Data Placed Valid */

Definition at line 1672 of file sli4_fc.h.

#define SLI4_FC_DI_ERROR_UDB   (1 << 4) /* Uninitialized DIF Block */

Definition at line 1673 of file sli4_fc.h.

#define SLI4_FC_EVENT_LINK_ATTENTION   0x01

Definition at line 1554 of file sli4_fc.h.

#define SLI4_FC_EVENT_SHARED_LINK_ATTENTION   0x02

Definition at line 1555 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_ABORT_IN_PROGRESS   0x15

Definition at line 1696 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_ABORT_REQUESTED   0x16

Definition at line 1697 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_ABORTMULT_REQUESTED   0x25

Definition at line 1710 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_BAD_HOST_ADDRESS   0x21

Definition at line 1707 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_BUFFER_SHORTAGE   0x28

Definition at line 1711 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_CORRUPTED_DATA   0x1b

Definition at line 1701 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_CORRUPTED_RPI   0x1c

Definition at line 1702 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_DUP_FRAME   0x1f

Definition at line 1705 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_FCP_CONF_FAILURE   0x12

Definition at line 1693 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_ILLEGAL_COMMAND   0x06

Definition at line 1684 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_ILLEGAL_FIELD   0x08

Definition at line 1686 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_ILLEGAL_FRAME   0x0f

Definition at line 1691 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_ILLEGAL_LENGTH   0x13

Definition at line 1694 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_INCOMPLETE_XFER   0x45

Definition at line 1720 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_INSUFF_BUFFERSPACE   0x42

Definition at line 1717 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_INTERNAL_ERROR   0x03

Definition at line 1681 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_INVALID_RELOFFSET   0x40

Definition at line 1715 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_INVALID_RPI   0x04

Definition at line 1682 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_INVALID_VPI   0x2e

Definition at line 1713 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_LINK_CONTROL_FRAME   0x20

Definition at line 1706 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_LINK_DOWN   0x1a

Definition at line 1700 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_LOOP_OPEN_FAILURE   0x18

Definition at line 1699 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_MISSING_CONTINUE   0x01

Local Reject Reason Codes.

Definition at line 1679 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_MISSING_ES   0x44

Definition at line 1719 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_MISSING_HDR_BUFFER   0x23

Definition at line 1708 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_MISSING_RELOFFSET   0x41

Definition at line 1716 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_MISSING_SI   0x43

Definition at line 1718 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_MISSING_XRIBUF   0x30

Definition at line 1714 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_MSEQ_CHAIN_CORRUPTED   0x24

Definition at line 1709 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_NO_ABORT_MATCH   0x0c

Definition at line 1688 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_NO_RESOURCES   0x11

Definition at line 1692 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_NO_XRI   0x05

Definition at line 1683 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_OUT_OF_ORDER_ACK   0x1e

Definition at line 1704 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_OUT_OF_ORDER_DATA   0x1d

Definition at line 1703 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_RCV_BUFFER_TIMEOUT   0x17

Definition at line 1698 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_RCV_XRIBUF_WAITING   0x29

Definition at line 1712 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_RPI_SUSPENDED   0x09

Definition at line 1687 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_RX_DMA_FAILED   0x0e

Definition at line 1690 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_SEQUENCE_TIMEOUT   0x02

Definition at line 1680 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_SLER_ABTS_ERR   0x4e

Definition at line 1728 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_SLER_CMD_RCV_FAILURE   0x47

Definition at line 1722 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_SLER_FAILURE   0x46

Definition at line 1721 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_SLER_REC_RJT_ERR   0x48

Definition at line 1723 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_SLER_REC_SRR_RETRY_ERR   0x49

Definition at line 1724 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_SLER_RRQ_RETRY_ERR   0x4d

Definition at line 1727 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_SLER_RRQ_RJT_ERR   0x4c

Definition at line 1726 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_SLER_SRR_RJT_ERR   0x4a

Definition at line 1725 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_TX_DMA_FAILED   0x0d

Definition at line 1689 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_UNSUPPORTED_FEATURE   0x14

Definition at line 1695 of file sli4_fc.h.

#define SLI4_FC_LOCAL_REJECT_XCHG_DROPPED   0x07

Definition at line 1685 of file sli4_fc.h.

#define SLI4_FC_TRUNK_2_PORT_CONFIG   0x30

Definition at line 1507 of file sli4_fc.h.

#define SLI4_FC_TRUNK_2_PORT_HI_CONFIG   0xC0

Definition at line 1510 of file sli4_fc.h.

#define SLI4_FC_TRUNK_4_PORT_CONFIG   0xF0

Definition at line 1513 of file sli4_fc.h.

#define SLI4_FC_TRUNK_CONFIG_MASK   0xF0

Definition at line 1500 of file sli4_fc.h.

#define SLI4_FC_TRUNK_LINK_STATE_MASK   0x0F

Definition at line 1501 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_BA_RJT   0x17

Definition at line 1655 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_CMD_REJECT   0x0b

Definition at line 1647 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_DI_ERROR   0x16

Definition at line 1654 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_DISPATCH_ERROR   0xfd

Definition at line 1664 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_FABRIC_BSY   0x07

Definition at line 1645 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_FABRIC_RJT   0x05

Definition at line 1643 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_FCP_RSP_FAILURE   0x01

Definition at line 1639 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_FCP_RSP_TRUNCATE   0x15

Definition at line 1653 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_FCP_TGT_LENCHECK   0x0c

Definition at line 1648 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_LOCAL_REJECT   0x03

Definition at line 1641 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_LS_RJT   0x09

Definition at line 1646 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_NPORT_BSY   0x06

Definition at line 1644 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_NPORT_RJT   0x04

Definition at line 1642 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_REMOTE_STOP   0x02

Definition at line 1640 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_RQ_BUF_LEN_EXCEEDED   0x11

Definition at line 1649 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_RQ_DMA_FAILURE   0x14

Definition at line 1652 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_RQ_INSUFF_BUF_NEEDED   0x12

Definition at line 1650 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_RQ_INSUFF_FRM_DISC   0x13

Definition at line 1651 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_RQ_INSUFF_XRI_DISC   0x19

Definition at line 1657 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_RQ_INSUFF_XRI_NEEDED   0x18

Definition at line 1656 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_RX_ABORT_REQUEST   0x1b

Definition at line 1659 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_RX_ERROR_DETECT   0x1a

Definition at line 1658 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_SHUTDOWN   0xfe

Definition at line 1663 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_SUCCESS   0x00

FC/FCoE Completion Status Codes.

Definition at line 1638 of file sli4_fc.h.

#define SLI4_FC_WCQE_STATUS_TARGET_WQE_TIMEOUT   0xff

Definition at line 1662 of file sli4_fc.h.

#define SLI4_FCOE_FCF_TABLE_FIRST   (UINT16_MAX)

Definition at line 311 of file sli4_fc.h.

#define SLI4_FCOE_FCF_TABLE_LAST   (UINT16_MAX)

Definition at line 357 of file sli4_fc.h.

#define SLI4_FCOE_FIP_FCF_CLEAR_VLINK   0x04

Definition at line 1549 of file sli4_fc.h.

#define SLI4_FCOE_FIP_FCF_DEAD   0x03

Definition at line 1548 of file sli4_fc.h.

#define SLI4_FCOE_FIP_FCF_DISCOVERED   0x01

Definition at line 1546 of file sli4_fc.h.

#define SLI4_FCOE_FIP_FCF_MODIFIED   0x05

Definition at line 1550 of file sli4_fc.h.

#define SLI4_FCOE_FIP_FCF_TABLE_FULL   0x02

Definition at line 1547 of file sli4_fc.h.

#define SLI4_FCOE_HDR_TEMPLATE_SIZE   64

Definition at line 374 of file sli4_fc.h.

#define SLI4_FCOE_RQ_CREATE_V0_MAX_BUF_SIZE   2048

Definition at line 201 of file sli4_fc.h.

#define SLI4_FCOE_RQ_CREATE_V0_MAX_PAGES   8

Definition at line 199 of file sli4_fc.h.

#define SLI4_FCOE_RQ_CREATE_V0_MIN_BUF_SIZE   128

Definition at line 200 of file sli4_fc.h.

#define SLI4_FCOE_RQ_CREATE_V1_MAX_BUF_SIZE   2048

Definition at line 263 of file sli4_fc.h.

#define SLI4_FCOE_RQ_CREATE_V1_MAX_PAGES   8

Definition at line 261 of file sli4_fc.h.

#define SLI4_FCOE_RQ_CREATE_V1_MIN_BUF_SIZE   64

Definition at line 262 of file sli4_fc.h.

#define SLI4_FCOE_RQ_PAGE_SIZE_16384   0x4

Definition at line 273 of file sli4_fc.h.

#define SLI4_FCOE_RQ_PAGE_SIZE_32768   0x8

Definition at line 274 of file sli4_fc.h.

#define SLI4_FCOE_RQ_PAGE_SIZE_4096   0x1

Definition at line 271 of file sli4_fc.h.

#define SLI4_FCOE_RQ_PAGE_SIZE_64536   0x10

Definition at line 275 of file sli4_fc.h.

#define SLI4_FCOE_RQ_PAGE_SIZE_8192   0x2

Definition at line 272 of file sli4_fc.h.

#define SLI4_FCOE_RQE_SIZE   8

Definition at line 277 of file sli4_fc.h.

#define SLI4_FCOE_RQE_SIZE_128   0x6

Definition at line 269 of file sli4_fc.h.

#define SLI4_FCOE_RQE_SIZE_16   0x3

Definition at line 266 of file sli4_fc.h.

#define SLI4_FCOE_RQE_SIZE_32   0x4

Definition at line 267 of file sli4_fc.h.

#define SLI4_FCOE_RQE_SIZE_64   0x5

Definition at line 268 of file sli4_fc.h.

#define SLI4_FCOE_RQE_SIZE_8   0x2

Definition at line 265 of file sli4_fc.h.

#define SLI4_FCOE_WQ_CREATE_V0_MAX_PAGES   4

FCOE_WQ_CREATE.

Create a Work Queue for FC/FCoE use.

Definition at line 92 of file sli4_fc.h.

#define SLI4_FCOE_WQ_CREATE_V1_MAX_PAGES   8

Definition at line 133 of file sli4_fc.h.

#define SLI4_GRP5_QOS_SPEED   0x01

Definition at line 1552 of file sli4_fc.h.

#define SLI4_IO_AUTO_GOOD_RESPONSE   BIT(1) /** Automatically generate a good RSP frame */

Definition at line 1000 of file sli4_fc.h.

#define SLI4_IO_CONTINUATION   BIT(0) /** The XRI associated with this IO is already active */

Definition at line 999 of file sli4_fc.h.

#define SLI4_IO_DNRX   BIT(3) /** Set the DNRX bit because no auto xref rdy buffer is posted */

Definition at line 1002 of file sli4_fc.h.

#define SLI4_IO_NO_ABORT   BIT(2)

Definition at line 1001 of file sli4_fc.h.

#define SLI4_IO_SUPPRESS_RESPONSE   BIT(4) /** Suppress resp is supported only when AutoResp is enabled */

Definition at line 1003 of file sli4_fc.h.

#define SLI4_LINK_ATTN_10G   0x0a

Definition at line 1489 of file sli4_fc.h.

#define SLI4_LINK_ATTN_128G   0x22

Definition at line 1493 of file sli4_fc.h.

#define SLI4_LINK_ATTN_16G   0x10

Definition at line 1490 of file sli4_fc.h.

#define SLI4_LINK_ATTN_1G   0x01

Definition at line 1485 of file sli4_fc.h.

#define SLI4_LINK_ATTN_256G   0x23

Definition at line 1494 of file sli4_fc.h.

#define SLI4_LINK_ATTN_2G   0x02

Definition at line 1486 of file sli4_fc.h.

#define SLI4_LINK_ATTN_32G   0x20

Definition at line 1491 of file sli4_fc.h.

#define SLI4_LINK_ATTN_4G   0x04

Definition at line 1487 of file sli4_fc.h.

#define SLI4_LINK_ATTN_64G   0x21

Definition at line 1492 of file sli4_fc.h.

#define SLI4_LINK_ATTN_8G   0x08

Definition at line 1488 of file sli4_fc.h.

#define SLI4_LINK_ATTN_FC_AL   0x02

Definition at line 1481 of file sli4_fc.h.

#define SLI4_LINK_ATTN_INTERNAL_LOOPBACK   0x03

Definition at line 1482 of file sli4_fc.h.

#define SLI4_LINK_ATTN_P2P   0x01

Definition at line 1480 of file sli4_fc.h.

#define SLI4_LINK_ATTN_SERDES_LOOPBACK   0x04

Definition at line 1483 of file sli4_fc.h.

#define SLI4_LINK_ATTN_TYPE_LINK_DOWN   0x02

Definition at line 1476 of file sli4_fc.h.

#define SLI4_LINK_ATTN_TYPE_LINK_UP   0x01

Definition at line 1475 of file sli4_fc.h.

#define SLI4_LINK_ATTN_TYPE_NO_HARD_ALPA   0x03

Definition at line 1477 of file sli4_fc.h.

#define SLI4_LINK_ATTN_TYPE_TRUNK_EVENT   0x07

Definition at line 1478 of file sli4_fc.h.

#define SLI4_LINK_STATE_LOGICAL   0x01

Definition at line 1544 of file sli4_fc.h.

#define SLI4_LINK_STATE_PHYSICAL   0x00

FC/FCoE event types.

Definition at line 1543 of file sli4_fc.h.

#define SLI4_LINK_TYPE_ETHERNET   0x0

Definition at line 1497 of file sli4_fc.h.

#define SLI4_LINK_TYPE_FC   0x1

Definition at line 1498 of file sli4_fc.h.

#define SLI4_MASK_CCP   0xff

Definition at line 437 of file sli4_fc.h.

#define SLI4_MAX_FCF_INDEX   SLI4_MAX_FCFI

Maximum value for FCF index.

The SLI-4 specification uses a 16 bit field in most places for the FCF index, but practically, this value will be much smaller. Arbitrarily limit the max FCF index to match the max FCFI value.

Definition at line 61 of file sli4_fc.h.

#define SLI4_MAX_FCFI   64

Maximum value for a FCFI.

Note that although most commands provide a 16 bit field for the FCFI, the FC/FCoE Asynchronous Recived CQE format only provides 6 bits for the returned FCFI. Then effectively, the FCFI cannot be larger than 1 << 6 or 64.

Definition at line 52 of file sli4_fc.h.

#define SLI4_OPC_FCOE_POST_HDR_TEMPLATES   0xb

Definition at line 76 of file sli4_fc.h.

#define SLI4_OPC_FCOE_POST_SGL_PAGES   0x3

Definition at line 72 of file sli4_fc.h.

#define SLI4_OPC_FCOE_READ_FCF_TABLE   0x8

Definition at line 75 of file sli4_fc.h.

#define SLI4_OPC_FCOE_REDISCOVER_FCF   0x10

Definition at line 77 of file sli4_fc.h.

#define SLI4_OPC_FCOE_RQ_CREATE   0x5

Definition at line 73 of file sli4_fc.h.

#define SLI4_OPC_FCOE_RQ_DESTROY   0x6

Definition at line 74 of file sli4_fc.h.

#define SLI4_OPC_FCOE_WQ_CREATE   0x1

FC/FCoE opcode (OPC) values.

Definition at line 70 of file sli4_fc.h.

#define SLI4_OPC_FCOE_WQ_DESTROY   0x2

Definition at line 71 of file sli4_fc.h.

#define SLI4_PORT_DUPLEX_FULL   0x2

Definition at line 1565 of file sli4_fc.h.

#define SLI4_PORT_DUPLEX_HALF   0x1

Definition at line 1564 of file sli4_fc.h.

#define SLI4_PORT_DUPLEX_NONE   0x0

Definition at line 1563 of file sli4_fc.h.

#define SLI4_PORT_LINK_STATUS_LOGICAL_DOWN   0x2

Definition at line 1569 of file sli4_fc.h.

#define SLI4_PORT_LINK_STATUS_LOGICAL_UP   0x3

Definition at line 1570 of file sli4_fc.h.

#define SLI4_PORT_LINK_STATUS_PHYSICAL_DOWN   0x0

Definition at line 1567 of file sli4_fc.h.

#define SLI4_PORT_LINK_STATUS_PHYSICAL_UP   0x1

Definition at line 1568 of file sli4_fc.h.

#define SLI4_PORT_SPEED_100_MBPS   0x2

Definition at line 1559 of file sli4_fc.h.

#define SLI4_PORT_SPEED_10_GBPS   0x4

Definition at line 1561 of file sli4_fc.h.

#define SLI4_PORT_SPEED_10_MBPS   0x1

Definition at line 1558 of file sli4_fc.h.

#define SLI4_PORT_SPEED_1_GBPS   0x3

Definition at line 1560 of file sli4_fc.h.

#define SLI4_PORT_SPEED_NO_LINK   0x0

Definition at line 1557 of file sli4_fc.h.

#define SLI4_WQE_ABORT   0x0f

Work Queue Entry (WQE) types.

Definition at line 395 of file sli4_fc.h.

#define SLI4_WQE_BYTES   (16 * sizeof(uint32_t))

Definition at line 433 of file sli4_fc.h.

#define SLI4_WQE_ELS_REQUEST64   0x8a

Definition at line 396 of file sli4_fc.h.

#define SLI4_WQE_ELS_RSP64   0x95

Definition at line 409 of file sli4_fc.h.

#define SLI4_WQE_EXT_BYTES   (32 * sizeof(uint32_t))

Definition at line 434 of file sli4_fc.h.

#define SLI4_WQE_EXT_SIZE   0x06

Definition at line 431 of file sli4_fc.h.

#define SLI4_WQE_FCP_CONT_TRECEIVE64   0xe5

Definition at line 402 of file sli4_fc.h.

#define SLI4_WQE_FCP_IBIDIR64   0xac

Definition at line 397 of file sli4_fc.h.

#define SLI4_WQE_FCP_ICMND64   0x9c

Definition at line 400 of file sli4_fc.h.

#define SLI4_WQE_FCP_IREAD64   0x9a

Definition at line 398 of file sli4_fc.h.

#define SLI4_WQE_FCP_IWRITE64   0x98

Definition at line 399 of file sli4_fc.h.

#define SLI4_WQE_FCP_TRECEIVE64   0xa1

Definition at line 401 of file sli4_fc.h.

#define SLI4_WQE_FCP_TRSP64   0xa3

Definition at line 403 of file sli4_fc.h.

#define SLI4_WQE_FCP_TSEND64   0x9f

Definition at line 404 of file sli4_fc.h.

#define SLI4_WQE_GEN_REQUEST64   0xc2

Definition at line 405 of file sli4_fc.h.

#define SLI4_WQE_REQUEUE_XRI   0x93

Definition at line 411 of file sli4_fc.h.

#define SLI4_WQE_SEND_FRAME   0xe1

Definition at line 406 of file sli4_fc.h.

#define SLI4_WQE_SIZE   0x05

Definition at line 430 of file sli4_fc.h.

#define SLI4_WQE_XMIT_BCAST64   0X84

Definition at line 407 of file sli4_fc.h.

#define SLI4_WQE_XMIT_BLS_RSP   0x97

Definition at line 408 of file sli4_fc.h.

#define SLI4_WQE_XMIT_SEQUENCE64   0x82

Definition at line 410 of file sli4_fc.h.

Enumeration Details

Enumerator
SLI_ABORT_XRI 
SLI_ABORT_ABORT_ID 
SLI_ABORT_REQUEST_ID 
SLI_ABORT_MAX 

Definition at line 547 of file sli4_fc.h.

Enumerator
SLI_BLS_ACC 
SLI_BLS_RJT 
SLI_BLS_MAX 

Definition at line 1362 of file sli4_fc.h.

Function Details

void sli4_cmd_lowlevel_disable_ras ( sli4_t *  sli4,
void *  buf,
size_t  size 
)

Write a LOWLEVEL_SET_DIAG_LOG_OPTIONS command.

Parameters
sli4SLI context.
bufDestination buffer for the command.
sizeBuffer size, in bytes.
timeoutwatchdog timer timeout in seconds
Returns
void

Definition at line 2389 of file sli4.c.

void sli4_cmd_lowlevel_enable_ras ( sli4_t *  sli4,
void *  buf,
size_t  size,
int  log_level,
uint32_t  unit_size,
int32_t  buf_count,
uint32_t *  phys_addr,
uintptr_t  lwpd_phys_addr 
)

Write a LOWLEVEL_SET_DIAG_LOG_OPTIONS command.

Parameters
sli4SLI context.
bufDestination buffer for the command.
sizeBuffer size, in bytes.
timeoutwatchdog timer timeout in seconds
Returns
void

Definition at line 2339 of file sli4.c.

void sli4_cmd_lowlevel_get_itcm_parity_stats ( sli4_t *  sli4,
void *  buf,
size_t  size,
bool  clear_stats 
)

Definition at line 2412 of file sli4.c.

void sli4_cmd_lowlevel_set_watchdog ( sli4_t *  sli4,
void *  buf,
size_t  size,
uint16_t  timeout 
)

Write a LOWLEVEL_SET_WATCHDOG command.

Parameters
sli4SLI context.
bufDestination buffer for the command.
sizeBuffer size, in bytes.
timeoutwatchdog timer timeout in seconds
Returns
void

Definition at line 2304 of file sli4.c.

int32_t sli_cmd_fcoe_post_sgl_pages ( sli4_t *  ,
void *  ,
size_t  ,
uint16_t  ,
uint32_t  ,
ocs_dma_t **  ,
ocs_dma_t **  ,
ocs_dma_t *   
)
int32_t sli_cmd_fcoe_rediscover_fcf ( sli4_t *  ,
void *  ,
size_t  ,
uint16_t   
)

Definition at line 637 of file sli4_fc.c.

uint32_t sli_fc_ext_status ( sli4_t *  ,
uint8_t *   
)

Definition at line 2726 of file sli4_fc.c.

int32_t sli_xmit_bcast64_wqe ( sli4_t *  ,
void *  ,
size_t  ,
ocs_dma_t *  ,
uint32_t  ,
uint8_t  ,
uint16_t  ,
uint16_t  ,
uint16_t  ,
ocs_remote_node_t *  ,
uint8_t  ,
uint8_t  ,
uint8_t   
)

Definition at line 1903 of file sli4_fc.c.