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

Go to the source code of this file.

Detailed Description

Define Fibre Channel types and structures.

Definition in file ocs_fcp.h.

Data Structures

struct  fc_vft_header_t
 
struct  fc_header_t
 FC header in big-endian order. More...
 
struct  fc_header_le_t
 FC header in little-endian order. More...
 
struct  fc_vm_header_t
 FC VM header in big-endian order. More...
 
struct  fc_ba_acc_payload_t
 
struct  fc_ba_rjt_payload_t
 
struct  fc_els_gen_t
 
struct  fc_plogi_payload_t
 
struct  fc_logo_payload_t
 
struct  fc_acc_payload_t
 
struct  fc_ls_rjt_payload_t
 
struct  fc_prli_payload_t
 
struct  fc_nvme_prli_payload_t
 
struct  fc_prlo_payload_t
 
struct  fc_prlo_acc_payload_t
 
struct  fc_adisc_payload_t
 
struct  fc_scr_payload_t
 
struct  fc_rscn_affected_port_id_page_t
 
struct  fc_rscn_payload_t
 
struct  fcct_iu_header_t
 
struct  fcgs_rft_id_t
 
struct  fcgs_rff_id_t
 
struct  fcgs_rpn_id_t
 
struct  fcgs_rnn_id_t
 
struct  fcgs_rcs_id_t
 
struct  fcgs_rsnn_nn_t
 
struct  fcct_rftid_req_t
 
struct  fcct_rffid_req_t
 
union  ocs_fdmi_attr_entry_t
 
struct  ocs_fdmi_attr_block_t
 
struct  fcct_fdmi_reg_port_list_t
 
struct  fcct_fdmi_rhba_req_t
 
struct  fcct_fdmi_dereg_req_t
 
struct  fcct_fdmi_rprt_req_t
 
struct  fcct_fdmi_rpa_req_t
 
struct  fcct_fdmi_grhl_req_t
 
struct  fcct_fdmi_grhl_rsp_t
 
struct  fcct_fdmi_grpl_req_t
 
struct  fcct_fdmi_grpl_rsp_t
 
struct  fcct_fdmi_ghat_req_t
 
struct  fcct_fdmi_ghat_rsp_t
 
struct  fcct_fdmi_gpat_req_t
 
struct  fcct_fdmi_gpat_rsp_t
 
struct  fcct_gnnid_req_t
 
struct  fcct_gpnid_req_t
 
struct  fcct_ganxt_req_t
 
struct  fcct_gffid_req_t
 
struct  fcct_gidft_req_t
 
struct  fcct_gidpt_req_t
 
struct  fcct_gnnid_acc_t
 
struct  fcct_gpnid_acc_t
 
struct  fcct_gffid_acc_t
 
struct  fcct_gidft_acc_t
 
struct  fcct_gidpt_acc_t
 
struct  fcct_ganxt_acc_t
 
struct  fcp_cmnd_iu_t
 
struct  fcp_rsp_iu_t
 
struct  fcp_rsp_info_t
 
struct  fcp_xfer_rdy_iu_t
 

Macros

#define FC_ELS_CMD_RJT   0x01
 
#define FC_ELS_CMD_ACC   0x02
 
#define FC_ELS_CMD_PLOGI   0x03
 
#define FC_ELS_CMD_FLOGI   0x04
 
#define FC_ELS_CMD_LOGO   0x05
 
#define FC_ELS_CMD_RRQ   0x12
 
#define FC_ELS_CMD_PRLI   0x20
 
#define FC_ELS_CMD_PRLO   0x21
 
#define FC_ELS_CMD_PDISC   0x50
 
#define FC_ELS_CMD_FDISC   0x51
 
#define FC_ELS_CMD_ADISC   0x52
 
#define FC_ELS_CMD_RSCN   0x61
 
#define FC_ELS_CMD_SCR   0x62
 
#define FC_TYPE_BASIC_LINK   0
 
#define FC_TYPE_FCP   0x08
 
#define FC_TYPE_NVME   0x28
 
#define FC_TYPE_GS   0x20
 
#define FC_TYPE_SW   0x22
 
#define FC_ADDR_FABRIC   0xfffffe /** well known fabric address */
 
#define FC_ADDR_CONTROLLER   0xfffffd /** well known fabric controller address */
 
#define FC_ADDR_IS_DOMAIN_CTRL(x)   (((x) & 0xffff00) == 0xfffc00) /** is well known domain controller */
 
#define FC_ADDR_GET_DOMAIN_CTRL(x)   ((x) & 0x0000ff) /** get domain controller number */
 
#define FC_ADDR_NAMESERVER   0xfffffc /** well known directory server address */
 
#define FC_ADDR_FDMI   0xfffffa /** well known FDMI server address */
 
#define FC_GS_TYPE_ALIAS_SERVICE   0xf8
 
#define FC_GS_TYPE_MANAGEMENT_SERVICE   0xfa
 
#define FC_GS_TYPE_DIRECTORY_SERVICE   0xfc
 
#define FC_GS_TYPE_LOOPBACK   0x10
 
#define FC_GS_SUBTYPE_NAME_SERVER   0x02
 
#define FC_GS_SUBTYPE_FDMI   0x10
 
#define FC_GS_TYPE_WORD(type)   ((type) >> 5)
 
#define FC_GS_TYPE_BIT(type)   ((type) & 0x1f)
 
#define FC_GS_NAMESERVER_GPN_ID   0x0112
 
#define FC_GS_NAMESERVER_GNN_ID   0x0113
 
#define FC_GS_NAMESERVER_GFPN_ID   0x011c
 
#define FC_GS_NAMESERVER_GFF_ID   0x011f
 
#define FC_GS_NAMESERVER_GID_FT   0x0171
 
#define FC_GS_NAMESERVER_GID_PT   0x01a1
 
#define FC_GS_NAMESERVER_GA_NXT   0x0100
 
#define FC_GS_NAMESERVER_RHBA   0x0200
 
#define FC_GS_NAMESERVER_RPA   0x0211
 
#define FC_GS_NAMESERVER_RPN_ID   0x0212
 
#define FC_GS_NAMESERVER_RNN_ID   0x0213
 
#define FC_GS_NAMESERVER_RCS_ID   0x0214
 
#define FC_GS_NAMESERVER_RFT_ID   0x0217
 
#define FC_GS_NAMESERVER_RFF_ID   0x021f
 
#define FC_GS_NAMESERVER_RSNN_NN   0x0239
 
#define FC_GS_NAMESERVER_RSPN_ID   0x0218
 
#define FC_GS_FDMI_GRHL   0x100 /* Get registered HBA list */
 
#define FC_GS_FDMI_GHAT   0x101 /* Get HBA attributes */
 
#define FC_GS_FDMI_GRPL   0x102 /* Get registered Port list */
 
#define FC_GS_FDMI_GPAT   0x110 /* Get Port attributes */
 
#define FC_GS_FDMI_GPAS   0x120 /* Get Port Statistics */
 
#define FC_GS_FDMI_RHBA   0x200 /* Register HBA */
 
#define FC_GS_FDMI_RHAT   0x201 /* Register HBA attributes */
 
#define FC_GS_FDMI_RPRT   0x210 /* Register Port */
 
#define FC_GS_FDMI_RPA   0x211 /* Register Port attributes */
 
#define FC_GS_FDMI_DHBA   0x300 /* De-register HBA */
 
#define FC_GS_FDMI_DHAT   0x301 /* De-register HBA attributes */
 
#define FC_GS_FDMI_DPRT   0x310 /* De-register Port */
 
#define FC_GS_FDMI_DPA   0x311 /* De-register Port attributes */
 
#define FC_ELX_LOOPBACK_DATA   1
 
#define FC_GS_REVISION   0x03
 
#define FC_GS_IO_PARAMS
 
#define FC_SOFI3   0x2e
 
#define FC_SOFn3   0x36
 
#define FC_EOFN   0x41
 
#define FC_EOFT   0x42
 
#define FC_DFCTL_DEVICE_HDR_16_MASK   0x1
 
#define FC_DFCTL_NETWORK_HDR_MASK   0x20
 
#define FC_DFCTL_ESP_HDR_MASK   0x40
 
#define FC_DFCTL_NETWORK_HDR_SIZE   16
 
#define FC_DFCTL_ESP_HDR_SIZE   0
 
#define FC_RCTL_FC4_DATA   0
 
#define FC_RCTL_ELS   2
 
#define FC_RCTL_BLS   8
 
#define FC_RCTL_INFO_UNCAT   0
 
#define FC_RCTL_INFO_SOL_DATA   1
 
#define FC_RCTL_INFO_UNSOL_CTRL   2
 
#define FC_RCTL_INFO_SOL_CTRL   3
 
#define FC_RCTL_INFO_UNSOL_DATA   4
 
#define FC_RCTL_INFO_DATA_DESC   5
 
#define FC_RCTL_INFO_UNSOL_CMD   6
 
#define FC_RCTL_INFO_CMD_STATUS   7
 
#define FC_FCTL_EXCHANGE_RESPONDER   0x800000
 
#define FC_FCTL_SEQUENCE_CONTEXT   0x400000
 
#define FC_FCTL_FIRST_SEQUENCE   0x200000
 
#define FC_FCTL_LAST_SEQUENCE   0x100000
 
#define FC_FCTL_END_SEQUENCE   0x080000
 
#define FC_FCTL_END_CONNECTION   0x040000
 
#define FC_FCTL_PRIORITY_ENABLE   0x020000
 
#define FC_FCTL_SEQUENCE_INITIATIVE   0x010000
 
#define FC_FCTL_FILL_DATA_BYTES_MASK   0x000003
 
#define FC_INFO_NOP   0x0
 
#define FC_INFO_ABTS   0x1
 
#define FC_INFO_RMC   0x2
 
#define FC_INFO_BA_ACC   0x4
 
#define FC_INFO_BA_RJT   0x5
 
#define FC_INFO_PRMT   0x6
 
#define FC_REASON_INVALID_COMMAND_CODE   0x01
 
#define FC_REASON_LOGICAL_ERROR   0x03
 
#define FC_REASON_LOGICAL_BUSY   0x05
 
#define FC_REASON_PROTOCOL_ERROR   0x07
 
#define FC_REASON_UNABLE_TO_PERFORM   0x09
 
#define FC_REASON_COMMAND_NOT_SUPPORTED   0x0b
 
#define FC_REASON_COMMAND_IN_PROGRESS   0x0e
 
#define FC_REASON_VENDOR_SPECIFIC   0xff
 
#define FC_EXPL_NO_ADDITIONAL   0x00
 
#define FC_EXPL_SPARAM_OPTIONS   0x01
 
#define FC_EXPL_SPARAM_INITIATOR   0x03
 
#define FC_EXPL_SPARAM_RECPIENT   0x05
 
#define FC_EXPL_SPARM_DATA_SIZE   0x07
 
#define FC_EXPL_SPARM_CONCURRENT   0x09
 
#define FC_EXPL_SPARM_CREDIT   0x0b
 
#define FC_EXPL_INV_PORT_NAME   0x0d
 
#define FC_EXPL_INV_NODE_NAME   0x0e
 
#define FC_EXPL_INV_COMMON_SPARAMS   0x0f
 
#define FC_EXPL_INV_ASSOC_HEADER   0x11
 
#define FC_EXPL_ASSOC_HDR_REQUIRED   0x13
 
#define FC_EXPL_INV_ORIGINATOR_S_ID   0x15
 
#define FC_EXPL_INV_X_ID_COMBINATION   0x17
 
#define FC_EXPL_COMMAND_IN_PROGRESS   0x19
 
#define FC_EXPL_NPORT_LOGIN_REQUIRED   0x1e
 
#define FC_EXPL_N_PORT_ID   0x1f
 
#define FC_EXPL_INSUFFICIENT_RESOURCES   0x29
 
#define FC_EXPL_UNABLE_TO_SUPPLY_DATA   0x2a
 
#define FC_EXPL_REQUEST_NOT_SUPPORTED   0x2c
 
#define FC_EXPL_INV_PAYLOAD_LEN   0x1d
 
#define FC_EXPL_INV_PORT_NODE_NAME   0x44
 
#define FC_EXPL_LOGIN_EXT_NOT_SUPPORTED   0x46
 
#define FC_EXPL_AUTH_REQUIRED   0x48
 
#define FC_EXPL_SCAN_VALUE_NOT_ALLOWED   0x50
 
#define FC_EXPL_SCAN_VALUE_NOT_SUPPORTED   0x51
 
#define FC_EXPL_NO_RESOURCES_ASSIGNED   0x52
 
#define FC_EXPL_MAC_ADDR_MODE_NOT_SUPPORTED   0x60
 
#define FC_EXPL_MAC_ADDR_INCORRECTLY_FORMED   0x61
 
#define FC_EXPL_VN2VN_PORT_NOT_IN_NEIGHBOR_SET   0x62
 
#define FC_EXPL_INV_X_ID   0x03 /* invalid OX_ID - RX_ID combination */
 
#define FC_EXPL_SEQUENCE_ABORTED   0x05
 
#define FC_SEQ_ID_VALID   0x80
 
#define FC_SEQ_ID_INVALID   0x00
 
#define FC_PLOGI_CSP_W1_BBSCN_CLEAR_MASK   0xFFFF0FFF
 
#define FC_PLOGI_CSP_W1_VALID_VENDOR_VER_LEVEL   BIT(29)
 
#define OCS_FC_PLOGI_VENDOR_VERSION_EMLX_ID   0x454d4c58 /* EMLX */
 
#define FC_PRLI_ORIGINATOR_PA_VALID   0x8000
 
#define FC_PRLI_RESPONDER_PA_VALID   0x4000
 
#define FC_PRLI_ESTABLISH_IMAGE_PAIR   0x2000
 
#define FC_PRLI_SERVICE_PARAM_INVALID   0x0800
 
#define FC_PRLI_REQUEST_EXECUTED   0x0100
 
#define FC_PRLI_TASK_RETRY_ID_REQ   0x0200
 
#define FC_PRLI_RETRY   0x0100
 
#define FC_PRLI_CONFIRMED_COMPLETION   0x0080
 
#define FC_PRLI_DATA_OVERLAY   0x0040
 
#define FC_PRLI_INITIATOR_FUNCTION   0x0020
 
#define FC_PRLI_TARGET_FUNCTION   0x0010
 
#define FC_PRLI_READ_XRDY_DISABLED   0x0002
 
#define FC_PRLI_WRITE_XRDY_DISABLED   0x0001
 
#define FC_PRLI_NVME_DISC_FUNCTION   0x0008
 
#define FC_PRLI_ACC_FCP_PAGE_LENGTH   16
 
#define FC_PRLI_ACC_NVME_PAGE_LENGTH   20
 
#define FC_PRLO_REQUEST_EXECUTED   0x0001
 
#define FC_SCR_REG_FABRIC   1
 
#define FC_SCR_REG_NPORT   2
 
#define FC_SCR_REG_FULL   3
 
#define FCCT_REJECT_INVALID_COMMAND_CODE   1
 
#define FCCT_REJECT_INVALID_VERSION_LEVEL   2
 
#define FCCT_LOGICAL_ERROR   3
 
#define FCCT_INVALID_CT_IU_SIZE   4
 
#define FCCT_LOGICAL_BUSY   5
 
#define FCCT_PROTOCOL_ERROR   7
 
#define FCCT_UNABLE_TO_PERFORM   9
 
#define FCCT_COMMAND_NOT_SUPPORTED   0x0b
 
#define FCCT_FABRIC_PORT_NAME_NOT_REGISTERED   0x0c
 
#define FCCT_SERVER_NOT_AVAILABLE   0x0d
 
#define FCCT_SESSION_COULD_NOT_BE_ESTABLISHED   0x0e
 
#define FCCT_VENDOR_SPECIFIC_ERROR   0xff
 
#define FCCT_NO_ADDITIONAL_EXPLANATION   0
 
#define FCCT_AUTHORIZATION_EXCEPTION   0xf0
 
#define FCCT_AUTHENTICATION_EXCEPTION   0xf1
 
#define FCCT_DATA_BASE_FULL   0xf2
 
#define FCCT_DATA_BASE_EMPTY   0xf3
 
#define FCCT_PROCESSING_REQUEST   0xf4
 
#define FCCT_UNABLE_TO_VERIFY_CONNECTION   0xf5
 
#define FCCT_DEVICES_NOT_IN_COMMON_ZONE   0xf6
 
#define FCCT_CLASS_OF_SERVICE_F   0x1
 
#define FCCT_CLASS_OF_SERVICE_2   0x4
 
#define FCCT_CLASS_OF_SERVICE_3   0x8
 
#define FCCT_HDR_CMDRSP_ACCEPT   0x8002
 
#define FCCT_HDR_CMDRSP_REJECT   0x8001
 
#define FC4_FEATURE_TARGET   (1U << 0)
 
#define FC4_FEATURE_INITIATOR   (1U << 1)
 
#define FC4_FEATURE_NVME_DISC   (1U << 2)
 
#define FCCT_GID_PT_LAST_ID   0x80
 
#define FCCT_GIDPT_ID_MASK   0x00ffffff
 
#define FCP_LUN_ADDRESS_METHOD_SHIFT   6
 
#define FCP_LUN_ADDRESS_METHOD_MASK   0xc0
 
#define FCP_LUN_ADDR_METHOD_PERIPHERAL   0x0
 
#define FCP_LUN_ADDR_METHOD_FLAT   0x1
 
#define FCP_LUN_ADDR_METHOD_LOGICAL   0x2
 
#define FCP_LUN_ADDR_METHOD_EXTENDED   0x3
 
#define FCP_LUN_ADDR_SIMPLE_MAX   0xff
 
#define FCP_LUN_ADDR_FLAT_MAX   0x3fff
 
#define FCP_TASK_ATTR_SIMPLE   0x0
 
#define FCP_TASK_ATTR_HEAD_OF_QUEUE   0x1
 
#define FCP_TASK_ATTR_ORDERED   0x2
 
#define FCP_TASK_ATTR_ACA   0x4
 
#define FCP_TASK_ATTR_UNTAGGED   0x5
 
#define FCP_QUERY_TASK_SET   BIT(0)
 
#define FCP_ABORT_TASK_SET   BIT(1)
 
#define FCP_CLEAR_TASK_SET   BIT(2)
 
#define FCP_QUERY_ASYNCHRONOUS_EVENT   BIT(3)
 
#define FCP_LOGICAL_UNIT_RESET   BIT(4)
 
#define FCP_TARGET_RESET   BIT(5)
 
#define FCP_CLEAR_ACA   BIT(6)
 
#define FCP_MAX_SENSE_LEN   252
 
#define FCP_MAX_RSP_LEN   8
 
#define FCP_MAX_RSP_INFO_LEN   FCP_MAX_SENSE_LEN
 
#define FCP_RSP_LEN_VALID   BIT(0)
 
#define FCP_SNS_LEN_VALID   BIT(1)
 
#define FCP_RESID_OVER   BIT(2)
 
#define FCP_RESID_UNDER   BIT(3)
 
#define FCP_CONF_REQ   BIT(4)
 
#define FCP_BIDI_READ_RESID_OVER   BIT(5)
 
#define FCP_BIDI_READ_RESID_UNDER   BIT(6)
 
#define FCP_BIDI_RSP   BIT(7)
 
#define FCP_TMF_COMPLETE   0x00
 
#define FCP_DATA_LENGTH_MISMATCH   0x01
 
#define FCP_INVALID_FIELD   0x02
 
#define FCP_DATA_RO_MISMATCH   0x03
 
#define FCP_TMF_REJECTED   0x04
 
#define FCP_TMF_FAILED   0x05
 
#define FCP_TMF_SUCCEEDED   0x08
 
#define FCP_TMF_INCORRECT_LUN   0x09
 
#define MAX_ACC_REJECT_PAYLOAD   (sizeof(fc_ls_rjt_payload_t) > sizeof(fc_acc_payload_t) ? sizeof(fc_ls_rjt_payload_t) : sizeof(fc_acc_payload_t))
 

Typedefs

typedef fc_plogi_payload_t fc_sparms_t
 

Functions

static uint32_t fc_be24toh (uint32_t x)
 
static uint32_t fc_htobe24 (uint32_t x)
 
static void fcct_build_req_header (fcct_iu_header_t *hdr, uint16_t cmd, uint8_t type, uint8_t gs_subtype, uint16_t max_size)
 
static void fcct_loopback_build_req_header (fcct_iu_header_t *hdr, uint16_t cmd, uint16_t max_size)
 

Macro Details

#define FC4_FEATURE_INITIATOR   (1U << 1)

Definition at line 638 of file ocs_fcp.h.

#define FC4_FEATURE_NVME_DISC   (1U << 2)

Definition at line 639 of file ocs_fcp.h.

#define FC4_FEATURE_TARGET   (1U << 0)

Definition at line 637 of file ocs_fcp.h.

#define FC_ADDR_CONTROLLER   0xfffffd /** well known fabric controller address */

Definition at line 62 of file ocs_fcp.h.

#define FC_ADDR_FABRIC   0xfffffe /** well known fabric address */

Definition at line 61 of file ocs_fcp.h.

#define FC_ADDR_FDMI   0xfffffa /** well known FDMI server address */

Definition at line 66 of file ocs_fcp.h.

#define FC_ADDR_GET_DOMAIN_CTRL (   x)    ((x) & 0x0000ff) /** get domain controller number */

Definition at line 64 of file ocs_fcp.h.

#define FC_ADDR_IS_DOMAIN_CTRL (   x)    (((x) & 0xffff00) == 0xfffc00) /** is well known domain controller */

Definition at line 63 of file ocs_fcp.h.

#define FC_ADDR_NAMESERVER   0xfffffc /** well known directory server address */

Definition at line 65 of file ocs_fcp.h.

#define FC_DFCTL_DEVICE_HDR_16_MASK   0x1

Definition at line 207 of file ocs_fcp.h.

#define FC_DFCTL_ESP_HDR_MASK   0x40

Definition at line 209 of file ocs_fcp.h.

#define FC_DFCTL_ESP_HDR_SIZE   0

Definition at line 211 of file ocs_fcp.h.

#define FC_DFCTL_NETWORK_HDR_MASK   0x20

Definition at line 208 of file ocs_fcp.h.

#define FC_DFCTL_NETWORK_HDR_SIZE   16

Definition at line 210 of file ocs_fcp.h.

#define FC_ELS_CMD_ACC   0x02

Definition at line 42 of file ocs_fcp.h.

#define FC_ELS_CMD_ADISC   0x52

Definition at line 51 of file ocs_fcp.h.

#define FC_ELS_CMD_FDISC   0x51

Definition at line 50 of file ocs_fcp.h.

#define FC_ELS_CMD_FLOGI   0x04

Definition at line 44 of file ocs_fcp.h.

#define FC_ELS_CMD_LOGO   0x05

Definition at line 45 of file ocs_fcp.h.

#define FC_ELS_CMD_PDISC   0x50

Definition at line 49 of file ocs_fcp.h.

#define FC_ELS_CMD_PLOGI   0x03

Definition at line 43 of file ocs_fcp.h.

#define FC_ELS_CMD_PRLI   0x20

Definition at line 47 of file ocs_fcp.h.

#define FC_ELS_CMD_PRLO   0x21

Definition at line 48 of file ocs_fcp.h.

#define FC_ELS_CMD_RJT   0x01

Definition at line 41 of file ocs_fcp.h.

#define FC_ELS_CMD_RRQ   0x12

Definition at line 46 of file ocs_fcp.h.

#define FC_ELS_CMD_RSCN   0x61

Definition at line 52 of file ocs_fcp.h.

#define FC_ELS_CMD_SCR   0x62

Definition at line 53 of file ocs_fcp.h.

#define FC_ELX_LOOPBACK_DATA   1

Definition at line 120 of file ocs_fcp.h.

#define FC_EOFN   0x41

Definition at line 151 of file ocs_fcp.h.

#define FC_EOFT   0x42

Definition at line 152 of file ocs_fcp.h.

#define FC_EXPL_ASSOC_HDR_REQUIRED   0x13

Definition at line 269 of file ocs_fcp.h.

#define FC_EXPL_AUTH_REQUIRED   0x48

Definition at line 281 of file ocs_fcp.h.

#define FC_EXPL_COMMAND_IN_PROGRESS   0x19

Definition at line 272 of file ocs_fcp.h.

#define FC_EXPL_INSUFFICIENT_RESOURCES   0x29

Definition at line 275 of file ocs_fcp.h.

#define FC_EXPL_INV_ASSOC_HEADER   0x11

Definition at line 268 of file ocs_fcp.h.

#define FC_EXPL_INV_COMMON_SPARAMS   0x0f

Definition at line 267 of file ocs_fcp.h.

#define FC_EXPL_INV_NODE_NAME   0x0e

Definition at line 266 of file ocs_fcp.h.

#define FC_EXPL_INV_ORIGINATOR_S_ID   0x15

Definition at line 270 of file ocs_fcp.h.

#define FC_EXPL_INV_PAYLOAD_LEN   0x1d

Definition at line 278 of file ocs_fcp.h.

#define FC_EXPL_INV_PORT_NAME   0x0d

Definition at line 265 of file ocs_fcp.h.

#define FC_EXPL_INV_PORT_NODE_NAME   0x44

Definition at line 279 of file ocs_fcp.h.

#define FC_EXPL_INV_X_ID   0x03 /* invalid OX_ID - RX_ID combination */

Definition at line 289 of file ocs_fcp.h.

#define FC_EXPL_INV_X_ID_COMBINATION   0x17

Definition at line 271 of file ocs_fcp.h.

#define FC_EXPL_LOGIN_EXT_NOT_SUPPORTED   0x46

Definition at line 280 of file ocs_fcp.h.

#define FC_EXPL_MAC_ADDR_INCORRECTLY_FORMED   0x61

Definition at line 286 of file ocs_fcp.h.

#define FC_EXPL_MAC_ADDR_MODE_NOT_SUPPORTED   0x60

Definition at line 285 of file ocs_fcp.h.

#define FC_EXPL_N_PORT_ID   0x1f

Definition at line 274 of file ocs_fcp.h.

#define FC_EXPL_NO_ADDITIONAL   0x00

Definition at line 258 of file ocs_fcp.h.

#define FC_EXPL_NO_RESOURCES_ASSIGNED   0x52

Definition at line 284 of file ocs_fcp.h.

#define FC_EXPL_NPORT_LOGIN_REQUIRED   0x1e

Definition at line 273 of file ocs_fcp.h.

#define FC_EXPL_REQUEST_NOT_SUPPORTED   0x2c

Definition at line 277 of file ocs_fcp.h.

#define FC_EXPL_SCAN_VALUE_NOT_ALLOWED   0x50

Definition at line 282 of file ocs_fcp.h.

#define FC_EXPL_SCAN_VALUE_NOT_SUPPORTED   0x51

Definition at line 283 of file ocs_fcp.h.

#define FC_EXPL_SEQUENCE_ABORTED   0x05

Definition at line 290 of file ocs_fcp.h.

#define FC_EXPL_SPARAM_INITIATOR   0x03

Definition at line 260 of file ocs_fcp.h.

#define FC_EXPL_SPARAM_OPTIONS   0x01

Definition at line 259 of file ocs_fcp.h.

#define FC_EXPL_SPARAM_RECPIENT   0x05

Definition at line 261 of file ocs_fcp.h.

#define FC_EXPL_SPARM_CONCURRENT   0x09

Definition at line 263 of file ocs_fcp.h.

#define FC_EXPL_SPARM_CREDIT   0x0b

Definition at line 264 of file ocs_fcp.h.

#define FC_EXPL_SPARM_DATA_SIZE   0x07

Definition at line 262 of file ocs_fcp.h.

#define FC_EXPL_UNABLE_TO_SUPPLY_DATA   0x2a

Definition at line 276 of file ocs_fcp.h.

#define FC_EXPL_VN2VN_PORT_NOT_IN_NEIGHBOR_SET   0x62

Definition at line 287 of file ocs_fcp.h.

#define FC_FCTL_END_CONNECTION   0x040000

Definition at line 231 of file ocs_fcp.h.

#define FC_FCTL_END_SEQUENCE   0x080000

Definition at line 230 of file ocs_fcp.h.

#define FC_FCTL_EXCHANGE_RESPONDER   0x800000

Definition at line 226 of file ocs_fcp.h.

#define FC_FCTL_FILL_DATA_BYTES_MASK   0x000003

Definition at line 234 of file ocs_fcp.h.

#define FC_FCTL_FIRST_SEQUENCE   0x200000

Definition at line 228 of file ocs_fcp.h.

#define FC_FCTL_LAST_SEQUENCE   0x100000

Definition at line 229 of file ocs_fcp.h.

#define FC_FCTL_PRIORITY_ENABLE   0x020000

Definition at line 232 of file ocs_fcp.h.

#define FC_FCTL_SEQUENCE_CONTEXT   0x400000

Definition at line 227 of file ocs_fcp.h.

#define FC_FCTL_SEQUENCE_INITIATIVE   0x010000

Definition at line 233 of file ocs_fcp.h.

#define FC_GS_FDMI_DHAT   0x301 /* De-register HBA attributes */

Definition at line 116 of file ocs_fcp.h.

#define FC_GS_FDMI_DHBA   0x300 /* De-register HBA */

Definition at line 115 of file ocs_fcp.h.

#define FC_GS_FDMI_DPA   0x311 /* De-register Port attributes */

Definition at line 118 of file ocs_fcp.h.

#define FC_GS_FDMI_DPRT   0x310 /* De-register Port */

Definition at line 117 of file ocs_fcp.h.

#define FC_GS_FDMI_GHAT   0x101 /* Get HBA attributes */

Definition at line 107 of file ocs_fcp.h.

#define FC_GS_FDMI_GPAS   0x120 /* Get Port Statistics */

Definition at line 110 of file ocs_fcp.h.

#define FC_GS_FDMI_GPAT   0x110 /* Get Port attributes */

Definition at line 109 of file ocs_fcp.h.

#define FC_GS_FDMI_GRHL   0x100 /* Get registered HBA list */

Generic Services FDMI Request Command codes:

Definition at line 106 of file ocs_fcp.h.

#define FC_GS_FDMI_GRPL   0x102 /* Get registered Port list */

Definition at line 108 of file ocs_fcp.h.

#define FC_GS_FDMI_RHAT   0x201 /* Register HBA attributes */

Definition at line 112 of file ocs_fcp.h.

#define FC_GS_FDMI_RHBA   0x200 /* Register HBA */

Definition at line 111 of file ocs_fcp.h.

#define FC_GS_FDMI_RPA   0x211 /* Register Port attributes */

Definition at line 114 of file ocs_fcp.h.

#define FC_GS_FDMI_RPRT   0x210 /* Register Port */

Definition at line 113 of file ocs_fcp.h.

#define FC_GS_IO_PARAMS
Value:
{ .fc_ct.r_ctl = 0x02, \
.fc_ct.type = FC_TYPE_GS, \
.fc_ct.df_ctl = 0x00 }
#define FC_TYPE_GS
Definition: ocs_fcp.h:58

Definition at line 124 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_GA_NXT   0x0100

Definition at line 91 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_GFF_ID   0x011f

Definition at line 88 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_GFPN_ID   0x011c

Definition at line 87 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_GID_FT   0x0171

Definition at line 89 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_GID_PT   0x01a1

Definition at line 90 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_GNN_ID   0x0113

Definition at line 86 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_GPN_ID   0x0112

Generic Services Name Server Request Command codes:

Definition at line 85 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_RCS_ID   0x0214

Definition at line 96 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_RFF_ID   0x021f

Definition at line 98 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_RFT_ID   0x0217

Definition at line 97 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_RHBA   0x0200

Definition at line 92 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_RNN_ID   0x0213

Definition at line 95 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_RPA   0x0211

Definition at line 93 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_RPN_ID   0x0212

Definition at line 94 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_RSNN_NN   0x0239

Definition at line 99 of file ocs_fcp.h.

#define FC_GS_NAMESERVER_RSPN_ID   0x0218

Definition at line 100 of file ocs_fcp.h.

#define FC_GS_REVISION   0x03

Definition at line 122 of file ocs_fcp.h.

#define FC_GS_SUBTYPE_FDMI   0x10

Definition at line 74 of file ocs_fcp.h.

#define FC_GS_SUBTYPE_NAME_SERVER   0x02

Definition at line 73 of file ocs_fcp.h.

#define FC_GS_TYPE_ALIAS_SERVICE   0xf8

Definition at line 68 of file ocs_fcp.h.

#define FC_GS_TYPE_BIT (   type)    ((type) & 0x1f)

Definition at line 80 of file ocs_fcp.h.

#define FC_GS_TYPE_DIRECTORY_SERVICE   0xfc

Definition at line 70 of file ocs_fcp.h.

#define FC_GS_TYPE_LOOPBACK   0x10

Definition at line 71 of file ocs_fcp.h.

#define FC_GS_TYPE_MANAGEMENT_SERVICE   0xfa

Definition at line 69 of file ocs_fcp.h.

#define FC_GS_TYPE_WORD (   type)    ((type) >> 5)

Generic Services FC Type Bit mask macros:

Definition at line 79 of file ocs_fcp.h.

#define FC_INFO_ABTS   0x1

Definition at line 240 of file ocs_fcp.h.

#define FC_INFO_BA_ACC   0x4

Definition at line 243 of file ocs_fcp.h.

#define FC_INFO_BA_RJT   0x5

Definition at line 244 of file ocs_fcp.h.

#define FC_INFO_NOP   0x0

Common BLS definitions:

Definition at line 239 of file ocs_fcp.h.

#define FC_INFO_PRMT   0x6

Definition at line 245 of file ocs_fcp.h.

#define FC_INFO_RMC   0x2

Definition at line 241 of file ocs_fcp.h.

#define FC_PLOGI_CSP_W1_BBSCN_CLEAR_MASK   0xFFFF0FFF

Definition at line 316 of file ocs_fcp.h.

#define FC_PLOGI_CSP_W1_VALID_VENDOR_VER_LEVEL   BIT(29)

Definition at line 317 of file ocs_fcp.h.

#define FC_PRLI_ACC_FCP_PAGE_LENGTH   16

Definition at line 446 of file ocs_fcp.h.

#define FC_PRLI_ACC_NVME_PAGE_LENGTH   20

Definition at line 447 of file ocs_fcp.h.

#define FC_PRLI_CONFIRMED_COMPLETION   0x0080

Definition at line 438 of file ocs_fcp.h.

#define FC_PRLI_DATA_OVERLAY   0x0040

Definition at line 439 of file ocs_fcp.h.

#define FC_PRLI_ESTABLISH_IMAGE_PAIR   0x2000

Definition at line 431 of file ocs_fcp.h.

#define FC_PRLI_INITIATOR_FUNCTION   0x0020

Definition at line 440 of file ocs_fcp.h.

#define FC_PRLI_NVME_DISC_FUNCTION   0x0008

Definition at line 444 of file ocs_fcp.h.

#define FC_PRLI_ORIGINATOR_PA_VALID   0x8000

Definition at line 429 of file ocs_fcp.h.

#define FC_PRLI_READ_XRDY_DISABLED   0x0002

Definition at line 442 of file ocs_fcp.h.

#define FC_PRLI_REQUEST_EXECUTED   0x0100

Definition at line 433 of file ocs_fcp.h.

#define FC_PRLI_RESPONDER_PA_VALID   0x4000

Definition at line 430 of file ocs_fcp.h.

#define FC_PRLI_RETRY   0x0100

Definition at line 437 of file ocs_fcp.h.

#define FC_PRLI_SERVICE_PARAM_INVALID   0x0800

Definition at line 432 of file ocs_fcp.h.

#define FC_PRLI_TARGET_FUNCTION   0x0010

Definition at line 441 of file ocs_fcp.h.

#define FC_PRLI_TASK_RETRY_ID_REQ   0x0200

Definition at line 436 of file ocs_fcp.h.

#define FC_PRLI_WRITE_XRDY_DISABLED   0x0001

Definition at line 443 of file ocs_fcp.h.

#define FC_PRLO_REQUEST_EXECUTED   0x0001

Definition at line 450 of file ocs_fcp.h.

#define FC_RCTL_BLS   8

Definition at line 215 of file ocs_fcp.h.

#define FC_RCTL_ELS   2

Definition at line 214 of file ocs_fcp.h.

#define FC_RCTL_FC4_DATA   0

Definition at line 213 of file ocs_fcp.h.

#define FC_RCTL_INFO_CMD_STATUS   7

Definition at line 224 of file ocs_fcp.h.

#define FC_RCTL_INFO_DATA_DESC   5

Definition at line 222 of file ocs_fcp.h.

#define FC_RCTL_INFO_SOL_CTRL   3

Definition at line 220 of file ocs_fcp.h.

#define FC_RCTL_INFO_SOL_DATA   1

Definition at line 218 of file ocs_fcp.h.

#define FC_RCTL_INFO_UNCAT   0

Definition at line 217 of file ocs_fcp.h.

#define FC_RCTL_INFO_UNSOL_CMD   6

Definition at line 223 of file ocs_fcp.h.

#define FC_RCTL_INFO_UNSOL_CTRL   2

Definition at line 219 of file ocs_fcp.h.

#define FC_RCTL_INFO_UNSOL_DATA   4

Definition at line 221 of file ocs_fcp.h.

#define FC_REASON_COMMAND_IN_PROGRESS   0x0e

Definition at line 254 of file ocs_fcp.h.

#define FC_REASON_COMMAND_NOT_SUPPORTED   0x0b

Definition at line 253 of file ocs_fcp.h.

#define FC_REASON_INVALID_COMMAND_CODE   0x01

Definition at line 248 of file ocs_fcp.h.

#define FC_REASON_LOGICAL_BUSY   0x05

Definition at line 250 of file ocs_fcp.h.

#define FC_REASON_LOGICAL_ERROR   0x03

Definition at line 249 of file ocs_fcp.h.

#define FC_REASON_PROTOCOL_ERROR   0x07

Definition at line 251 of file ocs_fcp.h.

#define FC_REASON_UNABLE_TO_PERFORM   0x09

Definition at line 252 of file ocs_fcp.h.

#define FC_REASON_VENDOR_SPECIFIC   0xff

Definition at line 255 of file ocs_fcp.h.

#define FC_SCR_REG_FABRIC   1

Definition at line 459 of file ocs_fcp.h.

#define FC_SCR_REG_FULL   3

Definition at line 461 of file ocs_fcp.h.

#define FC_SCR_REG_NPORT   2

Definition at line 460 of file ocs_fcp.h.

#define FC_SEQ_ID_INVALID   0x00

Definition at line 294 of file ocs_fcp.h.

#define FC_SEQ_ID_VALID   0x80

Definition at line 293 of file ocs_fcp.h.

#define FC_SOFI3   0x2e

Definition at line 149 of file ocs_fcp.h.

#define FC_SOFn3   0x36

Definition at line 150 of file ocs_fcp.h.

#define FC_TYPE_BASIC_LINK   0

Definition at line 55 of file ocs_fcp.h.

#define FC_TYPE_FCP   0x08

Definition at line 56 of file ocs_fcp.h.

#define FC_TYPE_GS   0x20

Definition at line 58 of file ocs_fcp.h.

#define FC_TYPE_NVME   0x28

Definition at line 57 of file ocs_fcp.h.

#define FC_TYPE_SW   0x22

Definition at line 59 of file ocs_fcp.h.

#define FCCT_AUTHENTICATION_EXCEPTION   0xf1

Definition at line 511 of file ocs_fcp.h.

#define FCCT_AUTHORIZATION_EXCEPTION   0xf0

Definition at line 510 of file ocs_fcp.h.

#define FCCT_CLASS_OF_SERVICE_2   0x4

Definition at line 566 of file ocs_fcp.h.

#define FCCT_CLASS_OF_SERVICE_3   0x8

Definition at line 567 of file ocs_fcp.h.

#define FCCT_CLASS_OF_SERVICE_F   0x1

Definition at line 565 of file ocs_fcp.h.

#define FCCT_COMMAND_NOT_SUPPORTED   0x0b

Definition at line 503 of file ocs_fcp.h.

#define FCCT_DATA_BASE_EMPTY   0xf3

Definition at line 513 of file ocs_fcp.h.

#define FCCT_DATA_BASE_FULL   0xf2

Definition at line 512 of file ocs_fcp.h.

#define FCCT_DEVICES_NOT_IN_COMMON_ZONE   0xf6

Definition at line 516 of file ocs_fcp.h.

#define FCCT_FABRIC_PORT_NAME_NOT_REGISTERED   0x0c

Definition at line 504 of file ocs_fcp.h.

#define FCCT_GID_PT_LAST_ID   0x80

Definition at line 811 of file ocs_fcp.h.

#define FCCT_GIDPT_ID_MASK   0x00ffffff

Definition at line 812 of file ocs_fcp.h.

#define FCCT_HDR_CMDRSP_ACCEPT   0x8002

Definition at line 594 of file ocs_fcp.h.

#define FCCT_HDR_CMDRSP_REJECT   0x8001

Definition at line 595 of file ocs_fcp.h.

#define FCCT_INVALID_CT_IU_SIZE   4

Definition at line 499 of file ocs_fcp.h.

#define FCCT_LOGICAL_BUSY   5

Definition at line 500 of file ocs_fcp.h.

#define FCCT_LOGICAL_ERROR   3

Definition at line 498 of file ocs_fcp.h.

#define FCCT_NO_ADDITIONAL_EXPLANATION   0

Definition at line 509 of file ocs_fcp.h.

#define FCCT_PROCESSING_REQUEST   0xf4

Definition at line 514 of file ocs_fcp.h.

#define FCCT_PROTOCOL_ERROR   7

Definition at line 501 of file ocs_fcp.h.

#define FCCT_REJECT_INVALID_COMMAND_CODE   1

Definition at line 496 of file ocs_fcp.h.

#define FCCT_REJECT_INVALID_VERSION_LEVEL   2

Definition at line 497 of file ocs_fcp.h.

#define FCCT_SERVER_NOT_AVAILABLE   0x0d

Definition at line 505 of file ocs_fcp.h.

#define FCCT_SESSION_COULD_NOT_BE_ESTABLISHED   0x0e

Definition at line 506 of file ocs_fcp.h.

#define FCCT_UNABLE_TO_PERFORM   9

Definition at line 502 of file ocs_fcp.h.

#define FCCT_UNABLE_TO_VERIFY_CONNECTION   0xf5

Definition at line 515 of file ocs_fcp.h.

#define FCCT_VENDOR_SPECIFIC_ERROR   0xff

Definition at line 507 of file ocs_fcp.h.

#define FCP_ABORT_TASK_SET   BIT(1)

Definition at line 862 of file ocs_fcp.h.

#define FCP_BIDI_READ_RESID_OVER   BIT(5)

Definition at line 895 of file ocs_fcp.h.

#define FCP_BIDI_READ_RESID_UNDER   BIT(6)

Definition at line 896 of file ocs_fcp.h.

#define FCP_BIDI_RSP   BIT(7)

Definition at line 897 of file ocs_fcp.h.

#define FCP_CLEAR_ACA   BIT(6)

Definition at line 867 of file ocs_fcp.h.

#define FCP_CLEAR_TASK_SET   BIT(2)

Definition at line 863 of file ocs_fcp.h.

#define FCP_CONF_REQ   BIT(4)

Definition at line 894 of file ocs_fcp.h.

#define FCP_DATA_LENGTH_MISMATCH   0x01

Definition at line 901 of file ocs_fcp.h.

#define FCP_DATA_RO_MISMATCH   0x03

Definition at line 903 of file ocs_fcp.h.

#define FCP_INVALID_FIELD   0x02

Definition at line 902 of file ocs_fcp.h.

#define FCP_LOGICAL_UNIT_RESET   BIT(4)

Definition at line 865 of file ocs_fcp.h.

#define FCP_LUN_ADDR_FLAT_MAX   0x3fff

Definition at line 853 of file ocs_fcp.h.

#define FCP_LUN_ADDR_METHOD_EXTENDED   0x3

Definition at line 850 of file ocs_fcp.h.

#define FCP_LUN_ADDR_METHOD_FLAT   0x1

Definition at line 848 of file ocs_fcp.h.

#define FCP_LUN_ADDR_METHOD_LOGICAL   0x2

Definition at line 849 of file ocs_fcp.h.

#define FCP_LUN_ADDR_METHOD_PERIPHERAL   0x0

Definition at line 847 of file ocs_fcp.h.

#define FCP_LUN_ADDR_SIMPLE_MAX   0xff

Definition at line 852 of file ocs_fcp.h.

#define FCP_LUN_ADDRESS_METHOD_MASK   0xc0

Definition at line 846 of file ocs_fcp.h.

#define FCP_LUN_ADDRESS_METHOD_SHIFT   6

Definition at line 845 of file ocs_fcp.h.

#define FCP_MAX_RSP_INFO_LEN   FCP_MAX_SENSE_LEN

Definition at line 876 of file ocs_fcp.h.

#define FCP_MAX_RSP_LEN   8

Definition at line 871 of file ocs_fcp.h.

#define FCP_MAX_SENSE_LEN   252

Definition at line 870 of file ocs_fcp.h.

#define FCP_QUERY_ASYNCHRONOUS_EVENT   BIT(3)

Definition at line 864 of file ocs_fcp.h.

#define FCP_QUERY_TASK_SET   BIT(0)

Definition at line 861 of file ocs_fcp.h.

#define FCP_RESID_OVER   BIT(2)

Definition at line 892 of file ocs_fcp.h.

#define FCP_RESID_UNDER   BIT(3)

Definition at line 893 of file ocs_fcp.h.

#define FCP_RSP_LEN_VALID   BIT(0)

Flag field defines:

Definition at line 890 of file ocs_fcp.h.

#define FCP_SNS_LEN_VALID   BIT(1)

Definition at line 891 of file ocs_fcp.h.

#define FCP_TARGET_RESET   BIT(5)

Definition at line 866 of file ocs_fcp.h.

#define FCP_TASK_ATTR_ACA   0x4

Definition at line 858 of file ocs_fcp.h.

#define FCP_TASK_ATTR_HEAD_OF_QUEUE   0x1

Definition at line 856 of file ocs_fcp.h.

#define FCP_TASK_ATTR_ORDERED   0x2

Definition at line 857 of file ocs_fcp.h.

#define FCP_TASK_ATTR_SIMPLE   0x0

Definition at line 855 of file ocs_fcp.h.

#define FCP_TASK_ATTR_UNTAGGED   0x5

Definition at line 859 of file ocs_fcp.h.

#define FCP_TMF_COMPLETE   0x00

Status values:

Definition at line 900 of file ocs_fcp.h.

#define FCP_TMF_FAILED   0x05

Definition at line 905 of file ocs_fcp.h.

#define FCP_TMF_INCORRECT_LUN   0x09

Definition at line 907 of file ocs_fcp.h.

#define FCP_TMF_REJECTED   0x04

Definition at line 904 of file ocs_fcp.h.

#define FCP_TMF_SUCCEEDED   0x08

Definition at line 906 of file ocs_fcp.h.

#define MAX_ACC_REJECT_PAYLOAD   (sizeof(fc_ls_rjt_payload_t) > sizeof(fc_acc_payload_t) ? sizeof(fc_ls_rjt_payload_t) : sizeof(fc_acc_payload_t))

Definition at line 922 of file ocs_fcp.h.

#define OCS_FC_PLOGI_VENDOR_VERSION_EMLX_ID   0x454d4c58 /* EMLX */

Definition at line 318 of file ocs_fcp.h.

Type Details

Definition at line 335 of file ocs_fcp.h.

Function Details

static uint32_t fc_be24toh ( uint32_t  x)
inlinestatic

Definition at line 143 of file ocs_fcp.h.

static uint32_t fc_htobe24 ( uint32_t  x)
inlinestatic

Definition at line 147 of file ocs_fcp.h.

static void fcct_build_req_header ( fcct_iu_header_t *  hdr,
uint16_t  cmd,
uint8_t  type,
uint8_t  gs_subtype,
uint16_t  max_size 
)
inlinestatic

Definition at line 597 of file ocs_fcp.h.

static void fcct_loopback_build_req_header ( fcct_iu_header_t *  hdr,
uint16_t  cmd,
uint16_t  max_size 
)
inlinestatic

Definition at line 615 of file ocs_fcp.h.