aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/nat/bsc_nat_utils.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-10-03 19:41:42 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-10-03 19:41:42 +0800
commit463dc62ae47a803a2df331b1be6f5bc7988f71ba (patch)
tree5b95b7cd81c554703b17aa9f996d8b1500f93745 /openbsc/src/nat/bsc_nat_utils.c
parent12eb9b7bd965f4e35da7ae7868fb9579fabc7a0f (diff)
nat: Provide statistics about amount of different messages.
Provide simple statistics on how many LUs, Paging Responses etc. we are seeing in the network.
Diffstat (limited to 'openbsc/src/nat/bsc_nat_utils.c')
-rw-r--r--openbsc/src/nat/bsc_nat_utils.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/openbsc/src/nat/bsc_nat_utils.c b/openbsc/src/nat/bsc_nat_utils.c
index 77deef424..faba7a548 100644
--- a/openbsc/src/nat/bsc_nat_utils.c
+++ b/openbsc/src/nat/bsc_nat_utils.c
@@ -40,7 +40,6 @@
#include <netinet/in.h>
#include <arpa/inet.h>
-
static const struct rate_ctr_desc bsc_cfg_ctr_description[] = {
[BCFG_CTR_SCCP_CONN] = { "sccp.conn", "SCCP Connections "},
[BCFG_CTR_SCCP_CALLS] = { "sccp.calls", "SCCP Assignment Commands "},
@@ -50,6 +49,10 @@ static const struct rate_ctr_desc bsc_cfg_ctr_description[] = {
[BCFG_CTR_REJECTED_CR] = { "rejected.cr", "Rejected CR due filter "},
[BCFG_CTR_REJECTED_MSG] = { "rejected.msg", "Rejected MSG due filter "},
[BCFG_CTR_ILL_PACKET] = { "rejected.ill", "Rejected due parse error "},
+ [BCFG_CTR_CON_TYPE_LU] = { "conn.lu", "Conn Location Update "},
+ [BCFG_CTR_CON_CMSERV_RQ] = { "conn.rq", "Conn CM Service Req "},
+ [BCFG_CTR_CON_PAG_RESP] = { "conn.pag", "Conn Paging Response "},
+ [BCFG_CTR_CON_OTHER] = { "conn.other", "Conn Other "},
};
static const struct rate_ctr_group_desc bsc_cfg_ctrg_desc = {
@@ -609,3 +612,17 @@ int bsc_nat_msc_is_connected(struct bsc_nat *nat)
{
return nat->msc_con->is_connected;
}
+
+static const int con_to_ctr[] = {
+ [NAT_CON_TYPE_NONE] = -1,
+ [NAT_CON_TYPE_LU] = BCFG_CTR_CON_TYPE_LU,
+ [NAT_CON_TYPE_CM_SERV_REQ] = BCFG_CTR_CON_CMSERV_RQ,
+ [NAT_CON_TYPE_PAG_RESP] = BCFG_CTR_CON_PAG_RESP,
+ [NAT_CON_TYPE_LOCAL_REJECT] = -1,
+ [NAT_CON_TYPE_OTHER] = BCFG_CTR_CON_OTHER,
+};
+
+int bsc_conn_type_to_ctr(struct sccp_connections *conn)
+{
+ return con_to_ctr[conn->con_type];
+}