Commit Graph

8034 Commits

Author SHA1 Message Date
Francisco 6ed617f429 s1ap, bugfix - check if MME-UE-S1AP-ID has been yet assigned before sending UL NAS Transport. If it hasn't log error and abort. 2021-05-12 16:20:44 +01:00
Xavier Arteaga 90c42bc9c3 Fix resampler stack overflow 2021-05-12 17:13:09 +02:00
Xavier Arteaga 9517b78c03 Fix resampler and improved unit test 2021-05-12 17:13:09 +02:00
Francisco 32228389a9 fix latest static analysis warnings in rrc paging 2021-05-11 21:14:47 +01:00
Francisco 996d8ef74d multiqueue bugfix for non-blocking pushes when queue is full 2021-05-11 21:27:08 +02:00
Andre Puschmann adcfcfe012 proc_ra_nr: fix typo 2021-05-11 19:47:35 +02:00
Francisco bfdb0332db remove undefined methods from rrc_ue 2021-05-11 16:54:14 +01:00
Francisco 46cfdaf9e5 Handle case when old rnti gets removed during RRC reestablishment
This is achieved via:
- keep restarting the inactivity timer whenever a ReestablishmentRequest is received
- in case the RRC ReestablishmentComplete is very late and the old rnti was removed anyway,
  abort RRC reestablishment procedure and release new rnti
2021-05-11 16:54:14 +01:00
Andre Puschmann b2825d1280 mac_controller: after maxRetx disable ALL UE bearers
the reasoning here is that the only way to recover
from the maxRetx event is the UE attempting a reestablishment.

No further traffic, neither control nor data is scheduled
until then.
2021-05-10 18:43:37 +02:00
Andre Puschmann b61be7878a enb,rrc: split RLF counter and timer handling for DL/UL/RLC
this patch splits the counter and timer handling for PHY DL, PHY UL,
and RLC errors and makes sure that, for example, a successful DL
does not cancel the UL RLF timer, and vice versa.

They all use the same timeout value which is user-configurable.
2021-05-10 18:43:37 +02:00
David Rupprecht f9c0009d23 Remove setup erabs function 2021-05-10 17:54:38 +02:00
Andre Puschmann c45540582d rrc: announce NR-PDCP support over EUTRA
preperation for Split bearer support. This patch is needed to allow
split bearer. Otherwise, even if the config is set in the eNB, it
will not enable split bearers.
2021-05-10 17:54:00 +02:00
Francisco 99abae9e6a fix multiqueue producer to consumer notification to avoid deadlocks 2021-05-10 15:27:21 +01:00
Francisco 0d800eb8f6 stack, multiqueue - bugfix for multiqueue destruction, and addition of unit test 2021-05-10 15:27:21 +01:00
Francisco d947e259c9 stack optimization - optimization of the multiqueue
avoid notifying the consumer side of the multiqueue of a new pushed object, if the
multiqueue already knows that the queue is not empty.
2021-05-10 15:27:21 +01:00
Francisco d574afcd33 cleanup of multiqueue unused methods, and made queue_handle move semantics correct 2021-05-10 15:27:21 +01:00
Francisco ef9d1b8c13 stack optimization - reduction of contention in multiqueue class
With the new design, each queue created in the multiqueue object has its own mutex.
Pushing tasks to separate queues will, therefore, not cause contention.
There will be, however, still contention between the popping thread and the pushing threads.
2021-05-10 15:27:21 +01:00
Xavier Arteaga d9586015f5 SSB related minor aesthetical corrections 2021-05-10 15:32:46 +02:00
Xavier Arteaga 60d1708b80 Initial SSB measurement implementation 2021-05-10 15:32:46 +02:00
Xavier Arteaga 5c31f4335f Initial SSB module header file 2021-05-10 15:32:46 +02:00
Xavier Arteaga 3f078cdc24 Added SSB related constants 2021-05-10 15:32:46 +02:00
Andre Puschmann 833ddc3229 build: fix linking failure on RPi 32bit
this fixes a linking problem with RPi 3 (and probably others) running
with Raspbian (new Raspberry Pi OS) that can't use the inline
atomic functions but instead require linking against the lib -latomic.

The CMake code is based on SoapyRTLSdr file (licensed under MIT)
https://github.com/pothosware/SoapyRTLSDR/blob/master/CheckAtomic.cmake
2021-05-09 20:58:48 +02:00
Francisco b54bb35343 use rnti_map_t in scheduler 2021-05-07 10:58:04 +01:00
Francisco 6b84754ede fix rrc and gtpu bearer rnti update during reestablishment. The rnti of UE's rrc_bearer_handler was not being updated 2021-05-07 10:58:04 +01:00
Francisco 1677abce8d create typedef for circular map of rntis. check return of gtpu ue creation 2021-05-07 10:58:04 +01:00
Francisco 9464f36714 make eNB UE release timer after RLF detection configurable 2021-05-07 09:51:59 +01:00
Xavier Arteaga 1396c2a1e2 Mulpiple CSI measurement fixes. Channel and sync metrics from CSI measurements 2021-05-07 09:43:11 +02:00
Xavier Arteaga fd0d804321 Added macro for calculating the squared absolute value of a complex variable 2021-05-07 09:43:11 +02:00
Xavier Arteaga 653177ca7c SRSUE: Refactored work_dl for NR. Added NZP-CSI-RS measurement 2021-05-07 09:43:11 +02:00
Xavier Arteaga e68c822505 NR Added CSI measurement channel processing 2021-05-07 09:43:11 +02:00
Xavier Arteaga c51ff0c9f9 Added safe exponential moving average filter 2021-05-07 09:43:11 +02:00
Ismael Gomez 0b91598e36 Move mlockall() to main() in srsUE and srsENB 2021-05-06 23:03:57 +02:00
Francisco 46bd8845ba fix gtpu bearer removal during handover 2021-05-06 18:10:31 +01:00
Francisco 7c2e841eb4 gtpu bugfix - call gtpu rem bearer when erab is removed 2021-05-06 18:10:31 +01: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 cd51537234 add comment explaining the use case of cached_alloc 2021-05-06 18:06:10 +01:00
Francisco b619a2b649 application of new cache allocator to deques in scheduler 2021-05-06 18:06:10 +01:00
Francisco 28847badcf implementation of custom allocator for memory caching. This allocator may be used for unbounded queues 2021-05-06 18:06:10 +01:00
David Rupprecht f0d2a22cb6 Fixed band index in rrc 2021-05-05 18:39:46 +02:00
David Rupprecht c117b563c9 Initial commit for ngap in enb 2021-05-05 13:54:57 +02:00
David Rupprecht 3284143b39 Capture false encoded messages before sending 2021-05-04 21:38:06 +02:00
David Rupprecht 8c194b887b Allow NAS init function to fail 2021-05-04 19:18:22 +02:00
David Rupprecht 617fb2ba7e Added default destructor for args 2021-05-04 19:17:34 +02:00
Francisco 7bee75e126 update description of srsenb --expert.nof_prealloc_ues config parameter, and added a comment in header file explaining the use of such parameter. 2021-05-04 17:52:47 +01:00
Francisco 5818488b27 change enb max_nof_ues config parameter to nof_prealloc_ues 2021-05-04 17:52:47 +01:00
Francisco 9739a9de5f add missing srsenb expert parameter to enb.conf.example 2021-05-04 17:52:47 +01:00
Xavier Arteaga 9fb091262a Duplicate NR PDSCH transmits ACK and add ACK Tx TTI to trace 2021-05-04 11:30:13 +02:00
Xavier Arteaga de9158eeaf Enable NR RRC MCS table selection 2021-05-04 11:30:13 +02:00