Commit Graph
1396 Commits
Author SHA1 Message Date
Robert Schmidt fd2e5fee96 Clean up schedule_dlsch() 2020-04-06 13:56:31 +02:00
Robert Schmidt 2f32448707 Correctly handle 2ms Sched. Reqs 2020-04-06 13:56:31 +02:00
Robert Schmidt a3bbbd0630 Lock PRACH region through vrb_map_UL 2020-04-06 13:56:31 +02:00
Robert Schmidt abc65b1d86 Reimplement UL PP 2020-04-06 13:56:31 +02:00
Robert Schmidt 8bf7a13ffa Remove first_rb from ULSCH scheduler 2020-04-06 13:56:31 +02:00
Robert Schmidt 8a84e2d92e Rewrite assign_max_mcs_min_rb() more concisely 2020-04-06 13:56:31 +02:00
Robert Schmidt 10bd164ad4 UL PP: Remove UE sorting and slicing 2020-04-06 13:56:31 +02:00
Robert Schmidt 9b4725ad0b Shortened UL-PP, remove CC and slicing 2020-04-06 13:56:31 +02:00
Robert Schmidt 4250f8eaec ULSCH: remove CC loop, remove variables or limit scope 2020-04-06 13:56:31 +02:00
Robert Schmidt 1670b4521e Reimplement the DLSCH preprocessor
This refactors the preprocessor. The new preprocessor implements the
same scheduling strategy (Modified Round-Robin: give resources according
to round-robin, then group) but should be fairer by changing every time
the RR start UE (i.e., 1st TTI UE 0 starts, 2nd TTI UE 1, etc) when the
UE number is not a divisor/multiple of the RBG size (and the last RBG is
often smaller). This also removes all unneeded code of the preprocessor
such as allocate(), positioning(), etc.
2020-04-06 13:56:27 +02:00
Robert Schmidt eb0af3a5e0 Simplify DLSCH code
* do not check rlc_ind()
* Simplify retransmission part and remove nb_rb_available var
* Simplify new transmission code
* Simplify fill_DLSCH_dci(), avoid unnecessary copies
* fix: first check No. RBs, then check CCE alloc
2020-04-06 13:43:52 +02:00
Robert Schmidt eeaa5a99d0 RLC: _req() accepts max TB size, _ind() not
Previously, the various rlc_*_ind() functions had a parameter to enable
the MAC to specify the max TB size that a subsequent call to the
corresponding rlc_*_req() (!) function would return. This patch removes
this parameter from the rlc_*_ind() functions and makes the parameter
working that is already in the rlc_*_req() functions.
2020-04-06 13:43:52 +02:00
Robert Schmidt 5c153ca0d2 Move release and RA control to own function, call once for every UE 2020-04-06 13:43:52 +02:00
Robert Schmidt 97a1bd105c store_dlsch_buffer() works per CC, checks only active LCs
store_dlsch_buffer() puts the RLC buffer status results in the
UE_TEMPLATE, which is per-CC. Since the DLSCH scheduler works per-CC,
too, we pass the right CC. However, this is not strictly necessary, as
we could do this once before every CC, and it might be updated.
2020-04-06 13:43:52 +02:00
Robert Schmidt 2e9f391a0a Store active LCs in MAC, remove unneeded headers 2020-04-06 13:43:52 +02:00
Robert Schmidt 8ffe5b4920 Rename UE_list_t to UE_info_t, UE_list_t separate struct
UE_list_t is now used as a separate list. It can be e.g. used in the
scheduler to mark groups of users. The original UE_list_t is renamed to
UE_info_t to reflect that it is a container for information about UEs.
2020-04-01 10:47:02 +02:00
Robert Schmidt 7c92456338 Remove DL Slicing-related variables 2020-04-01 10:38:47 +02:00
Robert Schmidt fd6618dc1c Simplify preprocessor, retain functionality
* Simplify store_dlsch_buffer()
* Simplify assign_rbs_required()
* Simplify dlsch_scheduler_pre_processor_partitioning()
* Simplify dlsch_scheduler_pre_processor_accounting() and dlsch_scheduler_pre_processor_accounting_allocate()
* Simplify allocation printing

The original functions used in the fairRR scheduler have been moved to
eNB_scheduler_fairRR
2020-04-01 08:49:26 +02:00
Robert Schmidt 4462e2d710 Remove unused/broken code in preprocessor
* Remove MIMO_mode_indicator: it is simply not used ATM
* Remove min_rb_unit as parameter: function auto-detects
* Remove commented code
* Remove slice sharing/multiplexing: it is broken
* Remove UE sorting, add UE with add_new_ue() in MAC
  - UE sorting is useless overhead on every iteration, instead it should
    be governed by a scheduling algorithm (e.g., RR or PF)
  - The MAC keeps a UE list and automatically adds a UE
  - UE_list empty, set head to -1
* Remove slice_positioning: the slicing functionality is broken
* Remove unused/untested code
2020-04-01 08:49:26 +02:00
Robert Schmidt 8d3fa4dc22 Simplify dlsch_scheduler_pre_processor_reset()
The original reset() function used in fairRR has been moved to
eNB_scheduler_fairRR.c
2020-04-01 08:49:26 +02:00
Robert Schmidt ff766786a8 Remove mbsfn_flag from schedule_ue_spec(), simplify pre_processor interface 2020-04-01 08:49:26 +02:00
Robert Schmidt 8e72b1364a Remove sf0 DC limitation 2020-04-01 08:49:26 +02:00
Robert Schmidt cd480271af Remove everything related to TM5 in pre_processor 2020-04-01 08:49:26 +02:00
Robert Schmidt 99301f438f Call schedule_ue_spec() once for each CC 2020-04-01 08:49:26 +02:00
Robert Schmidt 81fb7628c5 get_min_rb_unit(): all channel bandwidths 2020-04-01 08:49:26 +02:00
Robert Schmidt ffc4f464f5 Remove useless mac_proto.h include
When a header is changed, all including files need to be recompiled,
too. Thus, including a header needlessly all over the place drives
compile times up without any reason.
2020-04-01 08:49:26 +02:00
Robert Schmidt 1efd2b428b Remove useless MAC/defs.h file 2020-04-01 08:49:26 +02:00
Robert Schmidt 6ec6c8b261 Request CQI in all NFAPI modes (i.e., also for L2 sim) 2020-03-08 18:33:34 +01:00
Robert Schmidt b34a0e2f54 Increase (fixed) PHR for UE phy stub mode (L2 sim) 2020-03-05 16:06:02 +01:00
Gabriele Perrone 5ef412ec8a Merge remote-tracking branch 'origin/tools_5Gadapt' into develop_integration_w08 2020-02-19 13:24:31 +01:00
frtabu 6014ca42ac ENABLE_ITTI macro removal, modified telnet server to support all executables, modified record player to finalize switch to run-time option and allow usage with any device 2020-02-12 19:05:44 +01:00
matzakos 4e51e1ea10 nr-ip-ul-nos1: Merge with develop 2020-02-12 16:45:22 +01:00
matzakos bb7a788809 nr-ip-UL-nos1: Integrate NR MAC PDU structures for the Uplink. Currently supporting only data SDUs, Control Elements to be added. 2020-02-05 18:47:02 +01:00
Thomas Schlichter cfced70bda Merge remote-tracking branch 'develop' 2020-01-29 13:15:42 +01:00
Raphael Defosseux 7d26df6ecf Merge remote-tracking branch 'origin/mbms-fix-develop-nr' into develop_integration_2020_w04 2020-01-24 12:00:31 +01:00
Raymond Knopp 0a136997d3 nr-ip-UL noS1: Merge with develop branch 2020-01-23 12:35:01 +01:00
Javier Morgade fb57ef2fd4 patch from Robert Schmidt <robert.schmidt@eurecom.fr>
-BUGFIX: CD/DU F1 split
2020-01-22 20:18:51 +01:00
matzakos 5b5a25a932 nr-ip noS1 uplink integration (testing with RFSIMULATOR only): Uplink IP packets received at the gNB and reaching at pdcp layer. Asserion error at pdcp_fifo_flush_sdus when trying to write on the nas socket 2020-01-20 17:55:16 +01:00
Thomas Schlichter 50cfaf7fff Merge remote-tracking branch 'develop' 2020-01-20 15:34:12 +01:00
Robert Schmidt b6d466d772 FlexRAN: reimplement timers without ITTI
The timer code used to trigger periodic statistics message sending used
ITTI. Together with a high frequency reporting (e.g. 1ms), this resulted
in high CPU usage. This commit reimplements this:
* using a thread that is synchronized to the RU (if there is no MAC, we
  assume there is no RU generating a tick so we create the tick source
  ourselves)
* no RB trees but plain arrays
* smaller interface for users
* slight user interface changes
* remove stopped timer state: such timer might be simply removed
* remove one-shot timers
2020-01-20 11:35:35 +01:00
Javier Morgade dff766ae15 *HOTFIX: After develop/develop-nr merge UE was crashing with MBMS U-Plane traffic running
-New MAC SDU integrity check in ue_procedures .c introduced for MCH channels.
	-This SDU behavior didn’t show up with former develop
	-TOCHECK whether NFAPI was properly merged on the eNB side.
	-eNB_scheduler_mch has been slightly rearranged.

	*BUGFIX:
	-In dlsch_demodulation.c  “ rxF_comp_d.m” was continuously being written to disk

	*New reference config file added (lte-fdd-mbms-basic-sim.conf) for rfsim environment
2020-01-20 10:34:41 +01:00
Raphael Defosseux c82fd2e444 CI: fixing the check after UE mounted tunnel interfaces
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-16 12:34:30 +01:00
Raphael Defosseux 7aa35e874b Removing obsolete LTE_RRC_VERSION
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-10 15:38:13 +01:00
Raphael Defosseux e7aa071e1b Merge remote-tracking branch 'origin/develop' into merging-2019-w51-to-develop-nr 2020-01-10 15:35:54 +01:00
Florian Kaltenberger 9f0be015a9 Merge remote-tracking branch 'origin/develop-nr' into 459-pusch-based-ta-updates 2019-12-19 13:33:41 +01:00
yilmazt 1b1648d504 develop-nr up-to-date 2019-12-17 18:23:10 +01:00
Raphael Defosseux 67c7f97350 Merge remote-tracking branch 'origin/452-cdrx-better-support-cu-du-split' into develop_integration_2019_w51 2019-12-17 11:39:50 +01:00
Javier Morgade 7d86b936ce Added NFAPI MCH scheduling support
M3AP ASN1 source spec updated

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-12-14 13:01:12 +01:00
Javier Morgade 58734eb019 MBMS Scheduler code cleanup
MCH channel level calculation reformulated according to DLSCH

	ACKNOWLEDGEMENT:
 	1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS"
 	2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu)

	Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
2019-12-14 10:54:18 +01:00
Javier Morgade a61984a3fd Merge remote-tracking branch 'origin/develop' into oai_test_fed4fire_old 2019-12-14 09:54:10 +01:00