iscsi_stats.c revision fcf3ce441efd61da9bb2884968af01cb7c1452cc
/*
* 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
* 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 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*
* iSCSI Software Initiator
*/
#include "iscsi.h" /* main header */
{"_name", KSTAT_DATA_STRING},
{"_alias", KSTAT_DATA_STRING},
{"_cntr_sess", KSTAT_DATA_ULONG}
};
{"_state", KSTAT_DATA_STRING},
{"_oid", KSTAT_DATA_ULONG},
{"_hba", KSTAT_DATA_STRING},
{"_cntr_conn", KSTAT_DATA_ULONG},
{"_cntr_reset", KSTAT_DATA_ULONG},
{"_cntr_pkt_pending", KSTAT_DATA_ULONG},
{"_cmd_sn", KSTAT_DATA_ULONG},
{"_cmd_sn_exp", KSTAT_DATA_ULONG},
{"_cmd_sn_max", KSTAT_DATA_ULONG},
{"_target_name", KSTAT_DATA_STRING},
{"_target_alias", KSTAT_DATA_STRING},
{"_tpgt", KSTAT_DATA_ULONG}
};
{"_state", KSTAT_DATA_STRING},
{"_cid", KSTAT_DATA_ULONG},
{"_oid", KSTAT_DATA_ULONG},
{"_session", KSTAT_DATA_STRING},
{"_err_header_digest", KSTAT_DATA_ULONG},
{"_err_data_digest", KSTAT_DATA_ULONG},
{"_err_connection_reset", KSTAT_DATA_ULONG},
{"_err_protocol_error", KSTAT_DATA_ULONG},
{"_cntr_tx_bytes", KSTAT_DATA_ULONGLONG},
{"_cntr_rx_bytes", KSTAT_DATA_ULONGLONG},
{"_cntr_qactive", KSTAT_DATA_ULONG},
{"_stat_sn_exp", KSTAT_DATA_ULONG},
{"_stat_sn_last", KSTAT_DATA_ULONG}
};
/*
* HBA
*/
/*
* iscsi_hba_kstat_init - This function registers with the kstat service.
*/
{
char ks_name[KSTAT_STRLEN];
int i;
/*
* The name of the KSTAT structure is built.
*/
return (TRUE);
}
return (TRUE);
}
for (i = 0; i < KN_HBA_IDX_MAX; i++) {
}
return (FALSE);
}
/*
* iscsi_hba_kstat_term - This function deregisters from the kstat service.
*/
{
return (FALSE);
}
/*
* iscsi_hba_kstat_update - This function update the kstat structure of the HBA.
*/
int
{
if (rw == KSTAT_READ) {
}
return (0);
}
/*
* Session
*/
/*
* iscsi_sess_kstat_init - This function registers with the kstat service.
*/
{
char ks_name[KSTAT_STRLEN];
int i;
/*
* The name of the KSTAT structure is built.
*/
return (TRUE);
}
return (TRUE);
}
for (i = 0; i < KN_SESS_IDX_MAX; i++) {
}
/* The static information is updated immediately */
/* The IO KSTAT structure is created */
return (TRUE);
}
return (TRUE);
}
return (FALSE);
}
/*
* iscsi_sess_kstat_term - This function deregisters with the kstat service.
*/
{
return (FALSE);
}
/*
* iscsi_sess_kstat_update - This function update the kstat
* structure of the HBA.
*/
int
{
char *ptr;
int len;
if (rw == KSTAT_READ) {
/* String indicating the state of the session */
}
/* Target name string */
} else {
}
(const char *)iss->target_name);
/* Target alias string */
} else {
}
(const char *)iss->target_alias);
}
return (0);
}
/*
* Connection
*/
/*
* iscsi_conn_kstat_init - This function registers with the kstat service.
*/
{
int i;
char ks_name[KSTAT_STRLEN];
/*
* The name of the KSTAT structure is built.
*/
return (TRUE);
}
return (TRUE);
}
for (i = 0; i < KN_CONN_IDX_MAX; i++) {
}
/* The static information is updated immediately */
return (FALSE);
}
/*
* iscsi_conn_kstat_term - This function deregisters with the kstat service.
*/
void
{
}
/*
* iscsi_conn_kstat_update - This function update the kstat
* structure of the HBA.
*/
int
{
char *ptr;
int len;
if (rw == KSTAT_READ) {
}
}
return (0);
}