diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-11-12 12:50:23 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-11-18 20:29:40 +0000 |
commit | eebb6a4216f136132400831ca35ed70e7502e92a (patch) | |
tree | 0b987086e93e19d08360cd4d647af4f15d11688f /src/common/vty.c | |
parent | e5f4654ee34c5a346a0b85805c706115464e96e1 (diff) |
bts: Allocate TRX for BTS dynamically, deprecate -t
No need to pass -t num_trx anymore to specify number of TRX to use. It
is calculated based on dynamic allocation from VTY config.
Using parameter -t is flagged as deprecated and is transformed into a
NOOP por backward compatibility.
As a result, TRX now are allocated after the BTS is allocated and
initial config (pre-VTY) is applied.
A new function bts_trx_init() is added, to set default config on each
TRX during allocation and before setting VTY config on it.
A new per BTS model function bts_model_trx_init() is added, to allow
per model specific default configuration of each TRX.
Change-Id: Iab1a754ab12a626759f9f90aa66f87bdce65ac9c
Diffstat (limited to 'src/common/vty.c')
-rw-r--r-- | src/common/vty.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/common/vty.c b/src/common/vty.c index f918f576..f3054139 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -227,12 +227,22 @@ DEFUN(cfg_bts_trx, cfg_bts_trx_cmd, struct gsm_bts *bts = vty->index; struct gsm_bts_trx *trx; - trx = gsm_bts_trx_num(bts, trx_nr); + + if (trx_nr > bts->num_trx) { + vty_out(vty, "%% The next unused TRX number is %u%s", + bts->num_trx, VTY_NEWLINE); + return CMD_WARNING; + } else if (trx_nr == bts->num_trx) { + /* allocate a new one */ + trx = gsm_bts_trx_alloc(bts); + if (trx) + bts_trx_init(trx); + } else + trx = gsm_bts_trx_num(bts, trx_nr); + if (!trx) { - vty_out(vty, "Unknown TRX %u. Available TRX are: 0..%u%s", - trx_nr, bts->num_trx - 1, VTY_NEWLINE); - vty_out(vty, "Hint: Check if commandline option -t matches the" - "number of available transceivers!%s", VTY_NEWLINE); + vty_out(vty, "%% Unable to allocate TRX %u%s", + trx_nr, VTY_NEWLINE); return CMD_WARNING; } |