aboutsummaryrefslogtreecommitdiffstats
path: root/src/libbsc/e1_config.c
diff options
context:
space:
mode:
authorMax <msuraev@sysmocom.de>2017-09-21 16:15:32 +0200
committerMax <msuraev@sysmocom.de>2017-09-27 10:53:28 +0000
commitd1f70ed2348f8c60434acbac3f2235c29fbd1949 (patch)
tree2047937bba806532e376e8475ba49102055e0c92 /src/libbsc/e1_config.c
parent00c22464a0c1b51bb4b29efecab39e993224949c (diff)
Show OML link uptime in vty
Save the time when OML link to BTS was established and show it in vty. That's useful when troubleshooting issues like periodic/sporadic BTS restart. Related: SYS#3889 Change-Id: I9e4e8504afe8ca467b68d41826f61654e24d9600
Diffstat (limited to 'src/libbsc/e1_config.c')
-rw-r--r--src/libbsc/e1_config.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libbsc/e1_config.c b/src/libbsc/e1_config.c
index 1923efd8b..365631562 100644
--- a/src/libbsc/e1_config.c
+++ b/src/libbsc/e1_config.c
@@ -20,7 +20,7 @@
#include <string.h>
#include <errno.h>
-
+#include <time.h>
#include <netinet/in.h>
#include <osmocom/bsc/gsm_data.h>
@@ -160,6 +160,8 @@ int e1_reconfig_bts(struct gsm_bts *bts)
struct e1inp_line *line;
struct e1inp_sign_link *oml_link;
struct gsm_bts_trx *trx;
+ struct timespec tp;
+ int rc;
DEBUGP(DLMI, "e1_reconfig_bts(%u)\n", bts->nr);
@@ -201,6 +203,8 @@ int e1_reconfig_bts(struct gsm_bts *bts)
if (bts->oml_link)
e1inp_sign_link_destroy(bts->oml_link);
bts->oml_link = oml_link;
+ rc = clock_gettime(CLOCK_MONOTONIC, &tp);
+ bts->uptime = (rc < 0) ? 0 : tp.tv_sec; /* we don't need sub-second precision for uptime */
llist_for_each_entry(trx, &bts->trx_list, list)
e1_reconfig_trx(trx);