Hi Harald,
On Sat, Apr 9, 2016 at 1:25 PM, Harald Welte <laforge(a)gnumonks.org> wrote:
On Sat, Apr 09, 2016 at 10:49:41AM +0200, Harald Welte
wrote:
Solution:
* OML initialization (the most complex part of Abis) needs to be
more properly handled. No part of the code should do something like
dynamically sending software activation reports at runtime. In
osm-bts-trx, every time 'transceiver_available' goes from 0->1 (which
apparently can happen even after start), a software activation report
is sent to the BSC. This is wrong. The software is only activated
once during boot, and it is activated not before the parent MOs for
BTS and Site Manager are enabled.
If we or someone else is to fix this - do you have a suggestion on the
best way to do that? E.g. should relevant state checks be added into
oml_* functions, or should the whole OML part rewritten as a proper
state machine. I'm trying to understand how much effort is required to
fix this once and for all.
Unrelated to that, osmo-bts-trx desparately needs to
avoid the use of
global variables. Each gsm_bts_trx / gsm_bts / phy_link / phy_instance
has private data store for implementation-specific state. global
variables have always been discouraged.
Is there something where use of global variable in osmo-bts is a real
issue? I completely agree that using global variables is a punishable
practice, but the question for me is what is the impact of it in this
specific case and is there any immediate benefits from getting this
fixed. That would greatly help us justify the effort to clean it up.
--
Regards,
Alexander Chemeris.
CEO, Fairwaves, Inc.
https://fairwaves.co