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.
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
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
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
Several other changes in this commit include:
- Setting the number of PDUS in the ul_config
to be zero when we will it (inside of the
get_ul_config() function.)
- We reset the nprach flag to 0 for each slot.
- We return out of the prach scheduler if
mac->ul_config == NULL
- Added error checking for array indexing
- Created a dummy scheduler response function.
- Allocated ul_config_req initially
Also calling the new L1_nsa_prach_procedures()
function after using the nr_ue_scheduler. Added
some error checking in the nr_ue_scheduler. Added
some error checking in the process_nsa_msg in both
the NR and LTE UE
Seems to be working at the moment but
may need to add more info in the rach_ind.
Also, need to verify gNB is getting the
rach_ind and starting RA procedure.
Had to hack the code to schedule the prach.
Need to verify this is ok because ul_config = NULL.
Also had to change logic for calling fill_schedule_response.
However, we are not properly calling the
nr_ue_get_rach() function. The RA is being
properly initialized. In the nr_ue_get_rach()
the pRACH is not scheduled. Tried to add in
the scheduling of this, but it crashes here.
The other changes include revering the
nr_ue_get_rach() changes from previous commit.
Also, changed a few log levels and reverted
a previous change in the NR UE RRC layer that
was incorrect.
Several places where memory ownership was changed
and the original owner was not set to NULL. Also,
the transaction_identifier is now based on the
received dl_dcch_msg in the LTE UE. Still need to
fix the t_id for the NR UE. Also added comments for
RACH procedure in NR UE.
This commit has several other changes. The changes
include the following:
1. Changed the port numbers for the NRUE<->Proxy
2. Fixed the send to function in the NR UE
(Previously only sending buffer not buffer+msg_type)
3. Updated pack/unpack of the SSB PDU (new RSRB field added)
4. Fixed several NR logs
5. Opening socket with NRUE<->Proxy AFTER receving RRC
measurement request from the LTE UE
This commit also removed MAX_NUM_NEIGH_CELLs and
replaced it with MAX_GNB_CELLS. This was a minor change
OAI added. The standalone sockets for the NR UE correctly
connect to the proxy. We are currently receiving dl_tti
messages from the proxy.
Also enabled X2 when we are not using the EPC
Added in the case statement for handling the
dl_dcch_msg from the NR UE. Also added in the
proper decoding of that dl_dcch_msg and freeing
For some reason the htons invocation got deleted which broke
the VNF P7 interface.
Also fixed some build issues, not sure how these got onto the
develop branch to begin with.
Removing references to memcpy_dl_config_req and
memcpy_tx_req because these functions are leaking
memory. For our standalone mode we have created
new/modified memcpy_dl/tx_req functions.