Nicholas Bellinger | e48354c | 2011-07-23 06:43:04 +0000 | [diff] [blame] | 1 | #ifndef ISCSI_TARGET_STAT_H |
| 2 | #define ISCSI_TARGET_STAT_H |
| 3 | |
| 4 | /* |
| 5 | * For struct iscsi_tiqn->tiqn_wwn default groups |
| 6 | */ |
| 7 | extern struct config_item_type iscsi_stat_instance_cit; |
| 8 | extern struct config_item_type iscsi_stat_sess_err_cit; |
| 9 | extern struct config_item_type iscsi_stat_tgt_attr_cit; |
| 10 | extern struct config_item_type iscsi_stat_login_cit; |
| 11 | extern struct config_item_type iscsi_stat_logout_cit; |
| 12 | |
| 13 | /* |
| 14 | * For struct iscsi_session->se_sess default groups |
| 15 | */ |
| 16 | extern 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 */ |
| 25 | struct 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 */ |
| 42 | struct 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 | unsigned char last_intr_fail_ip_addr[IPV6_ADDRESS_SPACE]; |
| 54 | char last_intr_fail_name[224]; |
| 55 | } ____cacheline_aligned; |
| 56 | |
| 57 | /* iSCSI logout stats */ |
| 58 | struct 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 ***/ |