aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bsc/nm_bts_fsm.c
AgeCommit message (Collapse)AuthorFilesLines
2023-01-03bts: ipa/osmo-bts/sysmobts: MO: add support for the second NSVCAlexander Couzens1-2/+5
The second NSVC MO has been explicit skipped and never been interacted with. osmo-bts is already supporting it for a long time as well the PCU is supporting it at least since the NS2 code migration. Fixes the ttcn3 test case BTS_Tests.TC_pcu_socket_two_nsvc. Closes: OS#5835 Change-Id: I3486a7cc9a424602b73f8adc2fefce169213e46b
2022-11-15Add BTS setup ramping to prevent BSC overloadingAlexander Couzens1-3/+16
Prevent BSC overloading in the event of too many BTS try to connect. E.g. a network outage between the BSC and BTS. The BSC will accept incoming OML connection, but will delay sending any BSC originated messages. Change-Id: Id56dde6d58f3d0d20352f6c306598d2cccc6345d
2022-06-02nm_*_fsm: Remove comment no longer applyingPau Espin Pedrol1-2/+0
Since b7ef6884f91db7ffe7add51766abc311c9e7d05e, the state is updated before triggering the signal S_NM_STATECHG, so the warning does no longer hold true. Change-Id: I7b7dd30b4fcdc92febca42e3e6a75e6f98e184ff
2022-05-06nm_statechg_signal_data: Convert state ptr to dataPau Espin Pedrol1-4/+4
There's no need to use pointers there, it is only asking for errors from code handling the data structe from the signal by attempting to change them. Even for mem size point of view it doesn't make sense, since it's 3 byte vs a 4 byte pointer. Furthermore, this is a preparation for new commit, where the NM object current state will be updated before emitting the signal. This patch eases a lot the follow up mentioned patch. Change-Id: I9b648dfd8392b7b40bfe2b38f3345017481f5129
2022-05-05constify state pointers of struct gsm_nm_statePau Espin Pedrol1-5/+5
This makes sure code accessing those fields is not changing its values, since it would make no sense to change those. Follow up commit will make convert those pointers to be full structs instead, as there's no need to have pointers there. Change-Id: I9979e62eac861e25bbe2161ab187ddb2b40fd097
2022-05-05cosmetic: Fix open brace in same line as func definitionPau Espin Pedrol1-1/+2
Change-Id: Ibde106ea9ae1aea2b7f8fc6d9ed80eb79579b9e0
2022-04-25Rename functions generating OML SetAttr messagesPau Espin Pedrol1-1/+1
Its name is totally misleading, since they seem to be related to GetAttributes messages rather than SetAttributes. Change-Id: I306cb407dbd9b98e301b5d93046bdadcb466b82b
2022-01-17nm_bts_fsm: fix sourcecode formattingPhilipp Maier1-9/+9
Change-Id: If7db7f5611e0ebf69d66b135515c0a08c6edfb11
2021-07-16separate 'interference-meas level-bounds' cfg and usedNeels Hofmeyr1-0/+3
The VTY defun already indicates BSC_VTY_ATTR_RESTART_ABIS_OML_LINK correctly, but so far we would immediately start using the new values internally, and wrongly interpret interference levels. Fix that. Have bts->interf_meas_params twice: interf_meas_params_cfg for the VTY configured values, and interf_meas_params_used for the values that the BTS actually knows about, after they were sent via OML. In a running BSC, when changing the interference level boundaries on the telnet VTY, the BTS is not immediately told about the change. That would require a BTS restart. Hence store the cfg values separately in interf_meas_params_cfg. For comparing/printing interference levels in a running BTS, only employ the values that were actually sent via OML and placed in interf_meas_params_used. Related: SYS#5313 Change-Id: Iad8cf4151ff7f86dc0549158ed5d91d788d40b1f
2020-12-13NM FSMs: fix DISABLED_NOTINSTALLED -> DISABLED_NOTINSTALLEDVadim Yanitskiy1-1/+2
This state transaction does not make sense, let's avoid it. Change-Id: I24a78905bb684f8501dc5ade0605662ec283febc Related: OS#4901
2020-12-04oml: Delay configuring NSVC until BTS features are negotiatedPau Espin Pedrol1-6/+17
This is needed in order to to proper feature support verification for IPv6 when configuring the NSVC. Before this patch, there could be a race condition where NSVC FSM checked for BTS feature BTS_FEAT_IPV6_NSVC before it was negotiated through BTS Get Attributes (Ack). Fixes: OS#4870 Change-Id: I7c207eee0e331995ae04acec014fbd13d4d16280
2020-12-04Handle BTS/BBTRANSC Get Attributes (Ack) in NM FSMsPau Espin Pedrol1-7/+36
Before this patch, Get Attributes was sent quicklyafter the OML link became up, even if the BTS/BB_TRANSC objects were still powered off, which is wrong since attributes should only be available after the objects transition out of the Power off state. Furthermore, information about get attr response already received will be required in future patches to delay NSVC setting. Related: OS#4870 Change-Id: I8ec39c7e1f956ffce9aecd58a5590c43200ba086
2020-12-03Store GPRS MOs directly under BTS SiteMgr objectPau Espin Pedrol1-2/+2
The only real 1-1 relationship between BTS NM objects is the one between GPRS Cell and BTS (which is actually a BTS cell). In our current osmo-bts implementation we don't care much since we only handle 1-cell BTSses, but let's make the data structure organization more generic. Implementation notes: The gsm_bts_sm is moved to its own file, APIs to allocate are added and the new public object is hooked correctly in the allocation process of osmo-bsc. Change-Id: I06461b7784fa2a78de37383406e35beae85fbad8
2020-10-15OML: Stay compatible with older osmo-bts versionsPau Espin Pedrol1-3/+3
Older osmo-bts versions (before FSMs) tended to mimic broken behavior from nanoBTS. As so, we detect it because SiteMGr becomes Enabled by default as in nanoBTS, and hence we can manage them also by expecting no Offline state and sending Opstart (and hence finally transitting to Enabled) during Dependency state. Change-Id: Iaa036a2936f609b9b9721b2b4ad8d6deaf023f42
2020-10-15Introduce NM BTS FSMPau Espin Pedrol1-0/+353
Change-Id: I7756a8ce90b6cc8a502b5665889a7987d7f749cb