diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-04-25 23:08:39 +0800 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2010-04-25 23:08:39 +0800 |
commit | 95c229006ef9e0a55139a3e80f6212189e4f4408 (patch) | |
tree | 56600871c8e2717e4c8c5dd241448bdb918eb793 /openbsc/src/bsc_init.c | |
parent | d941edaca2f16791e8b830ad62f6d2372254d205 (diff) |
[vty] Allow to set the RACH NM attributes on a per BTS basis
Be able to tune the RACH settings of the BTS via the vty interface,
by default they are initialized to -1 which means we will use the
content of the static array (BTS default) and can be changed via
the VTY interface. I have verified the setting on the nanoBTS with
wireshark and I have tested writing the config file.
Diffstat (limited to 'openbsc/src/bsc_init.c')
-rw-r--r-- | openbsc/src/bsc_init.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/openbsc/src/bsc_init.c b/openbsc/src/bsc_init.c index a39bc198a..bdbff7b85 100644 --- a/openbsc/src/bsc_init.c +++ b/openbsc/src/bsc_init.c @@ -853,6 +853,22 @@ static void patch_nm_tables(struct gsm_bts *bts) bs11_attr_radio[2] |= arfcn_high; bs11_attr_radio[3] = arfcn_low; + /* patch the RACH attributes */ + if (bts->rach_b_thresh != -1) { + nanobts_attr_bts[33] = bts->rach_b_thresh & 0xff; + bs11_attr_bts[33] = bts->rach_b_thresh & 0xff; + } + + if (bts->rach_ldavg_slots != -1) { + u_int8_t avg_high = bts->rach_ldavg_slots & 0xff; + u_int8_t avg_low = (bts->rach_ldavg_slots >> 8) & 0x0f; + + nanobts_attr_bts[35] = avg_high; + nanobts_attr_bts[36] = avg_low; + bs11_attr_bts[35] = avg_high; + bs11_attr_bts[36] = avg_low; + } + /* patch BSIC */ bs11_attr_bts[1] = bts->bsic; nanobts_attr_bts[sizeof(nanobts_attr_bts)-11] = bts->bsic; |