This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has submitted this change and it was merged. Change subject: bsc_vty: Factor vty_get_ts() out of pdch_act_cmd() ...................................................................... bsc_vty: Factor vty_get_ts() out of pdch_act_cmd() Resolving a timeslot based on its numeric identities is a generally useful function, so lets' factor that out. Change-Id: Id2570232f82542487a1133be7efb1dc1eb3029a8 --- M openbsc/src/libbsc/bsc_vty.c 1 file changed, 26 insertions(+), 14 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c index 2c7b6c0..6c6b4bc 100644 --- a/openbsc/src/libbsc/bsc_vty.c +++ b/openbsc/src/libbsc/bsc_vty.c @@ -3851,6 +3851,29 @@ return CMD_SUCCESS; } +/* resolve a gsm_bts_trx_ts basd on the given numeric identifiers */ +struct gsm_bts_trx_ts *vty_get_ts(struct vty *vty, int bts_nr, int trx_nr, int ts_nr, int ss_nr) +{ + struct gsm_bts *bts; + struct gsm_bts_trx *trx; + struct gsm_bts_trx_ts *ts; + + bts = gsm_bts_num(gsmnet_from_vty(vty), bts_nr); + if (!bts) { + vty_out(vty, "%% No such BTS (%d)%s", bts_nr, VTY_NEWLINE); + return NULL; + } + + trx = gsm_bts_trx_num(bts, trx_nr); + if (!trx) { + vty_out(vty, "%% No such TRX (%d)%s", trx_nr, VTY_NEWLINE); + return NULL; + } + + ts = &trx->ts[ts_nr]; + + return ts; +} DEFUN(pdch_act, pdch_act_cmd, "bts <0-255> trx <0-255> timeslot <0-7> pdch (activate|deactivate)", @@ -3859,33 +3882,22 @@ "Activate Dynamic PDCH/TCH (-> PDCH mode)\n" "Deactivate Dynamic PDCH/TCH (-> TCH mode)\n") { - struct gsm_bts *bts; - struct gsm_bts_trx *trx; struct gsm_bts_trx_ts *ts; int bts_nr = atoi(argv[0]); int trx_nr = atoi(argv[1]); int ts_nr = atoi(argv[2]); int activate; - bts = gsm_bts_num(gsmnet_from_vty(vty), bts_nr); - if (!bts) { - vty_out(vty, "%% No such BTS (%d)%s", bts_nr, VTY_NEWLINE); + ts = vty_get_ts(vty, bts_nr, trx_nr, ts_nr, 0); + if (!ts) return CMD_WARNING; - } - if (!is_ipaccess_bts(bts)) { + if (!is_ipaccess_bts(ts->trx->bts)) { vty_out(vty, "%% This command only works for ipaccess BTS%s", VTY_NEWLINE); return CMD_WARNING; } - trx = gsm_bts_trx_num(bts, trx_nr); - if (!trx) { - vty_out(vty, "%% No such TRX (%d)%s", trx_nr, VTY_NEWLINE); - return CMD_WARNING; - } - - ts = &trx->ts[ts_nr]; if (ts->pchan != GSM_PCHAN_TCH_F_PDCH) { vty_out(vty, "%% Timeslot %u is not in dynamic TCH_F/PDCH " "mode%s", ts_nr, VTY_NEWLINE); -- To view, visit https://gerrit.osmocom.org/2758 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: Id2570232f82542487a1133be7efb1dc1eb3029a8 Gerrit-PatchSet: 1 Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder