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