MR !1233 : NR gNB MAC scheduler BWP start issue fix
This branch fix incorrect use of BWP start at gNB MAC scheduler (in DLSCH and ULSCH allocation and VRB map filling)
MR !1232 : SR/BSR support for NR UE
-added the support of scheduling request in NR UE.
-added the support of regular, periodic and padding BSR in NR UE.
-removed memcpy call in nr_ue_get_sdu().
-called mac_rlc_status_ind only for existing bearers.
-Moved NR_LONG_BSR_TABLE and NR_SHORT_BSR_TABLE to nr_mac_common.c
MR !1239 : NR SDAP gNB - Transparent Mode
MR !1257 : Nr ldpc cuda softmodem
Move ldpc decoder accelerated in cuda GPU in a shared lib compatible with oai loader.
libldpc_cuda.so is built as a ldpctest, nr-sotmodem, nr-uesoftmoden and ocp-gnb targets when cuda development environment is detected.
At runtime --loader.ldcp.shlibversion _cuda option can be used to select the cuda accelerated ldcp library, except for the ldpctest exec where the -G option has been preserved. Also start implementing an opencl version of the ldpc decoder, starting "translating" the cuda version.
MR !1296 : Apply the NSA t_Reordering value also for SA
Apply the NSA t_Reordering value also for SA to improve the iperf downlink bitrate. The same iperf performance is expected at both NSA and SA
MR !1293 : hotfix SEGV and divide by 0
With latest develop, two bugs appear as long as we don't hide them with gcc -O2 optimisations
MR !1259 : gNB nrUE SA: improve security
Improves security and addition security in nrUE side
MR !1260 : NR CSET0 BWP Start fixes
Fixes a bug in selecting the start of BWP for Coreset0
Use Magma MME in CI tests
Update NSA 2x2 test
Also, in the nr_rrc_mac_config_req_ue(), we should
only be configuring L1 if we are not in the L2 emul
mode. We are crashing due to the RRC state in the NRUE
not being set/checked properly.
In this commit, we changed the stub function of the NRUE
to handle the MIB and SIB1, which arrive in a single
DL_TTI_REQ. If we have not received the MIB, we first
call the scheduler, then we handle any received NFAPI
messages. The NFAPI message handler will then call
the nr_ue_dl_indication() again, which will process
first the MIB, then SIB1. It seems that we are not
properly sending the SIB1 response back to the gNB so
the NRUE eventually crashes. We are however, properly
decoding the MIB and SIB which is a step in the right
direction!
In the previous commit, the NRUE would record
the time it received a slot and compare this
rx time to the next slot. If the next slot
came in before it had been 500us, the NRUE
would sleep a delta amount to make the duration
between the two slot indications 500 us. This
change complicated the code and did not
improve the performance so it was removed.
Furthermore, this commit removes the old
queueing mechanism of the slot indications and
uses calloc rather than an array.