Allow disabling SDCCH8 on DYN Chans
Change-Id: Ie1a4103ec78a0840c83ad72e7cd6a4a1fc758af9
This commit is contained in:
parent
b2b5ca0613
commit
b8c92f7fa9
|
@ -1004,6 +1004,9 @@ struct gsm_network {
|
|||
/* Allow or disallow TCH/F on dynamic TCH/F_TCH/H_SDCCH8_PDCH; OS#1778 */
|
||||
bool dyn_ts_allow_tch_f;
|
||||
|
||||
/* Allow or disallow SDCCH8 on dynamic TCH/F_TCH/H_SDCCH8_PDCH; OS#1778 */
|
||||
bool dyn_ts_allow_sdcch8;
|
||||
|
||||
/* all active subscriber connections. */
|
||||
struct llist_head subscr_conns;
|
||||
|
||||
|
|
|
@ -368,6 +368,9 @@ static int config_write_net(struct vty *vty)
|
|||
|
||||
if (!gsmnet->dyn_ts_allow_tch_f)
|
||||
vty_out(vty, " dyn_ts_allow_tch_f 0%s", VTY_NEWLINE);
|
||||
if (!gsmnet->dyn_ts_allow_sdcch8)
|
||||
vty_out(vty, " dyn_ts_allow_sdcch8 0%s", VTY_NEWLINE);
|
||||
|
||||
if (gsmnet->tz.override != 0) {
|
||||
if (gsmnet->tz.dst)
|
||||
vty_out(vty, " timezone %d %d %d%s",
|
||||
|
@ -2280,6 +2283,18 @@ DEFUN_USRATTR(cfg_net_encryption,
|
|||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN(cfg_net_dyn_ts_allow_sdcch8,
|
||||
cfg_net_dyn_ts_allow_sdcch8_cmd,
|
||||
"dyn_ts_allow_sdcch8 (0|1)",
|
||||
"Allow or disallow allocating SDCCH8 on TCH/F_TCH/H_SDCCH8_PDCH timeslots\n"
|
||||
"Disallow SDCCH8 on TCH/F_TCH/H_SDCCH8_PDCH\n"
|
||||
"Allow SDCCH8 on TCH/F_TCH/H_SDCCH8_PDCH (default)\n")
|
||||
{
|
||||
struct gsm_network *gsmnet = gsmnet_from_vty(vty);
|
||||
gsmnet->dyn_ts_allow_sdcch8 = atoi(argv[0]) ? true : false;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN_DEPRECATED(cfg_net_dyn_ts_allow_tch_f,
|
||||
cfg_net_dyn_ts_allow_tch_f_cmd,
|
||||
"dyn_ts_allow_tch_f (0|1)",
|
||||
|
@ -3592,6 +3607,7 @@ int bsc_vty_init(struct gsm_network *network)
|
|||
install_element(GSMNET_NODE, &cfg_net_per_loc_upd_cmd);
|
||||
install_element(GSMNET_NODE, &cfg_net_no_per_loc_upd_cmd);
|
||||
install_element(GSMNET_NODE, &cfg_net_dyn_ts_allow_tch_f_cmd);
|
||||
install_element(GSMNET_NODE, &cfg_net_dyn_ts_allow_sdcch8_cmd);
|
||||
install_element(GSMNET_NODE, &cfg_net_meas_feed_dest_cmd);
|
||||
install_element(GSMNET_NODE, &cfg_net_meas_feed_scenario_cmd);
|
||||
install_element(GSMNET_NODE, &cfg_net_meas_feed_wqueue_max_len_cmd);
|
||||
|
|
|
@ -386,7 +386,8 @@ struct gsm_lchan *lchan_avail_by_type(struct gsm_bts *bts,
|
|||
lchan = lc_find(&ts_list, second_cbch, log);
|
||||
/* No dedicated SDCCH available -- try fully dynamic
|
||||
* TCH/F_TCH/H_SDCCH8_PDCH if BTS supports it: */
|
||||
if (lchan == NULL && osmo_bts_has_feature(&bts->features, BTS_FEAT_DYN_TS_SDCCH8))
|
||||
if (lchan == NULL && lchan && bts->network->dyn_ts_allow_sdcch8 &&
|
||||
osmo_bts_has_feature(&bts->features, BTS_FEAT_DYN_TS_SDCCH8))
|
||||
lchan = lc_dyn_find(&ts_list, GSM_PCHAN_OSMO_DYN,
|
||||
GSM_PCHAN_SDCCH8_SACCH8C, log);
|
||||
break;
|
||||
|
|
|
@ -113,6 +113,7 @@ struct gsm_network *gsm_network_init(void *ctx)
|
|||
};
|
||||
|
||||
net->dyn_ts_allow_tch_f = true;
|
||||
net->dyn_ts_allow_sdcch8 = true;
|
||||
|
||||
/* Permit a compile-time default of A5/3 and A5/1 */
|
||||
net->a5_encryption_mask = (1 << 3) | (1 << 1);
|
||||
|
|
Loading…
Reference in New Issue