diff options
Diffstat (limited to 'openbsc/include/openbsc')
-rw-r--r-- | openbsc/include/openbsc/chan_alloc.h | 6 | ||||
-rw-r--r-- | openbsc/include/openbsc/gsm_data.h | 3 | ||||
-rw-r--r-- | openbsc/include/openbsc/gsm_data_shared.h | 13 |
3 files changed, 17 insertions, 5 deletions
diff --git a/openbsc/include/openbsc/chan_alloc.h b/openbsc/include/openbsc/chan_alloc.h index 78242e5b7..0ba3f9669 100644 --- a/openbsc/include/openbsc/chan_alloc.h +++ b/openbsc/include/openbsc/chan_alloc.h @@ -37,17 +37,13 @@ void lchan_reset(struct gsm_lchan *lchan); /* Release the given lchan */ int lchan_release(struct gsm_lchan *lchan, int sacch_deact, enum rsl_rel_mode release_mode); -struct load_counter { - unsigned int total; - unsigned int used; -}; - struct pchan_load { struct load_counter pchan[_GSM_PCHAN_MAX]; }; void bts_chan_load(struct pchan_load *cl, const struct gsm_bts *bts); void network_chan_load(struct pchan_load *pl, struct gsm_network *net); +void bts_update_t3122_chan_load(struct gsm_bts *bts); int trx_is_usable(struct gsm_bts_trx *trx); diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h index 39c7458ca..b12c4edc3 100644 --- a/openbsc/include/openbsc/gsm_data.h +++ b/openbsc/include/openbsc/gsm_data.h @@ -372,6 +372,9 @@ struct gsm_network { /* timer to expire old location updates */ struct osmo_timer_list subscr_expire_timer; + /* Timer for periodic channel load measurements to maintain each BTS's T3122. */ + struct osmo_timer_list t3122_chan_load_timer; + /* Radio Resource Location Protocol (TS 04.31) */ struct { enum rrlp_mode mode; diff --git a/openbsc/include/openbsc/gsm_data_shared.h b/openbsc/include/openbsc/gsm_data_shared.h index 30feedcab..a78e2eb7a 100644 --- a/openbsc/include/openbsc/gsm_data_shared.h +++ b/openbsc/include/openbsc/gsm_data_shared.h @@ -674,6 +674,12 @@ struct bts_location { double height; }; +/* Channel load counter */ +struct load_counter { + unsigned int total; + unsigned int used; +}; + /* One BTS */ struct gsm_bts { /* list header in net->bts_list */ @@ -901,6 +907,13 @@ struct gsm_bts { char *pcu_sock_path; struct pcu_sock_state *pcu_state; + /* BTS-specific overrides for timer values from struct gsm_network. */ + uint8_t T3122; /* ASSIGMENT REJECT wait indication */ + + /* Periodic channel load measurements are used to maintain T3122. */ + struct load_counter chan_load_samples[7]; + int chan_load_samples_idx; + #endif /* ROLE_BSC */ void *role; }; |