| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Previously function parameter was ignored, fsm_log_addr was always set
to false.
Change-Id: I74f06eab2dfa81dbb95e01f0b4b26448fd1b98f8
|
|
|
|
|
|
|
|
|
|
|
| |
- Add missing message types to be up to date with the
latest specification release (3GPP TS 04.18)
- Add value strings to translate RR message type identifiers
into human readable strings. (see gsm48_rr_msg_name() in
gsm48.h
Change-Id: I3ceb070bf4dc8f5a071a5d43c6aa2d4e84c2dec6
|
|
|
|
|
|
|
|
|
|
| |
rr_cause_name() is located a far of from
value_string rr_cause_names[] while other value string
functions are located right below their related value
string definitions. This commit moves rr_cause_name()
below rr_cause_names[] as it should be
Change-Id: Ie6c03a6ea02c370d8733db5ba2a709610cd70ce7
|
|
|
|
| |
Change-Id: Ie1452342f524a8b60f2babc07398a1d9c9e06aa3
|
|
|
|
| |
Change-Id: I0ea7151f4e8119a8798a9e129b951559e56b0d93
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of generating every convolutional code into a separate
file (such as conv_xcch_gen.c, conv_cs3_gen.c), it is better to
have a single file, containing all definitions, because as many
convolutional codes we add, as many entries we will have to add
into 'src/gsm/Makefile.am'. This approach increases readability
of the Makefile.am, and also makes us able to share some data
between some convolutional code definitions.
For example: xCCH, RACH, SCH, TCH/F, both CS2 and CS3 may use
the same *_state[][2] and *_output[][2] arrays within a single
file. This optimization is currently WIP.
Change-Id: Ib4e4ee5fdde38429e68e3b2fa50ec03a18f59daa
|
|
|
|
|
|
|
|
| |
add [options=header] to every table header
vty/show asciidoc: rename reference field into "Reference"
vty/show asciidoc: capilize table header field names
Change-Id: Ie991f4db77a60afb86a2a0b35c137586527f6228
|
|
|
|
| |
Change-Id: Ie0f1b3894361c58386da9defb225979fa0ee6a18
|
|
|
|
|
|
|
| |
The stats infrastructure use int64_t for values and delta. So the
statsd reporter get call with int64_t.
Change-Id: I33df86de60007a64fa853d6d3af9b609877a8fc6
|
|
|
|
|
|
|
|
|
|
|
| |
`show stats` shows (null) for osmocom_counters when
description is null.
OpenBSC> show stats
Ungrouped counters:
(null): 4
Change-Id: I553b88a6fca688924b1f2b49e8cb17e90f057bb1
|
|
|
|
|
|
|
|
|
|
| |
This fixes the conv*gen.c targets when building in a different directory
than the source tree.
Notably, building in a different dir worked when the generated sources were
already present from a previous build inside the source directory.
Change-Id: I5a9b780ad4ba607ea39854dcf7207ed05f5447bc
|
|
|
|
|
| |
Change-Id: Ic0b8d88c4f5c4d42c3f8fb754f8eabf049c9e388
Related: OS#1646
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See 04.80[1], section 3.4: the highest two bits are used as counter or ignored
and do not contribute to the SS "Miscellaneous message group". Previous mask of
0xbf included the highest bit, fix to 0x3f.
Observed a value of 0xbb that should mean 0x3b="Register" during testing of 3G
USSD requests, which seem to be the first to send a nonzero highest bit to our
code. The erratic mask of 0xbf lead to an unhandled message type of 0xbb.
[1] 3GPP TS 24.080 version 7.2.0 Release 7 / ETSI TS 124 080 V7.2.0 (2006-09)
Change-Id: I299001a9e36c16f55622a0acd5d4a55ca49d0055
|
|
|
|
|
|
|
| |
osmo_timers_check() does nothing more than counting the active timers. It is of
no use to count them when not using the return value in any way.
Change-Id: I8d35ca90a4c16d6f1c7f9793d663e5479783efed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
So far each and every main() scope creates a msgb talloc context and either
passes it to msgb_set_talloc_ctx() or sets tall_msgb_ctx directly (by defining
it extern first).
Remove some code duplication: add one central function that creates the "msgb"
talloc context for all.
Most users of msgb employ a talloc_named_const(), but osmo-bts uses a
talloc_pool() instead. Offer both ways by means of the pool_size argument, and
for both ways make sure the context is called "msgb".
Suggest that msgb users should move to this new function: deprecate
msgb_set_talloc_ctx(). To be able to do so, include core/defs.h in msgb.h.
There's a tradeoff between hiding the msgb talloc context behind API that tries
to guess all use cases versus avoiding code dup. This patch opts against code
dup and boldly assumes that all future use is covered.
Also, the new function suggests to not access tall_msgb_ctx directly, which can
be considered a style improvement.
It seems that not all main scopes that use msgb actually initialize the msgb
ctx. As a fallback for these, explicitly initialize tall_msgb_ctx to NULL.
Change-Id: I747fbbf977c4d2c868c8dead64cfc5fd86eb8d4c
|
|
|
|
|
|
|
| |
Log 'CTRL at 1.2.3.4 5678' from ctrl_interface_setup*. All callers can now drop
any extra 'CTRL at 1.2.3.4 5678' logging.
Change-Id: If449d0514e3d0cc1b346d7452194d931aa090166
|
|
|
|
|
|
|
| |
Log 'telnet at 1.2.3.4 5678' from telnet_init*. All callers can now drop any
extra 'VTY at 1.2.3.4 5678' logging.
Change-Id: I1da7b9076311d9458caea732fc0daace6533a3fd
|
|
|
|
|
|
|
| |
This allows feeding a custom time for unit tests by overriding
osmo_gettimeofday.
Change-Id: Ic7a81a6eb51f27fe452962b91f2eae2070d87089
|
|
|
|
|
|
|
| |
Unused after 22886d9e320ecf734d2827d825a191b977f70d2c
"Fix retrieving rate_ctr over control interface"
Change-Id: Ib5411da80c4eb4f905a5ed87c60477eca2cdff42
|
|
|
|
|
|
|
| |
Unused after 22886d9e320ecf734d2827d825a191b977f70d2c
"Fix retrieving rate_ctr over control interface"
Change-Id: I405367ef6ba5833957778a79dd398ce5ea29307e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ie023fc78099932f95cc8f1b3a04fe25dfd14bc35
|
|
|
|
|
|
|
| |
error messages'
Related: CID#143566
Change-Id: I75c542089749a0875d3d1913151fe838d7722ff2
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ice0688ac9847524cb546f6d41547090b6a3cb3d8
|
|
|
|
| |
Change-Id: I1a0181c25d9debe935e86d97ddffc24675e56a5f
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ie90c76d8aef42d5e2c9be94f4b206d4994e305f8
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This is useful to allow the user to terinate the fsm from the onenter()
callback.
Change-Id: Ia45a1f3279e702028250e10dc54b2d46a4039905
|
|
|
|
|
| |
Change-Id: I48477b733e2da72f59349c00554dd3e080c9f445
Related: OS#1582
|
|
|
|
|
|
|
|
| |
Check if particular GMM message can be encrypted according to 3GPP TS
24.008 § 4.7.1.2
Related: OS#1582
Change-Id: I7ad0e03c2c738d174dd6bc3453f332eeb8da1e7d
|
|
|
|
|
| |
Change-Id: Iaf53b31b4fa3860301054e970907ada061360b28
Related: OS#1741
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Add function which parses MS network capability IE value for bits
indicating support for particular version of GEA.
Change-Id: I785cef37dd272a2fab9b172f6e1392f865174e9a
Relates: OS#1582
|
|
|
|
|
|
|
|
|
| |
This function perform 64 -> 128 bit key expansion which useful for
converting between UMTS CK and GSM Kc, A5/3 and A5/4, GEA3 and GEA4
keys.
Change-Id: I5a6c6deef6027cd6af144c9062d4c9166be26904
Related: OS#1582
|
|
|
|
|
| |
Change-Id: I050bda5fb50aad42fe2d72de39f8256b4fb12fb2
Related: OS#1582
|
|
|
|
|
|
|
| |
The input data is accessed in a read-only manner, so it should be marked
with the const qualifier.
Change-Id: I0d6b86289fa647594f3da1f1c0e0168685307a37
|
|
|
|
|
|
|
|
|
|
|
| |
If a FSM doesn't specify any timer_cb, simply terminate the FSM by
default on time-out. This is a reasonable default for most cases, and
avoids copy+pasting a one-line timer_cb function in every FSM.
Also, even if there is a timer_cb, let it have a return value to decide
if the core should terminate after return from timer_cb or not.
Change-Id: I0461a9593bfb729c82b7d1d1cf9f30b1079d0212
|
|
|
|
| |
Change-Id: I06e9c5ba3e00c73a4e52d2583ce3492f236275ce
|
|
|
|
|
|
|
|
|
| |
The actual code is from OsmoBTS' tch.c by Harald Welte. Add unit tests,
doxygen annotation and extra memory safety check. Those functions are
used in several BTS implementations but seems generic enough to be
generally useful.
Change-Id: I2b1901c4161e8035f059585901dca593b661556d
|
|
|
|
|
|
|
|
|
|
| |
This code is supposed to formalize some of the state machine handling in
Osmocom code.
Change-Id: I0b0965a912598c1f6b84042a99fea9d522642466
Reviewed-on: https://gerrit.osmocom.org/163
Tested-by: Jenkins Builder
Reviewed-by: Harald Welte <laforge@gnumonks.org>
|
|
|
|
|
|
|
| |
Change-Id: Id45ea2c631ee589a4df1f8213da6f7e7d1bf6616
Reviewed-on: https://gerrit.osmocom.org/305
Reviewed-by: Harald Welte <laforge@gnumonks.org>
Tested-by: Jenkins Builder
|
|
|
|
|
|
|
|
|
|
| |
Encoding auth vectors worked fine for GSM authentication, but didn't
yet include the new IEs for UMTS authentication yet.
Change-Id: I7fa5ba1c950292bd0a9874b3102a27f221ce390d
Reviewed-on: https://gerrit.osmocom.org/302
Reviewed-by: Harald Welte <laforge@gnumonks.org>
Tested-by: Jenkins Builder
|