Commit Graph
100 Commits
Author SHA1 Message Date
Robert Schmidt 13f0571a65 Fix log message: add newline, format 2020-12-04 11:07:18 +01:00
Robert Schmidt 3ae4744679 Single definition and declaration of nr_slots_per_frame 2020-12-04 11:07:18 +01:00
Robert Schmidt 1d7065c29c Remove DLSCH_pdu as it is not needed anymore 2020-12-04 11:07:18 +01:00
Robert Schmidt 89fc1e6e54 handle_nr_ulsch() for multiple UEs 2020-12-04 11:07:18 +01:00
Robert Schmidt 35e723d090 handle_nr_uci() for multiple UEs 2020-12-04 09:41:34 +01:00
Robert Schmidt d9c7243ac1 Remove LTE/FlexRAN-related headers from NR MAC 2020-12-04 09:41:34 +01:00
Robert Schmidt c71772e325 Remove LTE-related headers from NR PHY-MAC IF 2020-12-04 09:41:34 +01:00
Robert Schmidt 589ff862dc Improve retransmission messages in UL&DL 2020-12-03 09:52:41 +01:00
Robert Schmidt f821a333d7 Fix nr_dlsim: remove current_harq_pid, selected in DL scheduler 2020-12-03 09:42:22 +01:00
Robert Schmidt 5bb9a57ae9 Update SW_archi.md description 2020-12-02 18:42:47 +01:00
Robert Schmidt 12c6cd4481 Remove unused variable 2020-12-02 18:08:51 +01:00
Robert Schmidt c110ad7dc6 Take out DL phytest slot limitation 2020-12-02 18:08:51 +01:00
Robert Schmidt ec10d48b24 Reformat schedule_nr_prach() 2020-12-02 18:08:51 +01:00
Robert Schmidt 0e936a09ba Remove current_harq_pid: it is not needed 2020-12-02 18:08:51 +01:00
Robert Schmidt 3a37202beb Remove current_slot: it is not needed 2020-12-02 18:08:51 +01:00
Robert Schmidt e99d3635db ULSCH: warn when retransmission, basic debug logging 2020-12-02 18:08:51 +01:00
Robert Schmidt 0c730d7aa1 Mark PRACH in vrb_map_UL 2020-12-02 18:08:51 +01:00
Robert Schmidt 70c3915d81 Schedule PRACH (internally) one frame in advance 2020-12-02 18:08:51 +01:00
Robert Schmidt 7a7c1bcc98 Calculate TBS in pre-processor and use the results in post-proc 2020-12-02 18:08:51 +01:00
Robert Schmidt d8cecde925 Recalculate PUSCH saved params struct in Pre-processor 2020-12-02 18:08:51 +01:00
Robert Schmidt 8cb2317915 Create PUSCH saved params struct to avoid recomputation 2020-12-02 18:08:51 +01:00
Robert Schmidt 0d860454b0 ULSCH: Reorganize PUSCH PDU filling 2020-12-02 18:08:51 +01:00
Robert Schmidt 5762c943db Isolate TBS calculation in ULSCH, calculate some statistics 2020-12-02 18:08:51 +01:00
Robert Schmidt 644c364a4a Isolate DMRS N_PRB_DMRS in ULSCH 2020-12-02 18:08:51 +01:00
Robert Schmidt fc0f0cd7e7 Isolate DMRS ul_dmrs_symb_pos and dmrs_cdm_grps_no_data in ULSCH 2020-12-02 18:08:51 +01:00
Robert Schmidt 85843b3e0e Isolate DMRS additional_pos, l_prime_mask in ULSCH 2020-12-02 18:08:51 +01:00
Robert Schmidt 0d2435460c Isolate DMRS config type in ULSCH 2020-12-02 18:08:51 +01:00
Robert Schmidt c821dd0c94 Do not check for UE active state before ULSCH and DLSCH scheduler 2020-12-02 18:08:51 +01:00
Robert Schmidt e4bbde77ef Isolate R&Qm in ULSCH 2020-12-02 18:08:51 +01:00
Robert Schmidt a5cb42e773 Use variable sched_pusch 2020-12-02 18:08:51 +01:00
Robert Schmidt f1a6a7e7a5 Isolate mcs_table in ULSCH 2020-12-02 18:08:51 +01:00
Robert Schmidt a200beb585 Isolate HARQ in ULSCH 2020-12-02 18:08:51 +01:00
Robert Schmidt b20954f6c0 Isolate TDA in ULSCH 2020-12-02 18:08:51 +01:00
Robert Schmidt 2599c68fa8 Isolate transform_precoding in ULSCH 2020-12-02 18:08:51 +01:00
Robert Schmidt 2958689fa4 config_uldci(): no rnti_types 2020-12-02 18:08:51 +01:00
Robert Schmidt 6df6cb9c9c UL_tti_req as pointer over multiple CCs 2020-12-02 18:08:51 +01:00
Robert Schmidt 0affd907b5 No dynamically alloced PUSCH, remove internal PDU 2020-12-02 18:08:51 +01:00
Robert Schmidt a6a7c7a328 Move config_uldci() to primitives 2020-12-02 18:08:50 +01:00
Robert Schmidt d2ac57088b Fix filling of DCI 0_0 in config_uldci() 2020-12-02 18:08:50 +01:00
Robert Schmidt 9ca626b37a Avoid copy from UL_tti_req_ahead into Ul_tti_req 2020-12-02 18:08:50 +01:00
Robert Schmidt c219edfed3 Fix dlsim: Use UL_tti_req_ahead 2020-12-02 18:08:50 +01:00
Robert Schmidt e6435cf7a2 Create separate phytest UL preprocessor 2020-12-02 18:08:50 +01:00
Robert Schmidt cfc6044a6e Use function pointer to call UL pre-processor 2020-12-02 18:08:50 +01:00
Robert Schmidt 9ccc76474a PUCCH scheduling: allocate in UL_tti_req_ahead 2020-12-02 18:08:50 +01:00
Robert Schmidt b202ab7d3d RA Msg3 allocation: check in vrb_map_UL, allocate in UL_tti_req_ahead 2020-12-02 18:08:50 +01:00
Robert Schmidt e300b072c0 Use vrb_map_UL for PUSCH 2020-12-02 18:08:50 +01:00
Robert Schmidt a232482b47 vrb_map_UL for every slot 2020-12-02 18:08:50 +01:00
Robert Schmidt 2b1a01c012 UL Post-processor: enable multi-UE handling 2020-12-02 18:08:50 +01:00
Robert Schmidt 327e3e706d Perform UL slot check in pre-processor 2020-12-02 18:08:50 +01:00
Robert Schmidt 2e53fdea9c Rename NR_sched_pusch_t and use for Freq Alloc + MCS 2020-12-02 18:08:50 +01:00
Robert Schmidt ee6cdc1359 Create UL preprocessor, allocate CCE, re-use DL structures 2020-12-02 18:08:50 +01:00
Robert Schmidt 415a843ac4 Add active_ubwp to NR_UE_sched_ctrl_t 2020-12-02 18:08:50 +01:00
Robert Schmidt 3eceba5062 Use UE's active DL BWP in UL sched 2020-12-02 18:08:50 +01:00
Robert Schmidt f3b00ff144 UL_tti_req_ahead: pre-set slot and frame 2020-12-02 18:08:50 +01:00
Robert Schmidt f45e8bbe0e UL_tti_req_ahead: Create PUSCH PDU directly within nr_fill_nfapi_ul_pdu()
Use a "future" UL_tti_req structure to save in between scheduling and
reception slots. Should also work for FDD.
2020-12-02 18:08:50 +01:00
Robert Schmidt ee9268feee Remove second clear_nr_nfapi_information call 2020-12-01 19:36:50 +01:00
Robert Schmidt 1cd46f4dfc Clean up nr_schedule_ulsch() 2020-12-01 19:36:50 +01:00
Robert Schmidt c0e5a180bc Separate CCE allocation, MCS, RB Alloc in UL sched 2020-12-01 19:36:50 +01:00
Robert Schmidt 5244da263e Clean up select_ul_harq_pid() and nr_schedule_ulsch() 2020-12-01 19:36:50 +01:00
Robert Schmidt 53d8fbf487 Remove schedule_fapi_ul_pdu() 2020-12-01 19:36:50 +01:00
Robert Schmidt c8e607a18c Create separate nr_schedule_ulsch(), move helper functions 2020-12-01 19:36:50 +01:00
Robert Schmidt 2481075122 Add debug output for nr_rate_matching_ldpc() asserts 2020-12-01 19:36:50 +01:00
Robert Schmidt 75a1562d7f Remove unused (commented) copy_nr_ulreq() 2020-12-01 19:36:50 +01:00
Robert Schmidt d116c60831 Improve DLSCH MAC scheduling logging 2020-11-20 09:54:38 +01:00
Robert Schmidt e6bb685b5d re-enable TA 2020-11-20 09:54:34 +01:00
Robert Schmidt bc088c975b Account for OH in preprocessor 2020-11-20 09:54:34 +01:00
Robert Schmidt d89716541f Fix: Always place padding subPDU if space permits 2020-11-20 09:54:37 +01:00
Robert Schmidt d245f7b958 Fix: Use DL-SCH long subheader when L >= 256 2020-11-20 09:54:34 +01:00
Robert Schmidt 3ff26c8f84 Fix: Reset HARQ feedback slot
If we schedule in a second slot, this ensures that the correct HARQ
process' NDI is toggled.
2020-11-20 09:52:42 +01:00
Robert Schmidt 65c7ab092a Correct use of ssb_position bitmaps 2020-11-12 10:45:13 +01:00
Robert Schmidt fe6f7244df Fix compiler warning: %ld in printf 2020-11-11 16:48:53 +01:00
Robert Schmidt 308de3b68d Lower PHY/HARQ log level 2020-11-11 16:48:40 +01:00
Robert Schmidt 67d6311143 Hotfix: disable TA to keep RTT low + HARQ retx intact 2020-11-11 16:47:18 +01:00
Robert Schmidt 434186fd9f Correct TA timer condition
- wrap around 1024 (frame number is 0-1023)
- check for equality of frames with high numbers will trigger every 10ms
2020-11-11 16:45:54 +01:00
Robert Schmidt 2e03cbe7bf Track RBs in vrb_map as binary 2020-11-03 20:02:48 +01:00
Robert Schmidt c4f8ff1561 Assert on condition UE not found in UE_list 2020-11-03 14:23:50 +01:00
Robert Schmidt ad0424cbba Check all RA procs in nr_rx_sdu() if unknown RNTI 2020-11-03 14:23:50 +01:00
Robert Schmidt d94b1cd1a5 Track RB allocation in vrb_map{,_UL} on per-symbol basis 2020-11-03 14:23:50 +01:00
Robert Schmidt 40175d244a Format schedule_nr_mib() 2020-11-03 14:23:50 +01:00
Robert Schmidt a94da10dee Remove UE from UE_list on disconnect 2020-11-03 14:23:50 +01:00
Robert Schmidt 9125fc8d22 Refactor/shorten interface of nr_fill_nfapi_dl_pdu() 2020-11-03 14:23:50 +01:00
Robert Schmidt 8651b7fd14 Remove commented/unused code in DLSCH/phytest scheduler 2020-11-03 14:23:50 +01:00
Robert Schmidt 0deb5d291d Use special dlsim preprocessor 2020-11-03 14:23:50 +01:00
Robert Schmidt b389e43eea Add phytest preprocessor
The phytest preprocessor schedules only one UE, as many RBs as possible
(largest continuous RB region), with a fixed MCS and time domain
allocation.
2020-11-03 14:22:28 +01:00
Robert Schmidt fd9f5d2d2c Use function pointer to call pre-processor 2020-11-03 14:22:27 +01:00
Robert Schmidt 14f15d7e77 Fix: postprocessor resets UE scheduling condition 2020-11-03 14:22:27 +01:00
Robert Schmidt fd3d49bbe7 Correctly check and apply the TA in DLSCH scheduler 2020-11-03 14:21:37 +01:00
Robert Schmidt 9d2651d080 CI: Parse UE TUN interface correctly in S1 mode
See also commit 8c5976e279

Above commit changed the TUN interface configuration to use program "ip"
only. This commit changes the CI script parsing correspondingly: the
pipeline will recognize the attempt to bring up the interface of the
first UE.
2020-10-28 17:10:21 +01:00
Robert Schmidt a6126a39a5 Remove MAX_NUMBER_NETIF and use num UE 2020-10-13 09:07:46 +02:00
Robert Schmidt 8c5976e279 Use "ip add" to add IP addresses
This then only uses the "modern" ip tool instead of ifconfig, and the
command is more "homogeneous".
2020-10-13 09:07:46 +02:00
Robert Schmidt 298956509f Delete double UE IP config setup 2020-10-13 09:07:46 +02:00
Robert Schmidt 4c7035e6e3 Remove UESIM_EXPANSION
This completely removes the UESIM_EXPANSION define: it does not compile
at the moment. Its function was to multiplex multiple UEs on the same
TUN interface. However, this functionality is not needed since it is
possible to allocate many TUN devices (i.e., >= 32).
2020-10-13 09:07:46 +02:00
Robert Schmidt ff48c369c5 Lower nFAPI eNB log level 2020-10-13 08:49:30 +02:00
Robert Schmidt ac4bb8bc55 Prevent deadlocks in nFAPI when no free index 2020-10-13 08:49:30 +02:00
Robert Schmidt 9882460607 Remove Mutexes in phy_stub_UE.c
Various mutexes are present in the phy_stub_UE.c file. However, it will
only be run in a single thread; the multiple-thread implementation also
runs the higher layers concurrently, which leads to races and segfaults.
Therefore, remove these mutexes, as we don't need them.
2020-10-13 08:49:30 +02:00
Robert Schmidt 581de8b2d8 Limit UE UL RBs to 48 2020-10-13 08:49:30 +02:00
Robert Schmidt 41a440fad2 Do not schedule static slices if 0 RB(G)s 2020-10-13 08:49:29 +02:00
Robert Schmidt ca1b0e2bbc Bugfix RR algo: if a UE cannot be allocated, skip it 2020-10-13 08:49:29 +02:00
Robert Schmidt 72556206e9 Simplify set_Y() 2020-10-12 18:59:14 +02:00
Robert Schmidt 8cb530d25c Address review in !913: rename functions 2020-10-09 09:02:59 +02:00