Commit Graph

1661 Commits

Author SHA1 Message Date
Francisco 377831da90 bugfix,minor - remove reset of ue cfg during handover 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 9601770196 rrc,bugfix - stop scheduling when RLC AM max_retx is achieved 2021-03-15 21:42:47 +01:00
srsLTE codebot 6ccccade9e Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srslte/common/log.h
#	lib/include/srslte/common/log_filter.h
#	lib/include/srslte/common/logger.h
#	lib/include/srslte/common/logger_srslog_wrapper.h
#	lib/include/srslte/common/logmap.h
#	lib/src/common/log_filter.cc
#	lib/src/common/logger_srslog_wrapper.cc
#	lib/src/common/logmap.cc
#	lib/test/common/log_filter_test.cc
#	lib/test/common/test_common_test.cc
2021-03-14 23:12:19 +01: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 64e8a17ea8 mac,bugfix - fix incorrect deallocation of PDU 2021-03-12 19:10:15 +00:00
Francisco 6feb311e17 remove instantiations of move-constructors and move assignment operators from cc_buffer_handler 2021-03-12 19:10:15 +00:00
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 2021-03-12 19:10:15 +00:00
Francisco 196bf710c0 fix compilation issue in mac::ue 2021-03-12 19:10:15 +00:00
Francisco d27e0be609 created special class to manage mac::ue currently allocated rx UL buffers. This class avoids mallocs 2021-03-12 19:10:15 +00:00
Ismael Gomez 7b33c48fe7 Use static queue in pdu_queue 2021-03-12 19:10:15 +00:00
Pedro Alvarez 611c5e9814 Fix RRC tx in eNB to only send messages with NAS on SRB2 2021-03-12 15:42:28 +00:00
Francisco 6159cb3817 add assert to ensure a valid ptr is passed to memory pool deallocator 2021-03-12 01:33:44 +00:00
Francisco 20928651c7 created batch allocator that leverages background worker pool 2021-03-12 01:33:44 +00:00
Francisco d41b6187c1 bugfix - remove extra \n from logging calls 2021-03-11 20:10:54 +00:00
Francisco 31b03fdd8a fix scheduler UL harq reset for msg3 case 2021-03-11 20:10:54 +00:00
Francisco 3e9f93eb8a refactor - remove old log_filter and logmap libraries from the codebase 2021-03-11 20:10:54 +00:00
Francisco 770021e364 remove uneeded formatting and std::string creation/allocation in scheduler 2021-03-11 15:18:16 +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
yagoda 62b3615268 fixing sched config parameters 2021-03-10 19:03:39 +00:00
Francisco 837c5bdce5 clang tidy update. applied small fixes to warnings from clang-tidy 2021-03-10 16:18:55 +00:00
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.
2021-03-10 16:27:33 +01:00
faluco 60cd649b8f Add a short description of the tracing options inside the config files. 2021-03-10 11:59:09 +01:00
faluco c7542daf43 Remove rlc traces and add new ones into tti run functions both in the enb and ue. 2021-03-10 11:59:09 +01:00
faluco 2b990e195c Allow specifying a custom filename for event tracing. 2021-03-10 11:59:09 +01:00
faluco d805ce01a6 - Add a flag in the enb confi file to control tracing. 2021-03-10 11:59:09 +01:00
faluco 82db6544fb Add instrumentation points to rlc_am_lte::rlc_am_lte_tx::handle_control_pdu using srslog. 2021-03-10 11:59:09 +01:00
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.
2021-03-09 21:56:33 +01:00
Pedro Alvarez bea78512e5 Make sure the eNB exits with error when some invalid configs are provided 2021-03-09 19:45:30 +00:00
Francisco 4969c98665 gtpu,bugfix - fixed formatting of addresses in GTPU 2021-03-09 16:23:08 +00:00
Francisco 20e341d0a1 mac,bugfix - fixed formatting of MAC and scheduler user-defined types 2021-03-09 16:23:08 +00:00
Francisco 5a1bf28fe1 optimization - minimization of number of std::string allocations for logging 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 f0ed1e06a8 documentation,bugfix - added documentation to new blocking queues, changed class names, and removed blocking pushes from the critical path 2021-03-08 14:49:14 +01:00
Francisco d1236fd62f stack,optimization - replaced previous block_queue design for new bounded queue in several places in the enb 2021-03-08 14:49:14 +01:00
Codebot ba617dd903 Adding AGPL copyright to new files 2021-03-07 23:12:21 +01:00
srsLTE codebot d290fe9714 Merge branch 'next' into agpl_next
# Conflicts:
#	srsue/src/phy/nr/state.cc
2021-03-07 23:12:17 +01:00
Francisco b869b0d8e2 sched,bugfix&refactor: set dci_format before generating the remaining dci parameters in sched_ue::generate_dl_dci_format(...) 2021-03-06 21:27:52 +01:00
Francisco 77ac69796d sched,bug: change tbs/mcs derivation functions to forbid the use of alt cqi table for DCI format1A 2021-03-06 21:27:52 +01: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 f79f3ca56f change default sib and rr conf PUCCH-specific default values to decrease the size of PUCCH 2021-03-05 14:59:44 +01:00
Francisco c53778134f config mac pucch parameters from RRC 2021-03-05 14:59:44 +01:00
Francisco 9eeddcec5f disabled prach vs pucch collision detection temporarily until enb cfg files are updated in the rfci 2021-03-05 14:59:44 +01:00
Francisco cf7661e10f perform small pusch allocation in case no space can be found in the PUCCH for ACK 2021-03-05 14:59:44 +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 8ae8b31ba2 Allow collisions between PUCCH and Msg3 for 6 PRBs
- The UL Harq now stores the type of UL alloc (msg3 or data)
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
Francisco 9748c0be84 simplified tbs/mcs computation in scheduler 2021-03-04 23:40:35 +01:00
David Rupprecht 5285550880 Fixes write SIB pcap define flag back to normal 2021-03-03 22:59:23 +01:00
Francisco d54cef63b2 avoid reallocating CC in mac::ue when an SCell Activation CE is sent 2021-03-03 16:49:15 +01:00
David Rupprecht aef6805d03 Added pcap net feature to eNodeB 2021-03-03 09:50:15 +01:00
David Rupprecht 5a95cbdfae Disable rat assignment in pcap class 2021-03-03 09:50:15 +01:00
Pedro Alvarez 3f4cf0a91f Fix setting last_submitted_rx_sn in HO 2021-03-02 22:44:59 +01:00
AlaiaL 13fdbd9e0f [metrics] Fixed csv header for srsenb 2021-03-02 22:17:13 +01:00
AlaiaL b1483802a2 [metrics] restoring metrics_stdout for enb and ue 2021-03-02 22:17:13 +01:00
AlaiaL d518a625cc [metrics] Added the system metrics to the csv 2021-03-02 22:17:13 +01:00
AlaiaL 0ba7cd7df9 [metrics] Added system metrics to the enb's stdout 2021-03-02 22:17:13 +01:00
Francisco c03dbc6742 fix RRC Connection Reestablishment procedure - correctly save old rnti bearer configuration in new rnti 2021-03-02 17:51:36 +01:00
Francisco 290f39d805 fix crnti mac ce handling in the rrc in normal (no handover) case 2021-03-02 17:14:17 +01:00
Francisco a72a659fdf fix timers interface to avoid accessing to a timer after its release. fix gtpu tunnel activation during s1 handover 2021-03-01 23:20:07 +01:00
Francisco 023cb0fdde log on allocation failure in mac::ue class 2021-03-01 20:10:57 +01:00
Francisco beed2ddbaa simplified tx softbuffer acquisition interface in mac::ue 2021-03-01 20:10:57 +01:00
Francisco e0da736a5f fix memory management of softbuffers in mac::ue class 2021-03-01 20:10:57 +01:00
Francisco 02539344fb move rx used buffers of mac::ue to separate cc buffer handler class 2021-03-01 20:10:57 +01:00
Francisco cc6c9ffc51 move tx/rx softbuffers of mac::ue to separate cc buffer handler class 2021-03-01 20:10:57 +01:00
Francisco 2f95862932 move tx payload buffers of mac::ue to separate cc buffer handler class 2021-03-01 20:10:57 +01:00
Francisco 9eb46cc134 fixed clang tidy warnings in mac::ue.cc 2021-03-01 20:10:57 +01:00
Ismael Gomez 4bcb7564c1 Incorrect return value in scheduler call cases user activity to not terminate 2021-03-01 18:03:14 +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 b329e25bbb move ue phy interfaces to separate interfaces header file 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
Francisco b8bd869d0f move ue rlc interfaces to separate interfaces header file 2021-02-26 16:44:57 +01:00
Francisco a988351f46 move ue pdcp interfaces to separate interfaces header file 2021-02-26 16:44:57 +01:00
Francisco ea04104e8e move ue gw interfaces to separate interfaces header file 2021-02-26 16:44:57 +01:00
faluco 2328011732 - Remove old loggers in ttcn3 and in NR. 2021-02-26 13:59:39 +01:00
faluco 3ce7454105 - Remove old loggers from ue_stack_lte, ue gw.
- Remove old loggers setting up for these classes.
2021-02-26 13:59:39 +01:00
Andre Puschmann 46d8ed8742 enb,rrc: delay UE release after RLC maxRetx
this fixes the eNB behaviour when RLC signals maxRetx reached.
By directly releasing the UE, we ignore the fact that the UE
could still have the reestablishment counters running, so
could attempt a reestablishment, which would result in a reject
because we would have destroyed the UE context too early.

this patch delays the removal of the UE to wait at least
until the reestablishment timers are expired.
2021-02-25 21:31:04 +01:00
Francisco f610a7b83d Change background worker pool to become a global variable
Allocate rrc::ue objects in batches in the background worker pool
2021-02-25 15:56:40 +01:00
Codebot eb8d47ab22 Adding AGPL copyright to new files 2021-02-24 22:12:18 +01:00
srsLTE codebot 3daa9f3fc3 Merge branch 'next' into agpl_next
# Conflicts:
#	lib/include/srslte/common/mac_nr_pcap.h
#	lib/include/srslte/phy/ue/ue_ul_nr_data.h
#	lib/src/common/mac_nr_pcap.cc
#	lib/src/phy/ue/ue_ul_nr_data.c
#	srsenb/hdr/phy/lte/worker_pool.h
#	srsenb/hdr/phy/nr/cc_worker.h
#	srsenb/hdr/phy/nr/sf_worker.h
#	srsenb/hdr/phy/nr/worker_pool.h
#	srsenb/src/phy/lte/worker_pool.cc
#	srsenb/src/phy/nr/cc_worker.cc
#	srsenb/src/phy/nr/sf_worker.cc
#	srsenb/src/phy/nr/worker_pool.cc
#	srsue/hdr/phy/lte/worker_pool.h
#	srsue/hdr/phy/nr/cc_worker.h
#	srsue/hdr/phy/nr/sf_worker.h
#	srsue/hdr/phy/nr/worker_pool.h
#	srsue/hdr/stack/mac/mac_nr.h
#	srsue/src/phy/lte/worker_pool.cc
#	srsue/src/phy/nr/cc_worker.cc
#	srsue/src/phy/nr/sf_worker.cc
#	srsue/src/phy/nr/worker_pool.cc
#	srsue/src/stack/mac/mac_nr.cc
2021-02-24 22:12:13 +01:00
Pedro Alvarez 976b5c12c1
Releasing the UE when max retransmissions are reached in the RLC. (#2385) 2021-02-24 16:45:40 +00:00
David Rupprecht f6f6ee406b SRSUE NR: use correct rnti in rar and make NR proc ra 2021-02-23 17:02:23 +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
Pedro Alvarez d8f3878ce1
RLC failure to deliver notifications and discard timer limits to 1500ms (#2368)
* Added interfaces for the RLC to notify the PDCP of failure to transmit
SDU

* Limit discard timer to 1500ms, to avoid issues of lingering SDUs in the undeliverd_sdus_queue.

* Fix bug in early exit of notify_delivery and notify_failure

* fix compilation issue in rlc-pdcp notification

Co-authored-by: Francisco <francisco.paisana@softwareradiosystems.com>
2021-02-22 10:36:14 +00:00
Francisco 6404722b4b convert qci_cfg in srsenb to std::map to allow qci values above 10 2021-02-20 23:00:05 +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 5f325b4029 - Calculate the metric time stamp for JSON at the end of the function.
- Add a range check when traversing the metric structs.
2021-02-19 09:54:41 +01:00
faluco 613d397d0a - Dump the PDCP metrics into the JSON file.
- Fix the PDCP metrics getting reset periodically which invalidated the byte counters.
2021-02-19 09:54:41 +01:00
faluco a940e169a3 Add the enb_cc_idx value to S1 events. 2021-02-19 09:54:41 +01:00