aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils
AgeCommit message (Collapse)AuthorFilesLines
2022-04-27utils/meas_pcap2db: fix -Wpointer-sign in pcap_cb()Vadim Yanitskiy1-1/+1
When building with CFLAGS="-flto -Wall", I get the following: meas_pcap2db.c: In function ‘pcap_cb’: meas_pcap2db.c:64:27: warning: pointer targets in initialization of ‘const char *’ from ‘const u_char *’ {aka ‘const unsigned char *’} differ in signedness [-Wpointer-sign] 64 | const char *cur = bytes; Change-Id: I84d8e6f290bda0f03476f182f292ecc7a9e520f2
2022-04-27utils/meas_db: fix -Wunused-variable warningsVadim Yanitskiy1-4/+1
When building with CFLAGS="-flto -Wall", I get the following: meas_db.c: In function ‘_insert_ud’: meas_db.c:62:23: warning: unused variable ‘rowid’ [-Wunused-variable] 62 | unsigned long rowid; meas_db.c: In function ‘meas_db_insert’: meas_db.c:89:13: warning: unused variable ‘rc’ [-Wunused-variable] 89 | int rc; meas_db.c: In function ‘check_create_tbl’: meas_db.c:260:16: warning: unused variable ‘rc’ [-Wunused-variable] 260 | int i, rc; Change-Id: Id12958f67a47b6b3ebece7252e4f7c0835d4bb96
2022-04-25Move struct gsm_bts_paging_state to paging.hPau Espin Pedrol1-0/+2
Change-Id: I8c058d308fc816828b5e6a86e7c5a1f629a2d7c4
2021-10-07Get rid of lots of stubs [4/4]Pau Espin Pedrol2-30/+0
These are not needed anymore since we re-introduced libbsc, specially to avoid all this churn. Some specific methods are explicitly required to be overwritten by tests, so we specificially mark those with __attribute__((weak)) in order to be able to overwrite them. This is the last step towards fixing interdependency mess of symbols and stubs, and requires previous patches in order to have tests apssing fine. Change-Id: Ic7401b8a6eb903882e30fda1cf091ac99a254ef0
2021-07-23Introduce libbsc to avoid linking long lists of .o filesPau Espin Pedrol1-37/+2
Every time a new file is added in osmo-bsc, it ends up being a pain because its .o file has to be included to other tests/util binaries, or stubs need to be added. Let's instead bundle all .o files together in an .la file and pass that around. Change-Id: If91dc589ea1e476da105b58846d1c3e720a439e1
2021-06-30Support proto IPAC_PROTO_EXT_PCU BSC<->PCUPau Espin Pedrol1-0/+2
Related: SYS#5303 Change-Id: I4b3919f3098b9468e5e024db1e45427af24c1ad4
2021-06-07src/utils/meas_vis.c: fix bs_power -> bs_power_dbOliver Smith1-1/+1
Fix build error: meas_vis.c:196:16: error: 'struct gsm_meas_rep' has no member named 'bs_power'; did you mean 'bs_power_db'? Output the value in the same format as before the change that introduced this regression (dB / 2). We didn't catch this regression with jenkins because meas_vis is only built if libcdk is installed. Related: OS#5173 Fixes: d9b7aedb ("change bs_power to bs_power_db") Change-Id: I9ba9b491ccbde9aa14cfb14ecc551acb2bfd7674
2021-06-05change bs_power to bs_power_dbNeels Hofmeyr2-2/+2
The RSL BS Power IE in measurement reports is encoded as dB / 2. Instead of using this coding all over the code, converting to dB and often printing confusing values in logging etc, store as plain dB. The conversions should be at the points where a "weird" format is defined: the RSL encoding needs divided-by-two, so apply it there. The meas_vis is (now unfortunately) defined as div-two, and so on. But internally we now just store the plain dB value and calculate with it without duplicating the wire decoding step everywhere. Rename to bs_power_db to clarify the unit of the stored value. Change-Id: I229db1d6bcf532af95aff56b2ad18b5ed9d81616
2020-12-04Introduce NM GPRS NSVC FSMAlexander Couzens1-0/+2
Related: OS#4870 Change-Id: I381472532c2622a8dba7c81ae00ea873c2e58ae1
2020-12-03Introduce NM GPRS CELL FSMPau Espin Pedrol1-0/+2
Related: OS#4870 Change-Id: I074f4496aa153b5f84e6ce85f413754efe64d831
2020-12-03Introduce NM GPRS NSE FSMPau Espin Pedrol1-0/+2
Related: OS#4870 Change-Id: I91a5f40324d5373eac885032295690cec97214a6
2020-12-03Store GPRS MOs directly under BTS SiteMgr objectPau Espin Pedrol1-0/+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-15Introduce Radio Channel FSMPau Espin Pedrol1-0/+2
Change-Id: Iddc008c5737afb2fddd32c628bc5278056a64d89
2020-10-15Introduce NM RadioCarrier FSMPau Espin Pedrol1-0/+2
Change-Id: Ieed61d1fb1e896db42545c2c3421b20cb41ad549
2020-10-15Introduce NM BaseBand Transceiver FSMPau Espin Pedrol1-0/+2
Change-Id: Ib4d35316c52eb4c71ea0d352a1e06fd5e600fe08
2020-10-15Introduce NM BTS FSMPau Espin Pedrol1-0/+4
Change-Id: I7756a8ce90b6cc8a502b5665889a7987d7f749cb
2020-10-15Introduce NM BTS Site Manager FSMPau Espin Pedrol1-0/+4
Change-Id: Ic001ce6ebeff6f51470ef58140b0235f4a30265e
2020-07-20rename files acc_ramp.* -> acc.c*Pau Espin Pedrol1-2/+2
With upcoming next commit, the file will contain far more code that simply ramping, so rename it to be more generic. Change-Id: I8c368ab87e264439dea4ccf556821a44664cdbb0
2020-07-18Move acc_ramp_init inside gsm_bts_allocPau Espin Pedrol1-0/+2
The function initializes the struct owned by a bts, so it makes sense to have it done there instead of somewhere else later. It was most probably put in bsc_vty when it was initially introduced because of all the data structure and object file mess I untangled during last set of patches. Change-Id: I66c4b208583e92070793183b83b3a7b7edf6ba00
2020-07-18Move gsm_bts_{trx_}set_system_infos APIs to bts{_trx}.*Pau Espin Pedrol2-0/+10
Change-Id: I2aa83b499d6e5d06a0fa1001fee3111f7e639c94
2020-07-18Move struct gsm_bts_trx: gsm-data.* => bts_trx.*Pau Espin Pedrol1-0/+3
See rant fro similar recent commit moving stuff to bts.*. Change-Id: I11758ca3d255d849d77bd068f24bb68bde1f89a5
2020-07-18Move struct gsm_bts: gsm_data.* => bts.*Pau Espin Pedrol2-0/+3
Place all code related to the object into the related file. Having all the data model in one file made sense in early stage of development to make progress quickly, but nowadays it hurts more than helps, due to constantly growing size and more and more bits being added to the model, gaining in complexity. Currently, having lots of different objects mixed up in gsm_data.h is a hole of despair, where nobody can make any sense were to properly put new stuff in, ending up with functions related to same object in different files or with wrong prefixes, declarations of non-existing functions, etc. because people cannot make up their mind on strict relation to objects in the data model. Splitting them in files really helps finding code operating on a specific object and helping with logically splitting in the future. Change-Id: I00c15f5285b5c1a0109279b7ab192d5467a04ece
2020-07-15Use OSMO_FD_* instead of deprecated BSC_FD_*Pau Espin Pedrol3-3/+3
New define is available since libosmocore 1.1.0, and we already require 1.3.0, so no need to update dependenices. Let's change it to avoid people re-using old BSC_FD_* symbols when copy-pasting somewhere else. Change-Id: Ia5a656567d212fa265aef1375d714d0c5fee5dd6
2020-06-21bs11_config: Print "Not Equipped" for MBCCU (TRX) that don't existHarald Welte1-0/+1
Particularly on BS-11 with only one TRX installed, this will improve the output of bs11_config from PHASE: 2 Load MBCCU MBCCU0: Load BTSDRX MBCCU1: unknown 0x8 Abis-link: Down to Change-Id: I10a77315d537681985f8390b838a4cabfb7d27f3 PHASE: 2 Load MBCCU MBCCU0: Load BTSDRX MBCCU1: Not equipped Abis-link: Down
2020-03-29Meas Tools, Avoid compiler format warningsKeith1-3/+3
Change-Id: I8d807ffc4571f2954e3d1083da673dc1235e7687
2020-03-29Meas Tools: Avoid unusable terminal in case of error on osmo_sock_initKeith1-5/+4
If, as before this patch we call initCDKScreen() before attempting to bind the socket, then the socket bind fails, we exit and the terminal needs a reset. Attempt to open the socket before initCDKScreen() so we don't end up with a messed up terminal if the socket call fails. Change-Id: Ia5148d9ef386df314bc2837b3cb672150250bd2a
2020-03-28Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging.Keith2-0/+29
The measurement tools use libosmocore socket functions that will use logging if the socket cannot be opened, but the tools did not initialise logging, resulting in Assert failed osmo_log_info logging.c:235 backtrace() returned 9 addresses [.....] Initialise logging so that we get a nicer and more informative message, such as: unable to bind socket:(null):8888: Address already in use no suitable addr found for: (null):8888 Change-Id: Ib3b3558723682defcee22e7ea2d8bf5c2cff1278
2019-12-03exit(2) on unsupported positional arguments on command lineHarald Welte1-0/+4
Change-Id: I3b8781e220326387f1c437c39aff8661326f1e0a
2019-11-20bsc: Send MS Power Control msg upon max MS power changePau Espin Pedrol2-0/+2
Lots of times, the MS power class is unknown until after the first channel has been activated, at which point the MS power class is received in messages such as LU update or CM Service Requet. Since the MS Power level is sent upon CHAN ACT, the only way to communicate the change of maximum MS Power (based on MS power class) after CHAN ACT is to send a MS Power Control msg. Let's do that. Related: OS#4244 Change-Id: I3d6b75578e5cb9b2ad474a0ad01362d846ebe135
2019-11-19cosmetic: bs11_config: clean trailing whitespacePau Espin Pedrol1-4/+4
Change-Id: I55f478c753c38baa576abc6ba53c4f6c9cbe61c0
2019-04-23use libosmocore osmo_tdefNeels Hofmeyr1-2/+0
Move the T_defs API to libosmocore as osmo_tdefs: remove the local T_defs API and use libosmocore's osmo_tdef* API instead. The root reason is moving the mgw_endpoint_fsm to libosmo-mgcp-client to be able to use it in osmo-msc for inter-MSC handover. When adding osmo_tdef, the new concept of timer groups was added to the API. It would make sense to apply group names here as well, but do not modify the VTY configuration for timers. The future might bring separate groups (or not). Depends: Ibd6b1ed7f1bd6e1f2e0fde53352055a4468f23e5 (libosmocore) Change-Id: I66674a5d8403d820038762888c846bae10ceac58
2019-04-17Change comments/strings from OpenBSC to OsmoBSCDaniel Willmann1-1/+1
Change-Id: I785278df411b13a701c8441fde798d4bfe79ffd1
2019-03-14src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client depsPau Espin Pedrol1-3/+0
Change-Id: I1a91d673e08c161dd6110bd16e8f52cb17be398c
2018-07-28large refactoring: use FSMs for lchans; add inter-BSC HONeels Hofmeyr4-38/+6
Add FSMs: - timeslot_fsm: handle dynamic timeslots and OML+RSL availability. - lchan_fsm: handle an individual lchan activation, RTP stream and release, signal the appropriate calling FSMs on success, failure, release. - mgw_endpoint_fsm: handle one entire endpoint with several CI. - assignment_fsm: BSSMAP Assignment Request. - handover_fsm: all of intra, inter-MO and inter-MT handover. Above FSMs absorb large parts of the gscon FSM. The gscon FSM was surpassing the maximum amount events (32), and it is more logical to treat assignment, handover and MGW procedures in separate FSMs. - Add logging macros for each FSM type: - LOG_TS() - LOG_LCHAN() - LOG_MGWEP(), LOG_CI() - LOG_ASSIGNMENT() - LOG_HO() These log with the osmo_fsm_inst where present. New style decision: logging without a final newline char is awkward, especially for gsmtap logging and when other logs interleave LOGPC() calls; we have various cases where the final \n goes missing, and also this invokes the log category checking N times instead of once. So I decided to make these macros *always* append a newline, but only if there is no final newline yet. I hope that the compiler optimizes the strlen() of the constant format strings away. Thus I can log with or without typing "\n" and always get an \n termination anyway. General: - replace osmo_timers, state enums and program-wide osmo_signal_dispatch() with dedicated FSM timeouts, states and events. - introduce a common way to handle Tnnn timers: gsm_timers.h/.c: struct T_def. These can be used (with some macro magic) to define a state's timeout once, and not make mistakes for each osmo_fsm_inst_state_chg(). Details: bsc_subscr_conn_fsm.c: - move most states of this FSM to lchan_fsm, assignment_fsm, handover_fsm and mgw_endpoint_fsm. - There is exactly one state for an ongoing Assignment, with all details handled in conn->assignment.fi. The state relies on the assignment_fsm's timeout. - There is one state for an ongoing Handover; except for an incoming Handover from a remote BSS, the gscon remains in ST_INIT until the new lchan and conn are both established. - move bssmap_add_lcls_status() to osmo_bsc_lcls.c abis_rsl.c: - move all dynamic timeslot logic away into timeslot_fsm. Only keep plain send/receive functions in abis_rsl.c - reduce some rsl functions to merely send a message, rename to "_tx_". - rsl_ipacc_mdcx(): add '_tx_' in the name; move parts that change the lchan state out into the lchan_fsm, the lchan->abis_ip.* are now set there prior to invoking this function. - move all timers and error/release handling away into various FSMs. - tweak ipa_smod_s_for_lchan() and ipa_rtp_pt_for_lchan() to not require an lchan passed, but just mode,type that they require. Rename to ipacc_speech_mode*() and ipacc_payload_type(). - add rsl_forward_layer3_info, used for inter-BSC HO MO, to just send the RR message received during BSSMAP Handover Command. - move various logging to LOG_LCHAN() in order to log with the lchan FSM instance. One drawback is that the lchan FSM is limited to one logging category, i.e. this moves some logging from DRR to DRSL. It might actually make sense to combine those categories. - lose LOGP...LOGPC logging cascades: they are bad for gsmtap logging and for performance. - handle_classmark_chg(): change logging, move cm2 len check out of the cm3 condition (I hope that's correct). - gsm48_send_ho_cmd(): split off gsm48_make_ho_cmd() which doesn't send right away, so that during inter-bsc HO we can make an RR Handover Command to send via the MSC to the remote BSS. assignment_fsm.c: - the Chan Mode Modify in case of re-using the same lchan is not implemented yet, because this was also missing in the previous implementation (OS#3357). osmo_bsc_api.c: - simplify bsc_mr_config() and move to lchan_fsm.c, the only caller; rename to lchan_mr_config(). (bsc_mr_config() used to copy the values to mr_bts_lv twice, once by member assignment and then again with a memcpy.) - During handover, we used to copy the MR config from the old lchan. Since we may handover between FR and HR, rather set the MR Config anew every time, so that FR rates are always available on FR lchans, and never on HR lchans. Depends: I03ee7ce840ecfa0b6a33358e7385528aabd4873f (libosmocore), I1f2918418c38918c5ac70acaa51a47adfca12b5e (libosmocore) Change-Id: I82e3f918295daa83274a4cf803f046979f284366
2018-07-28add gsm_timers, for Tnnn definitions usable by FSMsNeels Hofmeyr1-0/+2
Change-Id: If212fcd042051b6fa53484254223614c5b93a9c6
2018-06-07dissolve libbsc: move all to src/osmo-bsc, link .o filesNeels Hofmeyr3-6/+46
Move all of libbsc/ into osmo-bsc/, and separate/move some implementations to allow linking from utils/* and ipaccess/* without pulling in unccessary dependencies. Some utilities use gsm_network and gsm_bts structs, which already include data structures for fairly advanced uses. Move initialization that only osmo-bsc needs into new bsc_network_init() and bsc_bts_alloc_register() functions, so that the leaner tools can use the old gsm_* versions without the need to link everything (e.g. handover and lchan alloc code). In some instances, there need to be stubs if to cut off linking "just before the RSL level" and prevent dependencies from creeping in. - abis_rsl_rcvmsg(): the only program currently interpreting RSL messages is osmo-bsc, the utils are merely concerned with OML, if at all. - paging_flush_bts(): ip.access nanobts models call this when the RSL link is dropped. Only osmo-bsc actually needs to do anything there. - on_gsm_ts_init(): the mechanism to trigger timeslot initialization is related to OML, while this action to take on init would pull in RSL dependencies. utils/ and ipaccess/ each have a stubs.c file to implement these stubs. Tests implement stubs inline where required. From src/utils/, src/ipaccess/ and tests/*/, link in .o files from osmo-bsc/. In order for this to work, the osmo-bsc subdir must be built before the other source trees. (An alternative would be to include the .c files as sources, but that would re-compile them in every source tree. Not a large burden really, but unless linking .o files gives problems, let's have the quicker build.) Minor obvious cleanups creep in with this patch, I will not bother to name them individually now unless code review asks me to. Rationale: 1) libbsc has been separate to use it for osmo-nitb and osmo-bsc in the old openbsc.git. This is no longer required, and spreading over libbsc and osmo-bsc is distracting. 2) Recently, ridiculous linking requirements have made adding new functions cumbersome, because libbsc has started depending on osmo-bsc/*.c implementations: on gscon FSM and bssap functions. For example, neither bs11_config nor ipaccess-config nor bts_test need handover_cfg or BSSMAP message composition. It makes no sense to link the entire osmo-bsc to it, nor do we want to keep adding stubs to each linking realm. Change-Id: I36a586726f5818121abe54d25654819fc451d3bf
2018-03-28ctx cleanup: use non-NULL talloc ctx for osmo_init_logging2()Neels Hofmeyr1-1/+1
Fix various sanitizer complaints about memory leaks using a sanitizer build with gcc (Debian 7.3.0-12) 7.3.0. Also fix deprecation warnings on osmo_init_logging(). Depends: I216837780e9405fdaec8059c63d10699c695b360 (libosmocore) Change-Id: I970c6f8a0e36a8b63e42349dbc92baff649e5cef
2018-03-22bs11: make bs11_config build againPhilipp Maier2-0/+17
The BS-11 related tool bs11_config is currently not built due to dependancy issues added by GSCON FSM. - Re-Add bs11_config to makefile.am - Add dependencies and stubs Change-Id: I77ee8d2d36813ad98542317d003a9057c4f84e75 Related: OS#2823
2018-03-16introduce an osmo_fsm for gsm_subscriber_connectionHarald Welte1-1/+0
In the current implementation of osmo-bsc, the subscriber connection is not handled (very) statefully. However, there is some state keeping in the code that handles the mgcp connection, but there are still to much loose ends which allow odd situations to happen, which then lead severe error situations (see also closes tags at the end) This commit adds a number of improvements to fix those problems. - Use an osmo-fsm to control the gsm_subscriber_connection state and make sure that certain operations can only take place at certain states (e.g let connection oriented SCCP traffic only pass when an SCCP connection actually exists. Remove the old osmo_bsc_mgcp.c code. Use the recently developed MGCP client FSM to handle the MGCP connections. Also make sure that stuff that already works does not break. This in particular refers to the internal handover capability and the respective unit-tests. See also OS#2823, OS#2768 and OS#2898 - Fix logic to permit assignment to a signalling channel. (OS#2762) - Introduce T993210 to release lchan + subscr_conn if MSC fails to respond The GSM specs don't have an explicit timer for this, so let's introdcue a custom timer (hence starting with 99). This timeout catches the following situation: * we send a SCCP CR with COMPL_L3_INFO from the MS to the MSC, * the MSC doesn't respond (e.g. SCCP routing failure, program down, ...) The MS is supposed to timeout with T3210, 3220 or 3230. But the BSC shouldn't trust the MS but have some timer on its own. SCCP would have a timer T(conn est), but that one is specified to be 1-2min and hence rather long. See also: OS#2775 - Terminate bsc_subscr_conn_fsm on SCCP N-DISC.ind from MSC If the MSC is disconnecting the SCCP channel, we must terminate the FSM which in turn will release all lchan's and other state. This makes TC_chan_rel_hard_rlsd pass, see also OS#2731 As a side-effect, this fixes TC_chan_act_ack_est_ind_refused(), where the MSC is answering with CREF to our CR/COMPL_L3. - Release subscriber connection on RLL RELEASE IND of SAPI0 on main DCCH The subscriber connection isn't really useful for anything after the SAPI0 main signalling link has been released. We could try to re-establish, but our best option is probably simply releasing the subscriber_conn and anything related to it. This will make TC_chan_rel_rll_rel_ind pass, see also OS#2730 This commit has been tested using the BSC_Tests TTCN3 testsuit and the following tests were passed: TC_chan_act_noreply TC_chan_act_ack_noest TC_chan_act_ack_est_ind_noreply TC_chan_act_ack_est_ind_refused TC_chan_act_nack TC_chan_exhaustion TC_ctrl TC_chan_rel_conn_fail TC_chan_rel_hard_clear TC_chan_rel_hard_rlsd TC_chan_rel_a_reset TC_rll_est_ind_inact_lchan TC_rll_est_ind_inval_sapi1 TC_rll_est_ind_inval_sapi3 TC_rll_est_ind_inval_sacch TC_assignment_cic_only TC_assignment_csd TC_assignment_ctm TC_assignment_fr_a5_0 TC_assignment_fr_a5_1_codec_missing TC_assignment_fr_a5_1 TC_assignment_fr_a5_3 TC_assignment_fr_a5_4 TC_paging_imsi_nochan TC_paging_tmsi_nochan TC_paging_tmsi_any TC_paging_tmsi_sdcch TC_paging_tmsi_tch_f TC_paging_tmsi_tch_hf TC_paging_imsi_nochan_cgi TC_paging_imsi_nochan_lac_ci TC_paging_imsi_nochan_ci TC_paging_imsi_nochan_lai TC_paging_imsi_nochan_lac TC_paging_imsi_nochan_all TC_paging_imsi_nochan_plmn_lac_rnc TC_paging_imsi_nochan_rnc TC_paging_imsi_nochan_lac_rnc TC_paging_imsi_nochan_lacs TC_paging_imsi_nochan_lacs_empty TC_paging_imsi_a_reset TC_paging_counter TC_rsl_drop_counter TC_classmark TC_unsol_ass_fail TC_unsol_ass_compl TC_unsol_ho_fail TC_err_82_short_msg TC_ho_int Authors: Harald Welte <laforge@gnumonks.org> Philipp Maier <pmaier@sysmocom.de> Neels Hofmeyr <neels@hofmeyr.de> Closes: OS#2730 Closes: OS#2731 Closes: OS#2762 Closes: OS#2768 Closes: OS#2775 Closes: OS#2823 Closes: OS#2898 Closes: OS#2936 Change-Id: I68286d26e2014048b054f39ef29c35fef420cc97
2018-03-05cosmetic: bsc_network_init(): imply default 001-01 PLMNNeels Hofmeyr1-1/+1
All callers pass mcc=1, mnc=1, so just have it as default. (Prepare for net->country_code etc to be replaced by net->plmn) Change-Id: Ic16bc0bab3f2d4721e86a1a04f9d9f988d777df2
2018-02-14drop libcommon-cs completelyNeels Hofmeyr1-1/+0
Change-Id: I07d4a48af3154ee4d904686f230a51b8b8a94ff9
2018-02-14drop libcommon completely, move remaining files to libbscNeels Hofmeyr1-2/+1
Move gsm_data.c and handover_cfg.c to libbsc, where they belong. This leaves libcommon utterly empty, drop it. Change-Id: I6178061fa30c7e1a4c22c29d3c8f508b1033569f
2018-02-14libcommon: join gsm_data_shared.* into gsm_data.*Neels Hofmeyr1-1/+0
The separation of gsm_data_shared.* from gsm_data.* historically allowed compiling parts of it into osmo-bts, which we have dropped since (osmo-bts has its own copy now). Even though gsm_data.* now becomes rather large by it, remove the legacy separation to get rid of the "shared" naming, which is no longer meaningful. A future patch might separate into meaningful smaller bits, if we get the time. Change-Id: Ie247bc492efb331871d970c56700595ad3f7e201
2018-02-14libcommon: eliminate talloc_ctx.cNeels Hofmeyr1-0/+4
Interestingly enough, talloc_ctx_init() actually had not a single caller. While dropping it, see to it that the few contexts that are actually used in osmo-bsc.git are indeed initialized in all the main scopes. Also initialize two void* ctxts as NULL explicitly, to allocate under the NULL context in case some main scope forgets to branch it off another root context. (That's bsc, fle and paging, all others actually come in from other libraries.) Change-Id: I344a3d07e146999e154824837ed95db2b9879356
2018-02-14libcommon: eliminate debug.cNeels Hofmeyr1-0/+14
Provide concise log categories for each main scope. Move the complete log categories 1:1 to osmo_bsc_main.c. In bsc_nat.c, omit obviously unused log categories. In tests, omit almost all log categories, except for those explicitly tested as the expected output. Note: should any logging occur for a log category that is omitted by accident, such will end up being logged as DLGLOBAL, so it will show up and we can fix it, and it will not get lost silently. Change-Id: Ib524e49ec211662e0dfde8161495a72aa8ad76cf
2017-12-19Remove dead code left over from NITB splitHarald Welte2-2/+1
There still is a lot of dead code that we inherited from the NITB days, let's remove more of it. libtrau will be re-introduced as part of osmo-mgw later. Change-Id: I8e0af56a158f25a4f1384d667c03eb20e72df5b8
2017-09-06move include/openbsc to include/osmocom/bscNeels Hofmeyr6-11/+11
Change-Id: I39e7b882caa98334636d19ccd104fd83d07d5055
2017-09-03configure.ac: remove smpp_mirror, which has no relation to a BSCHarald Welte2-377/+0
smpp_mirror is maintained in osmo-msc.git, so let's remove it (and the associated libsmpp34 build requirement). Change-Id: Ia7b242cc52cf261b1a5dd3c287da2868e1a2b9a8
2017-08-27utils: smpp_mirror: bounce Delivery Receipts as Delivery AcknowledgmentsPablo Neira Ayuso1-9/+8
Simple patch to test the new status-report support code, remove previous code before Delivery Acknowledgement support was in place. Use LOGL_DEBUG for logging messages here as suggested by Neels and Harald. Change-Id: I877e228d8e174430f700631edbf9955972da7892
2017-08-27utils: smpp_mirror: reflect message reference TLVPablo Neira Ayuso1-1/+23
Useful to test the delivery receipt support. This TLV contains the GSM03.40 message reference. Change-Id: I1b0abaa7e06ffe1bd2242c70813d8b70e9fa954f