Those power params are applied in the Pkt Ul Ass sent to the
MS.
In practice it doesn't matter much because the Pkt Ul Ass message is
created later asynchronously by the scheduler (event CREATE_RLCMAC_MSG).
Still it's much cleaner applying the information before allocating the
UL-TBF, since that's an extra independent step.
Change-Id: I63133aa42dcf27a86437b1bc8dc83c30d6718028
There's no sense if doing the lookup and allocation if the message is
not expected, it will be unrefed (freed) afterwards anyway.
Moreover, this way we avoid doing stuff for the WIP code paths which act
on different request ID than TLLI.
Change-Id: I4be8858230a2eebdb33260093d082a005cb9fcd4
Otherwise it may give the wrong impression that the FSM can be used by
both DL TBFs and UL TBFs, which is not the case (only used by UL TBFs).
Change-Id: I788eae58248fa21732efe802344aa3c0c5031b5a
It is quite common in all osmo-pcu code to have to convert between
parent class "tbf" and children "dl_tbf"/"ul_tbf", or other way around.
This commit adds new helper static inline functions to cast between
those while doing type checks.
This is used by new LOGPTBFDL and LOGPTBFUL macros to now expect the
proper subclass and cast securely inside the macro itself, hence sparing
all code calling those macros to have to cast explicitly the pointer to
the parent "tbf" class.
Change-Id: I7e4489ad4b93c9c8442213947e53c10b61fdc5e9
The struct gsm_pcu_if_info_ts is named "gsm_pcu_if_info_trx_ts" in
osmo-bts. Lets rename it since the definition in osmo-bts is newer.
Change-Id: If8b50181d3b609612aa8433b635052aadddd3484
struct gsm_pcu_if_info_ts has a struct member "h", which controls
frequency hopping. This struct member is named "hopping" in osmo-bts, so
lets rename it here as well to be consistent.
Change-Id: I3156b39cc91da07ee3f97e8c8be60fc989cf112b
The LLC queue is already in the MS object. The LLC timer and most
of the logic to enqueue its data is independent from the TBF.
Change-Id: I56b89fcac838d8eb732b629734d5e458e9c806d1
That's the special value checked in the implementation of get_ms() to
skip lookups based on TLLI.
This should save some cicles trying to match TLLI 0.
Change-Id: I364d238ff8a82abb14281140fe18b273c0e8f541
Based on information from original commit introducing the functions
(9399046729) and looking at the current
code.
Change-Id: Ia440c672a8d2e11169b41f787239bfbba0989231
This makes no sense and confuses Wireshark, so it shows malformed
packets. We are not sending empty PDTCH blocks to GSMTAP either.
Change-Id: Ic7b6aca4f3af43a6fd47d033c950c711164685a4
Related: SYS#6045
By default systemd will execute service with root directory
(or home directory for user instance) which might result in
attempts to create files in unexpected place. Let's set it
to 'osmocom' subdir of state directory
(/var/lib for system instance) instead.
Related: OS#4821
Change-Id: Ib6acc84c3018e468f4c320bc2a3003ba906e4aeb
I believe this may be related to sporadic failures we hit on Jenkins:
test -z "atconfig" || rm -f atconfig
../../../tests/testsuite: line 987: ./atconfig: No such file or directory
make[2]: *** [Makefile:1464: clean-local] Error 1
This dependency is present in all other Osmocom projects.
Change-Id: Id9bf06392ad31e1ecc66a5bd13069a915183a76b
This is not critical, given that we set 'ElementsOf_RFL_NUMBER' to 0.
But still, let's ensure that all fields are initialized.
Change-Id: I4dd5202d1c4bd75baf0ab4f88ffefcc47272bd9c
Fixes: CID#272999
This makes sure all MS and TBF objects under a bts are freed when its
underlaying storage is freed (cleanup() is called).
Related: OS#5555
Change-Id: Idf3ad8b70c97313dec38a49d48cf36d6c9b404c7
The timeout is set to a high value to avoid freeing the MS during main
loop iteration. Let's set it back to 0 to have a common free path in
test infrastructure.
Change-Id: I6dc4765163fde1a46574b49f3185aea65391e0d0
This is mostly important to unit tests, where the gprs_pcu object is
recreated several times (it is not recreated in normal operation).
The BTS objects are already being freed through talloc dependency tree.
However, since they may trigger counter updates, access to the pcu list,
etc, let's better do it explicitly before erasing gprs_pcu object
fields.
Related: OS#5555
Change-Id: If2a8360e214d993a8a89993532ff1099b30bdbb1