1. If VNF is slower than PNF, next scheduling will be done after resync.
2. If VNF is unstable in slot progress, next scheduling will be done in next stable status.
3. SFN/SLOT indications are queued in nrUE.
4. get_queue is used instead of unquque for FIFO operation.
In scripts/conf_files, restore ue.nfapi.conf and nr-ue.nfapi.conf
to the template versions. And add proxy_ue.nfapi.conf
proxy_nr-ue.nfapi.conf for use with emane.git's run-oai and
multi-ue-proxy.git's run-oai.
This commit includes several changes.
First, it updates the way we fill the uplink
UCI indication. This still has some todo comments
since all the fields in this ind were hardcoded.
It also updates the pack and unpack functions for
the NR_UCI incations. Lastly, it includes updates
to the gNB UCI scheduler. The updates in the gNB
were cherry picked from develop. There are two updates
to the VNF which allow the VNF timing/slots to be
adjusted based on the received timing_info packets
from the VNF. This adjustment was disabled in IISc's
nFAPI code. For now, it is improving the timing
between the VNF and PNF.
The previous two commits did not correctly check
the gNB sfn and slot. The code now correctly sets
the slot in which the PUSCH is SCHEDULED, not the slot
the rx is expected. Also, the sfn/slot is only updated
if we do in fact schedule a PUSCH.
Although the timing isnt perfect, if the VNF adjusts
in the middle of scheduling a DCI the gNB would try to
send two DCIs for a certain sfn/slot; this commit will
stop that from happening. The timing issue still persits.
Most notably, nfapi_rx_indication_pdu_t.data type is changed from
`uint8_t*` to `uint8_t[]`. Also, renamed from `data` to
`rx_ind_data` to make it easier to find.
It also includes the queuing development. The idea
is that the 5G Userplane messages will be filled
and configured the same as previous commit, but
the uplink messages will be queued and then sent to
the gNB during the correct slot. Still WIP.
This commit properly is filing the dci_format but the
rx_ind and dl_ind has not been updated in the NR UE
prior to sending to gNB. The chnages in this commit
to properly fill the dci_format include:
- filling the dci canidates every slot indiction
- checking for a dl_tti/ul_tti containing a dci
- when dci payload is received we use the filled
dci canidates to update the dci_format
Also, a bug in LTE UE is found where we are indexing
passed the end of ue_sdu array. We added a check for this.
Furthermore, in the nr_ue_scheduler we were utilizing
tx_req but the memory wasnt properly initialized.
Also started handling ul_dci that is received in NR UE.
We now receive dci format 01, 10, and 11 at the NR UE.
The dl_info being filled in NRUE was not memset to 0, that
has been added. Additionally, we will need to get the dci_format
based on the length in the dl_config structs and map it.
For the moment the dci_format values are hard coded.
Also, there is not a field for dci_format in
nFAPI so there is a way it is detected by the NR UE.
For now, we have hardcoded the value in the stub when
we receive the DCI. Lastly, updated the nr_harq_handling
in the gNB.
This commit includes the changes made to gNB.
All of these changes were cherry picked from
the Eurecom/develop branch to ensure the
CFRA procedure is working. Without these changes
there were several seg. faults.
This commit contains the changes to the OAI code in
the NR UE and in nFAPI.
- Filling crc_ind for msg3
- Updating pack/unpack of CRC_ind
- Creating phy abstraction CRC_ind handling in VNF
- Removal of old comments
- Only sending on RACH in phy_stub
- Calling nr_msg3_transmitted in scheduler for NSA mode
Also updated the NR nFAPI for properly packing
and unpacking the ra_indication. Lastly, added
the functionality for calling the callback RX_ind
functions in the VNF. The RX_IND PDU is recevied
as NULL in the gNB so need to investigate how to
properly pack and unpack the *pdu in the RX_ind.
The send_standlone_msg will now be able to send
any type of uplink message and we fill the RX
indication in the stub_schedule_response and
are trying to send to gNB. Need to update the NR nfapi.
- Hardcoding the freq_index when filling RACH
- Not handling DCI unless dci_rel_15 global is allocated
- Verifies ra_rnti matches in prach pdu and RACH
- Updates handling of DCI and RX from dl and tx reqs
Changed NFAPI_mode check in the gNB scheduler
to ensure that the frame is correctly updated for
msg3. Also added comments in NR UE for handling
the RAR and implementing the dci/rx_ind handover
for the RAR procedure.
The fix added in this commit may not be correct and
should be reviewed by Eurecom. For now we set the
future frame based on the PRACH recevied frame + 1.
Also fixed the copying of RACH ind into UL_INFO global.
RAR is being passed to NR UE.
Also fixed a few bugs in nr-nFAPI:
- Push16->push8 fix in packing of RACH
- Allocating memory for pdu_list and preamble_list in unpack
- Properly indexing through both lists during unpack
- Created new nr_rach handling function