1#ifndef ISCSI_TARGET_STAT_H 2#define ISCSI_TARGET_STAT_H 3 4/* 5 * For struct iscsi_tiqn->tiqn_wwn default groups 6 */ 7extern struct config_item_type iscsi_stat_instance_cit; 8extern struct config_item_type iscsi_stat_sess_err_cit; 9extern struct config_item_type iscsi_stat_tgt_attr_cit; 10extern struct config_item_type iscsi_stat_login_cit; 11extern struct config_item_type iscsi_stat_logout_cit; 12 13/* 14 * For struct iscsi_session->se_sess default groups 15 */ 16extern struct config_item_type iscsi_stat_sess_cit; 17 18/* iSCSI session error types */ 19#define ISCSI_SESS_ERR_UNKNOWN 0 20#define ISCSI_SESS_ERR_DIGEST 1 21#define ISCSI_SESS_ERR_CXN_TIMEOUT 2 22#define ISCSI_SESS_ERR_PDU_FORMAT 3 23 24/* iSCSI session error stats */ 25struct iscsi_sess_err_stats { 26 spinlock_t lock; 27 u32 digest_errors; 28 u32 cxn_timeout_errors; 29 u32 pdu_format_errors; 30 u32 last_sess_failure_type; 31 char last_sess_fail_rem_name[224]; 32} ____cacheline_aligned; 33 34/* iSCSI login failure types (sub oids) */ 35#define ISCSI_LOGIN_FAIL_OTHER 2 36#define ISCSI_LOGIN_FAIL_REDIRECT 3 37#define ISCSI_LOGIN_FAIL_AUTHORIZE 4 38#define ISCSI_LOGIN_FAIL_AUTHENTICATE 5 39#define ISCSI_LOGIN_FAIL_NEGOTIATE 6 40 41/* iSCSI login stats */ 42struct iscsi_login_stats { 43 spinlock_t lock; 44 u32 accepts; 45 u32 other_fails; 46 u32 redirects; 47 u32 authorize_fails; 48 u32 authenticate_fails; 49 u32 negotiate_fails; /* used for notifications */ 50 u64 last_fail_time; /* time stamp (jiffies) */ 51 u32 last_fail_type; 52 int last_intr_fail_ip_family; 53 struct sockaddr_storage last_intr_fail_sockaddr; 54 char last_intr_fail_name[224]; 55} ____cacheline_aligned; 56 57/* iSCSI logout stats */ 58struct iscsi_logout_stats { 59 spinlock_t lock; 60 u32 normal_logouts; 61 u32 abnormal_logouts; 62} ____cacheline_aligned; 63 64#endif /*** ISCSI_TARGET_STAT_H ***/ 65