aboutsummaryrefslogtreecommitdiffstats
path: root/src/bts.h
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-01-14 16:20:57 +0100
committerPau Espin Pedrol <pespin@sysmocom.de>2021-01-18 11:57:14 +0100
commit793583ea2173c94b2dc779ab565fcf629a1d52b3 (patch)
tree8bf3d99424f0b5d879b9173c8120cd36fa53f2ce /src/bts.h
parentf473ec9d7a250326abd71b910d810567dc976509 (diff)
Fix configuration mess of initial_cs/mcs between PCUIF and VTY
Both values (optionally) set (forced) by VTY and the values received from PCUIF were stored in the same variable, meaning that for instance the PCUIF values wouldn't really be used if someone applied eg "no cs" during runtime. This commit does something similar to what was already done for the max_(m)cs fields. We store PCUIF values in one place and VTY ones in another place, and then trigger a bts object internal process to find out exactly which initial CS should it be using. Change-Id: I80a6ba401f9c0c85bdf6e0cc99a9d2008d31e1b0
Diffstat (limited to 'src/bts.h')
-rw-r--r--src/bts.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/bts.h b/src/bts.h
index bf6e6810..b1f73b49 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -87,6 +87,10 @@ struct gprs_rlcmac_bts {
uint8_t bsic;
uint8_t cs_mask; /* Allowed CS mask from BTS */
uint16_t mcs_mask; /* Allowed MCS mask from BTS */
+ struct { /* information stored from last received PCUIF info_ind message */
+ uint8_t initial_cs;
+ uint8_t initial_mcs;
+ } pcuif_info_ind;
uint8_t initial_cs_dl, initial_cs_ul;
uint8_t initial_mcs_dl, initial_mcs_ul;
/* Timer defintions */
@@ -399,6 +403,8 @@ extern "C" {
struct gprs_rlcmac_bts *bts_main_data();
struct rate_ctr_group *bts_main_data_stats();
struct osmo_stat_item_group *bts_main_data_stat_items();
+ void bts_recalc_initial_cs(struct gprs_rlcmac_bts *bts);
+ void bts_recalc_initial_mcs(struct gprs_rlcmac_bts *bts);
void bts_recalc_max_cs(struct gprs_rlcmac_bts *bts);
void bts_recalc_max_mcs(struct gprs_rlcmac_bts *bts);
struct GprsMs *bts_ms_by_imsi(struct BTS *bts, const char *imsi);