Commit Graph

513 Commits

Author SHA1 Message Date
Francisco 99960c72fa bugfix,srsenb: extend rrc mobility unit test for intraenb handover 2021-06-10 09:46:01 +01:00
Francisco 048d487921 bugfix,gtpu: send end marker via the forwarding tunnel, when the source enb receives ue ctxt release command. Improve GTPU unit testing 2021-06-09 11:12:06 +01:00
Francisco 7e77da6a15 mac,optimization: use rnti memory pool to create mac::ue objects 2021-06-04 21:29:13 +01:00
Francisco 9e2a7d4592 bugfix,tpc: only cap PUSCH TPC when PHR is negative. I also extended TPC unit test 2021-06-04 17:39:51 +01:00
Andre Puschmann 107f6334dd compile: fix compilation on 32bit systems that require -latomic 2021-06-03 20:45:02 +02:00
Francisco ceaef3523f sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing 2021-06-03 15:33:38 +01:00
Francisco 486823e5de sched,bugfix: The PHR handling scheme now considers the number of PRBs of the UL grant that carried the PHR. Before, it was assuming the most conservative scenario of Nprb=1 2021-06-03 15:33:38 +01:00
Francisco f7aef3ffc1 sched,bugfix: fix nof_retx update when UL HARQs are resumed 2021-06-02 20:21:32 +01:00
Francisco 3b61df4b64 test,sched: update TPC test to reflect changes in SNR estimatioN 2021-06-02 10:08:34 +01:00
Francisco dda52afe61 move rrc unit tests to rrc/ folder 2021-06-02 10:05:49 +01:00
Pedro Alvarez 18e2149d68 Sending Initial Context Setup Response after RRC reconfiguration. 2021-06-01 19:16:16 +01:00
Francisco f80c591127 sched,bugfix: fix scheduler CA test 2021-05-31 23:59:46 +01:00
Francisco 2cdda3b6db sched,enhancement: allow PUSCH allocations when PHICH falls in measurement Gap by resuming UL HARQ 2021-05-31 23:59:46 +01:00
Andre Puschmann 66770a57e3 enb_phy_test: fix concurrent access between PHY worker and Stack
PHY and Stack are using a normal std::queue to communicate with each
other. Concurrent access among the threads needs to be protected.
2021-05-26 14:25:38 +02:00
Francisco fe0dc77c03 bugfix, s1ap: fix uninitialized variable access in s1ap_test 2021-05-26 11:35:32 +02:00
Francisco 297a2394b8 bugfix, s1ap: fix failing s1ap_test 2021-05-26 11:35:32 +02:00
Francisco a8cccd7a10 bugfix, sched: fix aggregation level derivation to avoid L > 3 2021-05-25 21:50:56 +02:00
Francisco c5029fc266 feature - implement adaptive link adaptation in DL and UL 2021-05-24 19:33:27 +02:00
Francisco 8df6ed07c6 sched small fixes - use 0.930 instead of 0.932 for max coderate. Allow computing mcs/tbs based on max coderate directly. Other small fixes 2021-05-24 17:25:07 +02:00
yagoda 9501283c1c fixing support for extended Cyclic Prefix
small cosmetic fixes of CP code
2021-05-20 18:16:15 +02:00
Francisco 52ef23f40e fix sched benchmark test 2021-05-19 13:11:39 +01:00
Francisco f0f99c1e4f update sched benchmark, created unit test to cover rbg search algorithms, improved algorithms to search for empty rbgs 2021-05-19 11:43:39 +01:00
Francisco 1488606156 refactor - create s1ap dedicated folder 2021-05-17 15:32:57 +01:00
Francisco 0e0835a805 move scheduler rbg/prb/cce mask and interval types and associated helper functions to a separate file 2021-05-17 14:30:23 +01:00
Francisco 8564996eaf fix sched_dl_cqi method to compute cqi-optimal rbgmask 2021-05-14 19:58:03 +01:00
Francisco 485c6ee129 subband CQI feature - add K parameter in sched_interface::ue_cfg_t and update it from RRC 2021-05-14 19:58:03 +01:00
Francisco 84ad6dd8ee Integrated new sched_dl_cqi class in sched_ue_cell
- extend sched_dl_cqi interface to allow getting tti when cqi was last updated
- extend sched_dl_cqi to quickly get average cqi across the whole bandwidth
2021-05-14 19:58:03 +01:00
Francisco 16d05ff042 Remove time exponential averaging of DL cqi
- renaming: sched_cqi -> sched_dl_cqi
- testing: add unit test for sched_dl_cqi wideband cqi mode.
- feature: remove time exponential averaging of dl cqi
2021-05-14 19:58:03 +01:00
Francisco 28c24a89ef sched subband cqi - create method to get cqi-optimal RBG mask 2021-05-14 19:58:03 +01:00
Francisco eeb8ad6571 sched,feature - creation of sched_cqi class to manage the update of CQI in a subband CQI setting 2021-05-14 19:58:03 +01:00
Xavier Arteaga af2f37d8ca SRSENB: CFI protection for all CC and fix test 2021-05-13 07:56:08 +02:00
Francisco c5396155ad set default gtpu tunnel close timeout to infinity 2021-05-06 18:07:20 +01:00
Francisco 15484e9472 rrc - make t304 configurable via rr.conf 2021-05-06 18:07:20 +01:00
Francisco c6b9c12ba2 gtpu, feature - added the ability to configure gtpu indirect tunnel timeout value. This parameter is useful in the case that the end marker is not received 2021-05-06 18:07:20 +01:00
Francisco 5818488b27 change enb max_nof_ues config parameter to nof_prealloc_ues 2021-05-04 17:52:47 +01:00
Francisco f7016633d2 sched, fix - avoid tpc commands when target pusch and pucch snr are not specified 2021-05-03 17:43:41 +01:00
Francisco d3c51fdad4 limit minimum UL grant size to accommodate both BSR and RLC headers 2021-05-03 17:43:41 +01:00
Francisco 01eace2631 rrc paging mechanism improvements
- moved paging record handling to separate class
- parallel access to pending pcch messages by phy workers based on TTI and without common lock
- asn1 pcch message packing now takes place in stack thread, to avoid real-time issues
2021-05-03 15:58:21 +01:00
Xavier Arteaga 6045998909 enb_phy_test uses default rr configuration 2021-04-27 16:55:51 +02:00
Francisco Paisana d39183419c
Separate TPC PUSCH and PUCCH target SINR (#2740)
* separate target pusch and pucch sinr configurations in tpc class and rr.conf
2021-04-27 10:12:40 +01:00
Xavier Arteaga 1a4de831e9 Ammended eNb PHY tests 2021-04-20 19:12:46 +01:00
Francisco d1b336101f revert enb phy tests. Check that when nof_carriers==6 the phy fails to start and reports an error. 2021-04-20 19:12:46 +01:00
Francisco 6137e4569b fix srsran_assert definition when asserts are disabled 2021-04-20 14:01:05 +01:00
Francisco 3b78bf3730 bugfix - fix memcheck warnings. move instructions with side effects outside of asserts 2021-04-20 14:01:05 +01:00
David Rupprecht a064e85c54 rename common lte header 2021-04-19 22:23:59 +02:00
Ismael Gomez 77b11b82ac
Release UE if no activity in DRB (#2658)
* Count user activity with DRB only and SRBs for initial procedures. Add counter to release user after max KO in UL.
2021-04-15 19:13:01 +02:00
Francisco 14d32db92f implement Handover direct forwarding path availability configuration feature 2021-04-15 17:48:18 +01:00
Francisco b8fa1d1b61 fix rrc mobility test 2021-04-15 09:45:31 +01:00
Francisco 66988ffd32 s1ap - simplified erab setup procedure. Handle correctly the failure to setup causes 2021-04-15 09:45:31 +01:00
Francisco f401683960 s1ap - simplified erab modify procedure 2021-04-15 09:45:31 +01:00
Francisco 76978f0d14 s1ap - simplified erab release procedure 2021-04-15 09:45:31 +01:00
Francisco c5fc543516 s1ap - handling of ts1 reloc overall timer. 2021-04-15 09:45:31 +01:00
Francisco c2a99a8112 handover - support for handover cancellation causes, check for E-RAB QoS requirements, cancellation of handover if E-RABs are not supported in the target eNB 2021-04-13 21:23:13 +01:00
Francisco 6d401bc79f handover - check if UE integrity and encryption algorithms are supported in the target eNB, and report handover failure if not. 2021-04-13 21:23:13 +01:00
Francisco 77bd500312 handover - implement and test S1 Handover fail path for the case of invalid QoS config in HO Request message 2021-04-13 09:30:40 +01:00
Francisco d2c404b166 handover - setup s1ap cause in case of handover failure at the target enb 2021-04-13 09:30:40 +01:00
Francisco 49bd895e29 s1ap - handle invalid or repeated erab ids in s1ap erab release command 2021-04-12 22:07:26 +01:00
Francisco 7842e3bff3 s1ap - add unit test to check correct handling of invalid E-RAB ids in modification request. Fix s1ap in order for the test to pass 2021-04-12 22:07:26 +01:00
Francisco 985846e3bd s1ap - set multiple erab ids cause in replay when s1ap erab modify request has repeated ids. 2021-04-12 22:07:26 +01:00
Francisco f7a8b8bf94 separate drb srb ids into separate enum types 2021-04-12 13:21:43 +01:00
Francisco 21718af3b6 avoid allocating std::string to get lcid radio bearer name. Refactored the lte radio bearer enum type 2021-04-12 13:21:43 +01:00
Francisco 99b4595b69 fix enb phy test by limiting the number of carriers to 5 2021-04-09 15:38:07 +01:00
Francisco d142d7b6a5 update test helpers for enb, so that the rrc tests pass 2021-04-09 12:54:22 +01:00
Francisco 60d5c6df7b implementation of memory pool with individual memory blocks per UE that get accessed via their rnti 2021-04-09 12:54:22 +01:00
Francisco eb9814837a fix gtpu test valgrind warning 2021-04-02 17:40:50 +01:00
Francisco 046633674a refactor - removal of stack-gtpu interface, and use of socket manager interface instead 2021-04-02 11:42:50 +01:00
Francisco c24e382c19 Refactor of socket manager class
- use of inheritance to simplify testing
- removal of global network manager
- pass of custon socket manager to s1ap and gtpu ctors
- overhauled the registration of socket fd,callback in socket manager
2021-04-02 11:42:50 +01:00
Francisco 4aac7ac238 use global rx multisocket handler, and remove stack-s1ap interface 2021-04-02 11:42:50 +01:00
Pedro Alvarez 8194b5ec73 Added check for consequetive KOs in MAC. Change set_activity_user to pass activity and max KOs to RRC and trigger RLF timeout. 2021-04-01 13:21:43 +01:00
Francisco b8f220258d s1ap - extend s1ap unit test to verify result of passing an invalid mme s1ap ue id 2021-04-01 10:24:34 +01:00
Francisco c3482b45e1 s1ap - handle erroneous enb/mme s1ap ue id in received s1ap messages from the MME 2021-04-01 10:24:34 +01:00
Francisco d4a223b5b1 s1ap unit test - add correct cause to erab modify response when erab-id is not recognized 2021-03-31 13:31:07 +01:00
Francisco a68c50a282 s1ap - extend s1ap unit test to setup a full ue connection and modify bearer 2021-03-31 13:31:07 +01:00
Francisco 90bba3b85e s1ap - set s1 handover cause as s1 intra system handover triggered 2021-03-31 13:31:07 +01:00
Francisco 5eccfad05b gtpu - added comments, updated expected construct, handled in rrc the case a gtpu teid fails to allocate 2021-03-29 10:20:55 +01:00
Francisco 82b34f3b3f gtpu refactor - fix gtpu logging formatting 2021-03-29 10:20:55 +01:00
Francisco 44440cf562 gtpu refactor - use of raii to automatic path switch and teid removal in forwarding. Clean up of gtpu_tunnel_manager methods. 2021-03-29 10:20:55 +01:00
Francisco bdc5094e17 gtpu - added unit test for gtpu_tunnel_manager class 2021-03-29 10:20:55 +01:00
Francisco 3cf5e85b20 create separate class to handle gtpu tunnel creation/deletion/search 2021-03-29 10:20:55 +01:00
Andre Puschmann 1a0891df51 all: check return value of make_byte_buffer() and handle them safely 2021-03-23 14:31:15 +01:00
Francisco b5692037a2 created macros for assertions and warnings. The assert macro prints the whole callstack on crash. The warning macro can just log a warning or call an assertion fail depending on the cmake flag STOP_ON_WARNING 2021-03-23 10:49:28 +00:00
Codebot 4523ee6087 rename srsLTE to srsRAN 2021-03-21 21:47:01 +01:00
Francisco 2054ad3f3c eliminate old BFS-based PDCCH allocator. Improvement the scheduler speed by ~2x 2021-03-19 16:31:06 +00:00
Francisco 6bec92fbc9 using new DFS-based PDCCH allocator as a default 2021-03-19 16:31:06 +00:00
Francisco 8347cabe4f implemented a DFS-based PDCCH allocator 2021-03-19 16:31:06 +00:00
Francisco 977c194cbc gtpu,bugfix - handle the case when gtpu fails to allocate buffer for end marker. Also, added a timer that when expired, it autoremoves the GTPU handover tunnel 2021-03-19 13:43:21 +00:00
Francisco d646111aa9 refactor sched dci unit test 2021-03-18 17:04:45 +00:00
Francisco d6bae76698 extend cch allocation unit tests to verify optimal cfi and DCI position selection for 6 PRBs 2021-03-18 17:04:45 +00:00
Francisco d5750f6fe6 refactor - update of clang-tidy project file. automatic clang-tidy refactors 2021-03-18 17:04:45 +00:00
Francisco 0d91802495 sched optimization - swap c-arrays for bounded_vector in sched_interface to reduce time performing bzero/memcpy in the scheduler 2021-03-17 19:54:44 +00:00
Francisco c0a90c5aa8 refactored sf result resetting to avoid realloc of memory 2021-03-17 19:54:44 +00:00
Francisco c3a4cb37f4 extension of sched benchmark test to allow different testing modes - test rates, benchmark, test different combinations of sched parameters 2021-03-17 12:12:36 +00:00
Francisco ac4d058fbf correct verification of sched rates in sched benchmark test 2021-03-17 12:12:36 +00:00
Francisco d334907afe sched - wrote benchmark to detect regressions in DL/UL data rates, and to analyse the total latency of the scheduler 2021-03-17 12:12:36 +00:00
Francisco 248f05bf08 sched,bugfix - fix optimal cfi computation for sib/rar allocations 2021-03-16 19:27:25 +00:00
Francisco 19a043683c bugfix - fix compilation issue in gcc10. The interfaces don't have virtual dtors 2021-03-16 19:27:25 +00:00
Francisco 884c1b04d2 sched,test - add test to verify cch allocator ability to undo last allocation 2021-03-16 19:27:25 +00:00
Francisco 1f35c4dc8b sched, feature enhancement, bugfix - allow RAR DL grants with variable PRB size
Some bug fixes had to be solved:
- the cfi cannot be dynamic once we set a SIB/paging/RAR allocation. This is too avoid effective coderate to exceed its maximum
- the previous bugfix required adding the feature to cancel the last PDCCH+PDSCH allocation
2021-03-16 19:27:25 +00:00
Francisco 47f1175502 [sched, feature enhancement] - allow variable nof prbs allocated per SIB / Paging message 2021-03-16 19:27:25 +00:00
Francisco 76103065f7 collapse the 2-stage DCI generation process of SIB/Paging/RAR into one single stage in the scheduler. 2021-03-16 19:27:25 +00:00