summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-05-13 12:32:30 +0200
committerHarald Welte <laforge@gnumonks.org>2010-05-13 12:32:30 +0200
commitaf1d4cb5a812092152c50f7373e1fa877dc8d060 (patch)
tree74b9afeeb4b3548282d1324486c7b377e890056f
parentec20ba47c7d91c0f1d528a0e8d6b5373687b9632 (diff)
[GPRS] NS: Show statistics on VTY only if requested
-rw-r--r--openbsc/src/gprs/gprs_ns_vty.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/openbsc/src/gprs/gprs_ns_vty.c b/openbsc/src/gprs/gprs_ns_vty.c
index 6e98e44d..08b0076c 100644
--- a/openbsc/src/gprs/gprs_ns_vty.c
+++ b/openbsc/src/gprs/gprs_ns_vty.c
@@ -104,10 +104,8 @@ DEFUN(cfg_ns, cfg_ns_cmd,
return CMD_SUCCESS;
}
-DEFUN(show_ns, show_ns_cmd, "show ns",
- SHOW_STR "Display information about the NS protocol")
+static void dump_ns(struct vty *vty, struct gprs_ns_inst *nsi, int stats)
{
- struct gprs_ns_inst *nsi = vty_nsi;
struct gprs_nsvc *nsvc;
llist_for_each_entry(nsvc, &nsi->gprs_nsvcs, list) {
@@ -121,12 +119,28 @@ DEFUN(show_ns, show_ns_cmd, "show ns",
inet_ntoa(nsvc->ip.bts_addr.sin_addr),
ntohs(nsvc->ip.bts_addr.sin_port));
vty_out(vty, "%s", VTY_NEWLINE);
- vty_out_rate_ctr_group(vty, " ", nsvc->ctrg);
+ if (stats)
+ vty_out_rate_ctr_group(vty, " ", nsvc->ctrg);
}
+}
+DEFUN(show_ns, show_ns_cmd, "show ns",
+ SHOW_STR "Display information about the NS protocol")
+{
+ struct gprs_ns_inst *nsi = vty_nsi;
+ dump_ns(vty, nsi, 0);
return CMD_SUCCESS;
}
+DEFUN(show_ns_stats, show_ns_stats_cmd, "show ns stats",
+ SHOW_STR
+ "Display information about the NS protocol\n"
+ "Include statistics\n")
+{
+ struct gprs_ns_inst *nsi = vty_nsi;
+ dump_ns(vty, nsi, 1);
+ return CMD_SUCCESS;
+}
#define NSE_CMD_STR "NS Entity\n" "NS Entity ID (NSEI)\n"
@@ -260,6 +274,7 @@ int gprs_ns_vty_init(struct gprs_ns_inst *nsi)
vty_nsi = nsi;
install_element_ve(&show_ns_cmd);
+ install_element_ve(&show_ns_stats_cmd);
install_element(CONFIG_NODE, &cfg_ns_cmd);
install_node(&ns_node, config_write_ns);