aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2014-01-15 17:06:51 +0100
committerDaniel Willmann <daniel@totalueberwachung.de>2014-01-15 17:41:45 +0100
commit772415fd8a30472b28ac7d1e56c97a0d70307835 (patch)
treefeeb95abb89278755c33dd4f3a709bf755823f1a
parentafa72f521018b38d91bc68c4c87fba26cf26728c (diff)
pcu_vty: Add a command to print info about all TBFs
-rw-r--r--src/pcu_vty.c24
-rw-r--r--src/tbf.cpp4
2 files changed, 25 insertions, 3 deletions
diff --git a/src/pcu_vty.c b/src/pcu_vty.c
index 8a9255c5..041d5294 100644
--- a/src/pcu_vty.c
+++ b/src/pcu_vty.c
@@ -282,7 +282,28 @@ DEFUN(show_bts_stats,
{
vty_out_rate_ctr_group(vty, "", bts_main_data_stats());
return CMD_SUCCESS;
-}
+}
+
+DEFUN(show_tbf,
+ show_tbf_cmd,
+ "show tbf all",
+ SHOW_STR "information about all current TBFs\n")
+{
+ struct gprs_rlcmac_bts *bts = bts_main_data();
+ struct llist_head *tbf;
+
+ vty_out(vty, "UL TBFs%s", VTY_NEWLINE);
+ llist_for_each(tbf, &bts->ul_tbfs) {
+ tbf_print_vty_info(vty, tbf);
+ }
+
+ vty_out(vty, "%sDL TBFs%s", VTY_NEWLINE, VTY_NEWLINE);
+ llist_for_each(tbf, &bts->dl_tbfs) {
+ tbf_print_vty_info(vty, tbf);
+ }
+
+ return CMD_SUCCESS;
+}
static const char pcu_copyright[] =
"Copyright (C) 2012 by Ivan Kluchnikov <kluchnikovi@gmail.com> and \r\n"
@@ -322,6 +343,7 @@ int pcu_vty_init(const struct log_info *cat)
install_element(PCU_NODE, &ournode_end_cmd);
install_element_ve(&show_bts_stats_cmd);
+ install_element_ve(&show_tbf_cmd);
return 0;
}
diff --git a/src/tbf.cpp b/src/tbf.cpp
index 907c0469..14fbad16 100644
--- a/src/tbf.cpp
+++ b/src/tbf.cpp
@@ -1758,7 +1758,7 @@ void tbf_print_vty_info(struct vty *vty, llist_head *ltbf)
{
gprs_rlcmac_tbf *tbf = llist_entry(ltbf, gprs_rlcmac_tbf, list);
- vty_out(vty, "TBF: TFI=%d TLLI=%08x (%s) DIR=%s IMSI=%s%s", tbf->tfi(),
+ vty_out(vty, "TBF: TFI=%d TLLI=0x%08x (%s) DIR=%s IMSI=%s%s", tbf->tfi(),
tbf->tlli(), tbf->is_tlli_valid() ? "valid" : "invalid",
tbf->direction == GPRS_RLCMAC_UL_TBF ? "UL" : "DL",
tbf->imsi(), VTY_NEWLINE);
@@ -1771,5 +1771,5 @@ void tbf_print_vty_info(struct vty *vty, llist_head *ltbf)
if (tbf->pdch[i])
vty_out(vty, "%d ", i);
}
- vty_out(vty, "%s%s", VTY_NEWLINE, VTY_NEWLINE);
+ vty_out(vty, " CS=%d%s%s", tbf->cs, VTY_NEWLINE, VTY_NEWLINE);
}