Francisco
b004c2024d
integration of object pool in mac::ue for allocation of softbuffers. Definition of common object pool interface class
4 years ago
Francisco
460d7a8f4f
fix memory pool test - placed the pool state into a shared_ptr so that the callbacks still have a valid handle when the pool is destroyed
4 years ago
Francisco
9bec13731a
adt unit test - fix memory pool test
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
2fc2280c3b
adt pool - replace uint8_t* for void* to represent memory blocks
4 years ago
Francisco
a79ca92020
refactor type storage and pool tests
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
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
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
ced757a11b
adt - add optional construct that closely emulates std::optional<T>
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
Andre Puschmann
d135ae4d29
proc_bsr: initial BSR procedure for NR
...
* refactor some common methods to mac_common.cc
* add common mux_base class
* move UL PDU generation to mux class
* add logical channel registration to MAC, MUX, BSR
* add initial proc BSR
* add basic MAC NR test
* rework MAC interfaces
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
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
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
60cd7e6cfe
adt - improved concurrent fixed memory pool policy to send buffers from thread cache to central cache
4 years ago
Francisco
eb38ff43ab
fixed size buffer pool bugfix - deleted threads now return the cached memory blocks to the pool shared memory block container
4 years ago
Francisco
be771e5c23
performance - use of new concurrent fixed size pool for byte_buffer pool
4 years ago
Francisco
e1523692c2
implementation of concurrent fixed size pool that leverages thread local caches to avoid mutexing
4 years ago
faluco
e2c7809abb
- Introduce a new tracer scoped object that only records if the event duration exceeds the programmed threshold.
4 years ago
Andre Puschmann
bde7b49ca3
ue,mac_nr: add basic SR procedure
...
the current implementation support only one SR config
and doesn't support the prohibit timer
4 years ago
Xavier Arteaga
6219500148
Added NR-RRC RACH parsing
4 years ago
faluco
3c1a97f450
- Use fprintf in the srsran_assert context incase the assert is being triggered by srslog producing a circular loop.
...
- Switch to use a dynamic circular buffer for the log backend queue.
4 years ago
faluco
4b5e15cd70
- Fixed missing return statements in base_circular_buffer::try_push.
...
- Fixed array index calculation in base_circular_buffer::clear.
- Removed redundant explicit in srslog::backend_worker.
4 years ago
faluco
b06ef3f390
Switch the queue of the log backend to use a circular buffer.
4 years ago
David Rupprecht
8c86d2084d
Adding NR phy config RRC parsing
...
Added error handling
Reworked flattening error handling
4 years ago
Andre Puschmann
48c106ae64
rlc_um_nr: fix packing/unpacking of PDUs with 12bit SN
...
* fix SN extraction/writing
* fix packed header size calculation
* fix segmentation logic and take variable header lenght into account
4 years ago
AlaiaL
fd3c2b855e
- Renamed log to logger.
...
- Added a log entry in the metrics when skipping a measurement due to
time constrains
4 years ago
AlaiaL
bbaebd1274
Added a warning in the log when the cpu metrics are not registered due
...
to the number cpu cores is greater than supported.
4 years ago
AlaiaL
c9d1c77e8c
- Deleted the magic number of maximum supported cores, now it is a
...
constexpr.
- When the system has more cores that the maximum supported, the cpu
metrics will not be registered.
4 years ago
AlaiaL
6cd9bba641
Added the cpu metrics to the system metrics.
4 years ago
Xavier Arteaga
5bdf2c93b3
Initial NR PDSCH CSI-RS RE skip and other changes
4 years ago
Pedro Alvarez
5bc55ec48c
Changed discard_if to appyly_if in circular_buffer.h.
...
This was done so it would work when circular buffer holds other things
that are not unique_pointers. Queue and pop_func had to be made public
to be able to call the pop_func when an SDU is discarded.
4 years ago
Francisco
6d9709fe54
adt - make circular buffer work with types without default ctor
4 years ago
Francisco
ef5329bec0
adt - extend circular map unit test to test the container with move-only types
4 years ago
faluco
e8395c7474
- Implement a pool to store dyn arg store objects in srslog to avoid allocations when passing arguments to the backend.
...
- Use string views inside the log formatters to avoid allocations.
- Avoid a std::string when using fmt::vsprintf, instead favour fmt::vprintf.
4 years ago
Andre Puschmann
1a0891df51
all: check return value of make_byte_buffer() and handle them safely
4 years ago
Francisco
46d46e70ff
add documentation for srsran_assert and srsran_expect macros
4 years ago
Francisco
dd336c53ea
changed srsran_warning to srsran_expect. Applied new macro to rlc am
4 years ago
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
4 years ago
Andre Puschmann
26e7964694
mac_pcap_base: increase PDU queue size to 512
4 years ago
Pedro Alvarez
d91119baf6
RLC discard ( #2515 )
...
* Added ability to discard to dyn_block_queue
* Change way of keeping track of SDUs
* Check nullptr in poping callback. Starting to check for nullptr in RLC read_pdu.
* Adding RLC discard tests
* Clearing PDCP info when RLC discard happens
* Read SDUs until they are no longer nullptr
* Changed discard_if to use template argument
4 years ago
Francisco
88f5add1fb
adt - fix circular map erase function and added extra asserts
4 years ago
Francisco
5d676199ab
adt bugfix - fix copy/move ctor of circular map
4 years ago
Francisco
4869b14de3
application of new circular map to mac::ue_db
4 years ago
Francisco
98d0637ded
adt addition - implemented reusable circular map
4 years ago
Codebot
4523ee6087
rename srsLTE to srsRAN
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
Xavier Arteaga
2782d96170
SRSUE: compute speed from TA commands
4 years ago
Francisco
fb48f4484c
sched refactor - removal or cleanup of unused sched methods
4 years ago
Francisco
0d91802495
sched optimization - swap c-arrays for bounded_vector in sched_interface to reduce time performing bzero/memcpy in the scheduler
4 years ago
Xavier Arteaga
f9689ec956
Added PUSCH CFO estimation
4 years ago
Xavier Arteaga
f3c0360842
Applied aesthetical changes
4 years ago
Xavier Arteaga
d9780e1f13
Fix duplicated NR-DCI in different search spaces and CORESET and other aesthetic modification
4 years ago
Xavier Arteaga
be8e8cbe3e
Fix radio decimation Rx stream stall
4 years ago
Xavier Arteaga
1153555ae1
SRSUE: Added UE specific cell space
4 years ago
Xavier Arteaga
fb1a0b6bce
SRSUE: added NR-PDCCH information
4 years ago
Xavier Arteaga
d3cfb00211
SRSUE: Added TDD DL/UL slot detection
4 years ago
Xavier Arteaga
6f6c20e194
SRSUE: Added procedure for multiplexing UCI in NR-PUSCH
4 years ago
faluco
e43f555fc0
- Provide a fast path for logging pre-formatted strings that are small and fit in 64 bytes without any allocations.
...
- Use this new feature in the tracer.
4 years ago
Francisco
2e18827259
avoid accessing C-array via &[0] for initialized buffer
4 years ago
Francisco
80104c7e65
adt, bugfix - fix assert when accessing bounded_vector::data() member
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
Ismael Gomez
7b33c48fe7
Use static queue in pdu_queue
4 years ago
Pedro Alvarez
f02694dd3e
PDCP status report: Fix issue in keeping track of Rx'ed COUNTs after eNB reestablishment. Fixed issue in logic that limits the size of the rx_counts info vector.
4 years ago
Pedro Alvarez
d2ef541957
Changed the structure to store rx_counts info to std::vector, to reduce
...
memory allocations.
Update the rx_count_info queue if the queue size is too large.
4 years ago
Pedro Alvarez
3f79cd6281
Changed generation of status report to use rx_counts instead of
...
undeliverd_sdus_queue. Added a queue to store information about
rx_counts received.
Added unit test for when the SNs wrap-around in status report genaration
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
3b491ab06b
optimize .count() method of bounded_bitset to leverage popcount special instructions. Confirmed to work for gcc in -msse4 flag is passed.
4 years ago
Francisco
7dcb703d06
adt lib,bugfix - fix bounded_bitset resize to clear bits outside of mask correctly
4 years ago
Francisco
d1483dc0f8
sched,bugfix - fix bitmask formatting. fix msg3 adaptive retx pdcch allocation
4 years ago
faluco
173dcdd421
- Import latest srslog version.
...
- Remove string allocs in some log lines in radio.cc.
Add new tracing buffer capcity options into srsenb and srsue.
Add missing file.
4 years ago
faluco
82db6544fb
Add instrumentation points to rlc_am_lte::rlc_am_lte_tx::handle_control_pdu using srslog.
4 years ago
Ismael Gomez
8e9d28e7e0
Change wait_for interface for wait_until in circular_buffer
4 years ago
Andre Puschmann
16de8668e0
rlc_am_lte: convert mutexes to std::mutex
...
replace all pthread_mutex with std::mutex and use lock_guard and unique_lock (where needed)
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
ee77343f26
fix compilation issue for centos7
4 years ago
Francisco
20e341d0a1
mac,bugfix - fixed formatting of MAC and scheduler user-defined types
4 years ago
Francisco
f72cd4151c
rlc am,bugfix - fixed formatting of RLC AM header and status pdu
4 years ago
Francisco
4c1067bcf6
bitset - fix compilation issue for centos7
4 years ago
Francisco
0f9d73012f
use srslte::move_callback instead of std::function in timers to avoid allocations
4 years ago
Francisco
5a1bf28fe1
optimization - minimization of number of std::string allocations for logging
4 years ago
Francisco
1ffc4cef86
rlc am,optimization - change helper log methods to avoid mallocs
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
Xavier Arteaga
2b9bd1173e
More NR-PUSCH UCI bit multiplexing
4 years ago
Xavier Arteaga
289fff9c22
Removed carrier set in UCI NR module
4 years ago
Xavier Arteaga
97435b085e
Added CSI part1 and 1/2 bit HARQ-ACK multiplexing on PUSCH
4 years ago
Xavier Arteaga
dc2542901a
Verified HARQ-ACK in PUSCH
4 years ago