diff options
author | Stefan Sperling <ssperling@sysmocom.de> | 2018-02-06 19:28:45 +0100 |
---|---|---|
committer | Stefan Sperling <ssperling@sysmocom.de> | 2018-02-06 19:28:45 +0100 |
commit | 8b8121dcc9e11c099f7558b25c5f384eaeb8e91a (patch) | |
tree | d8b4a2df675f04d4fedf461bae4ebe0310df1c26 /src/libbsc/bsc_vty.c | |
parent | 0d7967eff7d89ff2fd23cf7f96d229fa6f4a1657 (diff) |
add a VTY option to enable/disable acc ramding
Change-Id: I1cb10ccf56eed5daf8bd224011491061e15dad8f
Diffstat (limited to 'src/libbsc/bsc_vty.c')
-rw-r--r-- | src/libbsc/bsc_vty.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/libbsc/bsc_vty.c b/src/libbsc/bsc_vty.c index 3da474594..133c89ff4 100644 --- a/src/libbsc/bsc_vty.c +++ b/src/libbsc/bsc_vty.c @@ -61,6 +61,7 @@ #include <osmocom/bsc/handover_cfg.h> #include <osmocom/bsc/handover_vty.h> #include <osmocom/bsc/gsm_04_08_utils.h> +#include <osmocom/bsc/acc_ramp.h> #include <inttypes.h> @@ -3105,6 +3106,32 @@ DEFUN(cfg_bts_pcu_sock, cfg_bts_pcu_sock_cmd, return CMD_SUCCESS; } +DEFUN(cfg_bts_acc_ramping, + cfg_bts_acc_ramping_cmd, + "acc-ramping enabled (0|1)", + "Enable or disable Access Control Class ramping\n" + "Disable Access Control Class ramping\n" + "Enable Access Control Class ramping\n") +{ + struct gsm_bts *bts = vty->index; + bool was_enabled = bts->acc_ramping_enabled; + bool enable = atoi(argv[0]); + + bts->acc_ramping_enabled = enable ? true : false; + if (was_enabled && !bts->acc_ramping_enabled) { + struct gsm_bts_trx *trx; + acc_ramp_abort(&bts->acc_ramp); + acc_ramp_init(&bts->acc_ramp, bts); + llist_for_each_entry_reverse(trx, &bts->trx_list, list) + gsm_bts_trx_set_system_infos(trx); + } + + /* If ramping is now enabled, it only takes effect when the BTS reconnects. */ + + return CMD_SUCCESS; +} + + #define EXCL_RFLOCK_STR "Exclude this BTS from the global RF Lock\n" DEFUN(cfg_bts_excl_rf_lock, @@ -4436,6 +4463,7 @@ int bsc_vty_init(struct gsm_network *network) install_element(BTS_NODE, &cfg_bts_amr_hr_hyst3_cmd); install_element(BTS_NODE, &cfg_bts_amr_hr_start_mode_cmd); install_element(BTS_NODE, &cfg_bts_pcu_sock_cmd); + install_element(BTS_NODE, &cfg_bts_acc_ramping_cmd); /* See also handover commands added on bts level from handover_vty.c */ install_element(BTS_NODE, &cfg_trx_cmd); |