This case was approved at today's PSARC meeting. I expect it will be
integrated into Solaris in a week or two.

Adam

On Mon, Mar 05, 2007 at 03:23:32PM -0800, Adam Leventhal wrote:
> Below is a proposal for an 'iscsitgt' DTrace provider that will be integrated
> into the Solaris iSCSI target. I'll be submitting the PSARC case in about
> a week and welcome any feedback (and will potentially act on it until then).
> 
> Thanks.
> 
> Adam
> 
> ---8<---
> 
> The 'iscsitgt' provider is a USDT provider built into the iSCSI target
> daemon (iscsitgtd). As a USDT provider the name is concatenated with
> the process ID of the daemon (e.g. 'iscistgt123'). The iscsitgt provider
> defines the following probes:
> 
>         SCSI command/response
>             iscsitgt*:::scsi-command
>             iscsitgt*:::scsi-response
> 
>         Data out/in/request (rtt)
>             iscsitgt*:::data-send
>             iscsitgt*:::data-receive
>             iscsitgt*:::data-request
> 
>         Login and logout command/response
>             iscsitgt*:::login-command
>             iscsitgt*:::login-response
>             iscsitgt*:::logout-command
>             iscsitgt*:::logout-response
> 
>         NOP out/in (pings)
>             iscsitgt*:::nop-receive
>             iscsitgt*:::nop-send
> 
>         Text and task command/response
>             iscsitgt*:::task-command
>             iscsitgt*:::task-response
>             iscsitgt*:::text-command
>             iscsitgt*:::text-response
> 
>         Asynchronous message from target
>             iscsitgt*:::async-send
> 
> The first three arguments to these probes are all the same:
> 
>         args[0]         conninfo_t      local (target) socket info
>         args[1]         conninfo_t      remote (initiator) socket info
>         args[2]         iscsiinfo_t     common iSCSI properties
> 
> 
> typedef struct conninfo {
>         string ci_host;         /* host IP address as a string */
>         uint16_t ci_port;       /* port number */
>         uint16_t ci_protocol;   /* IP protocol (either 4 or 6) */
> } conninfo_t;
> 
> 
> typedef struct iscsiinfo {
>         string ii_initiator;            /* initiator IQN */
>         string ii_target;               /* target IQN */
>         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 */
> } iscsiinfo_t;
> 
> If the initiator or target IQNs are invalid (e.g. in login-command),
> they will be the empy string. If tag fields (ii_itt and ii_ttt) are
> invalid, they are set to 0xffffffff (the tag reserved by the iSCSI
> protocol). If the sequence numbers are invalid, they are set to 0.
> 
> 
> The only probe with an additional argument is the iscsitgt*:::scsi-command
> probes:
> 
>         args[3]         uint32_t        SCSI opcode
> 
> This can be used to determine the exact SCSI operation.
> 
> 
> Here's the DTrace stability table for these probes:
> 
>               |  Name            Data            Class
>  -------------+-------------------------------------------
>  Provider     |  Evolving        Evolving        ISA
>  Module       |  Private         Private         Unknown
>  Function     |  Private         Private         Unknown
>  Name         |  Evolving        Evolving        ISA
>  Arguments    |  Unstable        Unstable        ISA
> 
> -- 
> Adam Leventhal, Solaris Kernel Development       http://blogs.sun.com/ahl
> _______________________________________________
> dtrace-discuss mailing list
> [EMAIL PROTECTED]

-- 
Adam Leventhal, Solaris Kernel Development       http://blogs.sun.com/ahl
_______________________________________________
storage-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/storage-discuss

Reply via email to