97 Commits (feec3c5905e4a7df3b291630840ebff38bc06299)

Author SHA1 Message Date
faluco feec3c5905 Fix a data race during enb initialization.
The stack unique pointer in the enb class is written while the phy workers are calling enb::tti_clock() where it is read.
Avoid the read access until the whole class has been properly initialized.
3 years ago
Andre Puschmann 3fd47d2af4 enb: refactor L2/L3 and (re)move all NR components to gNB stack
* decouple EUTRA and NR stack classes
* implement dummy X2 interface with control and data plane methods
* implement eNB time source interface that PHY calls
3 years ago
Andre Puschmann 8d49e58078 enb: prepare split of EUTRA and NR stack classes
this allows for a slimmer base station if only EUTRA or NR cells are used.
also it seperates entities in a cleaner way
3 years ago
faluco 934802d23c Report the SIB9 home enb name in the enb sector start/sector stop events. 3 years ago
Andre Puschmann de60df9693 enb: initialize NR PHY in eNB
add required calls to initialize NR PHY alongside with LTE PHY
3 years ago
Andre Puschmann 6c82d63aa6 remove legacy PNF/VNF code
the code hasn't been maintained for a while an likely needs to be
adapted for a real-world scenarios.

in order to avoid having to maintain two MAC/PHY interfaces we
remove the code from now.
3 years ago
Francisco 4cf5a8b25a fix: avoid configuring the phy mbsfn from the rrc, when phy is not fully initialized 3 years ago
Francisco f55e1c5a73 fix,srsenb: start stack before the radio to avoid stack methods to be called when stack is not fully initialized 3 years ago
yagoda f90f6f0c7e adding MAC 0 padding support 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
Codebot 4523ee6087 rename srsLTE to srsRAN 4 years ago
Francisco 3e9f93eb8a refactor - remove old log_filter and logmap libraries from the codebase 4 years ago
AlaiaL 0ba7cd7df9 [metrics] Added system metrics to the enb's stdout 4 years ago
faluco 2328011732 - Remove old loggers in ttcn3 and in NR. 4 years ago
David Rupprecht 0f1586dd2d Deleted all HAVE_5GNR in CC and h files
CMakeList and travis yaml
4 years ago
faluco 62fcf04083 Ported the all radio classes to use srslog. 4 years ago
Francisco 3265d940ec remove byte buffer pool cached member variables as they are unnecessary now. 4 years ago
AlaiaL f1cd4b1f0d - fixes crash on initialization. Now the program exits cleanly 4 years ago
faluco b30845fae4 Remove unused variable in enb vnf_phy_nr. 4 years ago
faluco d37a07a47f Replaced loggers in buffer_pool.h 4 years ago
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 0498439d41
Backport some changes from FAPI branch (#2124)
* Reorder DCI FORMAT enum

* Fix endianness issue

* Fix return codes in phy_ue_db

* Log members should be destructed after the layers.

* Add JSON metrics and Events. Add Alarm log channel. Simplify MAC metrics struct.

* Restore metrics_stdout change
4 years ago
Andre Puschmann 07d2bc4fe8 change license header to agnostic version with hint to root LICENSE file 4 years ago
Francisco 95cc6238a5 compilation time reduction - avoid including enb_stack_lte.h in main.cc and include enb_stack_base instead 4 years ago
Xavier Arteaga 58be68f856 Changed cell gain command from cell index to cell id 4 years ago
faluco dfeed52514 - Rename out_stream function to console. 4 years ago
faluco 62faef7c71 - Replaced all uses of the log::console method. 4 years ago
faluco f0d651ae8e - Fixed a leak in the MME class not releasing the static byte buffer pool.
- Now the pool gets destroyed on program exit using a unique_ptr.
- Removed manual cleanup() calls in all the code base to free the pool instance.
4 years ago
Xavier Arteaga af8898943f SRSENB: implement console cell_gain command
SRSENB: fix 5GNR compilation

SRSENB: fix override methods
4 years ago
Xavier Arteaga bcc6c3e449 SRSENB: quit without initiating more components if radio fails to initiate 4 years ago
Francisco Paisana e3e9bbcd62 fix PNF PDU size cutting 4 years ago
Francisco Paisana d7138b7752 fix nr activation guards 4 years ago
Francisco Paisana ddff68a546 add ifdef guards for NR code 4 years ago
Francisco Paisana f0874b780b add radio_base/null classes 4 years ago
Andre Puschmann 06d31f46ba enb: set maximum allowed TTI difference between PHY and Stack TTI clocks for ZMQ
this fixes the issue where PHY and MAC threads, and the processing
of events therein, are drifting apart too much.

This patch effectivly enforces a strong wait on the PHY if the
stack thread is too slow in processing its tasks.

For RF hardware the default is still 8192 TTIs, for ZMQ 1 TTI is used.
4 years ago
Andre Puschmann db7478e9f0 enb: fix eNB shutdown if layers cant be initialized
this fixed #1392 which ocurrured because we were going on with the eNB
init even if the radio failed to initialize
4 years ago
Andre Puschmann b994255b35 enb: fix handling of GTPU and S1AP init return values
if the eNB stack startup fails, for example due to binding
the wrong GTPU socket or similar issues, the eNB should stop
and log a message. Previously the return values for
S1AP and GTPU init were not even evaluated.
5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
Andre Puschmann a95605a8a2 trim log name for eNB 5 years ago
Ismael Gomez 4e12405fff
Remove radio_multi class and organize channels, ports and carrier buffers (#1019) 5 years ago
Pedro Alvarez bb9ff82490 Remove enb singleton and make sure log is initialized. 5 years ago
Ismael Gomez a5b7dcdf16
Remove boost string (#936)
* Remove boost string

* Make sure that int/enc algos can be specified in capital case in the MME.

* Use == instead of compare for comparing strings with const chars

Co-authored-by: Pedro Alvarez <pedro.alvarez@softwareradiosystems.com>
5 years ago
Andre Puschmann fef6893ce4 make user activity handling independent of system time
this commit removes the getsystime() call from the activity handling.
it uses a single timer per UE to handle its activity.

three different timer values exist. one for the Msg3 reception. This
is like before and is quite low to quickly remove fake UEs from the
RRC. The second is a generic value (set to 1s for now) that covers
the entire UE configuration phase where multiple messages are sent
back and forth until the UE is fully set up and the default
bearer runs. From there on, the UE inactivity timer is used which
may be much bigger than 1s.
5 years ago
Xavier Arteaga 11eafa8ab4 srsLTE: FFTW wisdom gets loaded and saved by default 5 years ago
Francisco Paisana a18a7e307e moved all the parsing of the libconfig files to separate functions that can be called from individual tests. Created several stack layer dummy classes for testing. Extended the rrc_mobility test to check correctness of RRC HOPreparation struct 5 years ago
Francisco Paisana 7e62d6d1f9 added parser for rrc_cnfg section of rr.conf file, and dummy rrc_mobility class 5 years ago
Xavier Arteaga 10480f62b3 SRSENB: Split sf_worker and cc_worker 5 years ago
Pedro Alvarez 1ae8ccda8c Added EIA3 and EEA3 to default UE capabilities to srsUE. Added parsers for EEA3/EIA3 config options in srsENB and srsEPC 5 years ago
Ismael Gomez c92c61d560
Optimized front-end logging processing (#641)
Avoid memory allocation and stringstream in log frontend calls (executed from worker threads). Uses a buffer pool of fixed buffer and vsnprintf
5 years ago
Andre Puschmann e60a4490d2 streamline embms parameters and fix MCS selection 5 years ago