/* *Ifarequesttothefwisrejected,theoriginalrequestheader *willbereturnedwiththestatussettooneofthefollowing:
*/
SNIC_STAT_INVALID_HDR, /* header contains invalid data */
SNIC_STAT_OUT_OF_RES, /* out of resources to complete request */
SNIC_STAT_INVALID_PARM, /* some parameter in request is not valid */
SNIC_STAT_REQ_NOT_SUP, /* req type is not supported */
SNIC_STAT_IO_NOT_FOUND, /* requested IO was not found */
/* *Oncearequestisprocessed,thefwwillusuallyreturn *acmplmessagetype.Incaseswhereerrorsoccurred, *theheaderstatuswouldbefilledinwithoneofthefollowing:
*/
SNIC_STAT_ABORTED, /* req was aborted */
SNIC_STAT_TIMEOUT, /* req was timed out */
SNIC_STAT_SGL_INVALID, /* req was aborted due to sgl error */
SNIC_STAT_DATA_CNT_MISMATCH, /*recv/sent more/less data than expec */
SNIC_STAT_FW_ERR, /* req was terminated due to fw error */
SNIC_STAT_ITMF_REJECT, /* itmf req was rejected by target */
SNIC_STAT_ITMF_FAIL, /* itmf req was failed */
SNIC_STAT_ITMF_INCORRECT_LUN, /* itmf req has incorrect LUN id*/
SNIC_STAT_CMND_REJECT, /* req was invalid and rejected */
SNIC_STAT_DEV_OFFLINE, /* req sent to offline device */
SNIC_STAT_NO_BOOTLUN,
SNIC_STAT_SCSI_ERR, /* SCSI error returned by Target. */
SNIC_STAT_NOT_READY, /* sNIC Subsystem is not ready */
SNIC_STAT_FATAL_ERROR, /* sNIC is in unrecoverable state */
}; /* end of enum snic_io_status */
/* *snic_io_hdr:host<-->firmware * *foranyothermessagethatwillbequeuedtofirmwareshould *havethefollowingrequestheader
*/ struct snic_io_hdr {
__le32 hid;
__le32 cmnd_id; /* tag here */
ulong init_ctx; /* initiator context */
u8 type; /* request/response type */
u8 status; /* header status entry */
u8 protocol; /* Protocol specific, may needed for RoCE*/
u8 flags;
__le16 sg_cnt;
u16 resvd;
};
/* *snic_host_info:host->firmware * *Usedforsendinghostinformationtofirmware,andrequestfwversion
*/ struct snic_exch_ver_req {
__le32 drvr_ver; /* for debugging, when fw dump captured */
__le32 os_type; /* for OS specific features */
};
#define SNIC_ICMND_PRI_SHIFT 5/* prio val starts at bit 5 */
/* *snic_icmnd:host->firmwarerequest * *usedforsendingoutaninitiatorSCSI16/32-bytecommand
*/ struct snic_icmnd {
__le16 sg_cnt; /* Number of SG Elements */
__le16 flags; /* flags */
__le32 sense_len; /* Sense buffer length */
__le64 tgt_id; /* Destination Target ID */
__le64 lun_id; /* Destination LUN ID */
u8 cdb_len;
u8 _resvd;
__le16 time_out; /* ms time for Res allocations fw to handle io*/
__le32 data_len; /* Total number of bytes to be transferred */
u8 cdb[SNIC_CDB_LEN];
__le64 sg_addr; /* Points to SG List */
__le64 sense_addr; /* Sense buffer address */
};
/* Response flags */ /* Bit 0: Under run *Bit1:OverRun *Bit2-7:Reserved
*/ #define SNIC_ICMND_CMPL_UNDR_RUN 0x01 /* resid under and valid */ #define SNIC_ICMND_CMPL_OVER_RUN 0x02 /* resid over and valid */
/* *snic_icmnd_cmpl:firmware->hostresponse * *Usedforsendingthehostaresponsetoanicmnd(initiatorcommand)
*/ struct snic_icmnd_cmpl {
u8 scsi_status; /* value as per SAM */
u8 flags;
__le16 sense_len; /* Sense Length */
__le32 resid; /* Residue : # bytes under or over run */
};
/* *snic_itmf:host->firmwarerequest * *usedforrequestingthefirmwaretoabortarequestand/orsendout *ataskmanagementfunction * *thereq_idfieldisvalidincaseofaborttaskandcleartask
*/ struct snic_itmf {
u8 tm_type; /* SCSI Task Management request */
u8 resvd;
__le16 flags; /* flags */
__le32 req_id; /* Command id of snic req to be aborted */
__le64 tgt_id; /* Target ID */
__le64 lun_id; /* Destination LUN ID */
__le16 timeout; /* in sec */
};
/* Make sure color bit is read from desc *before* other fields *arereadfromdesc.Hardwareguaranteescolorbitislast *bit(byte)written.Addingthermb()preventsthecompiler *and/orCPUfromreorderingthereadswhichwouldpotentially *resultinreadingstalevalues.
*/
rmb();
} #endif/* end of __SNIC_FWINT_H */
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-09-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.