463 Commits (514deaf25b7462aa21932435075e708ebd15b838)

Author SHA1 Message Date
Francisco Paisana c09f76ed6c unified stack task defer method 5 years ago
Francisco Paisana 2950d26daa remove asn1 namespace from srsue files 5 years ago
Andre Puschmann 9307a54512 pdcp: adding enable_security_timed() method
this is an extension to the currently available security
configuration and activation methods provided by PDCP.
The new call allows to specify a Rx and Tx SN after which the
entire security config, i.e. integrity and ciphering, should
be enabled.

this is mainly required for the PDCP entity of the conformance
testing SS but could potentially also be used by the eNB
to enable security for PDCP after sending the SecModeCommand
for example.

the extra call was added to not break the existing API.
5 years ago
Pedro Alvarez f4d648b26e Removed rx_count state variable from PDCP LTE entity. Updated get_bearer_status(...) acordingly. Added get_last_submitted_rx_count() getter. 5 years ago
Andre Puschmann 70b13198b2 pdcp: update local rx_count variable when accepting incoming PDU
before the SN was read but the rx_count was never updated.
when get_dl_count() or get_bearer_status() were called, invalid
values were returned
5 years ago
Andre Puschmann 447c740bb5 pdcp: streamline PDCP info logs with RLC style 5 years ago
Francisco Paisana 30ae2226c1 common interface for stack multiqueue tasks, background tasks and timers 5 years ago
Francisco Paisana 575475962f the rlc um rx does not need a mutex bc it is always called in the stack thread 5 years ago
Andre Puschmann 175f7fd587 pdcp: turn warning of PDCP duplicate into debug message 5 years ago
Francisco Paisana 1cbf7eac04 removed uneeded lock in rlc_am_lte 5 years ago
Francisco Paisana 42ed3a49eb fix 5g compilation error 5 years ago
Francisco Paisana 288e9e9db7 removed as many readlocks as possible from the rlc. Using now guards for locking as well. 5 years ago
Francisco Paisana 599588ff51 removed uneeded locks in the rlc, moved ue stack get_metrics to stack thread, solved the idle procedure double-locking 5 years ago
Francisco Paisana 8aa44928e9 fix 5g compilation errors 5 years ago
Francisco Paisana 344eaf49ec use logmap in the whole enb and ue 5 years ago
Francisco Paisana 99d9ecbf9e removed unecessary locks from rlc::write_pdu methods 5 years ago
Francisco Paisana 9bde6d442c removed the uneeded locks from the pdcp 5 years ago
Francisco Paisana f3890b2908 use of mutexed cache to store the valid lcids that can be checked from gw thread 5 years ago
Francisco Paisana 46a1be3e76 updated mac-rlc interface to use unique_byte_buffer 5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
Pedro Alvarez 96c82b3fc6 Moved PDCP configs to pdcp_config.h. Added `as_security_cfg_t` structure to hold access stratum keys.
Refactored PDCP, RRC and USIM accordingly.
5 years ago
Ismael Gomez d17a9d2ab1 RLC returns zero buffer during suspended 5 years ago
Andre Puschmann 9e113f8b27 pdcp: allow to configure security for rx/tx seperately
previously PDCP security (integrity and ciphering) could only
be enabled for both Rx and Tx at the same time.

this, however, caused an issue during the conformance testing in which,
in TC_8_2_1_1() for example, the eNB sends a SecModeCommand and a
RRC Reconfiguration in the same MAC TB. In this case, the eNB
needs to be able to enable DL security right after sending the SecModeCmd
in order to send the RRCReconfig encrypted. However, enabling UL security needs
to be postponed until after the SecModeComplete is received.

This patch allows to enable PDCP security for rx/tx independently if
that is needed. The default way is like before, enabling it for tx/rx at
the same time.
5 years ago
Pedro Alvarez 08c81c274b Fix PDCP NR tests. 5 years ago
Pedro Alvarez aecfb151ce Apply clang-format to the lib in preperation for PR. 5 years ago
Pedro Alvarez d98b888ca4 Separating PDCP read_header function from discard_header_function. Starting to add DRB unit test. 5 years ago
Pedro Alvarez 5f39c79bda Moved some more packing functions to base class. 5 years ago
Pedro Alvarez d3d5da682e Fix mistake in writting packet twice to upper layers. 5 years ago
Pedro Alvarez fdd67c3865 Fix issue in integrity check in PDCP SRBs. Moved some helper functions to the pdcp base class 5 years ago
Pedro Alvarez 6508bd411f Fix some issues with MAC copying 5 years ago
Pedro Alvarez 6648f7ebca Update COUNT estimation for SRBs in PDCP 5 years ago
Pedro Alvarez 965b0ee99b Starting to fix handling of RX SRB PDUs in PDCP. 5 years ago
Andre Puschmann cccabdaf4f removing unneeded install targets for static libs (reported by Filipe) 5 years ago
Andre Puschmann ed179fd311 timers: rename value() to time_elapsed()
this seems to be better readable than value() since
we've sometimes confused it with the timeout value
5 years ago
Andre Puschmann b085a8eabf rework debug log when getting buffer state in RLC AM
also adds some description to RLC functions being called
from outside the stack thread
5 years ago
Xavier Arteaga 5b14a7d585 Implementation Tx RLC suspend 5 years ago
Ismael Gomez 52716f8716 Process HO complete in the background to avoid heap-after-use bug when PHY measurements are reported during a HO
rrc_meas refactor. Need to split commit

Fix typo

Temporal commit

Apply rx_gain_offset to neighbour cell measurements

srsLTE: modify TESTASSERT Macro to follow codeline

SRSUE: prevent RRC from having serving cell in neighbour list

SRSUE: DL HARQ does not need Time Aligment Timer. UL is disabled using PUCCH resources release

SRSUE: extend intra-frequency to CA SCell

SRSUE: fix confusing/ambiguous code in the RRC measurements and fix concurrency issue

SRSUE: remove RRC measurement report triggers when measurements are modified or HO succesful

SRSUE: fix compilation issues and Reest SIB indexes

Fixes sync using incorrect cell configuration when search cell does not find a correct cell

Small refactor to remove measurement report triggers always after removing measurement

SRSUE: Removed SIC PSS from UE

SRSUE: fix inter-frequency reestablishment and added more traces

SRSUE: Fix compilation issue
5 years ago
Xavier Arteaga 8b6ba1aacf srsLTE: removed overlap bytes check in RLC AM 5 years ago
Xavier Arteaga 5872e763bf SRSLTE: RLC AM remove completely overlapped segments 5 years ago
Xavier Arteaga 39bec9aab1 SRSLTE: fix RLC reordering and segment overlaping 5 years ago
Andre Puschmann 476f970ee1 replace FIXME with TODO 5 years ago
Andre Puschmann 4f5e991480 fix typo in RLC AM 5 years ago
Pedro Alvarez c5979f59eb Clang format UE, eNB and lib (#850)
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
5 years ago
Andre Puschmann 9078b2baf1 rlc_am: add check to prevent out of bounds access 5 years ago
Francisco Paisana 6b4488d5c1 added sending of enb status transfer from SeNB 5 years ago
Andre Puschmann 7885b5b9ee add CMake flag to enable 5G-NR components 5 years ago
Pedro Alvarez 41e911fd76 Replaced PRIu32 for %u in pdcp_nr_entity 5 years ago
Pedro Alvarez e1cdd51eba Clang-formated before pull request 5 years ago
Pedro Alvarez 61958af70b Timer removes itself from the map upon expiration 5 years ago
Pedro Alvarez 60feab3d7b Added map to keep discardTimers in PDCP NR entity. 5 years ago
Pedro Alvarez 8810f35498 Adding test of SDU discard timout to PDCP NR tests. 5 years ago
Pedro Alvarez 2e7ddef038 Continue to add discard_sdu to RLC interfaces. 5 years ago
Pedro Alvarez ca7c865ce8 Removed unecessery indentation in RLC AM write SDU. 5 years ago
Pedro Alvarez a77dd4e959 Starting to add boiler-plate code to support Discard at RLC. 5 years ago
Pedro Alvarez 7ccc7d1d20 Starting to notify RLC upon PDCP discard (NR) 5 years ago
Pedro Alvarez 9870c73366 Starting to add discardTimers to PDCP NR. 5 years ago
Pedro Alvarez f3eeaf401a Removed unecessary lambda redirection in pdcp_entity_nr 5 years ago
Andre Puschmann 9493e7492c add initial RLC AM NR status PDU packing code including tests 5 years ago
Andre Puschmann db2c43553e add basic rlc_am_base class containing data/control PDU check 5 years ago
Andre Puschmann cea212b9f9 add RLC AM NR PDU packing/unpacking test 5 years ago
Andre Puschmann b32a4cf294 add RLC AM NR PDU packing and unpacking 5 years ago
Andre Puschmann b8dbffe0b5 rewrite RLC AM debug code 5 years ago
Andre Puschmann dc841ab029 printf in rlc_am 5 years ago
Pedro Alvarez d4fb4d8c86 Fixup clang-format in pdcp before PR. 5 years ago
Pedro Alvarez 15613465cf Moving some initialization from init function to constructor in the PDCP entities. 5 years ago
Andre Puschmann b20f7ba541 refactor RLC UM and add NR receiver 5 years ago
Andre Puschmann 03bd63d9ab rename RLC AM class to RLC AM LTE 5 years ago
Andre Puschmann 2d126371f6 adopt PDCP NR to use new timer class 5 years ago
Pedro Alvarez ea0a413c8a Added check on wether the PDCP entity is initialized. 5 years ago
Pedro Alvarez 8511fca940 Clang-formated to prepare for PR 5 years ago
Pedro Alvarez d3a07fdd38 Added check for overflow at RX. Adding more tests. 5 years ago
Pedro Alvarez ed24544a63 Added debug print for out of order, wraparound and duplicate RX PDUs. Adding a helper function to help generate a vector of test PDUs 5 years ago
Pedro Alvarez 2752e3cff5 Starting to stop tx'ing packets if TX_NEXT overflows. 5 years ago
Pedro Alvarez 62230c6ab9 Starting to have overflow protection in PDCP NR tx 5 years ago
Pedro Alvarez f872c1b55a Added test for PDCP COUNT wraparound. (Needs to be changed, COUNT wraparound is not allowed.) 5 years ago
Pedro Alvarez 1d56fa6308 Improved speed of tests for COUNT wraparound, by setting the PDCP initial state. 5 years ago
Pedro Alvarez 517ce8a220 Added test to test out of order COUNT wraparoung. Added setters to help with the testers. 5 years ago
Pedro Alvarez b7fdcaabc5 Starting to add reordering timers at PDCP NR entity. Timeout seems to be triggered correctly and pass the SDUs to the upper layers when it expires. First tests passing. 5 years ago
Pedro Alvarez 45d298507b Starting to move pdcp configs to rrc_interface_types. Starting to add test for reorder timeout. 5 years ago
Pedro Alvarez 6cf2bd7bc3 Starting to add reordering queue in the PDCP. 5 years ago
Pedro Alvarez ff15ed5018 Starting to add timers to the NR PDCP. 5 years ago
Ismael Gomez 575499c95b Fix HO when doing ping due to reseting of the PDCP counters in reestablishment. Fixes #618 5 years ago
Francisco Paisana d2c56caf7e applied new timer class to the whole code base 5 years ago
Andre Puschmann 80afe5ca40 rlc_um: add missing lock in get_buffer_state() 5 years ago
Andre Puschmann f07a9277a0 fix RLC AM issue where an invalid status PDU was generated
happens when very small grant is provided and the status
PDU generation fails because of a too small grant

add extra check to prevent that ACK_SN is also in NACKS list
5 years ago
Andre Puschmann c99d5077c8 add RLC UM NR transmitter 5 years ago
Ismael Gomez f74efe908b
Fix blocking in resume() after RLF in 100 PRB (#654) 5 years ago
David Rupprecht 50332089ce Add EEA3 and EIA3 support for UE/enodeb and MME 5 years ago
Andre Puschmann 8da610d68b fix gcc (<= 5) warning with type-limits by casting vr_r to a signed type
this warning is a bit annoying as it is really safe to do
that kind of comparision, it's just that for vr_r==0, any other
unsigned number is >= 0.
5 years ago
Andre Puschmann d9577f0e1e suppress type-limit warning issued by some compilers by making var signed
Used to happen with older gcc giving:

"rlc_am.cc:1791:22: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]"
5 years ago
Francisco Paisana 67d6a25194 Moving mac timers to stack timers (#638)
* first step towards moving MAC timers to stack. Mac is still using its own timers. srslte::timers class can be restructured.

* moved timers out of the UE MAC
5 years ago
Andre Puschmann e42449532b fix wrong namespace definition in various places 5 years ago
Pedro Alvarez 6efa944b5e Removed srslte prefix from pdcp_config_t 5 years ago
Pedro Alvarez dd56d08269 Replaced byte_buffer by array in PDCP base 5 years ago
Pedro Alvarez 8c10eabf23 Changed PDCP LTE to use unique_lock. 5 years ago
Pedro Alvarez 61051b4cb3 Changed PDCP NR read_data_header to return SN. 5 years ago
Pedro Alvarez 491695ab77 Clang-formated PDCP NR PR. 5 years ago
Pedro Alvarez 38bbc55631 Added tests for PDCP NR Rx with SN Len = 18. In-sequence reception seems to work. 5 years ago
Pedro Alvarez d4aeb12db8 Adding more TX tests to PDCP NR entity. 5 years ago
Pedro Alvarez 39e3800781 Fixed header packing for SN length 18 for PDCP NR. First TX test is passing. 5 years ago