Commit Graph
274 Commits
Author SHA1 Message Date
Robert Schmidt 6ad71e290a Comment unused function that have been introduced in this integration branch 2022-04-08 11:30:19 +02:00
Robert Schmidt 937f593028 Merge remote-tracking branch 'origin/develop' into episys-throughput-updates-and-downlink-siso-cm 2022-03-21 13:36:38 +01:00
Melissa Elkadi a5e4cbb971 Merge branch 'episys-throughput-updates-and-downlink-siso-cm' of https://gitlab.eurecom.fr/oai/openairinterface5g into episys-throughput-updates-and-downlink-siso-cm 2022-03-17 12:48:14 -07:00
Melissa Elkadi 91d42fd5ec Fixing memory leaks and hoping to fix num_dci_option bug 2022-03-17 12:44:30 -07:00
Robert Schmidt 5a8b235ab4 Fix: make simulators compile 2022-03-16 10:00:43 +01:00
Melissa Elkadi a6049bcddf Relying on mac->ra.ra_state instead of RRC state. 2022-03-07 11:59:23 -08:00
Laurent Thomas 4c62aef755 rebase on develop 2022-03-02 11:26:16 +01:00
Melissa Elkadi 2b1cc455b0 Merge branch 'episys-ul-info-cleanup' into episys/master-sa 2022-02-24 15:48:43 -08:00
Melissa Elkadi 0165ffd160 Merge branch 'episys/master-sa' into episys/mel/debug-thorughput-new-sa-master 2022-02-23 15:55:06 -08:00
Deokseong "David" Kim bfebc0cb18 Using message_id to identify channel info. 2022-02-23 22:59:45 +00:00
Melissa Elkadi 4398630da7 Merge branch 'eurecom-develop' into episys-ul-info-cleanup 2022-02-23 08:55:10 -08:00
Melissa Elkadi ca336ea917 Fixing comments from MR review. 2022-02-18 10:27:34 -08:00
Melissa Elkadi cc22ec9978 Calling scheduler before handling DCI to ensure nbits are set
Previously, we thought the memset in the nr_ue_dl_indication()
was causing issues / exposing a race. This is not the case. The
memset is not problematic, the issue is that in the emulate_l1
mode we were not always configuring the DCI nbits before handling
the DCI when we are pushing high (15 Mbps) throughput traffic.
2022-02-18 09:29:00 -08:00
Laurent THOMAS 18a421578f finish remove global vars for UE PBCH 2022-02-18 09:41:18 +01:00
Melissa Elkadi a21fb77dd1 Added comment to justify uci_size condition
Also, properly filling the CCE index and Agg level
in the stub function when we get the DCI from
nfapi
2022-02-17 10:25:28 -08:00
Melissa Elkadi 2208abfedd Modifying change to MAC layer
Instead of conditionally calling the pucch_scheduler
we now only call the functions we need from the stub
function directly. This is better because we are not
modifying the OAI MAC layer code and ensuring that we
are not calling the pucch_scheduler twice for the same
sfn/slot
2022-02-17 08:48:26 -08:00
Melissa Elkadi c917352dd2 Resolving issues in MR:
Adding error checking before indexing in mac layer harq array
Adding error checking before writing ul_harq_sfn_slot
Added comments
Made a "static" free_uci_inds() actually static
2022-02-16 16:11:19 -08:00
Melissa Elkadi 6de93fbb59 Only assigning harq_pid in emulated L1 mode. 2022-02-14 16:15:39 -08:00
Melissa Elkadi abddc13a13 Adding \n to several logs and demoting two logs 2022-02-14 13:51:57 -08:00
Melissa Elkadi 5e7de1cdfc Fixing typo and adding .h files for linking 2022-02-14 11:41:22 -08:00
Melissa Elkadi 26349dbe20 More clean up for merge request 2022-02-14 11:07:14 -08:00
Melissa Elkadi 987363b8a8 Clean up for MR 2022-02-14 10:34:23 -08:00
Melissa Elkadi 9322701ce4 Need a break if we queue a ul_tti_req based on PDU state
If we dont have this break we are trying to queue
the UL_TTI_REQ we just queued
2022-02-09 13:32:09 -08:00
Melissa Elkadi 60a9d41bc6 UCI ACK/NACK most of the way working
We have gotten rid of filling the ACK/NACK with
the DLSCH and now only fill with the PUCCH. This
assumes that the MAC layer is properly decoding the
dl_tti_req and tx_data_req and allows us to
simply use the MAC layers scheduled SNF/Slot
to return the ACK NACK. There are some hacks added
in this commit which ensure that the PDCP packet
has the correct header (1st byte = 80) and now with
15Mbps we are seeing about 20% packet loss and
a gNB bug on the edge case (current frame is 1023
and the gNB schduler wants an ACK in frame 0 but the
scheduled UL_TTI_REQ has a frame of 1023).
2022-02-09 07:59:10 -08:00
Melissa fb3e3ea6e5 Merge branch 'episys/david/adding_NR_to_NUM_MCS' into 'episys/master-nsa'
Added NR to NUM_MCS for nr channel modeling.

See merge request aburger/openairinterface5g!109
2022-02-08 15:56:44 -08:00
Melissa 8c2a067a22 Merge branch 'episys/david/checking_downlink_siso_model' into 'episys/master-nsa'
Downlink SISO modeling

See merge request aburger/openairinterface5g!104
2022-02-08 14:51:55 -08:00
Melissa Elkadi 9da3cbc9ec Cherry picking UCI multiplexing for CSI reports 2022-02-08 13:03:13 -08:00
Melissa Elkadi b897287d1f Changes made to gNB cause emulated-L1 mode not to work for multiple UEs.
It seems that the RA procedure in the gNB was modified so
the RAR is sent in a single tx_data_req. The emualted mode
was not previously handling this. We now only process the
PDU in the rx_ind that has a matching preamble. If any
other PDUs exist, we ignore them and only build Msg3 based
on this single matching RAR PDU.

Also, two bug fixes applied here in the emulate-l1 mode.
2022-02-08 11:59:04 -08:00
Laurent THOMAS 3e7c22e7c6 gtp-u old code delete 2022-01-26 11:27:02 +01:00
Melissa Elkadi 118bd8b36f Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-12-06 13:23:21 -08:00
Melissa Elkadi dd891537a7 Checking for pointers to be NULL before allocating memory 2021-11-23 12:37:22 -08:00
Melissa Elkadi 97eda100c7 Removed logic around CALLOCs
When we check if the pointer is NULL before CALLOCing,
then the gNB will crash. It seems that we are mostlikely
leaking memeory since the gNB only crashes with the old
change. By reverting these changes, the gNB does not crash.
We are seeing UE-to-UE IP traffic on this commit when
the tunnel interfaces are established (~50% of the time).
2021-11-23 07:33:31 -08:00
Melissa Elkadi 23582a4483 Adding more error checking 2021-11-22 16:31:47 -08:00
Melissa Elkadi eaa5782579 Merge branch 'episys/master-nsa' into episys/david/multi_ue_sa 2021-11-22 14:29:58 -08:00
Melissa Elkadi 8d94b36349 Adding assertFatals and code cleanup for MR 2021-11-22 14:24:06 -08:00
Melissa Elkadi 6d556607d4 Reverting incorrect CALLOC 2021-11-22 12:34:18 -08:00
Melissa Elkadi fc140b2007 Allocating for the number of DCIs and changing pdu_idx check 2021-11-22 07:40:36 -08:00
Melissa Elkadi 8d1196a9cd Merge branch 'episys/5gcn_traffic_testing' into episys/david/multi_ue_sa 2021-11-22 07:15:59 -08:00
Melissa Elkadi 32cca25075 Modifying how we handle the UCI multiplexing.
In this commit, we changed the UCI handling.
When the UL_TTI_REQ arrives at the NRUE it
has info related to how many UCIs we should
pull from the queue and send to the gNB. If
we do not have that many UCIs available (likely
becasue a DL_TTI_REQ is late), then we will
requeue the UL_TTI_REQ and wait until we have
all the UCI indications before multiplexing.
This change makes it easier to handle multiple
UCIs becasue previously we would send what we
had and then try again later which made keeping
track of the UL_TTI_REQ and second UCI more
difficult.
2021-11-19 14:14:21 -08:00
David Kim 202862bce1 Updated for multiple UEs CBRA procedure.
1. Added rnti filter for multiple UEs.
2. Adjusted mode offset for SA mode.
2021-11-19 13:42:34 -08:00
Melissa Elkadi 7f7bda5421 The number of active harqs is included in the UL_TTI_REQ
Also, we had two heap-buffer-overflow crashes while
filling the CRC_IND and RX_IND. The corrected CALLOC
command is included in this commit as well.

Lastly, we included a better fix for handling late
DL_TTI_REQs. If the number of active harqs is larger
than the number of UCIs we have built, this is a good
indicator that the DL_TTI_REQ is late. To mitigate
problems, we will requeue the UL_TTI_REQ to when the
late DL_TTI_REQ comes in, we can handle the late
UCI that is built from it.
2021-11-19 11:23:47 -08:00
Melissa Elkadi 87097d9767 Adding assertFatal to UCI multiplexing 2021-11-19 07:55:03 -08:00
Melissa Elkadi 2205d6472d Adding AssertFatal to check for array indicies 2021-11-18 10:43:15 -08:00
Melissa Elkadi c008c8e60d IP TRAFFIC IS WORKING WITH ONE NR UE IN SA MODE
This commit includes a hack fix that has allowed
the Ip traffic to work in SA mode. Furthermore,
NSA mode (without the EPC) works in this commit
as well with up to 4 NSA UEs. We will need to
understand better the issue with the UL_DCI
handling in the NRUE that was causing the gNB
to crash.

The AssertFatal in the gNB when the gNB runs out
of downlink HARQ PIDs is caused by the NRUE
receiving a UL_DCI and then building BOTH a UCI
and a CRC/RX pair. So we are essentially sending
a UL and DL DCI to the gNB in this case which
results in an unexpected HARQ PID being received
in the gNB. The filtering in this commit stops
the UCI being built in the NRUE when a UL_DCI
is recevied.
2021-11-18 08:26:12 -08:00
Melissa Elkadi bb4db86d61 Do not handle multiplexing of UCIs if nothing is in UCI queue 2021-11-17 15:39:07 -08:00
Melissa Elkadi d28deb3c34 Handling multiplexing of UCI indications
The IP traffic of a single NRUE works most
of the time in this commit. There seems to
be a bug in the gNB and it will occassionally
crash with a heap-buffer-overflow. This will
be looked at in the next commit.

The changes in this commit include gathering
all of the UCI indications in the queue that
have the same scheduled sfn_slot and sending
them as one aggregated UCI when the scheduled
sfn_slot matches the received ul_tti_request.
2021-11-17 11:33:05 -08:00
Melissa Elkadi 368977b3bb The NRUE and gNB are connected to the 5GCN!
When IP traffic is started on the NRUE, the
gNB immediately crashes
2021-11-12 09:03:47 -08:00
Melissa Elkadi 83f8d71233 Fixing indentation in if statement and adding conf file 2021-11-09 09:44:48 -08:00
Melissa Elkadi dbacbfd0cd Removing more unnecessary filtering in NRUE
Got rid of unnecessary mac->scc check as well
2021-11-08 11:28:41 -08:00
Melissa Elkadi fa4617c0bf Fixing MR based on OAI feedback
The following was changed in this commit:
 - A new struct in the mac instance was created
   for all emulated L1 fields.
 - NR UE RRC state bug was fixed
 - Checking the RAR rnti based on the MAC instance
   ra.ra_rnti and not hardcoding to 0x10b
 - Modified the name of the new emulate_l2 flag
   to make sense: emulate_l1
2021-11-08 10:59:28 -08:00