Commit Graph
64 Commits
Author SHA1 Message Date
s.rampalli defea03ab9 Required changes/modifications are done at both eNB and gNB side 2020-06-09 18:50:04 +05:45
matzakos 07a2a095d3 ENDC path switch S1-U: Integrated S1AP E-RAB-Modification indication message at eNB, interfacing with RRC and X2AP to get proper configuration of E-RABs to be modified and GTP-U configuration at gNB 2020-03-11 10:37:48 +01:00
Cedric Roux f829970085 improve NR UE capabilities request
Seems like the UEs in the CI don't like when asked to report NR UE
capabilities. So let's first ask for eutra capabilities and then
dig into them to check for en-dc support and only then ask for
NR capabilities. We chose to ask for NR capabilities after receiving
RRCConnectionReconfigurationComplete. That may not be the best thing
to do.

Today, we do nothing with those capabilities. We could completely skip
asking them to the UE, but since the code is there and since it may be
useful in the future, let's do it. Hopefully, it should not hurt too much.
2020-02-20 15:18:50 +01:00
Cedric Roux 51ab31a3b9 trigger NR activation based on RRC measurements
An NR-capable UE will transmit some NR measurements.
Once received, the whole process on nr-cell addition is started.
It will fail quickly.

Many things are still missing.

What is not handled properly with this commit:
- in x2ap_eNB_handle_sgNB_add_req we hardcode the gNB ID
- nr triggering is done if we receive a measurement but this measurement is
  not analyzed at all
- no timers (T_dc_overall, T_dc_prep) and as is the code fails and then the
  next triggering after UE reconnection will not work (x2 ID are not well
  handled here and there in the code)

Note also that the gNB part has not been looked at all for this commit.

This is work in progress...
2020-01-23 16:10:29 +01:00
Cedric Roux ad5706c88d activate NR measurements for NR capable UEs
many things hardcoded, to be refined
2020-01-17 16:56:57 +01:00
matzakos c134529484 ENDC: Code cleanup and logs rearrangements 2020-01-09 18:08:46 +01:00
frtabu b9b4d05e41 remove RRC_VERSION macros, simplify build-oai and CMakefile.txt accordingly, get rid of remaining compilation warnings (opt module improperly merged and patch asn1c files with tests against max 64 bits integer value) 2019-09-23 19:46:44 +02:00
yilmazt 4967e1b1ac develop&-nr up-to-date as of 30.7.19 2019-07-30 22:01:48 +02:00
yilmazt 2b321fd1c7 Merging latest develop commits 2019-07-16 11:20:24 +02:00
luaihui e468376d93 add forwarding and end marker 2019-07-11 10:59:07 +09:00
Konstantinos Alexandris 75e3622daf Configure eNB for X2 handover controlled by network (ignore UE HO request) 2019-06-24 16:29:14 +02:00
Konstantinos Alexandris 772dc508e8 Fix: Segfault error, free properly measurement info struct, add rsrp/rsrq filter coefficient 2019-06-24 16:15:44 +02:00
Konstantinos Alexandris b7530528e0 To be tested: Add code for measurement report based on the neighbouring cells after x2 setup, ocs/ocn for multiple cells 2019-06-24 16:15:44 +02:00
Konstantinos Alexandris 0eeee616d8 Create RRC struct and getters for Periodic, A1-A5 event and offsets related to RRC Measurement Report 2019-06-24 16:15:44 +02:00
yilmazt 420e6194d4 All 4 nr&lte-(ue)softmodems are compiling 2019-06-16 19:46:11 +02:00
Javier Morgade 786895dcd9 Merge remote-tracking branch 'origin/develop' into develop-entv 2019-05-17 18:11:55 +02:00
Javier Morgade f1fa1e1f53 FeMBMS UE RRC<->MAC Procedures SI-MBMS and SIB1-MBMS(sib13, LTE_NonMBSFN_Subframe) 2019-04-11 22:04:40 +02:00
Stefan Schaffelder 42e0929a0c apply last diff from ssr to local orange_cdrx branch. Remove SSR comments 2019-04-04 10:15:38 +02:00
Louis Adrien Dufrene 81f04d2982 Apply diff between ssr (CDRX) branch and develop 2019-04-04 08:17:26 +02:00
Robert Schmidt 1f590efe2b Merge branch 'develop' into feature-127-protocol-split 2019-03-19 14:49:07 +01:00
Robert Schmidt 62d9b8cf36 Merge branch 'develop' into feature-127-protocol-split 2019-03-14 13:10:21 +01:00
Cedric Roux 9456fe584a x2ap: timers, cleanup
This commit introduces X2AP timers (t_reloc_prep, tx2_reloc_overall).
You need to set the values in the configuration file.

X2AP can be enabled or disabled in the configuration file too (disabled
by default).

Some deadcode was removed.
2019-03-13 15:28:37 +01:00
Cedric Roux c394188e73 x2: first implementation of ID management, some cleanup
Some deadcode was removed.

The implementation of the ID management is not finished.
It will only work if the handover is successful. No error
recovery has been done. For error recovery, we need to
implement the X2AP timers. As it is, in case of error, an ID
might very well never be released.

It has been tested with 1 and 2 UEs doing handover more or less
at the same time.
2019-03-05 14:56:42 +01:00
Konstantinos Alexandris 02193f4bab x2: some cleanup in instance management
- manage target eNB based on target cell id received by measurement report
  for Handover Request
- manage source eNB based on association id for Handover Request Ack
- use only x2ap instance and not x2ap data instance points to x2ap instance
2019-03-05 14:56:42 +01:00
Konstantinos Alexandris 52a52eefb9 X2AP UE Context Release (generate/handle message), Release eNB resources 2019-03-05 14:53:00 +01:00
Robert Schmidt f9c4c501e3 Merge branch 'develop' into feature-127-protocol-split 2019-03-05 14:17:38 +01:00
Raphael Defosseux 0f11865fa4 Merge remote-tracking branch 'origin/issue-404-pdcp-integrity' into develop_integration_2019_w09
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-28 14:37:10 +01:00
Cedric Roux e3782b5ca2 bugfix: fix PDCP sequence management (plus some cleanup)
With the introduction of X2AP into develop, the UEs now have to regularly
send measurement reports.

In the logs of the eNB, we see:

[OSA]   Mismatch found in integrity for algorithm 2,
        got e0.a0.c2.66, expecting a5.9c.cb.57
[PDCP]   [OSA][RB 1] eNB failed to validate MAC-I of incoming PDU

This is a bug in the PDCP layer that uses wrong parameters to compute the
integrity.

This commit fixes this bug.

The function pdcp_is_rx_seq_number_valid was removed. Its processing
has been directly integrated into the function pdcp_data_ind.

The function pdcp_mark_current_pdu_as_received is not called anymore.
Its processing was not used later on, so as of today, not calling it does
not introduce any functional change.

The function pdcp_validate_security takes now as parameters both
SN and HFN. Same for the function pdcp_get_next_count_rx.

Useless constants PDCP_SN_5BIT, PDCP_SN_7BIT and PDCP_SN_12BIT have been
removed.

The compilation option ENABLE_SECURITY has been removed. It's now always
on. (This may impact some use cases.)

The PDCP for DRB using RLC AM is not correct. It was not correct before
this commit (apart from the integrity bug). We should deal with a list
of PDUs and transmit packets to upper layers as detailed in the specs.
Today we transmit the PDU as soon as we get it. We don't care about
duplicates, in-order delivery, timeouts.

Also, we don't deal with "PDCP re-establishment". Not sure how that impacts
the software.

And, last but not least, there is still no ROHC.
2019-02-27 12:33:04 +01:00
Javier Morgade 39fe25a44d FeMBMS RRC->MAC config request protypes 2019-02-27 11:01:47 +01:00
Robert Schmidt 030e11ba9a Merge branch 'develop' into feature-127-protocol-split 2019-02-21 20:18:35 +01:00
frtabu 38d772d8a2 nos1 et s1 execs identical, nos1 enforced based on exec name or --noS1 option 2019-02-17 23:46:45 +01:00
Javier Morgade 46a8c83b6c UE procedures for FeMBMS SIB1-MBMS (SystemInformationBlockType1-MBMS message)
-- asn1 dissectors ETSI TS 136 331 V14.2.2 (2017-05)
	-- schedule_SI_MBMS
	-- ue_decode_si_mbms
2019-02-14 15:35:00 +01:00
Cedric Roux 1c6b9f0eda Merge remote-tracking branch 'origin/develop' into x2
Conflicts:
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/rrc_defs.h
2019-02-13 15:20:45 +01:00
Cedric Roux 246abce5d1 Merge remote-tracking branch 'origin/develop' into x2
Conflicts:
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.h
	openair2/RRC/LTE/rrc_defs.h
	openair2/RRC/LTE/rrc_eNB.c
	openair2/RRC/LTE/rrc_eNB_S1AP.c
	openair2/RRC/LTE/rrc_proto.h
	openair3/GTPV1-U/gtpv1u_eNB.c
	openair3/S1AP/s1ap_eNB_handlers.c
2019-01-18 10:35:39 +01:00
Cedric Roux aea6b4b5a6 fix a lot of file mode
For whatever reason most of the files had their permission
changed from 644 to 755, which is not wanted.
2019-01-07 16:22:28 +01:00
Raymond Knopp 44a225c6b7 Merge remote-tracking branch 'origin/develop' into enhancement-ltem
Conflicts:
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/COMMON/rrc_messages_types.h
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/mac.h
	openair2/RRC/LTE/L2_interface.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.h
	openair2/RRC/LTE/rrc_eNB.c
	openair2/RRC/LTE/rrc_eNB_S1AP.c
	targets/RT/USER/lte-enb.c
2019-01-05 23:28:31 +01:00
Konstantinos Alexandris ea105c39b1 X2AP MOBILITY PROCEDURES (X2AP HANDOVER REQUEST/REQUEST ACK)
S1AP PATH SWITCH REQUEST/REQUEST ACK/FAILURE
RRC MEASUREMENT REPORT
MINOR CHANGES IN MAC LAYER
2018-12-18 13:45:03 +01:00
OAI-admin 1094835db1 RRC timer fixed and tested 2018-11-20 15:07:43 +01:00
Louis Adrien Dufrene c194956da3 RRC timer thres removed from UE context and added to eNB RRC context, value 0 of thres equivalent to infinity 2018-11-20 14:15:50 +01:00
Raymond Knopp 6266d5c389 Merge remote-tracking branch 'origin/develop' into enhancement-ltem
Conflicts:
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_TRANSPORT/dci.c
	openair1/PHY/LTE_TRANSPORT/edci.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/COMMON/rrc_messages_types.h
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_bch.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/mac.h
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/rrc_defs.h
	openair2/RRC/LTE/rrc_eNB.c
	openair2/RRC/LTE/rrc_eNB_S1AP.c
2018-11-19 00:43:49 +01:00
Louis Adrien Dufrene 700437f184 astyle applied 2018-11-16 08:49:28 +01:00
Louis Adrien Dufrene a409614185 Merge develop done, conflicts resolved 2018-11-13 10:49:20 +01:00
Louis Adrien Dufrene 94bf32b0d4 Bug fix: S1 id unknown after Detach Request (need to test) 2018-11-08 08:31:23 +01:00
Robert Schmidt 397d2f4815 Merge commit 'develop' into feature-127-protocol-split
* remove a lot of white spaces
* many conflicts in enb_config.c
2018-11-07 16:07:59 +01:00
Raymond Knopp d24f521a5a Merge remote-tracking branch 'origin/develop' into enhancement-ltem
Conflicts:
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
	openair1/PHY/LTE_TRANSPORT/dci.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
	openair1/PHY/LTE_TRANSPORT/edci.c
	openair1/PHY/LTE_TRANSPORT/if4_tools.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/print_stats.c
	openair1/PHY/LTE_TRANSPORT/pucch.c
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/impl_defs_lte.h
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/COMMON/rrc_messages_types.h
	openair2/ENB_APP/enb_config.c
	openair2/ENB_APP/enb_paramdef.h
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/defs.h
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_bch.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/pre_processor.c
	openair2/LAYER2/MAC/rar_tools.c
	openair2/LAYER2/MAC/ue_procedures.c
	openair2/PHY_INTERFACE/IF_Module.c
	openair2/RRC/LITE/rrc_common.c
	openair2/RRC/LTE/L2_interface_ue.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/rrc_eNB.c
	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
2018-10-29 07:54:17 +01:00
Louis Adrien Dufrene a321e160cf rrc inactivity timer created, S1 ue context release request sent on timeout, timer set at RRC connection complete reception 2018-10-25 16:03:38 +02:00
Bi-Ruei, Chiu f58ad3c39f Add prefix LTE_ to LTE-RRC generated data types by ASN1C_PREFIX=LTE_
1. Modify all expressions using original LTE-RRC data types for new generated ones
2. Does not change any program logic
2018-10-17 15:46:12 +08:00
Robert Schmidt a52156cf26 Remove unused MCC/MNC in eNB_RRC_INST 2018-09-28 11:45:56 +02:00
Bing-Kai Hong a7be0cc2a8 send F1AP_UL_RRC_MESSAGE from rrc 2018-09-19 19:47:11 +02:00
Raymond Knopp 825c33df1b handling of nr_cellid and creation of context upon CCCH transmission.
Connection goes until generation of RRCConnectionSetup in CU which crashes (it calls rrc_mac_config_req. For DU this should be replaced with filling DL_RRC_MESSAGE_TRANSFER
2018-09-16 23:07:14 +02:00