<p>Neels Hofmeyr <strong>uploaded patch set #3</strong> to this change.</p><p><a href="https://gerrit.osmocom.org/9481">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">dissolve libbsc: move all to src/osmo-bsc, link .o files<br><br>Move all of libbsc/ into osmo-bsc/, and separate/move some implementations to<br>allow linking from utils/* and ipaccess/* without pulling in unccessary<br>dependencies.<br><br>Some utilities use gsm_network and gsm_bts structs, which already include data<br>structures for fairly advanced uses. Move initialization that only osmo-bsc<br>needs into new bsc_network_init() and bsc_bts_alloc_register() functions, so<br>that the leaner tools can use the old gsm_* versions without the need to link<br>everything (e.g. handover and lchan alloc code).<br><br>In some instances, there need to be stubs if to cut off linking "just before<br>the RSL level" and prevent dependencies from creeping in.<br>- abis_rsl_rcvmsg(): the only program currently interpreting RSL messages is<br>  osmo-bsc, the utils are merely concerned with OML, if at all.<br>- paging_flush_bts(): ip.access nanobts models call this when the RSL link is<br>  dropped. Only osmo-bsc actually needs to do anything there.<br>- on_gsm_ts_init(): the mechanism to trigger timeslot initialization is related<br>  to OML, while this action to take on init would pull in RSL dependencies.<br>utils/ and ipaccess/ each have a stubs.c file to implement these stubs. Tests<br>implement stubs inline where required.<br><br>From src/utils/, src/ipaccess/ and tests/*/, link in .o files from osmo-bsc/.<br>In order for this to work, the osmo-bsc subdir must be built before the other<br>source trees. (An alternative would be to include the .c files as sources, but<br>that would re-compile them in every source tree. Not a large burden really, but<br>unless linking .o files gives problems, let's have the quicker build.)<br><br>Minor obvious cleanups creep in with this patch, I will not bother to name them<br>individually now unless code review asks me to.<br><br>Rationale:<br><br>1) libbsc has been separate to use it for osmo-nitb and osmo-bsc in the old<br>openbsc.git. This is no longer required, and spreading over libbsc and osmo-bsc<br>is distracting.<br><br>2) Recently, ridiculous linking requirements have made adding new functions<br>cumbersome, because libbsc has started depending on osmo-bsc/*.c<br>implementations: on gscon FSM and bssap functions. For example, neither<br>bs11_config nor ipaccess-config nor bts_test need handover_cfg or BSSMAP<br>message composition. It makes no sense to link the entire osmo-bsc to it, nor<br>do we want to keep adding stubs to each linking realm.<br><br>Change-Id: I36a586726f5818121abe54d25654819fc451d3bf<br>---<br>M configure.ac<br>M include/osmocom/bsc/Makefile.am<br>M include/osmocom/bsc/bss.h<br>M include/osmocom/bsc/chan_alloc.h<br>D include/osmocom/bsc/common_bsc.h<br>M include/osmocom/bsc/gsm_data.h<br>M src/Makefile.am<br>M src/ipaccess/Makefile.am<br>M src/ipaccess/ipaccess-config.c<br>A src/ipaccess/stubs.c<br>D src/libbsc/Makefile.am<br>D src/libbsc/bsc_init.c<br>D src/libbsc/net_init.c<br>M src/osmo-bsc/Makefile.am<br>R src/osmo-bsc/a_reset.c<br>A src/osmo-bsc/abis_bs11.c<br>R src/osmo-bsc/abis_nm.c<br>R src/osmo-bsc/abis_nm_ipaccess.c<br>R src/osmo-bsc/abis_nm_vty.c<br>R src/osmo-bsc/abis_om2000.c<br>R src/osmo-bsc/abis_om2000_vty.c<br>R src/osmo-bsc/abis_rsl.c<br>R src/osmo-bsc/acc_ramp.c<br>R src/osmo-bsc/arfcn_range_encode.c<br>R src/osmo-bsc/bsc_api.c<br>R src/osmo-bsc/bsc_ctrl_commands.c<br>R src/osmo-bsc/bsc_ctrl_lookup.c<br>R src/osmo-bsc/bsc_dyn_ts.c<br>A src/osmo-bsc/bsc_init.c<br>R src/osmo-bsc/bsc_rf_ctrl.c<br>R src/osmo-bsc/bsc_rll.c<br>R src/osmo-bsc/bsc_subscr_conn_fsm.c<br>R src/osmo-bsc/bsc_subscriber.c<br>R src/osmo-bsc/bsc_vty.c<br>R src/osmo-bsc/bts_ericsson_rbs2000.c<br>R src/osmo-bsc/bts_init.c<br>R src/osmo-bsc/bts_ipaccess_nanobts.c<br>R src/osmo-bsc/bts_ipaccess_nanobts_omlattr.c<br>R src/osmo-bsc/bts_nokia_site.c<br>R src/osmo-bsc/bts_siemens_bs11.c<br>R src/osmo-bsc/bts_sysmobts.c<br>R src/osmo-bsc/bts_unknown.c<br>R src/osmo-bsc/chan_alloc.c<br>R src/osmo-bsc/e1_config.c<br>R src/osmo-bsc/gsm_04_08_utils.c<br>R src/osmo-bsc/gsm_04_80_utils.c<br>R src/osmo-bsc/gsm_data.c<br>R src/osmo-bsc/handover_cfg.c<br>R src/osmo-bsc/handover_decision.c<br>R src/osmo-bsc/handover_decision_2.c<br>R src/osmo-bsc/handover_logic.c<br>R src/osmo-bsc/handover_vty.c<br>R src/osmo-bsc/meas_feed.c<br>R src/osmo-bsc/meas_rep.c<br>A src/osmo-bsc/net_init.c<br>R src/osmo-bsc/osmo_bsc_lcls.c<br>M src/osmo-bsc/osmo_bsc_main.c<br>R src/osmo-bsc/paging.c<br>R src/osmo-bsc/pcu_sock.c<br>R src/osmo-bsc/penalty_timers.c<br>R src/osmo-bsc/rest_octets.c<br>R src/osmo-bsc/system_information.c<br>M src/utils/Makefile.am<br>M src/utils/bs11_config.c<br>A src/utils/stubs.c<br>M tests/abis/Makefile.am<br>M tests/abis/abis_test.c<br>M tests/bsc/Makefile.am<br>M tests/bsc/bsc_test.c<br>M tests/gsm0408/Makefile.am<br>M tests/gsm0408/gsm0408_test.c<br>M tests/handover/Makefile.am<br>M tests/handover/handover_test.c<br>M tests/nanobts_omlattr/Makefile.am<br>M tests/nanobts_omlattr/nanobts_omlattr_test.c<br>M tests/subscr/Makefile.am<br>76 files changed, 1,060 insertions(+), 906 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/81/9481/3</pre><p>To view, visit <a href="https://gerrit.osmocom.org/9481">change 9481</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/9481"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bsc </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newpatchset </div>
<div style="display:none"> Gerrit-Change-Id: I36a586726f5818121abe54d25654819fc451d3bf </div>
<div style="display:none"> Gerrit-Change-Number: 9481 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>