Commit Graph

6339 Commits

Author SHA1 Message Date
Andre Puschmann 5e40bfe72c mac_pdu: unpack and print BSR index as well as BSR value in bytes
before the BSR was extracted but the actual index (between 0 and 63)
was not stored but directly converted into bytes.

for log parsing and debugging it is easier to follow the index
value. this patch therefore adds both values to the log message
and extends the API accordingly.
2020-08-21 12:03:07 +02:00
Andre Puschmann 55336665b9 rlc: remove timers and sdu queue length from RLC TM ctor
timers aren't used in RLC TM, also the default queue length is
fine to be used at all times.
2020-08-21 12:03:07 +02:00
Francisco Paisana bb5dd92dca implemented s1 handover cancellation procedure to force the target enb to release the ue ctxt 2020-08-21 00:05:58 +01:00
Francisco Paisana 8c9e596f89 refactored s1ap handover request interface. cleaned up rrc tenb s1 handover code 2020-08-21 00:05:58 +01:00
Francisco Paisana b6baf1a098 fix mobility warnings and s1 handover required message preparation 2020-08-21 00:05:58 +01:00
Andre Puschmann 8e44d0504c radio: fix device mapping for mimo
commit #51c6e8d1 introduced a regression in which the 2nd antenna
port was never considered. All MIMO ZMQ based tests therefore failed.
this fixes #1608
2020-08-19 15:39:13 +02:00
Xavier Arteaga 710700d0eb SRSUE: Fix synch error correction for multiple channels 2020-08-19 15:39:13 +02:00
Andre Puschmann 8e631131c0 s1ap: fix uint64_t printf for 32bit machines 2020-08-19 11:57:04 +02:00
Andre Puschmann d5da4bd8b6 radio: fix printf for 32bit 2020-08-19 11:57:04 +02:00
Francisco Paisana 7cd4f45d62 fsm refactor.
- avoid triggering directly a subfsm
- improved metafunctions
- other cleanups
2020-08-18 16:07:21 +01:00
Francisco Paisana 2d55691173 extended rrc mobility test to check security configuration of pdcp bearers 2020-08-18 13:55:17 +01:00
Francisco Paisana 42e8453c00 fix security key setup for s1 handover 2020-08-18 13:55:17 +01:00
Francisco Paisana 083344579e fix s1 ho configuration of ue capabilities and security capabilities 2020-08-18 13:55:17 +01:00
Francisco Paisana 5d1343fe75 implemented S1 bearer status transfer 2020-08-18 13:55:17 +01:00
Francisco Paisana db8af399f8 extended rrc tenb s1 handover test. implemented layer reconfig during s1 handover 2020-08-18 13:55:17 +01:00
Francisco Paisana 7605c7df23 added s1ap handover notification, fixed s1ap asn1 bug, and fixed bad fields for admitted erabs in ho req ack 2020-08-18 13:55:17 +01:00
Francisco Paisana 841b884796 remove extern C flags from common_helper.h 2020-08-18 13:54:23 +01:00
Francisco Paisana a2b8bc9e0a check all cpus scaling governor 2020-08-18 13:54:23 +01:00
Francisco Paisana 5be5409f62 scaling governor function moved to common header file 2020-08-18 13:54:23 +01:00
Francisco Paisana 087805d222 add warning if scaling governor is not performance mode 2020-08-18 13:54:23 +01:00
Francisco Paisana 8d10aa906e move defer_task to switch case in the rrc 2020-08-17 22:49:40 +01:00
Andre Puschmann 24dfb03b9d rrc: defer manipulations of the RLC/PDCP arrays
all calls that manipulate the RLC and/or PDCP arrays suffer
from a high deadlock risk if a PHY worker holds the RLC
AM Rx mutex at the same time when the stack wants to carry
out this reconfiguration.

this applies to RRC Reconfigs, but potentially also to RRC Connection
Reestablishment or even RRC Connection Setup, although this should
seldom be the case.

By breaking the call stack between RLC->PDCP->RRC->RCL and
carrying out the reconfig as a single task without holding the
RLC readlock the deadlock should not happen anymore.

This should fix issue #1593
2020-08-17 22:49:40 +01:00
Francisco Paisana 9146e6ddf1 change method name to resize intervals 2020-08-14 15:06:06 +01:00
Francisco Paisana 4457bbda7e added new asserts to interval interface 2020-08-14 15:06:06 +01:00
Francisco Paisana 8b174ce2f4 changed interval interface to disallow interval::stop < interval::start via an assertion 2020-08-14 15:06:06 +01:00
Francisco Paisana 39b380c8e0 fix compilation issue for gcc version < 5 2020-08-14 15:06:06 +01:00
Francisco Paisana 2f689372dd added missing header 2020-08-14 15:06:06 +01:00
Francisco Paisana c1755727d7 changed interval method names, and added comments and assertions 2020-08-14 15:06:06 +01:00
Francisco Paisana b2dd46ccad remove extra space in to_string 2020-08-14 15:06:06 +01:00
Francisco Paisana 20b69fb22e substitution of ul_alloc_t for prb_interval 2020-08-14 15:06:06 +01:00
Francisco Paisana 3eb1b83a43 updated allocate crnti method in mac to accoutn for new phy interface 2020-08-14 14:28:56 +01:00
Francisco Paisana 26f46ea067 add S1 Handover Request handling in target eNB 2020-08-14 14:28:56 +01:00
Francisco Paisana 857cc141c7 fix macro checking for exceptions, added missing includes, fixed bounded bitset methods' noexcept specifiers 2020-08-13 13:13:34 +01:00
Francisco Paisana cceeff10de moved expected, bounded_bitset, move_callback to adt folder. created a test for bitset 2020-08-13 13:13:34 +01:00
Francisco Paisana caf862c99f moved expected, bounded_bitset, move_callback to adt folder. created a test for bitset 2020-08-13 13:13:34 +01:00
Ismael Gomez 382811e10e
Update S1AP RNTI context when doing Reestablishment (#1582) 2020-08-12 23:48:20 +02:00
faluco 1253740da3 - Extracted traits from class to a detail namespace. 2020-08-11 19:47:26 +01:00
faluco 072e84cec8 - Simplified the usage of span now with implicit constructors as it should be.
- Added overload for generic containers that have size and data members like vector.
- Removed unnecessary uses of make_span.
2020-08-11 19:47:26 +01:00
faluco 158edd4fe7 Removed init list constructor test. 2020-08-11 19:47:26 +01:00
faluco eb4b2d4e43 - Added a clarification comment on why to use make_span.
- Moved byte_buffer utilities to common.h thus breaking the dependency of ADT to COMMON.
- Fixed compilation failures in tests.
2020-08-11 19:47:26 +01:00
faluco af8dfcf19c Extended a bit the span implementation with the following changes:
- Documented methods and class.
- Adapted interface to the latest standard: no init list and generic container constructors, new iterator pair ctor.
- Implemented some SFINAE for managing conversions in constructors.
- Re-organised some methods to be grouped by category (modifiers, observers, iterators, ...).
- Added convenience make_span functions.
- Added some more  asserts.
- Adapted test to use some syntax that was modified.
2020-08-11 19:47:26 +01:00
Francisco Paisana 76a62909c1 use of span type for universal array views 2020-08-11 19:47:26 +01:00
Francisco Paisana a9d882c1f1 fix task_scheduler_test. Fix potential reference invalidation in task_scheduler internal tasks data structure 2020-08-11 17:16:06 +01:00
Francisco Paisana a6c3144d92 remove extra byte from rrc dl_dcch and dl_ccch messages 2020-08-11 14:48:12 +01:00
Francisco Paisana 9d877e55b3 add test for when scope exit lambda is an lvalue 2020-08-10 17:23:43 +01:00
faluco 9e2a116e11 - Fix a missing template parameter in the constructor.
- Decay the type to the template.
- Switched member order to improve memory layout.
2020-08-10 17:23:43 +01:00
Francisco Paisana 0f67bee556 creation of a scope exit standalone file. Created a new folder ADT. Added test for scope exit. 2020-08-10 17:23:43 +01:00
Andre Puschmann 6c12728cc7 cmake: only add large function growth param when using gcc
the param is only available in gcc so we must not add it to the CFLAGS
when compiling with clang
2020-08-10 15:48:55 +02:00
Andre Puschmann fffff5e7bc cmake: increase function inlining limit
gcc sets the inlining limit a bit arbitrary and the default gcc
on the RPi2 seems to use a lower value so compiling the SIMD
extensions fails with an "inlining failed" error in
srslte_mat_2x2_mmse_csi_simd().

this patch increases the default value. even though its
increased for all platforms it shouldn't case issues on other
machines. the value isn't used by clang.
2020-08-10 11:27:29 +02:00
Andre Puschmann cb2d7f4c16 rf_uhd_generic: add explicit ctor and dtor
clang 6 complained about a missing virtual dtor and thus
failed compilation. this patch adds both, an explicit ctor and dtor.
2020-08-10 10:42:54 +02:00