aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2016-03-16 15:27:38 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2016-04-01 19:34:42 +0200
commitc6a65511f326340783f0e837c6eb58b0cf2c6abc (patch)
tree5f4a59aebee1d0e4abad2df5bee5f7281a95be5b
parent740e65fb7bd1516117cd23c7b524976548e1a397 (diff)
bsc: Add parameter to restart a bts
The ip.access nanoBTS seems to have severe issues with BSSGP when changing the country code and/or network code. It is unlikely that the proprietary code is getting fixed so we extend the parameter for the apply-configuration command to carry the 'restart' param.
-rw-r--r--openbsc/src/libbsc/bsc_ctrl_commands.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/openbsc/src/libbsc/bsc_ctrl_commands.c b/openbsc/src/libbsc/bsc_ctrl_commands.c
index b6b1c9a8b..7e8479734 100644
--- a/openbsc/src/libbsc/bsc_ctrl_commands.c
+++ b/openbsc/src/libbsc/bsc_ctrl_commands.c
@@ -90,7 +90,17 @@ static int set_net_apply_config(struct ctrl_cmd *cmd, void *data)
if (!is_ipaccess_bts(bts))
continue;
- ipaccess_drop_oml(bts);
+ /*
+ * The ip.access nanoBTS seems to be unrelaible on BSSGP
+ * so let's us just reboot it. For the sysmoBTS we can just
+ * restart the process as all state is gone.
+ */
+ if (!is_sysmobts_v2(bts) && strcmp(cmd->value, "restart") == 0) {
+ struct gsm_bts_trx *trx;
+ llist_for_each_entry_reverse(trx, &bts->trx_list, list)
+ abis_nm_ipaccess_restart(trx);
+ } else
+ ipaccess_drop_oml(bts);
}
cmd->reply = "Tried to drop the BTS";