xref: /titanic_51/usr/src/lib/libdtrace/common/iscsit.d (revision a668b114487acbb725f522170849c39f8e844673)
1*a668b114SPriya Krishnan /*
2*a668b114SPriya Krishnan  * CDDL HEADER START
3*a668b114SPriya Krishnan  *
4*a668b114SPriya Krishnan  * The contents of this file are subject to the terms of the
5*a668b114SPriya Krishnan  * Common Development and Distribution License (the "License").
6*a668b114SPriya Krishnan  * You may not use this file except in compliance with the License.
7*a668b114SPriya Krishnan  *
8*a668b114SPriya Krishnan  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*a668b114SPriya Krishnan  * or http://www.opensolaris.org/os/licensing.
10*a668b114SPriya Krishnan  * See the License for the specific language governing permissions
11*a668b114SPriya Krishnan  * and limitations under the License.
12*a668b114SPriya Krishnan  *
13*a668b114SPriya Krishnan  * When distributing Covered Code, include this CDDL HEADER in each
14*a668b114SPriya Krishnan  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*a668b114SPriya Krishnan  * If applicable, add the following below this CDDL HEADER, with the
16*a668b114SPriya Krishnan  * fields enclosed by brackets "[]" replaced with your own identifying
17*a668b114SPriya Krishnan  * information: Portions Copyright [yyyy] [name of copyright owner]
18*a668b114SPriya Krishnan  *
19*a668b114SPriya Krishnan  * CDDL HEADER END
20*a668b114SPriya Krishnan  */
21*a668b114SPriya Krishnan 
22*a668b114SPriya Krishnan /*
23*a668b114SPriya Krishnan  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
24*a668b114SPriya Krishnan  * Use is subject to license terms.
25*a668b114SPriya Krishnan  */
26*a668b114SPriya Krishnan 
27*a668b114SPriya Krishnan #pragma D depends_on library ip.d
28*a668b114SPriya Krishnan #pragma D depends_on library net.d /* conninfo_t */
29*a668b114SPriya Krishnan #pragma D depends_on library scsi.d /* scsicmd_t */
30*a668b114SPriya Krishnan #pragma D depends_on module genunix
31*a668b114SPriya Krishnan #pragma D depends_on module iscsit
32*a668b114SPriya Krishnan #pragma D depends_on module idm
33*a668b114SPriya Krishnan #pragma D depends_on module iser
34*a668b114SPriya Krishnan 
35*a668b114SPriya Krishnan 
36*a668b114SPriya Krishnan #pragma D binding "1.5" translator
37*a668b114SPriya Krishnan translator conninfo_t < idm_conn_t *P > {
38*a668b114SPriya Krishnan 	ci_local = (P->ic_laddr.ss_family == AF_INET) ?
39*a668b114SPriya Krishnan 	    inet_ntoa((ipaddr_t *)
40*a668b114SPriya Krishnan 	    &((struct sockaddr_in *)&P->ic_laddr)->sin_addr) :
41*a668b114SPriya Krishnan 	    inet_ntoa6(&((struct sockaddr_in6 *)&P->ic_laddr)->sin6_addr);
42*a668b114SPriya Krishnan 
43*a668b114SPriya Krishnan 	ci_remote = (P->ic_raddr.ss_family == AF_INET) ?
44*a668b114SPriya Krishnan 	    inet_ntoa((ipaddr_t *)
45*a668b114SPriya Krishnan 	    &((struct sockaddr_in *)&P->ic_raddr)->sin_addr) :
46*a668b114SPriya Krishnan 	    inet_ntoa6(&((struct sockaddr_in6 *)&P->ic_raddr)->sin6_addr);
47*a668b114SPriya Krishnan 
48*a668b114SPriya Krishnan 	ci_protocol = (P->ic_laddr.ss_family == AF_INET) ? "ipv4" : "ipv6";
49*a668b114SPriya Krishnan };
50*a668b114SPriya Krishnan 
51*a668b114SPriya Krishnan #pragma D binding "1.5" translator
52*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_async_evt_hdr_t *P > {
53*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
54*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
55*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
56*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
57*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
58*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
59*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
60*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
61*a668b114SPriya Krishnan 	ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) +
62*a668b114SPriya Krishnan             ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) +
63*a668b114SPriya Krishnan             ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) +
64*a668b114SPriya Krishnan             ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) +
65*a668b114SPriya Krishnan             ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) +
66*a668b114SPriya Krishnan             ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) +
67*a668b114SPriya Krishnan             ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) +
68*a668b114SPriya Krishnan             ((uint64_t)P->lun[7] << (64 - 7*8 - 8)));
69*a668b114SPriya Krishnan 	ii_itt = 0;
70*a668b114SPriya Krishnan 	ii_ttt = 0;
71*a668b114SPriya Krishnan 	ii_cmdsn = 0;
72*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->statsn);
73*a668b114SPriya Krishnan 	ii_datasn = 0;
74*a668b114SPriya Krishnan 	ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2];
75*a668b114SPriya Krishnan 	ii_flags = P->flags;
76*a668b114SPriya Krishnan };
77*a668b114SPriya Krishnan 
78*a668b114SPriya Krishnan #pragma D binding "1.5" translator
79*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_login_hdr_t *P > {
80*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
81*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
82*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
83*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
84*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
85*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
86*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
87*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
88*a668b114SPriya Krishnan 	ii_lun = 0; /* NA */
89*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
90*a668b114SPriya Krishnan 	ii_ttt = 0xffffffff;
91*a668b114SPriya Krishnan 	ii_cmdsn = ntohl(P->cmdsn);
92*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->expstatsn);
93*a668b114SPriya Krishnan 	ii_datasn = 0;
94*a668b114SPriya Krishnan 	ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2];
95*a668b114SPriya Krishnan 	ii_flags = P->flags;
96*a668b114SPriya Krishnan };
97*a668b114SPriya Krishnan 
98*a668b114SPriya Krishnan #pragma D binding "1.5" translator
99*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_login_rsp_hdr_t *P > {
100*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
101*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
102*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
103*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
104*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
105*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
106*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
107*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
108*a668b114SPriya Krishnan 	ii_lun = 0; /* NA */
109*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
110*a668b114SPriya Krishnan 	ii_ttt = 0xffffffff;
111*a668b114SPriya Krishnan 	ii_cmdsn = ntohl(P->expcmdsn);
112*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->statsn);
113*a668b114SPriya Krishnan 	ii_datasn = 0;
114*a668b114SPriya Krishnan 	ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2];
115*a668b114SPriya Krishnan 	ii_flags = P->flags;
116*a668b114SPriya Krishnan };
117*a668b114SPriya Krishnan 
118*a668b114SPriya Krishnan #pragma D binding "1.5" translator
119*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_logout_hdr_t *P > {
120*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
121*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
122*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
123*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
124*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
125*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
126*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
127*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
128*a668b114SPriya Krishnan 	ii_lun = 0; /* NA */
129*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
130*a668b114SPriya Krishnan 	ii_ttt = 0xffffffff;
131*a668b114SPriya Krishnan 	ii_cmdsn = ntohl(P->cmdsn);
132*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->expstatsn);
133*a668b114SPriya Krishnan 	ii_datasn = 0;
134*a668b114SPriya Krishnan 	ii_datalen = 0;
135*a668b114SPriya Krishnan 	ii_flags = P->flags;
136*a668b114SPriya Krishnan };
137*a668b114SPriya Krishnan 
138*a668b114SPriya Krishnan #pragma D binding "1.5" translator
139*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_logout_rsp_hdr_t *P > {
140*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
141*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
142*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
143*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
144*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
145*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
146*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
147*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
148*a668b114SPriya Krishnan 	ii_lun = 0; /* NA */
149*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
150*a668b114SPriya Krishnan 	ii_ttt = 0xffffffff;
151*a668b114SPriya Krishnan 	ii_cmdsn = 0;
152*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->statsn);
153*a668b114SPriya Krishnan 	ii_datasn = 0;
154*a668b114SPriya Krishnan 	ii_datalen = 0;
155*a668b114SPriya Krishnan 	ii_flags = P->flags;
156*a668b114SPriya Krishnan };
157*a668b114SPriya Krishnan 
158*a668b114SPriya Krishnan #pragma D binding "1.5" translator
159*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_rtt_hdr_t *P > {
160*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
161*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
162*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
163*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
164*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
165*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
166*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
167*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
168*a668b114SPriya Krishnan 	ii_lun = 0; /* NA */
169*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
170*a668b114SPriya Krishnan 	ii_ttt = ntohl(P->ttt);
171*a668b114SPriya Krishnan 	ii_cmdsn = ntohl(P->expcmdsn);
172*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->statsn);
173*a668b114SPriya Krishnan 	ii_datasn = ntohl(P->rttsn);
174*a668b114SPriya Krishnan 	ii_datalen = 0;
175*a668b114SPriya Krishnan 	ii_flags = P->flags;
176*a668b114SPriya Krishnan };
177*a668b114SPriya Krishnan 
178*a668b114SPriya Krishnan #pragma D binding "1.5" translator
179*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_data_rsp_hdr_t *P > {
180*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
181*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
182*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
183*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
184*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
185*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
186*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
187*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
188*a668b114SPriya Krishnan 	ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) +
189*a668b114SPriya Krishnan 	    ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) +
190*a668b114SPriya Krishnan             ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) +
191*a668b114SPriya Krishnan             ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) +
192*a668b114SPriya Krishnan             ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) +
193*a668b114SPriya Krishnan             ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) +
194*a668b114SPriya Krishnan             ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) +
195*a668b114SPriya Krishnan             ((uint64_t)P->lun[7] << (64 - 7*8 - 8)));
196*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
197*a668b114SPriya Krishnan 	ii_ttt = ntohl(P->ttt);
198*a668b114SPriya Krishnan 	ii_cmdsn = ntohl(P->expcmdsn);
199*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->statsn);
200*a668b114SPriya Krishnan 	ii_datasn = ntohl(P->datasn);
201*a668b114SPriya Krishnan 	ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2];
202*a668b114SPriya Krishnan 	ii_flags = P->flags;
203*a668b114SPriya Krishnan };
204*a668b114SPriya Krishnan 
205*a668b114SPriya Krishnan #pragma D binding "1.5" translator
206*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_data_hdr_t *P > {
207*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
208*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
209*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
210*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
211*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
212*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
213*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
214*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
215*a668b114SPriya Krishnan 	ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) +
216*a668b114SPriya Krishnan             ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) +
217*a668b114SPriya Krishnan             ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) +
218*a668b114SPriya Krishnan             ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) +
219*a668b114SPriya Krishnan             ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) +
220*a668b114SPriya Krishnan             ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) +
221*a668b114SPriya Krishnan             ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) +
222*a668b114SPriya Krishnan             ((uint64_t)P->lun[7] << (64 - 7*8 - 8)));
223*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
224*a668b114SPriya Krishnan 	ii_ttt = ntohl(P->ttt);
225*a668b114SPriya Krishnan 	ii_cmdsn = 0;
226*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->expstatsn);
227*a668b114SPriya Krishnan 	ii_datasn = ntohl(P->datasn);
228*a668b114SPriya Krishnan 	ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2];
229*a668b114SPriya Krishnan 	ii_flags = P->flags;
230*a668b114SPriya Krishnan };
231*a668b114SPriya Krishnan 
232*a668b114SPriya Krishnan #pragma D binding "1.5" translator
233*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_nop_in_hdr_t *P > {
234*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
235*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
236*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
237*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
238*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
239*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
240*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
241*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
242*a668b114SPriya Krishnan 	ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) +
243*a668b114SPriya Krishnan             ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) +
244*a668b114SPriya Krishnan             ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) +
245*a668b114SPriya Krishnan             ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) +
246*a668b114SPriya Krishnan             ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) +
247*a668b114SPriya Krishnan             ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) +
248*a668b114SPriya Krishnan             ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) +
249*a668b114SPriya Krishnan             ((uint64_t)P->lun[7] << (64 - 7*8 - 8)));
250*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
251*a668b114SPriya Krishnan 	ii_ttt = ntohl(P->ttt);
252*a668b114SPriya Krishnan 	ii_cmdsn = ntohl(P->expcmdsn);
253*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->statsn);
254*a668b114SPriya Krishnan 	ii_datasn = 0;
255*a668b114SPriya Krishnan 	ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2];
256*a668b114SPriya Krishnan 	ii_flags = P->flags;
257*a668b114SPriya Krishnan };
258*a668b114SPriya Krishnan 
259*a668b114SPriya Krishnan #pragma D binding "1.5" translator
260*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_nop_out_hdr_t *P > {
261*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
262*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
263*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
264*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
265*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
266*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
267*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
268*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
269*a668b114SPriya Krishnan 	ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) +
270*a668b114SPriya Krishnan             ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) +
271*a668b114SPriya Krishnan             ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) +
272*a668b114SPriya Krishnan             ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) +
273*a668b114SPriya Krishnan             ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) +
274*a668b114SPriya Krishnan             ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) +
275*a668b114SPriya Krishnan             ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) +
276*a668b114SPriya Krishnan             ((uint64_t)P->lun[7] << (64 - 7*8 - 8)));
277*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
278*a668b114SPriya Krishnan 	ii_ttt = ntohl(P->ttt);
279*a668b114SPriya Krishnan 	ii_cmdsn = ntohl(P->cmdsn);
280*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->expstatsn);
281*a668b114SPriya Krishnan 	ii_datasn = 0;
282*a668b114SPriya Krishnan 	ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2];
283*a668b114SPriya Krishnan 	ii_flags = P->flags;
284*a668b114SPriya Krishnan };
285*a668b114SPriya Krishnan 
286*a668b114SPriya Krishnan #pragma D binding "1.5" translator
287*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_scsi_cmd_hdr_t *P > {
288*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
289*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
290*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
291*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
292*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
293*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
294*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
295*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
296*a668b114SPriya Krishnan 	ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) +
297*a668b114SPriya Krishnan             ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) +
298*a668b114SPriya Krishnan             ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) +
299*a668b114SPriya Krishnan             ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) +
300*a668b114SPriya Krishnan             ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) +
301*a668b114SPriya Krishnan             ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) +
302*a668b114SPriya Krishnan             ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) +
303*a668b114SPriya Krishnan             ((uint64_t)P->lun[7] << (64 - 7*8 - 8)));
304*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
305*a668b114SPriya Krishnan 	ii_ttt = 0xffffffff;
306*a668b114SPriya Krishnan 	ii_cmdsn = ntohl(P->cmdsn);
307*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->expstatsn);
308*a668b114SPriya Krishnan 	ii_datasn = 0;
309*a668b114SPriya Krishnan 	ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2];
310*a668b114SPriya Krishnan 	ii_flags = P->flags;
311*a668b114SPriya Krishnan };
312*a668b114SPriya Krishnan 
313*a668b114SPriya Krishnan #pragma D binding "1.5" translator
314*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_scsi_rsp_hdr_t *P > {
315*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
316*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
317*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
318*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
319*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
320*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
321*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
322*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
323*a668b114SPriya Krishnan 	ii_lun = 0; /* NA */
324*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
325*a668b114SPriya Krishnan 	ii_ttt = 0xffffffff;
326*a668b114SPriya Krishnan 	ii_cmdsn = ntohl(P->expcmdsn);
327*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->statsn);
328*a668b114SPriya Krishnan 	ii_datasn = ntohl(P->expdatasn);
329*a668b114SPriya Krishnan 	ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2];
330*a668b114SPriya Krishnan 	ii_flags = P->flags;
331*a668b114SPriya Krishnan };
332*a668b114SPriya Krishnan 
333*a668b114SPriya Krishnan #pragma D binding "1.5" translator
334*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_scsi_task_mgt_hdr_t *P > {
335*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
336*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
337*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
338*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
339*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
340*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
341*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
342*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
343*a668b114SPriya Krishnan 	ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) +
344*a668b114SPriya Krishnan             ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) +
345*a668b114SPriya Krishnan             ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) +
346*a668b114SPriya Krishnan             ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) +
347*a668b114SPriya Krishnan             ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) +
348*a668b114SPriya Krishnan             ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) +
349*a668b114SPriya Krishnan             ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) +
350*a668b114SPriya Krishnan             ((uint64_t)P->lun[7] << (64 - 7*8 - 8)));
351*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
352*a668b114SPriya Krishnan 	ii_ttt = ntohl(P->rtt);
353*a668b114SPriya Krishnan 	ii_cmdsn = ntohl(P->cmdsn);
354*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->expstatsn);
355*a668b114SPriya Krishnan 	ii_datasn = 0;
356*a668b114SPriya Krishnan 	ii_datalen = 0;
357*a668b114SPriya Krishnan 	ii_flags = 0;
358*a668b114SPriya Krishnan };
359*a668b114SPriya Krishnan 
360*a668b114SPriya Krishnan #pragma D binding "1.5" translator
361*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_scsi_task_mgt_rsp_hdr_t *P > {
362*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
363*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
364*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
365*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
366*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
367*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
368*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
369*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
370*a668b114SPriya Krishnan 	ii_lun = 0; /* NA */
371*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
372*a668b114SPriya Krishnan 	ii_ttt = ntohl(P->rtt);
373*a668b114SPriya Krishnan 	ii_cmdsn = ntohl(P->expcmdsn);
374*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->statsn);
375*a668b114SPriya Krishnan 	ii_datasn = 0;
376*a668b114SPriya Krishnan 	ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2];
377*a668b114SPriya Krishnan 	ii_flags = P->flags;
378*a668b114SPriya Krishnan };
379*a668b114SPriya Krishnan 
380*a668b114SPriya Krishnan #pragma D binding "1.5" translator
381*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_text_hdr_t *P > {
382*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
383*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
384*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
385*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
386*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
387*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
388*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
389*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
390*a668b114SPriya Krishnan 	ii_lun = 0; /* NA */
391*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
392*a668b114SPriya Krishnan 	ii_ttt = ntohl(P->ttt);
393*a668b114SPriya Krishnan 	ii_cmdsn = ntohl(P->cmdsn);
394*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->expstatsn);
395*a668b114SPriya Krishnan 	ii_datasn = 0;
396*a668b114SPriya Krishnan 	ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2];
397*a668b114SPriya Krishnan 	ii_flags = P->flags;
398*a668b114SPriya Krishnan };
399*a668b114SPriya Krishnan 
400*a668b114SPriya Krishnan #pragma D binding "1.5" translator
401*a668b114SPriya Krishnan translator iscsiinfo_t < iscsi_text_rsp_hdr_t *P > {
402*a668b114SPriya Krishnan 	ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name;
403*a668b114SPriya Krishnan 	ii_target = ((idm_conn_t *)arg0)->ic_target_name;
404*a668b114SPriya Krishnan 	ii_isid = ((idm_conn_t *)arg0)->ic_isid;
405*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
406*a668b114SPriya Krishnan 	ii_transport = (((idm_conn_t *)arg0)->ic_transport_type ==
407*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
408*a668b114SPriya Krishnan 	    (((idm_conn_t *)arg0)->ic_transport_type ==
409*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
410*a668b114SPriya Krishnan 	ii_lun = 0; /* NA */
411*a668b114SPriya Krishnan 	ii_itt = ntohl(P->itt);
412*a668b114SPriya Krishnan 	ii_ttt = ntohl(P->ttt);
413*a668b114SPriya Krishnan 	ii_cmdsn = ntohl(P->expcmdsn);
414*a668b114SPriya Krishnan 	ii_statsn = ntohl(P->statsn);
415*a668b114SPriya Krishnan 	ii_datasn = 0;
416*a668b114SPriya Krishnan 	ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2];
417*a668b114SPriya Krishnan 	ii_flags = P->flags;
418*a668b114SPriya Krishnan };
419*a668b114SPriya Krishnan 
420*a668b114SPriya Krishnan #pragma D binding "1.5" translator
421*a668b114SPriya Krishnan translator iscsiinfo_t < idm_conn_t *P > {
422*a668b114SPriya Krishnan 	ii_initiator = P->ic_initiator_name;
423*a668b114SPriya Krishnan 	ii_target = P->ic_target_name;
424*a668b114SPriya Krishnan 	ii_isid = P->ic_isid;
425*a668b114SPriya Krishnan 	ii_tsih = ((idm_conn_t *)arg0)->ic_tsih;
426*a668b114SPriya Krishnan 	ii_transport = (P->ic_transport_type ==
427*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" :
428*a668b114SPriya Krishnan 	    (P->ic_transport_type ==
429*a668b114SPriya Krishnan 	    IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown";
430*a668b114SPriya Krishnan 	ii_lun = 0;
431*a668b114SPriya Krishnan 	ii_itt = 0;
432*a668b114SPriya Krishnan 	ii_ttt = 0;
433*a668b114SPriya Krishnan 	ii_cmdsn = 0;
434*a668b114SPriya Krishnan 	ii_statsn = 0;
435*a668b114SPriya Krishnan 	ii_datasn = 0;
436*a668b114SPriya Krishnan 	ii_datalen = 0;
437*a668b114SPriya Krishnan 	ii_flags = 0;
438*a668b114SPriya Krishnan };
439*a668b114SPriya Krishnan 
440*a668b114SPriya Krishnan #pragma D binding "1.5" translator
441*a668b114SPriya Krishnan translator xferinfo_t < uintptr_t P > {
442*a668b114SPriya Krishnan 	xfer_laddr = (arg1 == NULL) ? 0xffffffff : (uintptr_t)arg1;
443*a668b114SPriya Krishnan 	xfer_loffset = arg2;
444*a668b114SPriya Krishnan 	xfer_lkey = 0; /* not used */
445*a668b114SPriya Krishnan 	xfer_len = arg6;
446*a668b114SPriya Krishnan 	xfer_raddr = arg3;
447*a668b114SPriya Krishnan 	xfer_roffset = arg4;
448*a668b114SPriya Krishnan 	xfer_rkey = arg5;
449*a668b114SPriya Krishnan 	xfer_type = arg7;
450*a668b114SPriya Krishnan };
451*a668b114SPriya Krishnan 
452*a668b114SPriya Krishnan inline int IDM_TRANSPORT_TYPE_ISER = 0;
453*a668b114SPriya Krishnan #pragma D binding "1.5" IDM_TRANSPORT_TYPE_ISER
454*a668b114SPriya Krishnan inline int IDM_TRANSPORT_TYPE_SOCKETS = 1;
455*a668b114SPriya Krishnan #pragma D binding "1.5" IDM_TRANSPORT_TYPE_SOCKETS
456*a668b114SPriya Krishnan 
457