Commit Graph
826 Commits
Author SHA1 Message Date
Raphael Defosseux 872a99fbec Merge remote-tracking branch 'origin/eMTC-testing' into develop_integration_2019_w11 2019-03-14 21:48:02 +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
Raphael Defosseux d8e16e37a5 Merge remote-tracking branch 'origin/develop' into eMTC-testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-13 14:17:24 +01:00
Raphael Defosseux 95569173d5 Merge remote-tracking branch 'origin/issue407_nos1_siml1_datapath' into develop_integration_2019_w10 2019-03-11 10:37:42 +01:00
frtabu 753c2f446d apply astyle, fix compilation warnings in raw aeth transport and kernel modules 2019-03-10 00:04:12 +01:00
frtabu c9dcaa53af noS1 woking with tun interfaces and basic simu 2019-03-08 16:00:09 +01:00
Cedric Roux 78b6fef63c fix compilation in nos1 mode
Some #if defined(ENABLE_USE_MME)/#endif were added here and there.
The nos1 softmodem has not been tested, maybe this commit breaks
things.
2019-03-05 14:56:42 +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 3179722161 x2: bug fixes
- free correctly in rrc_eNB_free_mem_UE_context
- check for existence of ue_context.handover_info in rrc_enb_process_itti_msg
- check return value sctp_peeloff in sctp_handle_new_association_req_multi
  and exit in case of failure
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
Konstantinos Alexandris 4b5c42115d bugfix: Path switch request ack (manage re-established/released E-RABs) 2019-03-05 14:46:21 +01:00
Konstantinos Alexandris ca19953200 x2ap: bugfixes Store UE Capability at target, Key derivation (keNB star) at source 2019-03-05 14:22:40 +01:00
Konstantinos Alexandris eb59c2cd68 bugfix: fix realtime issues with RRC (race condition)
When testing x2 handover, we found a race issue between the
RRC thread and the phy/mac thread (which is calling rrc_rx_tx).

The UE context was updated by the RRC thread but in the middle of
the update (which consists of several function calls and variables'
updates) the context was accessed by rrc_rx_tx. At this point, the
context was in an inconsistent state.

The solution is to access RRC data in the RRC thread only.
The function rrc_rx_tx now just sends an ITTI message to the
RRC thread. When receiving this message, the RRC thread does
the processing that was done by the function rrc_rx_tx (in
the new function rrc_subframe_process).

This way, the race condition disappears.

However we now send an ITTI message from the phy/mac thread to
the RRC thread at each subframe. That might increase the processing
time of the eNB. So maybe it's not the best solution. It may also
improve the realtime performance because less work is done by the
phy/mac realtime thread. To be checked somehow.

Also, it may be possible that some other RRC functions are still
called by the phy/mac thread, which should also be checked and
replaced by ITTI messages (if this solution is considered to be
correct).
2019-03-05 14:22:40 +01:00
frtabu 87a8cb28a5 basic and rf simulators as config option to allow noS1 datapath debug. 2019-03-04 22:07:32 +01:00
nepes 22e13cb64c resolving conflicts 2019-03-02 23:28:49 +01:00
nepes 40cb79e44f Merge remote-tracking branch 'origin/develop' into eMTC-testing 2019-03-02 22:41:48 +01:00
nepes 4c505b8639 log removal and testing for Cat-M1 2019-03-02 15:34:48 +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
OAI-admin c22f10aa72 Add PHR/BSR to RRCConnectionSetup + add some debug for DLSCH scheduling 2019-02-26 12:44:59 +01:00
nepes 282985eb2b RRC bugfix 2019-02-25 21:52:47 +01:00
frtabu fb46545526 Fix corrupted LOGs in L1L2simulator, introducing two new components NFAPI_VNF and NFAPI_pnf. Integrate Fujitsu fix for up to 50 UEs. Apply astyle to all modified files in the branch 2019-02-25 16:50:03 +01:00
nepes b28b14411e modifications for LTE-M testing 2019-02-25 13:29:43 +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
Raphael Defosseux d14ad6797e Applying the cppcheck fix on last files
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-15 19:18:24 +01:00
Raphael Defosseux 341fedd468 Merge branch 'issue394_fix_cppcheck' into develop_integration_2019_w07_v2
--> openair2/LAYER2/MAC/eNB_scheduler_primitives.c is still old (not from issue394_fix_cppcheck branch)

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-15 12:24:19 +01:00
Cedric Roux e4443b1810 x2: fix compilation 2019-02-13 15:42:29 +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
frtabu 60defa245d more fixes for cppcheck 2019-02-12 10:12:07 +01:00
Raymond Knopp e704e7ccc0 Merge remote-tracking branch 'origin/develop' into enhancement-ltem 2019-02-07 23:58:17 +01:00
Cedric Roux be68e1e651 Merge remote-tracking branch 'origin/develop' into x2
Conflicts:
	common/utils/msc/msc.h
	openair2/X2AP/x2ap_eNB.c
2019-02-01 14:27:55 +01:00
Raphael Defosseux 64144a8442 Merge remote-tracking branch 'origin/issue391-removeunusedcode_L2L1task' into develop_integration_2019_w04
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-24 15:33:19 +01:00
Raphael Defosseux 8260607ed6 CI: fix in L2-simulator VM build start script
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-22 21:37:40 +01:00
frtabu 9d0c70c9fe remove L1L2 task, also remove some call to send messages to UNKNOWN_TASK, removed in new itti. Align LOG in rlc sources with new LOG code (remove DEBUG_RLC...) 2019-01-21 19:43:19 +01:00
Cedric Roux 3ee6ccbeb5 fix enb nos1 ethernet compilation 2019-01-21 17:27:57 +01:00
Cedric Roux 1c4ec9e90b fix dlsim compilation 2019-01-21 17:24:26 +01:00
Konstantinos Alexandris 83c414fc83 remove warnings (nb_e_rabs_tobeswitched not in use) 2019-01-21 16:34:52 +01:00
Konstantinos Alexandris 80cf53a3c0 minor: fix spacing 2019-01-21 10:54:21 +01:00
Raymond Knopp c47e1fc97f Merge remote-tracking branch 'origin/develop' into enhancement-ltem 2019-01-19 12:14:23 +01:00
Cedric Roux 7d481c5734 Merge remote-tracking branch 'origin/develop' into x2 2019-01-18 10:40:01 +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
Raphael Defosseux 4075fbc86a Merge remote-tracking branch 'origin/develop' into issue_345_l2_fapi_simulator_new_jan2019
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-17 18:19:46 +01:00
Cedric Roux 4cd58ac80a apply astyle 2019-01-16 11:44:38 +01:00
Raphael Defosseux d73685933c Merge remote-tracking branch 'origin/develop' into issue_345_l2_fapi_simulator_new
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-16 11:21:27 +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
laurent 4753f92bad remove more files, add a LOG_E() for UE not developped use case 2018-12-26 10:25:56 +01:00
laurent b3f1440249 issue 384 2018-12-23 17:55:07 +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