Enable egprs support through PCUIF from BTS/BSC

This VTY command was added due to EGPRS being introduced later as an
experimental feature. It's no longer needed and causes more problems
than goodness (since people sometimes forgets to enable it).

Let's rather simply enable EGPRS support based on what BTS/BSC requests
over PCUIF.

Related: OS#4544
Change-Id: Ic80970a136361584da9c912252a07e7c3c9d85d0
This commit is contained in:
Pau Espin 2020-10-30 17:15:32 +01:00
parent 343ec9b9fd
commit 270c9ea5d9
2 changed files with 14 additions and 22 deletions

View File

@ -623,12 +623,15 @@ bssgp_failed:
}
bts_set_max_cs(bts, bts->vty.max_cs_dl, bts->vty.max_cs_ul); /* recalc max CS values */
bts->egprs_enabled = false;
bts->mcs_mask = 0;
for (i = 0; i < 9; i++) {
uint8_t allowed = !!(info_ind->flags & (PCU_IF_FLAG_MCS1 << i));
bts->mcs_mask |= allowed << i;
if (allowed)
if (allowed) {
bts->egprs_enabled = true;
LOGP(DL1IF, LOGL_DEBUG, " Use MCS%d\n", i + 1);
}
}
bts_set_max_mcs(bts, bts->vty.max_mcs_dl, bts->vty.max_mcs_ul); /* recalc max MCS values */

View File

@ -108,9 +108,6 @@ static int config_write_pcu(struct vty *vty)
unsigned int i;
vty_out(vty, "pcu%s", VTY_NEWLINE);
if (bts->egprs_enabled)
vty_out(vty, " egprs only%s", VTY_NEWLINE);
vty_out(vty, " flow-control-interval %d%s", bts->fc_interval,
VTY_NEWLINE);
if (bts->fc_bvc_bucket_size)
@ -273,29 +270,21 @@ DEFUN_ATTR(cfg_pcu,
#define EGPRS_STR "EGPRS configuration\n"
DEFUN_USRATTR(cfg_pcu_egprs,
cfg_pcu_egprs_cmd,
X(PCU_VTY_ATTR_NEW_TBF),
"egprs only",
EGPRS_STR "Use EGPRS and disable plain GPRS\n")
DEFUN_DEPRECATED(cfg_pcu_egprs,
cfg_pcu_egprs_cmd,
"egprs only",
EGPRS_STR "Use EGPRS and disable plain GPRS\n")
{
struct gprs_rlcmac_bts *bts = bts_main_data();
bts->egprs_enabled = true;
vty_out (vty, "'egprs only' is deprecated, egprs support is controled from BTS/BSC config, this is now a no-op%s", VTY_NEWLINE);
return CMD_SUCCESS;
}
DEFUN_USRATTR(cfg_pcu_no_egprs,
cfg_pcu_no_egprs_cmd,
X(PCU_VTY_ATTR_NEW_TBF),
"no egprs",
NO_STR EGPRS_STR)
DEFUN_DEPRECATED(cfg_pcu_no_egprs,
cfg_pcu_no_egprs_cmd,
"no egprs",
NO_STR EGPRS_STR)
{
struct gprs_rlcmac_bts *bts = bts_main_data();
bts->egprs_enabled = false;
vty_out (vty, "'no egprs only' is deprecated, egprs support is controled from BTS/BSC config, this is now a no-op%s", VTY_NEWLINE);
return CMD_SUCCESS;
}