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