aboutsummaryrefslogtreecommitdiffstats
path: root/src/common/vty.c
diff options
context:
space:
mode:
authorPhilipp Maier <pmaier@sysmocom.de>2018-02-21 13:29:38 +0100
committerHarald Welte <laforge@gnumonks.org>2018-02-22 07:58:26 +0000
commitb93748a1707fa4e20c3a8c3a241dd9e3fb03ea87 (patch)
treec8ec954f78d522cf7195c5e213f5513581a2bb16 /src/common/vty.c
parentbfe9af4ae1c1d72a5a94546093913083a0eaeda8 (diff)
vty: display bts features in vty command show bts
The VTY command show bts does not display the bts specific features yet. - Also display the feature list in snow-bts Change-Id: I509f2a7bbfa96c70bdfea4ff2488ee371e914620
Diffstat (limited to 'src/common/vty.c')
-rw-r--r--src/common/vty.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/common/vty.c b/src/common/vty.c
index 5abc90ef..55c1e0fe 100644
--- a/src/common/vty.c
+++ b/src/common/vty.c
@@ -736,6 +736,24 @@ static unsigned int llist_length(struct llist_head *list)
return len;
}
+static void bts_dump_vty_features(struct vty *vty, struct gsm_bts *bts)
+{
+ unsigned int i;
+ bool no_features = true;
+ vty_out(vty, " Features:%s", VTY_NEWLINE);
+
+ for (i = 0; i < _NUM_BTS_FEAT; i++) {
+ if (gsm_bts_has_feature(bts, i)) {
+ vty_out(vty, " %03u ", i);
+ vty_out(vty, "%-40s%s", get_value_string(gsm_bts_features_descs, i), VTY_NEWLINE);
+ no_features = false;
+ }
+ }
+
+ if (no_features)
+ vty_out(vty, " (not available)%s", VTY_NEWLINE);
+}
+
static void bts_dump_vty(struct vty *vty, struct gsm_bts *bts)
{
struct gsm_bts_role_bts *btsb = bts->role;
@@ -788,6 +806,8 @@ static void bts_dump_vty(struct vty *vty, struct gsm_bts *bts)
vty_out(vty, "%s", VTY_NEWLINE);
}
}
+
+ bts_dump_vty_features(vty, bts);
}