blob: 8fc91976a0d9b45b2f1a63325e3b54ff11db7859 [file] [log] [blame]
/*
****************************************************************************
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
* above copyright notice and this permission notice appear in all copies.
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
****************************************************************************
*/
#include "nss_stats.h"
#include "nss_core.h"
#include "nss_strings.h"
#include "nss_dtls_cmn_strings.h"
/*
* nss_dtls_cmn_ctx_stats_str
* dtls common ctx statistics strings.
*/
struct nss_stats_info nss_dtls_cmn_ctx_stats_str[NSS_DTLS_CMN_CTX_STATS_MAX] = {
{"rx_pkts", NSS_STATS_TYPE_COMMON},
{"rx_byts", NSS_STATS_TYPE_COMMON},
{"tx_pkts", NSS_STATS_TYPE_COMMON},
{"tx_byts", NSS_STATS_TYPE_COMMON},
{"rx_queue[0]_drops", NSS_STATS_TYPE_DROP},
{"rx_queue[1]_drops", NSS_STATS_TYPE_DROP},
{"rx_queue[2]_drops", NSS_STATS_TYPE_DROP},
{"rx_queue[3]_drops", NSS_STATS_TYPE_DROP},
{"rx_single_rec", NSS_STATS_TYPE_SPECIAL},
{"rx_multi_rec", NSS_STATS_TYPE_SPECIAL},
{"fail_crypto_resource", NSS_STATS_TYPE_DROP},
{"fail_crypto_enqueue", NSS_STATS_TYPE_DROP},
{"fail_headroom", NSS_STATS_TYPE_DROP},
{"fail_tailroom", NSS_STATS_TYPE_DROP},
{"fail_ver", NSS_STATS_TYPE_DROP},
{"fail_epoch", NSS_STATS_TYPE_DROP},
{"fail_dtls_record", NSS_STATS_TYPE_DROP},
{"fail_capwap", NSS_STATS_TYPE_DROP},
{"fail_replay", NSS_STATS_TYPE_DROP},
{"fail_replay_dup", NSS_STATS_TYPE_DROP},
{"fail_replay_win", NSS_STATS_TYPE_DROP},
{"fail_queue", NSS_STATS_TYPE_DROP},
{"fail_queue_nexthop", NSS_STATS_TYPE_DROP},
{"fail_pbuf_alloc", NSS_STATS_TYPE_DROP},
{"fail_pbuf_linear", NSS_STATS_TYPE_DROP},
{"fail_pbuf_stats", NSS_STATS_TYPE_DROP},
{"fail_pbuf_align", NSS_STATS_TYPE_DROP},
{"fail_ctx_active", NSS_STATS_TYPE_DROP},
{"fail_hwctx_active", NSS_STATS_TYPE_DROP},
{"fail_cipher", NSS_STATS_TYPE_EXCEPTION},
{"fail_auth", NSS_STATS_TYPE_EXCEPTION},
{"fail_seq_ovf", NSS_STATS_TYPE_DROP},
{"fail_blk_len", NSS_STATS_TYPE_DROP},
{"fail_hash_len", NSS_STATS_TYPE_DROP},
{"len_error", NSS_STATS_TYPE_DROP},
{"token_error", NSS_STATS_TYPE_DROP},
{"bypass_error", NSS_STATS_TYPE_DROP},
{"config_error", NSS_STATS_TYPE_DROP},
{"algo_error", NSS_STATS_TYPE_DROP},
{"hash_ovf_error", NSS_STATS_TYPE_DROP},
{"ttl_error", NSS_STATS_TYPE_DROP},
{"csum_error", NSS_STATS_TYPE_DROP},
{"timeout_error", NSS_STATS_TYPE_DROP},
{"fail_cle_[0]", NSS_STATS_TYPE_DROP},
{"fail_cle_[1]", NSS_STATS_TYPE_DROP},
{"fail_cle_[2]", NSS_STATS_TYPE_DROP},
{"fail_cle_[3]", NSS_STATS_TYPE_DROP},
{"fail_cle_[4]", NSS_STATS_TYPE_DROP},
{"fail_cle_[5]", NSS_STATS_TYPE_DROP},
{"fail_cle_[6]", NSS_STATS_TYPE_DROP},
{"fail_cle_[7]", NSS_STATS_TYPE_DROP},
{"fail_cle_[8]", NSS_STATS_TYPE_DROP},
{"fail_cle_[9]", NSS_STATS_TYPE_DROP},
{"fail_cle_[10]", NSS_STATS_TYPE_DROP},
{"fail_cle_[11]", NSS_STATS_TYPE_DROP},
{"fail_cle_[12]", NSS_STATS_TYPE_DROP},
{"fail_cle_[13]", NSS_STATS_TYPE_DROP},
{"fail_cle_[14]", NSS_STATS_TYPE_DROP},
{"fail_cle_[15]", NSS_STATS_TYPE_DROP},
{"fail_cle_[16]", NSS_STATS_TYPE_DROP},
{"fail_cle_[17]", NSS_STATS_TYPE_DROP},
{"fail_cle_[18]", NSS_STATS_TYPE_DROP},
{"fail_cle_[19]", NSS_STATS_TYPE_DROP},
{"fail_cle_[20]", NSS_STATS_TYPE_DROP},
{"fail_cle_[21]", NSS_STATS_TYPE_DROP},
{"fail_cle_[22]", NSS_STATS_TYPE_DROP},
{"fail_cle_[23]", NSS_STATS_TYPE_DROP},
{"fail_cle_[24]", NSS_STATS_TYPE_DROP},
{"fail_cle_[25]", NSS_STATS_TYPE_DROP},
{"fail_cle_[26]", NSS_STATS_TYPE_DROP},
{"fail_cle_[27]", NSS_STATS_TYPE_DROP},
{"fail_cle_[28]", NSS_STATS_TYPE_DROP},
{"fail_cle_[29]", NSS_STATS_TYPE_DROP},
{"fail_cle_[30]", NSS_STATS_TYPE_DROP},
{"fail_cle_[31]", NSS_STATS_TYPE_DROP},
{"seq_low", NSS_STATS_TYPE_SPECIAL},
{"seq_high", NSS_STATS_TYPE_SPECIAL},
{"epoch", NSS_STATS_TYPE_SPECIAL}
};
/*
* nss_dtls_cmn_ctx_stats_str_strings_read()
* Read dtls common ctx statistics names
*/
static ssize_t nss_dtls_cmn_ctx_stats_str_strings_read(struct file *fp, char __user *ubuf, size_t sz, loff_t *ppos)
{
return nss_strings_print(ubuf, sz, ppos, nss_dtls_cmn_ctx_stats_str, NSS_DTLS_CMN_CTX_STATS_MAX);
}
/*
* nss_dtls_cmn_ctx_stats_str_strings_ops
*/
NSS_STRINGS_DECLARE_FILE_OPERATIONS(dtls_cmn_ctx_stats_str);
/*
* nss_dtls_cmn_strings_dentry_create()
* Create dtls common statistics strings debug entry.
*/
void nss_dtls_cmn_strings_dentry_create(void)
{
nss_strings_create_dentry("dtls_cmn_ctx_stats_str", &nss_dtls_cmn_ctx_stats_str_strings_ops);
}