From 4d4944a07d09a21d79e18f321eaa1fdcaddd7964 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Sun, 10 Mar 2013 11:49:35 +0100 Subject: Add option to set RADIO LINK TIMEOUT value via VTY --- openbsc/src/libbsc/bsc_init.c | 3 --- openbsc/src/libbsc/bsc_vty.c | 17 +++++++++++++++++ openbsc/src/libcommon/gsm_data.c | 2 ++ 3 files changed, 19 insertions(+), 3 deletions(-) (limited to 'openbsc/src') diff --git a/openbsc/src/libbsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c index 46d95cc1d..9c19ec91c 100644 --- a/openbsc/src/libbsc/bsc_init.c +++ b/openbsc/src/libbsc/bsc_init.c @@ -454,9 +454,6 @@ static int bootstrap_bts(struct gsm_bts *bts) return -EINVAL; } - /* some defaults for our system information */ - bts->si_common.cell_options.radio_link_timeout = 7; /* 12 */ - /* allow/disallow DTXu */ if (bts->network->dtx_enabled) bts->si_common.cell_options.dtx = 0; diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c index af30f390c..e3eb7ccb5 100644 --- a/openbsc/src/libbsc/bsc_vty.c +++ b/openbsc/src/libbsc/bsc_vty.c @@ -543,6 +543,9 @@ static void config_write_bts_single(struct vty *vty, struct gsm_bts *bts) vty_out(vty, " periodic location update %u%s", bts->si_common.chan_desc.t3212 * 6, VTY_NEWLINE); + vty_out(vty, " radio-link-timeout %d%s", + get_radio_link_timeout(&bts->si_common.cell_options), + VTY_NEWLINE); vty_out(vty, " channel allocator %s%s", bts->chan_alloc_reverse ? "descending" : "ascending", VTY_NEWLINE); @@ -2272,6 +2275,19 @@ DEFUN(cfg_bts_no_per_loc_upd, cfg_bts_no_per_loc_upd_cmd, struct gsm_bts *bts = vty->index; bts->si_common.chan_desc.t3212 = 0; + + return CMD_SUCCESS; +} + +DEFUN(cfg_bts_radio_link_timeout, cfg_bts_radio_link_timeout_cmd, + "radio-link-timeout <4-64>", + "Radio link timeout criterion (BTS side)\n" + "Radio link timeout value (lost SACCH block)\n") +{ + struct gsm_bts *bts = vty->index; + + set_radio_link_timeout(&bts->si_common.cell_options, atoi(argv[0])); + return CMD_SUCCESS; } @@ -3466,6 +3482,7 @@ int bsc_vty_init(const struct log_info *cat) install_element(BTS_NODE, &cfg_bts_temp_ofs_inf_cmd); install_element(BTS_NODE, &cfg_bts_penalty_time_cmd); install_element(BTS_NODE, &cfg_bts_penalty_time_rsvd_cmd); + install_element(BTS_NODE, &cfg_bts_radio_link_timeout_cmd); install_element(BTS_NODE, &cfg_bts_gprs_mode_cmd); install_element(BTS_NODE, &cfg_bts_gprs_ns_timer_cmd); install_element(BTS_NODE, &cfg_bts_gprs_rac_cmd); diff --git a/openbsc/src/libcommon/gsm_data.c b/openbsc/src/libcommon/gsm_data.c index 5fd3ad37c..4ce4ecac7 100644 --- a/openbsc/src/libcommon/gsm_data.c +++ b/openbsc/src/libcommon/gsm_data.c @@ -333,6 +333,8 @@ struct gsm_bts *gsm_bts_alloc_register(struct gsm_network *net, enum gsm_bts_typ bts->si_common.chan_desc.bs_pa_mfrms = RSL_BS_PA_MFRMS_5; /* paging frames */ bts->si_common.chan_desc.bs_ag_blks_res = 1; /* reserved AGCH blocks */ bts->si_common.chan_desc.t3212 = 5; /* Use 30 min periodic update interval as sane default */ + set_radio_link_timeout(&bts->si_common.cell_options, 32); + /* Use RADIO LINK TIMEOUT of 32 seconds */ llist_add_tail(&bts->list, &net->bts_list); -- cgit v1.2.3