Hi Harald,
On Sat, Apr 9, 2016 at 1:25 PM, Harald Welte laforge@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.