Commit Graph
179 Commits
Author SHA1 Message Date
Melissa Elkadi 54e231bfeb Filtering tx_requests based on prev DCI RNTI
In this commit, we create a new flag in the MAC
instance which is set to true if the recevied
DL DCI PDU's RNTI value matches the current UEs
RNTI value. If the RNTI value does not match,
then we should not process the recevied tx_request.
This check should only take place after the CFRA
procedure is complete.
2021-09-15 15:20:07 -07:00
Melissa Elkadi d2daf8e860 Change slot_ahead to process ack/nack after pdsch 2021-09-15 11:07:27 -07:00
Melissa Elkadi 88e1b55f02 Filling UCI after DCI because info is available
Previously, we thought that filling the UCI ind
after we got the pdsch payload would stop the
 harq_pid from going inactive, but this was not
the case. The harq_pid is getting set to inactive
too early because of the sf_slot ahead value. The
fix for this will come in the next commit.
2021-09-15 10:03:21 -07:00
Melissa Elkadi 77548d5bec Properly filtering DCIs in the NR UE 2021-09-14 12:53:39 -07:00
Melissa Elkadi dbc4b0e321 Updating merged code with harq_pid global
The harq_pid is set to inactive during the scheduling
of ACK/NACK, but this is happening before tx_req (PDSCH)
is recevied. We update the global harq_pid then use it
once we get the PDSCH PDU, then we set it to inactive.
Also, the global previously wasnt being set properly because
a memset was changing the def_dci_re15 struct. We now
memset after we update the harq_pid global.
2021-09-14 12:08:38 -07:00
Melissa Elkadi 6a8e4e2883 Merge remote-tracking branch 'eurecom/develop' into episys/mel/merge_develop_cfra_working 2021-09-14 07:34:58 -07:00
Melissa Elkadi 3abc7f93e7 Preparing UCIs after we have recevied PDSCH PDU
In this commit, we introduced a new global to save
the harq_pid from the PDCCH that comes down in the
DCI message so that we can use the harq_pid in the
PDSCH. Now, the UCI ind will be filled after we
have recevied the PDSCH in the tx_request.
2021-09-10 14:34:48 -07:00
Melissa Elkadi a34856ba38 Filtering DCI PDUs by RNTI in NR UE 2021-09-09 14:47:58 -07:00
David Kim 6342e67c33 Setting UE and nrUE IP address in config file.
1. Removed hard coded IP address in the code for UE and nrUE's remote address.
2. Read IP address from config file for UE and nrUE's remote address.
2021-09-02 13:33:42 -07:00
francescomani d0c1bc4340 skip dlsch mac pdu processing when crc fails 2021-08-27 12:42:25 +02:00
Melissa Elkadi 512e76dee8 Error checking and meas sending wait for EPC only 2021-08-26 17:37:51 -07:00
Melissa Elkadi cad1175154 Get IP traffic in MAC layer and handling of RAR
Previously, we would assume every downlink in
slot 7 was an RAR; now we assume every slot 7
that occurs before the CFRA procedure is done
is an RAR. Also changed the logic in scheduler
to allow us to get nr_ue_sdus in the MAC layer.
2021-08-25 17:15:16 -07:00
Deokseong "David" Kim 43d8ed216e Update on scheduler to relax AssertFatal. 2021-08-25 22:52:58 +00:00
Melissa Elkadi b7e5c9cf9f Update logic for calling scheduler 2021-08-25 11:28:19 -07:00
Melissa Elkadi 1116d16df2 Need to call scheduler after RACH indefinitly
The ue_sched_mode is reset to 0 again when we
memset the ul_info and after the CFRA procedure
is complete, then uplink CRCs with the PUCCH
response (PUSCH) are not being sent because the
scheduler isnt being called. This makes the
gNB run out of uplink harq ids since its never
getting the proper responses. The change below
will ensure that we call the scheduler AFTER the
RACH is sent and all the time after that.
2021-08-20 14:50:23 -07:00
Melissa Elkadi 671f461e6c Making sure we never are in ONLY_PUSCH mode
When running on some machines, the ue_sched_mode
will be initialized to zero. This will cause
the ul_info the go into the ONLY_PUSCH mode.
We do not want to ever call the scheduler and return.
Furthermore, we only want to call the scheduler after
the NRUE has sent the RACH_IND to the gNB.
2021-08-20 10:50:39 -07:00
Melissa Elkadi 0eb90bd8c8 Setting ue_sched_mode after filling RACH_IND
Also, removed the check before calling the
nr_uescheduler that was associated with the
ra.state. Lastly, removed the DL_HARQ_PID
position change as that was incorrect.
2021-08-20 09:55:17 -07:00
Melissa Elkadi 0ee8f20d54 Updated gNB conf file & last RRC msg in LTE/NR UE 2021-08-19 13:53:12 -07:00
Melissa Elkadi 2c5f0af081 CFRA procedure is working! But gNB still crashes
How? Well, we had to properly allocate the
ul_config_req. We also had to update the
ue_get_rach function. There were several
places where the functionality would check
for a particular mode (ra, sa, phy_test, etc).
In some of these places we had to add NSA mode.
In the VNF, they start the scheduler after 3 sec,
this is sort of a hack, might want to revisit.
This commit also includes removal of printfs.
2021-08-18 16:09:37 -07:00
Melissa Elkadi 2a979f4e2f Merge branch 'eurecom-nfapi-nr-arch-mod' into episys/merge_nsa_w_develop 2021-08-13 10:27:30 -07:00
Melissa Elkadi 9b16c1d860 Merge branch 'eurecom-develop' into episys/merge_nsa_w_develop
At this point we are successfully able to build.
Additionally, we can run the scenario,
however, it does not pass. It seems that the gNB
is not connecting to the proxy correctly. Just
wanted to push the progress so far. FYI, the items
that had to be changed to correct the linking issues
were the following:

 - mac_rrc_data_ind_ue vs. nr_mac_rrc_data_ind_ue
 - rrc_data_req vs. nr_rrc_data_req
 - mac_rrc_data_req_ue vs. nr_mac_rrc_data_req_ue
 - rrc_data_req_ue vs. rrc_data_req_nr_ue
 - rrc_data_req vs. nr_rrc_data_req

The listed functions should be declard in the LTE/NR
UE directory depending on the functionality. Several
were mixed. i.e.: LTE functions being called in NR UE.

Also, removing siWindowLength, siWindowLength_int,
SIBType, SIBPeriod, and siPeriod_int from the NR UE RRC.
These variable were not used in the NR UE and are defined
for LTE only.

Lastly, in the NR_IF_Module.c of the NR UE, the global
variable def_dci_pdu_rel15 is not accessible. Need to
revisit this. For not it is commented out.
2021-08-11 10:23:42 -07:00
Melissa Elkadi cf4771520b Merge branch 'episys/david/multiUE_with_crnti_checking' of 10.1.1.59:aburger/openairinterface5g into episys/david/multiUE_with_crnti_checking
Also changed a log and typo
2021-08-09 16:29:58 -07:00
David Kim 85fb91dff7 Merge branch 'episys/nsa_epc_gnb_updates' into episys/david/multiUE_with_crnti_checking 2021-08-09 09:06:15 -07:00
David Kim a8517323e7 Code cleanup for debug logs. 2021-08-06 10:37:02 -07:00
Melissa Elkadi 745241bd63 Merge branch 'episys/nsa_epc_gnb_updates' into episys/david/multiUE_with_crnti_checking
Also, lots of debugging logs added
2021-08-04 16:24:27 -07:00
David Kim c619833442 Added crnti checking routine in nrUE. 2021-08-04 10:08:22 -07:00
Melissa Elkadi 7d505e70f2 Updated PDSCH pdu copy from tx_data_req
Also, finally committing the critical logs for IP traffic.
2021-08-03 16:38:07 -07:00
Melissa Elkadi 5751a0a435 Not sending random data to gNB, sending IP
The IP traffic still does not work. But we are
updating the NR UE scheduler to ensure we are are
sending true IP traffic. Also, we were getting an
assert(); as well, and there was no logs, so we
fix that in this commit as well.
2021-08-03 13:25:45 -07:00
David Kim 54465993d5 queueing sfn slot information contained in channel params. 2021-07-30 16:44:39 -07:00
David Kim dd73b2df87 Updated AssertFatal conditions and LOG level from I to D
Regarding dl_hard, some AssertFatal commented out.
Regarding to memory allocation error, AssertFatal was used.
2021-07-30 08:35:57 -07:00
David Kim 61aa4f99dd Code cleaning in formatting and fixing typo. 2021-07-29 13:32:21 -07:00
David Kim 829bf4f8a2 Restored to the original OAI ue and nr-ue config file
Restored original LOG level.
Code cleanup to remove emptry space and added some logs.
2021-07-28 00:24:35 -07:00
David Kim 38e5415f34 Fixing "Unexpected ULSCH HARQ PID" issue.
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.
2021-07-27 21:02:01 -07:00
Melissa Elkadi 24245d8805 Log argument indexed passed the end of array.
Unnecessary dl_ind_type array for logging.
2021-07-20 15:21:23 -07:00
David Kim 4f23fa2f61 added queues between VNF and MAC to handle indications. 2021-07-19 18:55:02 -07:00
francescomani 3228ebf3f6 using pdsch_pdu for sib1 indication 2021-07-10 11:26:56 +02:00
Melissa Elkadi 9d644f247c Fixed memory leak for unqueuing uci_inds 2021-07-05 10:15:26 -07:00
Melissa Elkadi 6ddb49d09c Sending uci_ind based on rx'd ul_tti's sfn/slot
Also, updated the filing of the DCI payload
based on the actual number of recevied bits
and not based on the max number of rx'd bits.
2021-07-02 13:51:39 -07:00
francescomani a49ebe249b Merge remote-tracking branch 'origin/develop' into NR_UE_reworking_UCI_procedures 2021-07-01 16:38:41 +02:00
Melissa Elkadi 90d5641770 Filling, queuing and sending UCI ind to gNB
Currently, the pull8 in nFAPI of the VNF
is failing.
2021-06-30 17:21:41 -07:00
Melissa Elkadi 9b96dd2a5f Unqueue based on sfn_slot
Also, added functionality to fill tx_req in NR UE
when a DCI is received after the slot indication.
2021-06-28 12:39:28 -07:00
Melissa Elkadi 46488432e6 This commit includes the iisc pnf_p7 slot tick fix
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.
2021-06-25 14:49:02 -07:00
Michael Cook 96efbb2cab Add -Werror compiler option
Fix some warnings, too.
2021-06-21 14:11:53 -07:00
Melissa Elkadi c7875ce24c Properly filling the dci_format
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.
2021-06-18 13:33:20 -07:00
Melissa Elkadi 777bcc6c37 Saving DCI format to mac instance to fill in stub 2021-06-16 14:52:47 -07:00
Melissa Elkadi 17222c91e0 Added assert fatals for ul_config and TLVs
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.
2021-06-15 15:55:59 -07:00
Melissa Elkadi c3710ecfc4 Handling channel information if rx'd in slot_ind 2021-06-15 07:03:48 -07:00
Melissa Elkadi 52dafe61c7 Fixed a bug in rx and crc filling in the NR UE
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.
2021-06-14 16:29:42 -07:00
Melissa Elkadi e8cfcbe607 CFRA Procedure success commit pt. 1
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
2021-06-11 12:35:40 -07:00
Melissa Elkadi b91251d1e0 Changed nsa_send_standalone_msg() and sending RX
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.
2021-06-10 12:44:34 -07:00