summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* timer_test: redirect some output from stderr to stdoutNeels Hofmeyr2016-09-222-20/+24
| | | | | | This way we can check the output in timer_test.ok. Change-Id: Ia3bba1c650be3558d370e0f59d4ee7f36ef97506
* timer_test: remove all random elementsNeels Hofmeyr2016-09-221-3/+6
| | | | Change-Id: I9833031407e99f5d7a1144c26b68a7e320b2020d
* timer_test: do not use real time: deterministic and fasterNeels Hofmeyr2016-09-221-20/+15
| | | | | | | | | | | | | | | Use osmo_gettimeofday_override* to decouple the timer test from real time. No longer call osmo_select_main(), since select() actually waits for real time. This reduces the timer_test to the osmo_timer_* logic and excludes the real time and osmo_timers_nearest() accuracy testing with actual waiting involved. This may be seen as a loss, but is more fit for a test suite. The main point here is to get deterministic results in jenkins, so that we don't have to retrigger jobs based on timing failures; added bonus is that the test runs much faster now. Change-Id: Ic5649512df86dd17070daa2f314159eafaf8feb8
* add osmo_gettimeofday as a shim around gettimeofdayNeels Hofmeyr2016-09-2210-17/+87
| | | | | | | This allows feeding a custom time for unit tests by overriding osmo_gettimeofday. Change-Id: Ic7a81a6eb51f27fe452962b91f2eae2070d87089
* timer_test: remove unused precision values and confusing logNeels Hofmeyr2016-09-222-8/+2
| | | | Change-Id: I1570b7096c757d63d23e0950feeeb7230f8a5c9f
* timer_test: also report early finishes, report timing on errorNeels Hofmeyr2016-09-222-5/+19
| | | | | | | | When a timer was late, show the timing details. Also count whether timers fired early, for completeness' sake. Change-Id: Id3942637d77a28b5092ffffcc3e6d9d67c2b8e68
* fix timer_test: don't forget to set tv_usec on the stop timeNeels Hofmeyr2016-09-221-0/+1
| | | | | | | | | | The timer_test schedules timers and records the desired stop time. Also store the usec value of the desired stop time, because scheduling at e.g. sec N usec 999999 but recording sec N usec 0, and then receiving a timer at sec N+1 usec 0 is only 1 usec late, but records as 1000000 usecs late. This might have been the main cause of the timer test not working well on the osmocom build server. Change-Id: I13bb60f7d341a397f95d13d9c63c40188b6cd5a0
* remove unused local variable in get_rate_ctr()Neels Hofmeyr2016-09-191-1/+1
| | | | | | | Unused after 22886d9e320ecf734d2827d825a191b977f70d2c "Fix retrieving rate_ctr over control interface" Change-Id: Ib5411da80c4eb4f905a5ed87c60477eca2cdff42
* remove unused function get_rate_ctr_group()Neels Hofmeyr2016-09-191-37/+0
| | | | | | | Unused after 22886d9e320ecf734d2827d825a191b977f70d2c "Fix retrieving rate_ctr over control interface" Change-Id: I405367ef6ba5833957778a79dd398ce5ea29307e
* build: tests: don't link system installed libosmogsm.Neels Hofmeyr2016-09-101-5/+10
| | | | | | | | | | | | Add src/gsm/libosmogsm.la explicitly to some test linkages, because otherwise the linker would pick the libosmogsm already installed on the system instead of the one that was just built in the source tree. I noticed because a libosmogsm needing some more symbols from libosmocodec was still installed, while the patch that cause it was already removed. Thus I caught all(?) test binaries that linked libosmogsm from $PREFIX. Change-Id: Ie61d60e1506f16de20add70fd0f44ebfa7a00a75
* fix GGSN Ctrl port to 4257Neels Hofmeyr2016-09-092-1/+2
| | | | | | | 4253 used to collide with the sysmobts-mgr VTY port. Note, openggsn does not actually have a Ctrl interface yet. Change-Id: If0fa0e606dabd5bc89907a56ef18cdbbbdedb4b7
* comment: */ports.h: link to wiki + manuals, indicate used portsNeels Hofmeyr2016-09-092-2/+16
| | | | Change-Id: I6a7bf04e589ccfaea98f20900a9bfe9dd4808dce
* Add Marker to ph_tch_paramMax2016-09-092-1/+3
| | | | | | | | Extend struct ph_tch_param with Marker bit from RTP header to indicate speech onset in case of DTX. Change-Id: Ic664902630b9d335ff9abc7a9ca7249eaf80e05f Related: OS#1750
* libosmocodec link fix on MacOSXAnatoly Orlov2016-09-091-0/+1
| | | | | | | | | | | | | | | | Fixes the following bug: CCLD libosmocodec.la Undefined symbols for architecture x86_64: "_bitvec_get_bit_pos", referenced from: _osmo_fr_check_sid in gsm610.o "_bitvec_get_uint", referenced from: _osmo_hr_check_sid in gsm620.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [libosmocodec.la] Error 1 Change-Id: Id7358b94e274b529a8da38a0b2ef8c892b6dd7a5
* fix error msg: msgb_put(): say "msgb_put", not "msgb_push"Neels Hofmeyr2016-09-091-1/+1
| | | | Change-Id: I72f31ebad693f98eb088a99b83aeb10cf9acc29e
* core/counter: add osmo_counter_dec()Alexander Couzens2016-08-301-0/+6
| | | | Change-Id: I030140a45afa295c3ebc4d3ccaffd437b984f515
* IuPS: add GMM Service Request related constants and value_strNeels Hofmeyr2016-08-293-0/+28
| | | | Change-Id: Ie023fc78099932f95cc8f1b3a04fe25dfd14bc35
* fix printf format for commit 'osmo_sock_init(): include host and port in ↵Neels Hofmeyr2016-08-291-1/+1
| | | | | | | error messages' Related: CID#143566 Change-Id: I75c542089749a0875d3d1913151fe838d7722ff2
* osmo_sock_init(): include host and port in error messagesNeels Hofmeyr2016-08-271-5/+16
| | | | | | | | | | | For programs like osmo-hnbgw with numerous sockets, the message that some unspecified connection was refused is not very helpful. Also output the host and port where an error occured. Instead of perror, use fprintf(stderr, ..., strerror()) to be able to include a format string and print host and port as passed to osmo_sock_init(). Change-Id: I8d0343f51310699b78fcb83fd76fd93764acf3dc
* vty: use VTY_BIND_ADDR_DEFAULT instead of "127.0.0.1"Neels Hofmeyr2016-08-201-1/+1
| | | | Change-Id: Ice0688ac9847524cb546f6d41547090b6a3cb3d8
* configure: check for pkg-config presenceNeels Hofmeyr2016-08-091-0/+15
| | | | | | | | | | | On a fresh installation, I was puzzled by a configure.ac 'syntax error' for PKG_CHECK_MODULES(TALLOC). It took me some time to figure out that merely pkg-config was missing. Add a check for pkg-config, which isn't as straightforward as I would wish, so comment generously. Change-Id: I2e7cdc37eb59f9947a45fbc5baddbaf71b655bc0
* Add control interface port for GGSNMax2016-08-081-0/+1
| | | | | Change-Id: Ie7232189fe3265a8631fd3652b2c8c152cdee918 Related: OS#1646
* Add .mailmap file for mapping mail addresses in shortlogHarald Welte2016-08-081-0/+12
| | | | Change-Id: Id6b42bb9ab10f46b76b26057c8228e5da480286d
* Extend L1SAP with MeasurementsMax2016-08-042-1/+5
| | | | | | | | We already have RSSI parameter in PH-DATA. Add other measurement information (BER, BTO, Link Quality). Change-Id: I2b127eb1856c4cd1bc46490a89592a595f1ee86b Related: OS#1616
* fsm: Make sure we call 'onenter' of new state, not old stateHarald Welte2016-08-011-0/+1
| | | | Change-Id: I1a0181c25d9debe935e86d97ddffc24675e56a5f
* lapd_core: Fix crash in lapd_dl_flush_hist()Harald Welte2016-08-011-1/+1
| | | | | | | | When lapd_dl_flush_hist() was called before we actually had started a transmit history from lapd_dl_init(), we woul segfault before this patch. Change-Id: Ifa677c9b335dd2884b4f3e44699d901957a0500b
* Mark input string to osmo_talloc_replace_string() as constHarald Welte2016-07-281-1/+1
| | | | | | | This allows us to pass in strings that are 'const', which for the source of a copy should be the normal/regular case anyway. Change-Id: Icee6a5f88babd3a4e30bf0886f0f8d3b865d80ce
* egprs: Add CPS tables from TS 04.60Tom Tsou2016-07-255-1/+137
| | | | | | | | Includes EGPRS coding and puncturing scheme (CPS) tables from 3GPP TS 04.60. Currently osmo-bts-trx is the only user of CPS table values, but this may change with gprsdecode and other utilities. Change-Id: I09fe6514a0e2e51bb3206f8387633f7e0255345f
* Update structure in libosmocore for 11 bit RACHbhargava2016-07-241-1/+11
| | | | | | | | Parameters are added to the structure ph_rach_ind_param to differentiate the type of RACH received from Layer 1. This is to further support the 11 bit RACH. Change-Id: Ic4f0f2424a3af7599d986044be25ea4fcc0ca477
* Add define for invalid TAMax2016-07-231-0/+2
| | | | | | | | Add GSM48_TA_INVALID which is invalid Timing Advance value according to 3GPP TS 44.018 § 10.5.2.40. Change-Id: I061760ccac656f39164562a7883f8ab522cd0911 Related: OS#1526
* rsl: add rsl_act_type_name()Neels Hofmeyr2016-07-233-0/+22
| | | | Change-Id: Ie90c76d8aef42d5e2c9be94f4b206d4994e305f8
* dyn TS: add definitions for dynamic TCH/F_TCH/H_PDCHNeels Hofmeyr2016-07-234-0/+6
| | | | | | | | | | | Add: * GSM_PCHAN_TCH_F_TCH_H_PDCH * NM_CHANC_OSMO_TCHFull_TCHHalf_PDCH * RSL_CHAN_OSMO_PDCH * RSL_ACT_OSMO_PDCH Related: OS#1776 Change-Id: Ib1a8b11f37af4686d00ac88beba38557aa29edc2
* gsm_08_58.h: introduce RSL_CHAN_NR_1 constantNeels Hofmeyr2016-07-231-0/+1
| | | | | | | | | | | Using the RSL_CHAN_* constants, we sometimes need to add 1 to the chan bits to indicate e.g. the second TCH/H channel. RSL_CHAN_NR_1 marks this lowest channel bit that needs to be added. The name is analogous to RSL_CHAN_NR_MASK. Change-Id: Iea06432039d1cd23cc6b5acec308bb829b596d47
* fix compiler warning: gsup.c: missing bracesNeels Hofmeyr2016-07-171-1/+1
| | | | | | | osmo_auth_vector's first member is an array, so for a zero initializer, we should add a second set of array braces. Change-Id: Iace448caca8152e46244f26c3af250f2035c99eb
* bitvec: Force inlining of bitvec_set_bit_pos/bitvec_set_bitHolger Hans Peter Freyther2016-07-161-2/+2
| | | | | | | | | | | | | | The PCU is using bitvec_write_field a lot but on the arm-poky-linux-gnueabi-gcc v4.8.1 the calls to set_bit and set_bit_pos are not inlined. The inlined variant has been a more quick for the PCU compressed bitmap decompression testcase. Used objdump -d to look at the bitvec_write_field before and after the change. The branch to bitvec_set_bit is gone and a inlined version has been used. Change-Id: I0b6b90610f4c17f02e4efa064c3bf1ac2dccb22a
* Add function to check TA validityMax2016-07-161-0/+10
| | | | | | | | Check if given Timing Advance is valid according to 3GPP TS 44.018 § 10.5.2.40. Change-Id: I5cb6149d6e36fda8cb3f557e4d6d3a724da805a5 Related: OS#1545
* ussd: Decode interrogateSS that doesn't have testHolger Hans Peter Freyther2016-07-122-0/+13
| | | | | | | | | | | | Keith of Rhizomatica has an issue of a unrejected interrogateSS. Start with just decoding the message and printing the empty test and the code. What is kind of missing is the classification between invoke, returnResult and returnResultLast that we need to add in the long run. Change-Id: Iadfa156707a96f2a34f3948c7cc9a74435f17114
* Add EGPRS RLC/MAC headers from 3GPP TS 04.60Tom Tsou2016-07-122-0/+209
| | | | | | For shared use by osmo-pcu and osmo-bts-trx. Change-Id: I500cdc87cd30faf36c8cd92d234642f809c8f2aa
* Add GEA3 & GEA4 ciphersMax2016-07-1111-5/+225
| | | | | | | | | | | Corresponding test code include both official test vectors from the specs and data from over-the-air tests. This obsoletes libosmo-crypt-a53 as it was last missing piece unimplemented in libosmogsm. Change-Id: I939e4f6b91b4a7c591ef3761fe2d46ed1c2fb2d3 Related: OS#1582
* fsm: delete the timer when changing stateHarald Welte2016-07-101-0/+3
| | | | | | | In osmo_fsm_inst_state_chg(), we need to stop any not-yet-expired timer of the old state before transitioning into the new state. Change-Id: I2558f9a7027a877ea8263785ed3c8d70d2513996
* fsm: talloc + copy the 'id' passed into a FSMHarald Welte2016-07-101-1/+2
| | | | | | | | | | The 'id' is used to generate the human-readable name of the FSM. However, when the FSM creates slave FSMs later, the caller-passed "ID" mgiht long be gone again (e.g. it was on stack memory). So let's copy the 'id' string to a chunk of dynamically-allocated memory at time of FSM start to ensure we have it later when creating child FSMs. Change-Id: Ib88a2c02c5c91f17b4ec1e9db57a06d6d66465fb
* fsm: call 'onenter' as last step of a state changeHarald Welte2016-07-101-3/+4
| | | | | | | This is useful to allow the user to terinate the fsm from the onenter() callback. Change-Id: Ia45a1f3279e702028250e10dc54b2d46a4039905
* Add strings with GPRS GMM messagesMax2016-07-083-0/+26
| | | | | Change-Id: I48477b733e2da72f59349c00554dd3e080c9f445 Related: OS#1582
* Add function to check GMM encryptabilityMax2016-07-073-1/+28
| | | | | | | | Check if particular GMM message can be encrypted according to 3GPP TS 24.008 § 4.7.1.2 Related: OS#1582 Change-Id: I7ad0e03c2c738d174dd6bc3453f332eeb8da1e7d
* gitignore tests/fsm/fsm_testNeels Hofmeyr2016-07-071-0/+1
| | | | | | was added in 136e73764e7f58e52ffb13d01304fef30eb7d291 Change-Id: I0f344cc459626f71316f99341f79b5f0479ad82c
* Add missing osmo_c4 exportMax2016-07-071-0/+1
| | | | | Change-Id: Iaf53b31b4fa3860301054e970907ada061360b28 Related: OS#1741
* lapd_dl_flush_hist(): Don't flush a non-existant historyHarald Welte2016-07-031-0/+3
| | | | | | | | | | | If lapd_dl_flush_hist() is called after lapd_dl_exit(), dl->tx_hist has already been free'd and set to NULL. Check for this before attempting to de-reference a NULL pointer. This bug breaks OpenBSC with any E1 based BTSs using DAHDI. Change-Id: I117ba3445fa5e8097e21c11c5a6337de6ba46c7d Related: OS#1760
* Clarify GPRS algorithmMax2016-06-291-5/+6
| | | | | | | | Add spec reference and set explicit values for enum representing ciphering algorithm for GPRS encryption. Change-Id: Ia9ee429b73a37d52599fce70778cfe87b767411c Related: OS#1582
* Clarify GPRS ciphering directionMax2016-06-291-2/+3
| | | | | | | | Add spec reference and set explicit values for enum representing direction parameter for GPRS encryption. Change-Id: Iaf1b13da2e889d55cc9dd7516710104dba48c992 Related: OS#1582
* tests: test actual support status for auth. algoMax2016-06-294-4/+10
| | | | | | | Check if library actually support Milenage, COMP128 v2 and v3 algorithms instead of just printing enum values or nothing. Change-Id: I2b98481f56a8381058d4b29db5e8a36eb193eee9