Francisco Paisana
269c852767
created a class for time profiling. An object of such class, if disabled, has almost zero overhead. Added a compile-time flag to turn on/off time profiling
5 years ago
Andre Puschmann
ac17ec6452
add common signal_handler for srsUE/srsENB/srsEPC
...
the signal handler is the same for all three apps. The "running" flag
as well as the file_logger object are in the common header in order
to allow the signal handler to flush the file if the alarm goes off.
5 years ago
Andre Puschmann
4e3e537982
fix doxygen file description
5 years ago
Xavier Arteaga
e832769ae6
Updated copyright
5 years ago
Francisco Paisana
5330249625
created tti_point type and unit test. Added also the tti_point to the scheduler harqs, and rrc procedure
5 years ago
Ismael Gomez
e8b8c9922e
Add RF per-channel frequency band constraints ( #1026 )
5 years ago
Francisco Paisana
7548402632
change scell activation interface to use arrays. Added a method to the scheduler to get the current set of activated carriers
5 years ago
Xavier Arteaga
590847e794
TTI semaphore requires protection in wait_all
5 years ago
Xavier Arteaga
76408b195e
Rename TX_DELAY and FDD_HARQ_DELAY_MS
5 years ago
Pedro Alvarez
96c82b3fc6
Moved PDCP configs to pdcp_config.h. Added `as_security_cfg_t` structure to hold access stratum keys.
...
Refactored PDCP, RRC and USIM accordingly.
5 years ago
Francisco Paisana
e62972d38e
fix fdd delays in scheduler
5 years ago
Ismael Gomez
4e12405fff
Remove radio_multi class and organize channels, ports and carrier buffers ( #1019 )
5 years ago
Xavier Arteaga
96ffe1c3ad
Commented class tti_semaphore
5 years ago
Andre Puschmann
664170fec6
pcap: add CC index when writing PCAP
5 years ago
Francisco Paisana
fed06138b9
moved rach_detected to stack thread. Created a more friendly interface to enqueue tasks in stack
5 years ago
Andre Puschmann
a8bbe551ac
move thread class into srslte namespace to avoid ambiguity between std::thread
5 years ago
Francisco Paisana
79e5bd94cf
remove timers from priority queue for which run() or stop() was called.
5 years ago
Francisco Paisana
5b2da779b7
new method in timer_handler to dispatch calls without an associated unique_timer
5 years ago
Francisco Paisana
32c347fbb1
hide logmap implementation in source file. Export symbols so they can be used by srsASN1 project
5 years ago
Francisco Paisana
e859d622c7
added logref class to forbid logmap pointer invalidation. Created a test for the logref, and introduced it in the scheduler, rrc and nas
5 years ago
Andre Puschmann
b88e877b4c
ttcn3: make SS single threaded and use SCTP for test ports
...
- remove all threading from SS
- use epoll to handle test port connections, signals, and timers
- convert testport interface to SCTP
5 years ago
Pedro Alvarez
aecfb151ce
Apply clang-format to the lib in preperation for PR.
5 years ago
Francisco Paisana
42449b079a
now the scell_activation CE is only for 1 octet. The 4 octet one is not yet supported.
5 years ago
Francisco Paisana
d831522692
addition of SCell Activation CE Cmd to scheduler and MAC
5 years ago
Francisco Paisana
a0407dd6f7
created a lock guard for pthread rwlocks. This will avoid using gotos in many cases, and the RAII technique avoids many accidents.
5 years ago
Xavier Arteaga
40772eae19
SRSENB: UE PHY dedicated takes a flat configuration structure
5 years ago
Francisco Paisana
e86862611c
update the scheduler interfaces to accommodate the configuration of multiple carriers
5 years ago
Andre Puschmann
ed179fd311
timers: rename value() to time_elapsed()
...
this seems to be better readable than value() since
we've sometimes confused it with the timeout value
5 years ago
Andre Puschmann
4932fb8719
fix value() return in timers when timer is expired
...
this makes sure that value() never returns a value larger
than the timer duration
5 years ago
Xavier Arteaga
e0cc1fd697
Reduce time of timer_test; use unique_lock instead of guard
5 years ago
Xavier Arteaga
22da8dfbb1
srsLTE: protected priority queue in timers
5 years ago
Andre Puschmann
bbacc35e24
move configuration of default logger to main
...
this prevents the case where a layer requests a new log_filter
before the default logger has been configured
5 years ago
Ismael Gomez
52716f8716
Process HO complete in the background to avoid heap-after-use bug when PHY measurements are reported during a HO
...
rrc_meas refactor. Need to split commit
Fix typo
Temporal commit
Apply rx_gain_offset to neighbour cell measurements
srsLTE: modify TESTASSERT Macro to follow codeline
SRSUE: prevent RRC from having serving cell in neighbour list
SRSUE: DL HARQ does not need Time Aligment Timer. UL is disabled using PUCCH resources release
SRSUE: extend intra-frequency to CA SCell
SRSUE: fix confusing/ambiguous code in the RRC measurements and fix concurrency issue
SRSUE: remove RRC measurement report triggers when measurements are modified or HO succesful
SRSUE: fix compilation issues and Reest SIB indexes
Fixes sync using incorrect cell configuration when search cell does not find a correct cell
Small refactor to remove measurement report triggers always after removing measurement
SRSUE: Removed SIC PSS from UE
SRSUE: fix inter-frequency reestablishment and added more traces
SRSUE: Fix compilation issue
5 years ago
Francisco Paisana
c8cd12ac53
updated the test logging utils
5 years ago
Francisco Paisana
c537d38650
separated sched tests based on output into a separate file. Added scheduler random tester to unit tests
5 years ago
Francisco Paisana
f6ed99b71b
created a generic crtp class for handling singletons. I am using that class for the logmap now
5 years ago
Francisco Paisana
ea777d92e8
applied new logmap class to nas
5 years ago
Francisco Paisana
3e2de6dd3e
new logmap class to store globally accessible logs
5 years ago
Francisco Paisana
07a9e889a4
added a singleton map to facilitate access to each layer logger
5 years ago
Andre Puschmann
e5b1673b3b
move PCAP into own compilation unit
...
this removes inline keyword from PCAP functions and puts all functions
into own C file
before forced inlining caused an issue when compiling for ARM on Ubuntu 19.10 on the RPi4
using gcc version 9.2.1
5 years ago
Francisco Paisana
883c2900c8
fix issue with future clear
5 years ago
Francisco Paisana
91d83fc20d
different way to retrieve a proc future
5 years ago
Francisco Paisana
ee24b59924
converted s1ap to new s1ap asn1 lib. Cleaned up bitstring packing/unpacking and bitstring types
5 years ago
Andre Puschmann
b0bfc7956d
use const& in metrics interface
5 years ago
Xavier Arteaga
b1c4cd7189
srsLTE: removed timout in tti semaphore
5 years ago
Xavier Arteaga
6bef91a788
srsLTE: TTI sempahore wait for all resuses wait code.
5 years ago
Xavier Arteaga
a7e92c384e
srsLTE: applied minor comments in tti semaphore
5 years ago
Xavier Arteaga
447ede327c
srsLTE: removed unused argument
5 years ago
Xavier Arteaga
384c420c7c
SRSUE: fix phy workers concurrency issue
5 years ago
Andre Puschmann
476f970ee1
replace FIXME with TODO
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
Andre Puschmann
42080e59f1
remove std::move when returning freshly created unique_ptr
5 years ago
Francisco Paisana
5b4c42ac77
pass argument by pointer to avoid gcc4.8 issue
5 years ago
Francisco Paisana
20ff016e40
fixed header guard of threads file
5 years ago
Xavier Arteaga
1fa5a19a55
SRSUE: SRSUE: fix timealigmenttimer
5 years ago
Pedro Alvarez
e1cdd51eba
Clang-formated before pull request
5 years ago
Pedro Alvarez
e68956bcf6
Adding discard timer timeout to PDCP config.
5 years ago
Pedro Alvarez
9870c73366
Starting to add discardTimers to PDCP NR.
5 years ago
Francisco Paisana
c29d8b418a
fix coverity va_list issues
5 years ago
Francisco Paisana
54992e72f1
fixed and simplified multiqueue task api to avoid dangling pointers.
5 years ago
Francisco Paisana
6746c5dfa5
pass task functor by copy to avoid dangling pointers
5 years ago
Francisco Paisana
b2d3c2a150
fix compilation issue
5 years ago
Francisco Paisana
ac4d3b9624
std::functions do not accept move-only captures. So I had to create a wrapper earlier. In this PR, I cleaned a bit the previous API for the code to be a bit more readable
5 years ago
Francisco Paisana
c9f092e8e9
created a nullsink and a TESTASSERT for C
5 years ago
Francisco Paisana
67ccaf1029
created a file with common test utils, including assertions, a logger specialized for tests that counts the number of errors and warnings during the test run and can print diagnostics on exit
5 years ago
Andre Puschmann
47019e26f6
fix signed/unsigned comparison warning
5 years ago
Andre Puschmann
6f72cbffab
fix snprintf of uint64 for ARM
5 years ago
Francisco Paisana
e8487211e4
changed the naming of mch to m1u in the gtpu class
5 years ago
Francisco Paisana
1400777639
removed 1st thread from GTPU
5 years ago
Francisco Paisana
a9a33256e9
fixed some of the net utils functions
5 years ago
Francisco Paisana
546ee98879
fixed small issue that was causing compilation errors
5 years ago
Francisco Paisana
2de0eee9c7
clean up some comments
5 years ago
Francisco Paisana
76673d2d40
cleaned up socket util methods, and made the S1AP non-blocking.
5 years ago
Francisco Paisana
2c3e4a3daf
creation of util class net_addr_t that provides methods for conversion of IP addr const char* to sockaddr_in
5 years ago
Francisco Paisana
31dffde6c3
simplified interface and made it more generic to different types of sockets
5 years ago
Francisco Paisana
e37a718f21
created a sctp socket class
5 years ago
Francisco Paisana
131b1a7e41
added a class to handle multiple sockets via a select
5 years ago
Andre Puschmann
98ac39e617
fix compilation when macro SRSLTE_BUFFER_POOL_LOG_ENABLED is enabled
5 years ago
Francisco Paisana
57cd40ca31
added an ho required message send from SeNB to MME
5 years ago
Francisco Paisana
690a9850e7
cleaned up some old patterns and run clang-format in RRC and scheduler
5 years ago
Pedro Alvarez
ac9ee9d863
Added comment.
5 years ago
Pedro Alvarez
9998b3e857
Small white space fix and clang-format on pdcp_nr_test.h
5 years ago
Pedro Alvarez
8511fca940
Clang-formated to prepare for PR
5 years ago
Pedro Alvarez
ceea761ca4
Added append_bytes method to byte_buffer_t class. Continue to reduce boilerplate.
5 years ago
Pedro Alvarez
b92c99ad2f
Removing PDCP config from rrc_interfaces_types. Starting to add t_reordering configuration.
5 years ago
Pedro Alvarez
45d298507b
Starting to move pdcp configs to rrc_interface_types. Starting to add test for reorder timeout.
5 years ago
Andre Puschmann
f4a0bebe1f
fix handling of invalid MAC LCIDs
5 years ago
Andre Puschmann
aa9733eb59
add packing for CCCH over UL-SCH for MAC NR
5 years ago
Francisco Paisana
8440126d35
removal of srslte::timers class
5 years ago
Francisco Paisana
9ae5563331
fixed timer issue with setting the duration. Setting the duration cannot reset the on-going timer run
5 years ago
Francisco Paisana
d2c56caf7e
applied new timer class to the whole code base
5 years ago
Francisco Paisana
5953d5ef96
fixed some potential bug related to timer getting stopped, but signaling that it expired
5 years ago
Francisco Paisana
551192705e
allow for pre-reservation of timers vector and priority queue
5 years ago
Francisco Paisana
50a1c9d557
addressed potential overflow, and extended timer test to check if ordering is working correctly
5 years ago
Francisco Paisana
349646a9da
created a new class for timers. It uses a priority queue to avoid incrementing all timers every tti (step_all() went from O(N) to O(1)), and that is not bounded in number of timers. Not being bounded will be useful for layers that require one or more timers per UE
5 years ago
Francisco Paisana
15bde8660a
getting a future of an already finished proc is dangerous
5 years ago
Francisco Paisana
248583ecdf
added extra logging and removed uneeded member from proc_t
5 years ago
Francisco Paisana
b254bdbb93
typedefed the proc_result_t<void> to become proc_state_t
5 years ago
Francisco Paisana
f2d88e5a5b
simplified NAS rrc connection request procedure
...
move non-type-specific methods of proc_t to its base class.
procedure state machine was simplified via a future-type. Now procedures dont get stuck until the user reads the procedure outcome.
made the NAS procedures more event trigger/reaction-based.
5 years ago
Francisco Paisana
8864787f59
added the continuation functionality to procedures via the "then()" method.
5 years ago
Francisco Paisana
c1be118d1d
new wrapper-based design for stack procedures. Removes extra base class, gets rid of spurious copies/moves during the pop(), and allows the use of a non-default ctor()
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
Xavier Arteaga
10480f62b3
SRSENB: Split sf_worker and cc_worker
5 years ago
Andre Puschmann
d5835fc8a0
add info_long() method to log filter
5 years ago
Andre Puschmann
626259eede
add helper method to obtain thread name
...
this is helpful to, for example, print the name of
the thread that calls a function, i.e.:
log.console("%s from %s\n", __PRETTY_FUNCTION__, thread::get_name().c_str());
5 years ago
Andre Puschmann
d8fedf2e19
fix parsing of corrupted MAC PDUs
5 years ago
Francisco Paisana
a2f1998350
fix issue with thread pool shut down
5 years ago
Francisco Paisana
c413fadea9
created a queue-based thread pool. Tasks are inserted into a queue and then popped by the thread pool workers to be processed.
5 years ago
Andre Puschmann
57317fab7c
expose debug_long to class log and use in RRC to log ASN1 structs
5 years ago
Francisco Paisana
14267640ee
implemented andre's PR review requests
5 years ago
Francisco Paisana
ceba00f00e
extended multiqueue to support blocking push
5 years ago
Francisco Paisana
647c624423
created a multiqueue handler, and started using it for the ue stack
5 years ago
Andre Puschmann
95b2239dd5
add base class for socket handler using netsource object
5 years ago
Andre Puschmann
6baa89cd2c
add MAC NR PDU packing and associated unit tests
5 years ago
Andre Puschmann
090f2b4110
add MAC-NR PCAP support
5 years ago
Francisco Paisana
cd521a84cb
bigger log buffer. Now it is 1024 chars ( #649 )
...
Use dynamic string for debug_long() function and known relation of size between log_str and log_filter
5 years ago
Andre Puschmann
5189bbad69
add stop() to logger_file
...
this allows to close and currently running log process, flush the content
to the file, continue logging during that time, open a new file
and write the new log entries to that new file
basically it allows to use the logger_file multiple times without
needing to destroy the object
this is used in the UE tester to write each testcase into a separate
log file
5 years ago
Pedro Alvarez
1d3e541069
Fixed warning on bytes_to_mnc
5 years ago
Pedro Alvarez
9b20a0de16
Added comment to zuc.cc and zuc.h
5 years ago
Pedro Alvarez
004db4a067
Applied clang-format to zuc_support PR.
5 years ago
David Rupprecht
50332089ce
Add EEA3 and EIA3 support for UE/enodeb and MME
5 years ago
David Rupprecht
d580a94dab
Add EIA3 and test case
5 years ago
David Rupprecht
7e13860dd5
Add decryption function and all tests for enc
5 years ago
David Rupprecht
0841d837de
Make ZUC state ful no global vars
5 years ago
David Rupprecht
ef4cf7aa52
First ZUC working test case
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
Francisco Paisana
67d6a25194
Moving mac timers to stack timers ( #638 )
...
* first step towards moving MAC timers to stack. Mac is still using its own timers. srslte::timers class can be restructured.
* moved timers out of the UE MAC
5 years ago
Francisco Paisana
c9d3b61038
added resumable procedures to make RRC and NAS non-blocking
5 years ago
Andre Puschmann
e42449532b
fix wrong namespace definition in various places
5 years ago
Pedro Alvarez
6efa944b5e
Removed srslte prefix from pdcp_config_t
5 years ago
Pedro Alvarez
3da0391fff
Adding default initializers to PDCP config.
5 years ago
Pedro Alvarez
494be243c0
Changed security direction to use an enum.
5 years ago
Pedro Alvarez
f90b69e5f4
More clang-format for PDCP
5 years ago
Pedro Alvarez
491695ab77
Clang-formated PDCP NR PR.
5 years ago
Pedro Alvarez
d3b6828082
Changed PDCP configuration to explicitly have tx and rx direction. Decrypt on PDCP NR seems fine.
5 years ago
Pedro Alvarez
73e30743d1
Added enum to PDCP config to replace two bools.
5 years ago
Pedro Alvarez
457f35699d
Reverted back to a single config structure between PDCP NR and PDCP LTE.
5 years ago
Pedro Alvarez
9d0db108c6
Continue to add PDCP tx test
5 years ago
Pedro Alvarez
2081b22465
Added PDCP_SN_LEN constants. Added bearer_id and direction back to the pdcp_entity_base.
5 years ago
Pedro Alvarez
52f75c3cf2
Starting to add PDCP NR state variables.
5 years ago
Pedro Alvarez
1944bf9a80
Continue to split pdcp_entity_lte and pdcp_entity_nr. Compiling now.
5 years ago
Pedro Alvarez
005d03cb1a
Starting to split pdcp_entity into pdcp_entity_lte and pdcp_entity_nr to support NR PDCP
5 years ago
Andre Puschmann
09610ce788
add type setter to sch_subh and use it for MCH PDUs
6 years ago
yagoda
408400bee6
adding fixes and tests for eMBMS
6 years ago
Andre Puschmann
9ee415ac82
correct the max size for a single TB
...
since the size in bits is counted per TB we don't need to allocate
space for the 2x2 MIMO case. Both CW have their own buffer.
6 years ago
Ismael Gomez
c9c43e44e9
Fixed PDU buffer size
6 years ago
Pedro Alvarez
9597cc4c14
Clang-formated liblte_*
6 years ago
Andre Puschmann
4e86b2f6b2
introduce layerd architecture we use for UE to eNB
...
- this allows flexible use of different PHYs and radios
- use common radio_multi (moved to lib)
6 years ago
Andre Puschmann
92f0d58856
mac: move further init/config into ctor to allow early logging, etc.
6 years ago
Francisco Paisana
b936629221
removed rrc asn1 header from bcd_helpers, from rlc_interface, and rlc tests
6 years ago