diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2015-11-20 03:16:19 +0100 |
---|---|---|
committer | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2015-12-03 11:39:41 +0100 |
commit | 4b2cbdab3e29dfbd8c4b5f9d44a9a63e7553253d (patch) | |
tree | 5cd3e3d08dd81148f96b2ce1addd905a37cd1f22 /openbsc/src/gprs/gtphub.c | |
parent | 1ba50c659801fd8ba811dd898236134c0f0a7011 (diff) |
gtphub: first vty show commands.
Start adding VTY commands to show rate counters / statistics / cache dumps.
Sponsored-by: On-Waves ehi
Diffstat (limited to 'openbsc/src/gprs/gtphub.c')
-rw-r--r-- | openbsc/src/gprs/gtphub.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/openbsc/src/gprs/gtphub.c b/openbsc/src/gprs/gtphub.c index 45599cc34..570ebc549 100644 --- a/openbsc/src/gprs/gtphub.c +++ b/openbsc/src/gprs/gtphub.c @@ -101,13 +101,13 @@ enum gtphub_counters_io { static const struct rate_ctr_desc gtphub_counters_io_desc[] = { { "packets.in", "Packets ( In)" }, { "packets.out", "Packets (Out)" }, - { "bytes.in", "Packets ( In)" }, - { "bytes.out", "Packets (Out)" }, + { "bytes.in", "Bytes ( In)" }, + { "bytes.out", "Bytes (Out)" }, }; static const struct rate_ctr_group_desc gtphub_ctrg_io_desc = { .group_name_prefix = "gtphub.bind", - .group_description = "Local address I/O statistics", + .group_description = "I/O Statistics", .num_ctr = ARRAY_SIZE(gtphub_counters_io_desc), .ctr_desc = gtphub_counters_io_desc, .class_id = OSMO_STATS_CLASS_GLOBAL, @@ -833,6 +833,7 @@ static int gtphub_bind_start(struct gtphub_bind *b, return -1; if (gtphub_sock_init(&b->ofd, &cfg->bind, cb, cb_data, ofd_id) != 0) return -1; + b->local_port = cfg->bind.port; return 0; } @@ -1419,6 +1420,12 @@ int gtphub_from_ggsns_handle_buf(struct gtphub *hub, /* It was an echo. Nothing left to do. */ osmo_sockaddr_copy(to_addr, from_addr); *to_ofd = &from_bind->ofd; + + rate_ctr_inc(&from_bind->counters_io->ctr[GTPH_CTR_PKTS_OUT]); + rate_ctr_add(&from_bind->counters_io->ctr[GTPH_CTR_BYTES_OUT], + reply_len); + LOG(LOGL_DEBUG, "--> Echo response to GGSN: %d bytes to %s\n", + (int)reply_len, osmo_sockaddr_to_str(to_addr)); return reply_len; } if (reply_len < 0) @@ -1578,6 +1585,12 @@ int gtphub_from_sgsns_handle_buf(struct gtphub *hub, /* It was an echo. Nothing left to do. */ osmo_sockaddr_copy(to_addr, from_addr); *to_ofd = &from_bind->ofd; + + rate_ctr_inc(&from_bind->counters_io->ctr[GTPH_CTR_PKTS_OUT]); + rate_ctr_add(&from_bind->counters_io->ctr[GTPH_CTR_BYTES_OUT], + reply_len); + LOG(LOGL_DEBUG, "<-- Echo response to SGSN: %d bytes to %s\n", + (int)reply_len, osmo_sockaddr_to_str(to_addr)); return reply_len; } if (reply_len < 0) |