Commit Graph

1628 Commits

Author SHA1 Message Date
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
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
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
faluco b750647cd8 - Remove the cause field in the rrc disconnect event.
- Add the sib9 enb home name field to the sectors events, but leave the value as a TODO.
2021-02-19 09:54:41 +01:00
faluco a4605883f0 Implement second revision of the events and metrics document. 2021-02-19 09:54:41 +01:00
Pedro Alvarez ba5367bc56 Change order which reestablish is called in eNB
Make sure that RLC info queue is reset when reestablish happens
2021-02-18 14:51:29 +00:00
Pedro Alvarez cfd94441a5 Added metrics to srsenb PDCP 2021-02-17 18:40:12 +00:00
Pedro Alvarez 3eab97340b Fix issue in getting PDCP discard timer from configs 2021-02-17 17:53:03 +00: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 faf2adde90 set last_submitted_pdcp_rx_sn to -1 of the next ul rx sn 2021-02-17 11:03:52 +01:00
Pedro Alvarez c0eb088958 Revert "Sending LastSubmittedRxSN instead of Next_PDCP_RX_SN in status trasnfer."
This reverts commit 91a94b546ac6c452508c73812c30cf0cf1384c6f.
2021-02-17 11:03:52 +01:00
Pedro Alvarez 7259f1280a Sending LastSubmittedRxSN instead of Next_PDCP_RX_SN in status trasnfer. 2021-02-17 11:03:52 +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 e0542a4651 Fix issue in sending PDCP status PDU from the eNB due to non-existing LCID at the RLC. 2021-02-16 13:21:50 +00: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
Pedro Alvarez 89a23cec7e Added statusReportRequired to the PDCP entity config. 2021-02-16 13:21:50 +00:00
Francisco a4423ff690 sched: fix compilation issue for gcc4.8 2021-02-16 10:48:58 +01:00
Francisco a7f4dfab2c sched: added checks for localized RBG assignment in case of DCI format1A 2021-02-16 10:48:58 +01:00
Francisco Paisana 34d4dc3974 set DCI format 1A while RRC setup/reestablishment/reconfiguration is on-going 2021-02-16 10:48:58 +01:00
Francisco Paisana 929b8650a3 handle byte buffer allocation error in s1ap 2021-02-15 10:49:54 +01: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
Pedro Alvarez dd6d6f731d Passing SN provided by upper layers to PDCP entity. Using it to calculate TX_COUNT if passed. 2021-02-12 11:57:36 +00:00
Pedro Alvarez fcaaf72187 Starting to add discard functionality to PDCP LTE entity.
This includes:
  - Adding a queue (implemented with std::map) for undelivered PDUs.
    This queue uses the SN used for TX as the key.
  - Added discard timer that is started upon reception of the SDU. Upon
    expiry of the timeout a discard callback removes undelivered PDUs
from the queue.
  - Added the mechanisms to the notify_delivery to remove PDUs from the
    undelivered queue when the PDU is ACK'ed.
  - Added test case for both timer expiry and acknowledgment.
  - Fix up the getter for buffered SDUs to return the undelivered SDUs
  - Changed default PDCP discard timer, so AM has a discard timer by
    default.
2021-02-11 15:49:00 +00: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