Francisco
eb9814837a
fix gtpu test valgrind warning
2021-04-02 17:40:50 +01:00
Francisco
046633674a
refactor - removal of stack-gtpu interface, and use of socket manager interface instead
2021-04-02 11:42:50 +01:00
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
2021-04-02 11:42:50 +01:00
Francisco
4aac7ac238
use global rx multisocket handler, and remove stack-s1ap interface
2021-04-02 11:42:50 +01:00
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.
2021-04-01 13:21:43 +01:00
Francisco
b8f220258d
s1ap - extend s1ap unit test to verify result of passing an invalid mme s1ap ue id
2021-04-01 10:24:34 +01:00
Francisco
c3482b45e1
s1ap - handle erroneous enb/mme s1ap ue id in received s1ap messages from the MME
2021-04-01 10:24:34 +01:00
Francisco
d4a223b5b1
s1ap unit test - add correct cause to erab modify response when erab-id is not recognized
2021-03-31 13:31:07 +01:00
Francisco
a68c50a282
s1ap - extend s1ap unit test to setup a full ue connection and modify bearer
2021-03-31 13:31:07 +01:00
Francisco
90bba3b85e
s1ap - set s1 handover cause as s1 intra system handover triggered
2021-03-31 13:31:07 +01:00
Francisco
5eccfad05b
gtpu - added comments, updated expected construct, handled in rrc the case a gtpu teid fails to allocate
2021-03-29 10:20:55 +01:00
Francisco
82b34f3b3f
gtpu refactor - fix gtpu logging formatting
2021-03-29 10:20:55 +01:00
Francisco
44440cf562
gtpu refactor - use of raii to automatic path switch and teid removal in forwarding. Clean up of gtpu_tunnel_manager methods.
2021-03-29 10:20:55 +01:00
Francisco
bdc5094e17
gtpu - added unit test for gtpu_tunnel_manager class
2021-03-29 10:20:55 +01:00
Francisco
3cf5e85b20
create separate class to handle gtpu tunnel creation/deletion/search
2021-03-29 10:20:55 +01:00
Andre Puschmann
1a0891df51
all: check return value of make_byte_buffer() and handle them safely
2021-03-23 14:31:15 +01:00
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
2021-03-23 10:49:28 +00:00
Codebot
4523ee6087
rename srsLTE to srsRAN
2021-03-21 21:47:01 +01:00
Francisco
2054ad3f3c
eliminate old BFS-based PDCCH allocator. Improvement the scheduler speed by ~2x
2021-03-19 16:31:06 +00:00
Francisco
6bec92fbc9
using new DFS-based PDCCH allocator as a default
2021-03-19 16:31:06 +00:00
Francisco
8347cabe4f
implemented a DFS-based PDCCH allocator
2021-03-19 16:31:06 +00:00
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
2021-03-19 13:43:21 +00:00
Francisco
d646111aa9
refactor sched dci unit test
2021-03-18 17:04:45 +00:00
Francisco
d6bae76698
extend cch allocation unit tests to verify optimal cfi and DCI position selection for 6 PRBs
2021-03-18 17:04:45 +00:00
Francisco
d5750f6fe6
refactor - update of clang-tidy project file. automatic clang-tidy refactors
2021-03-18 17:04:45 +00:00
Francisco
0d91802495
sched optimization - swap c-arrays for bounded_vector in sched_interface to reduce time performing bzero/memcpy in the scheduler
2021-03-17 19:54:44 +00:00
Francisco
c0a90c5aa8
refactored sf result resetting to avoid realloc of memory
2021-03-17 19:54:44 +00:00
Francisco
c3a4cb37f4
extension of sched benchmark test to allow different testing modes - test rates, benchmark, test different combinations of sched parameters
2021-03-17 12:12:36 +00:00
Francisco
ac4d058fbf
correct verification of sched rates in sched benchmark test
2021-03-17 12:12:36 +00:00
Francisco
d334907afe
sched - wrote benchmark to detect regressions in DL/UL data rates, and to analyse the total latency of the scheduler
2021-03-17 12:12:36 +00:00
Francisco
248f05bf08
sched,bugfix - fix optimal cfi computation for sib/rar allocations
2021-03-16 19:27:25 +00:00
Francisco
19a043683c
bugfix - fix compilation issue in gcc10. The interfaces don't have virtual dtors
2021-03-16 19:27:25 +00:00
Francisco
884c1b04d2
sched,test - add test to verify cch allocator ability to undo last allocation
2021-03-16 19:27:25 +00:00
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
2021-03-16 19:27:25 +00:00
Francisco
47f1175502
[sched, feature enhancement] - allow variable nof prbs allocated per SIB / Paging message
2021-03-16 19:27:25 +00:00
Francisco
76103065f7
collapse the 2-stage DCI generation process of SIB/Paging/RAR into one single stage in the scheduler.
2021-03-16 19:27:25 +00:00
Francisco
3a4ae3d69d
extended broadcast+RAR DCI encoding scheduler tests
2021-03-16 19:27:25 +00:00
Francisco
16b5e1fd4d
fix collision detection of n1pucch for the ACK and SR in the scheduler
2021-03-12 20:07:32 +00:00
Francisco
3e9f93eb8a
refactor - remove old log_filter and logmap libraries from the codebase
2021-03-11 20:10:54 +00:00
Francisco
fbbbf7886c
sched,bugfix - reset harq used for msg3 correctly
2021-03-10 22:42:39 +00:00
Francisco
d1483dc0f8
sched,bugfix - fix bitmask formatting. fix msg3 adaptive retx pdcch allocation
2021-03-10 22:42:39 +00:00
Francisco
20e341d0a1
mac,bugfix - fixed formatting of MAC and scheduler user-defined types
2021-03-09 16:23:08 +00:00
Francisco
d77b6e1d9c
sched,optimization,refactor - use of custom formatter that avoids mallocs for getting bitmasks strings in hex and binary formats
2021-03-09 16:23:08 +00:00
Francisco
b79d09e83f
remove commented code from sched dci test
2021-03-06 20:49:05 +01:00
Francisco
fb04fdbe69
sched,bugfix - fix mcs/tbs computation for 256-QAM.
2021-03-06 20:49:05 +01:00
Francisco
102cb196e1
Addition of enb cfg option to choose between PUCCH with multiplexing and without. Change default prach offset to 4.
...
- The new prach offset of 4 accounts for the size of the PUCCH-ACK region with 100 prbs
2021-03-05 14:59:44 +01:00
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
2021-03-05 14:59:44 +01:00
Francisco
39aea96c69
fix sched tests UL HARQs. Set common pucch cfg in the sched tests
2021-03-05 14:59:44 +01:00
Francisco
7dcfe7bf0e
sched: updated tbs calculation test. Fix edge cases that failed the test.
2021-03-04 23:40:35 +01:00
Francisco
ed8ab3871c
re-designed algorithm to compute lowest mcs that meets cqi,req_bytes,nof_prbs requirements in the scheduler
2021-03-04 23:40:35 +01:00
Francisco
3dd7877199
wrote unit test to check tbs,mcs derivation based on cqi,nof_prb in scheduler
2021-03-04 23:40:35 +01:00
Xavier Arteaga
1e55d68b55
Removed set RNTI from API
2021-03-01 15:30:33 +01:00
Francisco
4b09507c19
remove srslte.h includes from upper layers
2021-02-26 16:44:57 +01:00
Francisco
13d805ef56
move ue rrc interfaces to separate interfaces header file
2021-02-26 16:44:57 +01:00
David Rupprecht
0f1586dd2d
Deleted all HAVE_5GNR in CC and h files
...
CMakeList and travis yaml
2021-02-22 21:16:04 +01:00
Francisco
9a9ed01dda
rename pdcch_sched to sf_cch_allocator
2021-02-19 17:34:55 +01:00
Pedro Alvarez
6ecd6e273c
Make sure that the status report is sent in RLF and PDCP reestablishment triggered by Handover
2021-02-19 13:30:48 +00:00
faluco
a940e169a3
Add the enb_cc_idx value to S1 events.
2021-02-19 09:54:41 +01:00
Francisco
9546634b37
use unique_ptr for sched_ue database in scheduler. This will minimize the time spent locking while adding new users
2021-02-17 11:04:07 +01:00
Francisco
c1adaec038
refactored cce position table structs
2021-02-16 21:22:40 +01:00
Francisco
823da24a8e
removed uneeded sched method to set sched algorithm, and made configured flag atomic
2021-02-16 21:22:40 +01:00
Francisco
6b3cf6c597
moved pdcch sched to separate file
2021-02-16 21:22:40 +01:00
Pedro Alvarez
b0fe302f8e
Added interfaces so the upper layers can trigger the PDCP status report. Added ability to the UE to send Status Report aftre reestablishment.
2021-02-16 13:21:50 +00:00
Francisco Paisana
c40ad81a90
cleanup s1ap methods. remove hard coded erab list in s1ap handover required message.
2021-02-15 10:49:54 +01:00
Francisco
dc4283c572
added cmake functions as helpers to set labels in ctests
2021-02-12 20:27:31 +01:00
Francisco
23459dee28
Created enb_{rlc/pdcp/gtpu/phy_interfaces.h files.
2021-02-12 16:36:50 +01:00
Francisco
43e57df00b
breaking enb_interfaces.h into multiple files on a layer basis. Created enb_rrc_interfaces.h, enb_mac_interfaces.h and enb_s1ap_interfaces.h
2021-02-12 16:36:50 +01:00
faluco
5c8923123a
Misc compilation fixes from the fapi repo.
2021-02-11 15:38:50 +01:00
faluco
6359a2d948
- Upgrade the gtpu class in lib dir to srslog.
...
- Propagate old log elimination through all the dependencies of gtpu.
2021-02-11 14:37:27 +01:00
Francisco
4188b5146e
fix uninitialized memory access in gtpu_test and liblte_mme unpacking
2021-02-11 13:09:06 +00:00
Francisco
3265d940ec
remove byte buffer pool cached member variables as they are unnecessary now.
2021-02-07 18:48:21 +00:00
Francisco
04ab4eefcd
use new make_byte_buffer() helper method to create unique_byte_buffers
2021-02-07 18:48:21 +00:00
Francisco
c4a50b7de0
avoid loss of pdcp sdus' SNs buffered in gtpu during handover
2021-02-03 17:20:07 +00:00
Francisco
78d1b8083a
fix GTPU tunneling. Avoid forwarding packets to PDCP while the PDCP bearer is not yet created
2021-02-03 17:20:07 +00:00
faluco
199f1c953e
Remove unneeded logmap headers.
2021-02-03 14:15:27 +01:00
faluco
79eca0980d
- Ported fsm.h to srslog.
...
- Adapted and removed old loggers in tests and code that used fsm.h
2021-02-03 14:15:27 +01:00
Francisco
411946c752
Improvements on GTPU message logging
...
- Avoid multiple lines per each SDU Rx or Tx
- log info relative to source and destination of each SDU
- log info relative to whether the Rx SDU has been forwarded into a tunnel
- log info relative to whether the Rx SDUs are being buffered.
2021-02-02 21:37:18 +00:00
Francisco
2bde28252c
send UE capability indication through S1AP
2021-02-01 22:27:49 +00:00
Francisco
d64ce7df77
implementation of S1 E-RAB Release Indication and Error Indication messages
2021-02-01 22:27:49 +00:00
Francisco
2befbd1825
setup of forwarding tunnels during enb s1 handover
2021-01-29 18:46:11 +00:00
Francisco
ee3d8a5c77
fix gtpu_test memcpy param overlap bug
2021-01-29 17:22:58 +00:00
Francisco
b9271f26da
change naming from mme to sgw in gtpu_test
2021-01-29 17:22:58 +00:00
Francisco
e8f6a436af
update gtpu test to account for scenario of buffered PDCP SNs, and buffering of direct path until indirect tunnel is closed
2021-01-29 17:22:58 +00:00
Francisco
56ec2c286e
add gtpu test for tunneling
2021-01-29 17:22:58 +00:00
Francisco
13649e4e19
Implement new GTPU functionality:
...
- multiple tunnels per E-RAB
- data forwarding between connected GTPU tunnels
- forwarding GTPU End Marker between connected tunnels
- TeNB GTPU handles in-sequence delivery when multiple tunnels for the same ERAB exist.
2021-01-29 17:22:58 +00:00
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.
2021-01-28 12:17:18 +01:00
Francisco Paisana
3892194d98
sched refactor, use enb_cc_idx rather than ue_cc_idx primarily to avoid uneeded conversions
2021-01-21 17:04:25 +00:00
Ismael Gomez
47dbd6ed70
Merge pull request #2214 from softwareradiosystems/pr_mac_buffers
...
Limit the number of UL buffers in MAC and deallocate old ones
2021-01-20 21:12:39 +01:00
Francisco
7f6f3f7912
fix sched test check for ConRes DCI format.
2021-01-20 17:11:04 +01:00
Ismael Gomez
d5f0634975
Add PUCCH SNR measurement ( #2175 )
...
* Add PUCCH SNR measurement
* Fix PUCCH SNR estimation
* Reverted PUCCH noise estimation
* use fpclassify instead of iszero
Co-authored-by: Xavier Arteaga <xavier@softwareradiosystems.com>
2021-01-19 21:55:24 +01:00
Ismael Gomez
c1c5fa426c
Fix issue with new way of managing ul buffers not working with CA
2021-01-19 16:59:36 +01:00
Francisco Paisana
d0a17b0a40
created sched_ue_cell class that is indexed based on enb_cc_idx
2021-01-15 23:24:39 +01:00
Francisco Paisana
2abe486e18
separate control loops for PUCCH and PUSCH TPC
2021-01-06 22:14:46 +01:00
faluco
92b11c1adb
Backport misc changes from the fapi repo.
2020-12-21 13:45:22 +01:00
Francisco Paisana
099dad8cb1
disable PHR handling in the UL sched by default
2020-12-17 17:56:42 +01:00
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
2020-12-16 13:49:29 +01:00
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
2020-12-16 13:48:48 +01:00
faluco
8c42ec26c3
Fix error in previous rebase from dev.
2020-12-14 13:16:13 +01:00
faluco
f20b75a05f
Re-structure enb metrics a bit. Create a generic mac metric struct and per ue mac metrics struct.
2020-12-14 13:16:13 +01:00
Francisco
783131a4e1
sched rand test refactor: removal of redundant tests
2020-12-12 15:59:27 +01:00