I would like to request approval of the the DTrace proposal for the COMSTAR
iSCSI target port provider. I have updated the specification of the
iscsi provider at http://wikis.sun.com/display/DTrace/iscsi+Provider. Your
feedback is appreciated.
thanks
Priya
COMSTAR DTrace Probes/Providers for iSCSI Target
Version 0.8, 04-30-09
This document describes the Dtrace probes definition for the iSCSI target port
provider. The iSCSI target port provider provides probes for tracing iSCSI
target activity. It provides all the probes that are provided by the USTD iscsi
provider, so that any DTrace script written for the iscsi provider will work
with the iscsi target port provider as well.
Probes
---------------------------------------------------------------------------
SCSI Event Probes Arguments
---------------------------------------------------------------------------
SCSI command scsi-command args[0] conninfo_t
args[1] iscsiinfo_t
args[2] scsicmd_t
---------------------------------------------------------------------------
SCSI response scsi-response args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Data out data-send args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Data in data-receive args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Data request(rtt) data-request args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Login command login-command args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Login response login-response args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Logout command logout-command args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Logout response logout-response args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Buffer dispatch xfer-start args[0] conninfo_t
args[1] iscsiinfo_t
args[2] xferinfo_t
---------------------------------------------------------------------------
Buffer Completion xfer-done args[0] conninfo_t
args[1] iscsiinfo_t
args[2] xferinfo_t
---------------------------------------------------------------------------
NOP in nop-receive args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
NOP out nop-send args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Task command task-command args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Task response task-response args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Text command text-command args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Text response text-response args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Asynchronous message from target async-send args[0] conninfo_t
args[1] iscsiinfo_t
---------------------------------------------------------------------------
Argument Types
Connection Information: conninfo_t
typedef struct conninfo {
string ci_local; /* local host IP address and port */
string ci_remote; /* remote host IP address and port */
string ci_protocol; /* protocol ("ipv4", "ipv6") */
} conninfo_t;
Common iSCSI propertues: iscsiinfo_t
typedef struct iscsiinfo {
string ii_target; /* target iqn */
string ii_initiator; /* initiator iqn */
string ii_isid; /* initiator session identifier */
string ii_tsih; /* target session identifying handle */
string ii_transport; /* transport type ("iser-ib", "sockets") */
uint64_t ii_lun; /* target logical unit number */
uint32_t ii_itt; /* initiator task tag */
uint32_t ii_ttt; /* target transfer tag */
uint32_t ii_cmdsn; /* command sequence number */
uint32_t ii_statsn; /* status sequence number */
uint32_t ii_datasn; /* data sequence number */
uint32_t ii_datalen; /* length of data payload */
uint32_t ii_flags; /* probe-specific flags */
} iscsiinfo_t;
SCSI opcode: scsicmd_t
typedef struct scsicmd {
uint64_t ic_len; /* CDB length */
uint8_t *ic_cdb; /* CDB data */
} scsicmd_t;
Transfer details for a single buffer: xferinfo_t.
typedef struct xferinfo {
uintptr_t xfer_laddr; /* local buffer address */
uint32_t xfer_loffset; /* offset within the local buffer */
uint32_t xfer_lkey; /* access control to local memory */
uintptr_t xfer_raddr; /* remote virtual address */
uint32_t xfer_roffset; /* offset from the remote address */
uint32_t xfer_rkey; /* access control to remote virtual address */
uint32_t xfer_len; /* transfer length */
uint32_t xfer_type; /* Read or Write */
} xferinfo_t;
_______________________________________________
dtrace-discuss mailing list
[email protected]