70 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef ISCSI_TARGET_STAT_H3#define ISCSI_TARGET_STAT_H4 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 groups11 */12extern const struct config_item_type iscsi_stat_instance_cit;13extern const struct config_item_type iscsi_stat_sess_err_cit;14extern const struct config_item_type iscsi_stat_tgt_attr_cit;15extern const struct config_item_type iscsi_stat_login_cit;16extern const struct config_item_type iscsi_stat_logout_cit;17 18/*19 * For struct iscsi_session->se_sess default groups20 */21extern const struct config_item_type iscsi_stat_sess_cit;22 23/* iSCSI session error types */24#define ISCSI_SESS_ERR_UNKNOWN 025#define ISCSI_SESS_ERR_DIGEST 126#define ISCSI_SESS_ERR_CXN_TIMEOUT 227#define ISCSI_SESS_ERR_PDU_FORMAT 328 29/* iSCSI session error stats */30struct 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 241#define ISCSI_LOGIN_FAIL_REDIRECT 342#define ISCSI_LOGIN_FAIL_AUTHORIZE 443#define ISCSI_LOGIN_FAIL_AUTHENTICATE 544#define ISCSI_LOGIN_FAIL_NEGOTIATE 645 46/* iSCSI login stats */47struct 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 */63struct 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