Commit Graph
245 Commits
Author SHA1 Message Date
Melissa Elkadi 746d074646 Queuing all nFAPI messages and handling after slot ind
This commit changes the stub functionality entirely.
We are now queueing any received NR nFAPI message
and handling it only after we recevie a slot ind
that corresponds with the nFAPI message's sfn/slot
value. When doing this, an existing issue has been
brought to light. The gNB and NR UE are not in sync
when it comes to their slot indications. Generally,
the NR UE seems to be ahead of the gNB by around 6-7
slots. This commit has a hack... when we receive a
slot indication at the moment, we decrament it by 6
to try to keep the NRUE from being ahead of the gNB.
This will be fixed shortly... This was a temporary
fix..
2021-10-06 18:13:13 -07:00
Melissa Elkadi 62118252dd Merge remote-tracking branch 'eurecom/bandwidth-testing-abs' into episys/mel/merge_bw_testing_abs 2021-09-28 13:13:54 -07:00
Melissa Elkadi 2ac8d4b680 Properly handling cellGroupConfig in NR UE 2021-09-14 09:10:47 -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
Raymond Knopp 37b135b616 logging and DL-CCCH decoding size:: 2021-09-11 13:58:08 +02:00
rmagueta 71cd100335 Merge remote-tracking branch 'origin/nr-pdcp-security-w34' into bandwidth-testing-abs
# Conflicts:
#	ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf
#	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
2021-09-08 17:22:28 +01:00
Cedric Roux eeca38368e gnb sa: improve security
Note: some modifications have been done to the UE too, but for syntactic
reasons. The UE may fail to work, not tested.

For the UE, we have the problem of handling properly SecurityModeCommand.
We don't verify its integrity. This is a bit complicated to handle properly
and may require some API changes in the PDCP layer. So, as of today, the
integrity of this message is not verified.

Also, NSA mode has been touched, but it should not be a problem. But not
tested, so not sure.
2021-09-06 11:06:47 +02:00
Melissa Elkadi ca1805faaf IP ping traffic is working correctly
In this commit we have updated the NRUE
to properly get the RadioBearer info from
the gNB. Because NSA and SA mode both use
this information, we have updated the SA
function previously in place by changing
the name to allow both NSA and SA mode to
use. This commit also updated the NR/LTE UEs
configuration files to with the correct
proxy IP address.
2021-09-03 10:13:59 -07:00
rmagueta a45eb42fca Change log levels 2021-09-01 12:57:01 +01:00
Deokseong "David" Kim 43d8ed216e Update on scheduler to relax AssertFatal. 2021-08-25 22:52:58 +00:00
Michael Cook d768522466 Be more careful about buffer sizes 2021-08-23 21:06:09 +00: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 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 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 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
francescomani 1d66b5c415 attempting to fix wrong implementation in NSA UE configuration 2021-07-26 16:08:52 +02:00
francescomani ef84130e7c Merge remote-tracking branch 'origin/develop' into NR_UE_SA 2021-07-23 16:01:43 +02:00
rmagueta f2b52ba3da Revert some xer_fprints 2021-07-15 10:35:54 +01:00
rmagueta a2450bb4b7 Protect some xer_fprints by an if 2021-07-14 15:30:07 +01:00
francescomani 2fe8dd7657 Merge remote-tracking branch 'origin/develop-NR_SA_F1AP_5GRECORDS-abs' into NR_UE_SA 2021-07-14 10:35:09 +02:00
Melissa Elkadi 7f2e622b0e Sending tunnel interface 'up' command to NR UE
Once the LTE UE's tunnel interface with the EPC
is ready to be established, if we are in NSA mode,
we do not want to launch the tunnel interface
from the LTE UE side, but in the NR UE. Via itti_msgs
we send the string containing the tunnel interface
'up' command to the NR UE and bring it up from the NR UE.
2021-07-07 11:55:34 -07: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
rmagueta 160cb0b930 Merge remote-tracking branch 'origin/NR_SA_F1AP_5GRECORDS' into develop-NR_SA_F1AP_5GRECORDS-lts2
# Conflicts:
#	cmake_targets/CMakeLists.txt
#	cmake_targets/build_oai
#	cmake_targets/tools/build_helper
#	executables/nr-gnb.c
#	openair1/PHY/INIT/nr_init_ru.c
#	openair1/PHY/NR_TRANSPORT/nr_dlsch_coding.c
#	openair1/PHY/NR_TRANSPORT/nr_ulsch.c
#	openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
#	openair1/PHY/NR_UE_TRANSPORT/nr_prach.c
#	openair1/SCHED_NR/phy_procedures_nr_gNB.c
#	openair1/SCHED_NR_UE/pucch_uci_ue_nr.c
#	openair2/F1AP/f1ap_du_rrc_message_transfer.c
#	openair2/F1AP/f1ap_du_rrc_message_transfer.h
#	openair2/F1AP/f1ap_du_task.c
#	openair2/GNB_APP/gnb_app.c
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/config.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
#	openair2/LAYER2/nr_pdcp/nr_pdcp_entity.c
#	openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
#	openair2/RRC/LTE/rrc_eNB_GTPV1U.c
#	openair2/RRC/NR/L2_nr_interface.c
#	openair2/RRC/NR/MESSAGES/asn1_msg.c
#	openair2/RRC/NR/rrc_gNB.c
#	openair2/RRC/NR/rrc_gNB_NGAP.c
#	openair2/RRC/NR_UE/rrc_UE.c
#	openair3/NAS/NR_UE/nr_nas_msg_sim.c
#	openair3/ocp-gtpu/gtp_itf.cpp
#	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
2021-06-30 17:00:30 +01:00
matzakos 408d05c682 Configure PDCP entity for UE DRB with no integrity and ciphering to comply with configuration at gNB
-To be revisited if we want to enable integrity and ciphering for DRBs
2021-06-27 10:34:37 +02: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
Laurent THOMAS 64e58a4300 dirty fixes that fix the UL malformed packets (detected in wireshark), and also internally memory corrpution 2021-06-23 21:41:56 +02:00
Laurent THOMAS 75e999572f add DLinformationTransfer in nrUE, process SRB!=1 in UE (instead of discard), change struct member pdusession into pduSession to increase code readability (another struct contains also pdusession in lower case) 2021-06-22 14:26:25 +02:00
Deokseong "David" Kim 591e0e1f36 Adjusted UDP port ids for multiple UE connection with proxy 2021-06-16 16:06:38 -07:00
Laurent THOMAS 1b62c91532 add configurable USIM 2021-06-14 16:32:29 +02:00
Melissa Elkadi 88c614eefc RAR successful here. This commit includes:
- 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
2021-06-08 12:31:52 -07:00
rmagueta e72a6798c1 Change some LOG levels 2021-06-05 14:20:39 +01:00
Melissa Elkadi 7db52420bf Created new fill_rach function in the NR UE
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
2021-05-28 15:30:56 -07:00
Melissa Elkadi b32e3f735f This commit breaks in RACH procedure
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.
2021-05-26 14:36:29 -07:00
matzakos 01635a40f8 Enable DRB configuration for PDCP, RLC at OAI UE 2021-05-26 17:47:53 +02:00
Melissa Elkadi caa3e034b6 Have completed full NSA procedure once.
At the moment, the NSA mode worked once, but shows
unpredictable behavior. Other times it does not work.
In this commit I added several LOG_A messages for NSA
mode. Also removed old comments that were added during
development. Lastly, more comments for all the hacks
have been added.
2021-05-21 11:53:35 -07:00
Melissa Elkadi e2c0bd52f0 Successfully encoding RRC_Complete in LTE UE
The eNB may only check for RRC_Complete in EPC
mode. Need to look at this further. Updated how
we pass the RRC_Complete msg from NR UE to LTE UE.
Need to still handle transaction_id from dl_dcch_msg
in the LTE UE and trans_id from nr_dl_msg.
2021-05-20 15:04:33 -07:00
francescomani f84d6767c3 Merge remote-tracking branch 'origin/NR_SA_F1AP_5GRECORDS' into NR_UE_SA 2021-05-20 16:13:46 +02:00
Melissa Elkadi 4129f8c6c9 Attempting to send RRCComplete message to eNB
It is seg faulting at the moment.
2021-05-19 16:42:22 -07:00
Melissa Elkadi 02928ec2b2 Passing RRCConfigComplete to LTE UE success!
However, the NR UE is crashing because it is receiving
a second RRCReconfig message from the LTE UE and it is
having trouble decoding it. Need to understand this.
2021-05-19 15:38:05 -07:00
rmagueta 8c5725ed46 Merge remote-tracking branch 'origin/fix-compile' into develop-NR_SA_F1AP_5GRECORDS
# Conflicts:
#	cmake_targets/CMakeLists.txt
#	openair2/RRC/NR_UE/rrc_UE.c
#	openair2/SIMULATION/NR_RRC/itti_sim.c
2021-05-19 12:09:27 +01:00
Melissa Elkadi b4faa5990e Trying to send last RRC message to NRUE 2021-05-18 16:00:21 -07:00
rmagueta cf605f4c77 Merge remote-tracking branch 'origin/develop' into develop-NR_SA_F1AP_5GRECORDS
# Conflicts:
#	cmake_targets/CMakeLists.txt
#	cmake_targets/build_oai
#	openair1/PHY/INIT/nr_init_ru.c
#	openair1/PHY/NR_TRANSPORT/nr_ulsch.c
#	openair1/PHY/NR_TRANSPORT/nr_ulsch_demodulation.c
#	openair1/SCHED_NR/phy_procedures_nr_gNB.c
#	openair1/SIMULATION/NR_PHY/ulsim.c
#	openair2/COMMON/platform_constants.h
#	openair2/ENB_APP/enb_config.c
#	openair2/F1AP/f1ap_cu_interface_management.c
#	openair2/F1AP/f1ap_cu_rrc_message_transfer.c
#	openair2/F1AP/f1ap_cu_ue_context_management.c
#	openair2/F1AP/f1ap_du_interface_management.c
#	openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
#	openair2/RRC/LTE/rrc_eNB.c
#	openair2/RRC/NR/rrc_gNB.c
#	openair2/RRC/NR_UE/rrc_UE.c
2021-05-17 01:36:39 +01:00
Laurent THOMAS b5bbfdade3 after merge, remain compile errors 2021-05-16 23:57:35 +02:00
rmagueta 0ef6ef2b28 Code format improvements in differences for develop 2021-05-12 19:29:10 +01:00
Melissa Elkadi 31e51f3663 Processing NR_UE_Capability_info and sending 2021-05-11 15:40:43 -07:00
Melissa Elkadi 9009124223 Handling UE_capability_enquiry at NR UE
Now, we are able to fill the UE_Capability_Info that
the LTE UE and eNB are expecting. We then are able to
generate a RRC_DCCH_DATA_COPY_IND to trigger the
processing of the UE_Capability_Info (and sending the
info to the eNB). The info being received at eNB has not
been tested yet.
Also some code clean up.
2021-05-10 11:06:45 -07:00
Melissa Elkadi 5f2d246a8c Added comments and cleaned up the code.
The encode is still  working but now we need to
add in some new functionality to handle NR Capabilites.
2021-05-08 14:52:08 -07:00
Melissa Elkadi cee317b73f Removed reportConfig dump funciton
Also removed the [eNB_index + 1] saving/writing
in the process_MeasObj function. This indexing
was incorrect. Also cleaned up the code, fixed
ssRSRB -> ssbRSRP. Lastly, added assertFatals
around indexing in process_measObj function.
2021-05-05 10:07:37 -07:00
Melissa Elkadi 7e339b4610 Currently receiving measurement data from 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
2021-05-03 15:31:32 -07:00
Melissa Elkadi 34eeae0874 NR SA thread and sockets have been added.
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.
2021-05-01 15:05:04 -07:00