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
4 years ago
Andre Puschmann
598594c51a
all: bunch of pass by const& changes suggested by LGTM
4 years ago
Francisco Paisana
d39183419c
Separate TPC PUSCH and PUCCH target SINR ( #2740 )
...
* separate target pusch and pucch sinr configurations in tpc class and rr.conf
4 years ago
Francisco
86dac9c823
several coverity high and medium impact fixes
4 years ago
AlaiaL
d88760f099
Fixes coverity 366620
4 years ago
AlaiaL
beaa1b3e24
Fixes coverity 369569
4 years ago
faluco
69726bc939
Remove two allocs in the prio queues in sched_time_pf.
4 years ago
faluco
7df308c756
Remove two mallocs in the stack:
...
1) Extend the small buffer to 64bytes for the move_callback class.
2) Replace a std::map for a fixed size circular map in sched_time_pf.
4 years ago
David Rupprecht
81ad72b0ff
Refactor srb and drb handling
4 years ago
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.
4 years ago
Francisco
14d32db92f
implement Handover direct forwarding path availability configuration feature
4 years ago
Francisco
b8fa1d1b61
fix rrc mobility test
4 years ago
Francisco
66988ffd32
s1ap - simplified erab setup procedure. Handle correctly the failure to setup causes
4 years ago
Francisco
f401683960
s1ap - simplified erab modify procedure
4 years ago
Francisco
76978f0d14
s1ap - simplified erab release procedure
4 years ago
Francisco
c5fc543516
s1ap - handling of ts1 reloc overall timer.
4 years ago
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
4 years ago
Francisco
6d401bc79f
handover - check if UE integrity and encryption algorithms are supported in the target eNB, and report handover failure if not.
4 years ago
Francisco
77bd500312
handover - implement and test S1 Handover fail path for the case of invalid QoS config in HO Request message
4 years ago
Francisco
d2c404b166
handover - setup s1ap cause in case of handover failure at the target enb
4 years ago
Francisco
49bd895e29
s1ap - handle invalid or repeated erab ids in s1ap erab release command
4 years ago
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
4 years ago
Francisco
985846e3bd
s1ap - set multiple erab ids cause in replay when s1ap erab modify request has repeated ids.
4 years ago
Francisco
685c971dc2
fix recursive call to get rb name
4 years ago
Francisco
21718af3b6
avoid allocating std::string to get lcid radio bearer name. Refactored the lte radio bearer enum type
4 years ago
Francisco
344bdf3165
allocation of UE rlc and pdcp classes in the ue dedicated memory pool
4 years ago
Francisco
60d5c6df7b
implementation of memory pool with individual memory blocks per UE that get accessed via their rnti
4 years ago
Francisco
bb9601c13b
gtpu - fix gptu manager members destruction order
4 years ago
Francisco
b7d4a72ea1
adt - fix circular map clear() and erase(it) functions
4 years ago
Andre Puschmann
7459a65a8e
enb,rrc_ue: remove unused variable
4 years ago
Francisco
cdf72248f3
Reimplement batch-based background object/memory pool
...
Main changes:
- addition of pool utilities
- The node size/alignment and batch allocation threshold are now runtime arguments
- object pool and memory pool are not anymore based on the same class.
The object pool cannot use intrusive free list because it would overwrite the object
memory
4 years ago
Francisco
fbeb87c53e
remove unused parameters from mac::ue
4 years ago
Francisco
b004c2024d
integration of object pool in mac::ue for allocation of softbuffers. Definition of common object pool interface class
4 years ago
Francisco
ec3cd9ffea
adt - added background object pool test, and fix existing bugs related to the creation of pools with objects that are too small to be used in free lists
4 years ago
Francisco
d1c5b000dc
adt - creation of pre-initialized object pool, that leverages the background memory pool allocator
4 years ago
Francisco
046633674a
refactor - removal of stack-gtpu interface, and use of socket manager interface instead
4 years ago
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
4 years ago
Francisco
4aac7ac238
use global rx multisocket handler, and remove stack-s1ap interface
4 years ago
Francisco
39de2efa69
multisocket handler - use blocking socket remove method
4 years ago
Francisco
bf96d897ee
network utils refactor - renaming of socket handle to unique socket and cleanup of its methods
4 years ago
Francisco
8fda69a3dd
refactor mac::ue cc_used_buffers_map class to use new circular_map container
4 years ago
Pedro Alvarez
e1a852d4b8
Split split RLF timer and Inactivity timer
4 years ago
Pedro Alvarez
47135cb75b
Changed counting of KOs to RRC
4 years ago
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.
4 years ago
Francisco
ec72b310d7
fix mme ue s1ap id initialization
4 years ago
Francisco
23ae9967cf
replaced present+value for optional field in s1ap mme_ue_s1ap_id context field
4 years ago
Francisco
c3482b45e1
s1ap - handle erroneous enb/mme s1ap ue id in received s1ap messages from the MME
4 years ago
Francisco
cc369aca1f
sched - handle the case when the CRC is missing and max retx is reached
4 years ago
faluco
54fab314c0
Enhance RRC eNB events:
...
- Implement a common event "log_rrc" for all RRC events and discriminate by procedure using an enum.
- Log events for connection, reestablishment, reconfig, reject and release.
- Log the corresponding ASN1 message used by each procedure.
- Redefine the JSON object for this event to match the new structure.
Fixed a compilation error detected by the static analyzer in gcc9.3 where bounded_vector::data() was using taking the address of the internal buffer which confused it, prefer to use the data method of std::array.
4 years ago
Pedro Alvarez
8c7aed1f81
Added handling of MSG3 timout exipiry in activity_timer_expired(). Avoid notifying S1AP in that case.
4 years ago
Pedro Alvarez
37699f2215
Send radio connection with UE lost if max retx are reached
4 years ago
Francisco
d04a19f8bc
refactor - increase code reuse in adt files
4 years ago
Francisco
5eccfad05b
gtpu - added comments, updated expected construct, handled in rrc the case a gtpu teid fails to allocate
4 years ago
Francisco
82b34f3b3f
gtpu refactor - fix gtpu logging formatting
4 years ago
Francisco
44440cf562
gtpu refactor - use of raii to automatic path switch and teid removal in forwarding. Clean up of gtpu_tunnel_manager methods.
4 years ago
Francisco
ab2bd9a2d2
gtpu refactor - handle dl path state activation internally in gtpu tunnel manager class
4 years ago
Francisco
cfd24f6a0e
gtpu - leverage byte_buffer_pool to store buffered sdus in gtpu
4 years ago
Francisco
bdc5094e17
gtpu - added unit test for gtpu_tunnel_manager class
4 years ago
Francisco
c201eb7708
use of more space efficient sorted vector structure for lcid tunnels of a rnti
4 years ago
Francisco
eba0edea4a
creation of static id obj pool class. Application of this class to gtpu tunnels container to avoid allocations
4 years ago
Francisco
3cf5e85b20
create separate class to handle gtpu tunnel creation/deletion/search
4 years ago
Francisco
099a533573
bugfix - verify that TEID exists before trying to access it
4 years ago
Francisco
e1523692c2
implementation of concurrent fixed size pool that leverages thread local caches to avoid mutexing
4 years ago
Andre Puschmann
1a0891df51
all: check return value of make_byte_buffer() and handle them safely
4 years ago
Francisco
4869b14de3
application of new circular map to mac::ue_db
4 years ago
Codebot
4523ee6087
rename srsLTE to srsRAN
4 years ago
Ismael Gomez
8d2197e751
Increase MAC UE circular buffer
4 years ago
Francisco
2054ad3f3c
eliminate old BFS-based PDCCH allocator. Improvement the scheduler speed by ~2x
4 years ago
Francisco
6bec92fbc9
using new DFS-based PDCCH allocator as a default
4 years ago
Francisco
8347cabe4f
implemented a DFS-based PDCCH allocator
4 years ago
Francisco
a540c56552
gtpu bugfix - avoid erasing indirect tunnel and causing iterator invalidation while iterating list of tunnels
4 years ago
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
4 years ago
Francisco
fb48f4484c
sched refactor - removal or cleanup of unused sched methods
4 years ago
Francisco
137a21d6b2
sched refactor - use simple enum to represent allocation result. Refactored logging messages when allocation fails.
4 years ago
Francisco
c0a90c5aa8
refactored sf result resetting to avoid realloc of memory
4 years ago
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
4 years ago
Francisco
47f1175502
[sched, feature enhancement] - allow variable nof prbs allocated per SIB / Paging message
4 years ago
Francisco
76103065f7
collapse the 2-stage DCI generation process of SIB/Paging/RAR into one single stage in the scheduler.
4 years ago
Francisco
3a4ae3d69d
extended broadcast+RAR DCI encoding scheduler tests
4 years ago
Francisco
9601770196
rrc,bugfix - stop scheduling when RLC AM max_retx is achieved
4 years ago
Francisco
16b5e1fd4d
fix collision detection of n1pucch for the ACK and SR in the scheduler
4 years ago
Francisco
6feb311e17
remove instantiations of move-constructors and move assignment operators from cc_buffer_handler
4 years ago
Francisco
ca7fe1349e
remove unnecessary sfinae from bounded_vector. Use bounded_vector for UE cc buffers. Set ue cc used buffers remove_pdu method to private
4 years ago
Francisco
d27e0be609
created special class to manage mac::ue currently allocated rx UL buffers. This class avoids mallocs
4 years ago
Francisco
6159cb3817
add assert to ensure a valid ptr is passed to memory pool deallocator
4 years ago
Francisco
20928651c7
created batch allocator that leverages background worker pool
4 years ago
Francisco
3e9f93eb8a
refactor - remove old log_filter and logmap libraries from the codebase
4 years ago
Francisco
770021e364
remove uneeded formatting and std::string creation/allocation in scheduler
4 years ago
Francisco
fbbbf7886c
sched,bugfix - reset harq used for msg3 correctly
4 years ago
Francisco
d1483dc0f8
sched,bugfix - fix bitmask formatting. fix msg3 adaptive retx pdcch allocation
4 years ago
Francisco
837c5bdce5
clang tidy update. applied small fixes to warnings from clang-tidy
4 years ago
Andre Puschmann
20cbc48f90
rlc_am_lte: refactor PDCP/RLC interface to use fix sized data structure
...
this patch replaces the std::vector type used in the interface between
PDCP and RLC to signal delivery status between both layers. The new
data type is a configurable but fixed-size vector.
The RLC AM doesn't need to dynamically allocate the vector for every SN but
uses the tx_window for storage.
4 years ago
Francisco
20e341d0a1
mac,bugfix - fixed formatting of MAC and scheduler user-defined types
4 years ago
Francisco
5a1bf28fe1
optimization - minimization of number of std::string allocations for logging
4 years ago
Francisco
d77b6e1d9c
sched,optimization,refactor - use of custom formatter that avoids mallocs for getting bitmasks strings in hex and binary formats
4 years ago
Francisco
f0ed1e06a8
documentation,bugfix - added documentation to new blocking queues, changed class names, and removed blocking pushes from the critical path
4 years ago
Francisco
d1236fd62f
stack,optimization - replaced previous block_queue design for new bounded queue in several places in the enb
4 years ago
Francisco
b869b0d8e2
sched,bugfix&refactor: set dci_format before generating the remaining dci parameters in sched_ue::generate_dl_dci_format(...)
4 years ago
Francisco
77ac69796d
sched,bug: change tbs/mcs derivation functions to forbid the use of alt cqi table for DCI format1A
4 years ago
Francisco
34e39a9835
Implementation of scheduler algorithm to avoid PUCCH collisions
...
- The cch_allocator considers the existence of a fixed PUCCH region dedicated to CQI, SR, and HARQ ACKs
- At the moment PUCCH multiplexing is not considered
- The PUCCH width was increased to accommodate possible PUCCH-ACK positions
4 years ago