Remove sched_ctrl->sched_ulsch, and call the post-processing function
post_process_ulsch() in the places where sched_ctrl->sched_ulsch has
been assigned. This will have two effects:
- it is not necessary to have the final loop over all UEs, which might
be costly especially towards many UEs.
- till now, there is only a single sched_ulsch; however, a later commit
will allow to schedule multiple PUSCH transmissions from a single (DL)
slot. This would require to make sched_ctrl->sched_ulsch, and
also iterate through all sched_ulsch. In this new scheme, we can
simply call post_process_ulsch() multiple times, which is simpler (and
therefore, implicitly handleded as of this commit).
* Remove the ulsch_slot_bitmap and dlsch_slot_bitmap from nrmac
* Adopt the new is_dl_slot/is_ul_slot functions in the stack
to replace is_xlsch_in_slot: these functions are getting
the DL and UL slots as they are set in the TDD configuration
stored in tdd_slot_bitmap (frame_structure_t)
* Keep is_xlsch_in_slot in openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c:
this is necessary because the phy-test pre-processors are using the bitmaps
dlsch_slot_bitmap and ulsch_slot_bitmap to check which DL/UL slots to use
for transmission among those set in the TDD configuration
Co-authored-by: Guido Casati <guido.casati@firecell.io>
The asserts might be used to intentionally stop the running process.
Further, it might be an annoyance if it happen unintentionally. Just
print an error message instead, and return to FlexRIC that nothing is to
be sent.
- e2_ran_func library divided into e2_ran_func_cuup (CU-UP only) and e2_ran_func_du_cucp_cuup (DU, CU, CU-CP and gNB-mono)
- GTP SM is not yet implemented in CU-UP -> CU-UP doesn't store PDU session information
- PDCP SM support for gNB-mono, CU and CU-UP
- KPM SM support for all node types (DU, CU, CU-UP, CU-CP and gNB-mono)