/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma D depends_on library ip.d #pragma D depends_on library net.d /* conninfo_t */ #pragma D depends_on library scsi.d /* scsicmd_t and iscsiinfo_t */ #pragma D depends_on module genunix #pragma D depends_on module iscsit #pragma D depends_on module idm #pragma D binding "1.5" translator translator conninfo_t < idm_conn_t *P > { ci_local = (P->ic_laddr.ss_family == AF_INET) ? inet_ntoa((ipaddr_t *) &((struct sockaddr_in *)&P->ic_laddr)->sin_addr) : inet_ntoa6(&((struct sockaddr_in6 *)&P->ic_laddr)->sin6_addr); ci_remote = (P->ic_raddr.ss_family == AF_INET) ? inet_ntoa((ipaddr_t *) &((struct sockaddr_in *)&P->ic_raddr)->sin_addr) : inet_ntoa6(&((struct sockaddr_in6 *)&P->ic_raddr)->sin6_addr); ci_protocol = (P->ic_laddr.ss_family == AF_INET) ? "ipv4" : "ipv6"; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_async_evt_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); ii_itt = 0; ii_ttt = 0; ii_cmdsn = 0; ii_statsn = ntohl(P->statsn); ii_datasn = 0; ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_login_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = 0; /* NA */ ii_itt = ntohl(P->itt); ii_ttt = 0xffffffff; ii_cmdsn = ntohl(P->cmdsn); ii_statsn = ntohl(P->expstatsn); ii_datasn = 0; ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_login_rsp_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = 0; /* NA */ ii_itt = ntohl(P->itt); ii_ttt = 0xffffffff; ii_cmdsn = ntohl(P->expcmdsn); ii_statsn = ntohl(P->statsn); ii_datasn = 0; ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_logout_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = 0; /* NA */ ii_itt = ntohl(P->itt); ii_ttt = 0xffffffff; ii_cmdsn = ntohl(P->cmdsn); ii_statsn = ntohl(P->expstatsn); ii_datasn = 0; ii_datalen = 0; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_logout_rsp_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = 0; /* NA */ ii_itt = ntohl(P->itt); ii_ttt = 0xffffffff; ii_cmdsn = 0; ii_statsn = ntohl(P->statsn); ii_datasn = 0; ii_datalen = 0; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_rtt_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = 0; /* NA */ ii_itt = ntohl(P->itt); ii_ttt = ntohl(P->ttt); ii_cmdsn = ntohl(P->expcmdsn); ii_statsn = ntohl(P->statsn); ii_datasn = ntohl(P->rttsn); ii_datalen = 0; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_data_rsp_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); ii_itt = ntohl(P->itt); ii_ttt = ntohl(P->ttt); ii_cmdsn = ntohl(P->expcmdsn); ii_statsn = ntohl(P->statsn); ii_datasn = ntohl(P->datasn); ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_data_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); ii_itt = ntohl(P->itt); ii_ttt = ntohl(P->ttt); ii_cmdsn = 0; ii_statsn = ntohl(P->expstatsn); ii_datasn = ntohl(P->datasn); ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_nop_in_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); ii_itt = ntohl(P->itt); ii_ttt = ntohl(P->ttt); ii_cmdsn = ntohl(P->expcmdsn); ii_statsn = ntohl(P->statsn); ii_datasn = 0; ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_nop_out_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); ii_itt = ntohl(P->itt); ii_ttt = ntohl(P->ttt); ii_cmdsn = ntohl(P->cmdsn); ii_statsn = ntohl(P->expstatsn); ii_datasn = 0; ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_scsi_cmd_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); ii_itt = ntohl(P->itt); ii_ttt = 0xffffffff; ii_cmdsn = ntohl(P->cmdsn); ii_statsn = ntohl(P->expstatsn); ii_datasn = 0; ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_scsi_rsp_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = 0; /* NA */ ii_itt = ntohl(P->itt); ii_ttt = 0xffffffff; ii_cmdsn = ntohl(P->expcmdsn); ii_statsn = ntohl(P->statsn); ii_datasn = ntohl(P->expdatasn); ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_scsi_task_mgt_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = (((uint64_t)P->lun[0] << (64 - 0*8 - 8)) + ((uint64_t)P->lun[1] << (64 - 1*8 - 8)) + ((uint64_t)P->lun[2] << (64 - 2*8 - 8)) + ((uint64_t)P->lun[3] << (64 - 3*8 - 8)) + ((uint64_t)P->lun[4] << (64 - 4*8 - 8)) + ((uint64_t)P->lun[5] << (64 - 5*8 - 8)) + ((uint64_t)P->lun[6] << (64 - 6*8 - 8)) + ((uint64_t)P->lun[7] << (64 - 7*8 - 8))); ii_itt = ntohl(P->itt); ii_ttt = ntohl(P->rtt); ii_cmdsn = ntohl(P->cmdsn); ii_statsn = ntohl(P->expstatsn); ii_datasn = 0; ii_datalen = 0; ii_flags = 0; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_scsi_task_mgt_rsp_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = 0; /* NA */ ii_itt = ntohl(P->itt); ii_ttt = ntohl(P->rtt); ii_cmdsn = ntohl(P->expcmdsn); ii_statsn = ntohl(P->statsn); ii_datasn = 0; ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_text_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = 0; /* NA */ ii_itt = ntohl(P->itt); ii_ttt = ntohl(P->ttt); ii_cmdsn = ntohl(P->cmdsn); ii_statsn = ntohl(P->expstatsn); ii_datasn = 0; ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < iscsi_text_rsp_hdr_t *P > { ii_initiator = ((idm_conn_t *)arg0)->ic_initiator_name; ii_target = ((idm_conn_t *)arg0)->ic_target_name; ii_isid = ((idm_conn_t *)arg0)->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (((idm_conn_t *)arg0)->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = 0; /* NA */ ii_itt = ntohl(P->itt); ii_ttt = ntohl(P->ttt); ii_cmdsn = ntohl(P->expcmdsn); ii_statsn = ntohl(P->statsn); ii_datasn = 0; ii_datalen = P->dlength[0] << 16 | P->dlength[1] << 8 | P->dlength[2]; ii_flags = P->flags; }; #pragma D binding "1.5" translator translator iscsiinfo_t < idm_conn_t *P > { ii_initiator = P->ic_initiator_name; ii_target = P->ic_target_name; ii_isid = P->ic_isid; ii_tsih = ((idm_conn_t *)arg0)->ic_tsih; ii_transport = (P->ic_transport_type == IDM_TRANSPORT_TYPE_ISER) ? "iser-ib" : (P->ic_transport_type == IDM_TRANSPORT_TYPE_SOCKETS) ? "sockets" : "Unknown"; ii_lun = 0; ii_itt = 0; ii_ttt = 0; ii_cmdsn = 0; ii_statsn = 0; ii_datasn = 0; ii_datalen = 0; ii_flags = 0; }; #pragma D binding "1.5" translator translator xferinfo_t < uintptr_t P > { xfer_laddr = (arg1 == NULL) ? 0xffffffff : (uintptr_t)arg1; xfer_loffset = arg2; xfer_lkey = 0; /* not used */ xfer_len = arg6; xfer_raddr = arg3; xfer_roffset = arg4; xfer_rkey = arg5; xfer_type = arg7; }; inline int IDM_TRANSPORT_TYPE_ISER = 0; #pragma D binding "1.5" IDM_TRANSPORT_TYPE_ISER inline int IDM_TRANSPORT_TYPE_SOCKETS = 1; #pragma D binding "1.5" IDM_TRANSPORT_TYPE_SOCKETS