32 Commits (1e2153769ef7bd052dc7a9abc56be2d3d770b4aa)

Author SHA1 Message Date
faluco 711438f756
Port enb specific classes to use srslog (#2155)
* - Started porting the enb PHY layer to use srslog loggers.
- Updated srslog to manage the none level.

* Finished porting enb phy layer including the NR part.

* Ported MAC, GTPU, PDCP, RLC and S1AP enb classes to use srslog.

* Use new stack logger.

* Ported the enb RRC clases to use srslog.

* Remove unused log macros.

* Replace loggers in sched, sched_carrier, sched_helpers.

* Replaced loggers in sched grid.

* Replaced loggers in sched harq.

* Replaced loggers in sched ue.

* Replaced loggers in sched ue ctrl.

* Replace loggers in sched ue ctrl TPC.

* Replaced loggers in sched subclasses.

* Replaced loggers in rrc_meascfg_test

* Configure loggers in rrc_mobility_test.

* Fix compilation errors left out after the rebase.

* - Implement a custom log sink that will serve as a test spy to intercept and count the number of error and warning log entries.
- Adapt the erab_test_setup and rrc_mobility tests to use this new class and make them pass again.

* - Remove trailing new lines introduced in the rebase.
- Ported the sched_ue_cell class to srslog.

* Remove unused log member.

* Ported mac tests to srslog.

* - Removed remaining trailing newlines from log entries.

* Fix compiler errors detected in CI.

* Fix another static variable without definition passed to log lines.

* Fixed a bug in srslog::flush that would never end when the backend queue is full.

* Fetch the RRC logger instead of injecting it in the constructor.
4 years ago
Ismael Gomez fed4e0ad82
Protect access to ul buffers (#2227)
* Protect access to ul buffers

* Fix interval calculation when removing old buffers
4 years ago
Ismael Gomez 44e411be2b Track UL buffers per TTI instead of per PID and remove old ones periodically 4 years ago
Ismael Gomez c1c5fa426c Fix issue with new way of managing ul buffers not working with CA 4 years ago
Ismael Gomez e413086576 Limit the number of UL buffers in MAC and deallocate old ones 4 years ago
Ismael Gomez f9a02299f9 Use MAC PDU pointer instead of tti_rx and rnti as a key to associate buffers. Decouple crc_info() and push_pdu() functions. This allows for different timing architectures in the PHY 4 years ago
faluco f20b75a05f Re-structure enb metrics a bit. Create a generic mac metric struct and per ue mac metrics struct. 4 years ago
Francisco 5865df39d1 created class that implements the scheduler transmit power control and PHR handling 4 years ago
Andre Puschmann 07d2bc4fe8 change license header to agnostic version with hint to root LICENSE file 4 years ago
Francisco Paisana cb7f620254 created separate class to manage bearers buffers/status reports in the scheduler 4 years ago
Ismael Gomez 493b7ea2da Remove SNR threshold based link failure detection 4 years ago
Andre Puschmann a0e4b18507 enb_mac: pre-allocate UE object for quicker PRACH/RAR handling
we've seen long delays in handling PRACH on low-power devices
such as the RPi4. This was mainly caused by long delays
in creating the UE object on the fly during PRACH handling.

This patch pre-allocates one UE object that is then used
during the PRACH.
5 years ago
faluco 7ff251f112 - Fixed warnings caught by Clang 9.0.0 5 years ago
Francisco Paisana df06443470 use c++ variadic template instead of variadic function 5 years ago
Francisco Paisana 6ddedd5972 moved pdu to common mac folder 5 years ago
Xavier Arteaga 8b265883e4 SRSENB: UL TA measurement waits for a start order before start measuring 5 years ago
Francisco Paisana a2866f661b made the number of ue payload allocations proportional to number of active carriers. Made mac::ue_db use unique_ptrs 5 years ago
Francisco Paisana 8772d8f85c use byte buffer pool for the ue tx_payload_buffer allocation. This halves the mac::ue object creation time 5 years ago
Francisco Paisana 82cb6baef0 now the whole ue and enb mac uses the logmap 5 years ago
Xavier Arteaga ada8772f57 Initial srenb TA compensation 5 years ago
Ismael Gomez cf4f4508ce Normalize throughput in CSV/stdout metrics with respect to number of TTIs 5 years ago
Ismael Gomez 858165f177
Allocate a different PDU buffer for each carrier in MAC eNodeB (#1069) 5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
Francisco Paisana 9b4a0baa87 activate scells in the phy 5 years ago
Andre Puschmann a8acd235f6 extend eNB MAC to support multiple CC per UE
- add tx/rx softbuffers for each CC that a UE might have
- make sure to call assign correct buffers when iterating
  over the CC for UL/DL grant assignment
5 years ago
Andre Puschmann 664170fec6 pcap: add CC index when writing PCAP 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
Ismael Gomez 3828e03f33
Refactor in eNodeB, add channel emulator and fixes in OFDM
* Added channel emulator to srsENB. Added support for fixed delay

* Bug in OFDM when using nonguru mode

* A few changes and refactor in eNodeB
5 years ago
Andre Puschmann 92f0d58856 mac: move further init/config into ctor to allow early logging, etc. 5 years ago
Andre Puschmann 6a11030ae1 enb: fix race condition in workers overwriting the DL tx buffer
this adds a own tx buffer for each HARQ PID
5 years ago
Andre Puschmann da35f41dd5 rework MAC logical channel prioritization 5 years ago
Francisco Paisana 415d3418b6 reorganized enb to mirror ue director/class structure with a stack class 6 years ago