Commit Graph
2635 Commits
Author SHA1 Message Date
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 f76f1f1e1c x2: bugfix: pass correct rach resource type 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
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
frtabu 43f827351f Fix basic-simulator (pdcp.c) 2019-02-26 16:49:55 +01:00
frtabu 79d0042c4a Merge branch 'develop' into issue392-simplify-s1-nos1step2 2019-02-25 17:37:20 +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
tomita.y f3dc8d446d Fixed a problem of double free. 2019-02-25 15:55:02 +09:00
tomita.y 2e49f833a3 Modified for L2 simulator with using TUN. 2019-02-25 13:34:23 +09:00
frtabu eb26975451 attempt to fix l2 simulator issue 2019-02-19 19:50:44 +01:00
Louis Adrien Dufrene db51a61c2e Fix to remove cppcheck warnings 2019-02-19 07:56:32 +01:00
Louis Adrien Dufrene 0f52ce5031 remove previous X2AP fix after update of asn files 2019-02-18 15:36:02 +01:00
Louis Adrien Dufrene f8ab4080f7 Merge from develop + modification of a X2AP file for code to compile 2019-02-18 10:46:13 +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
Raphael Defosseux ee3b650904 Compilation fix
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-15 10:40:06 +01:00
Raphael Defosseux 4cdae9d93d Merge remote-tracking branch 'origin/x2' into develop_integration_2019_w07_v2
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-15 09:54:44 +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
Louis Adrien Dufrene c7bce0f8d7 Merge from develop 2019-02-13 09:01:51 +01:00
Louis Adrien Dufrene ce87a9dc09 Merge from develop 2019-02-13 08:41:13 +01:00
frtabu 2fcc6333b3 Fix compil warnings after rebase 2019-02-12 10:32:57 +01:00
frtabu 60defa245d more fixes for cppcheck 2019-02-12 10:12:07 +01:00
frtabu d0a3788ca8 re-apply fixes lost with last rebase 2019-02-12 10:12:07 +01:00
frtabu 299f627d8a more fixes for cppcheck, soon all the easiest ones completed (invalid printf format...) 2019-02-12 10:12:07 +01:00
frtabu 824d2b478a new set of cppcheck fixes 2019-02-12 10:12:07 +01:00
frtabu 875bdaf282 cppcheck fixes (2) 2019-02-12 09:46:02 +01:00
frtabu 501ae74cb5 first set of cppcheck fixes 2019-02-12 09:46:02 +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
Stefan 0eb430c508 forme eNB_scheduler_primitives < 5500 2019-01-28 16:02:13 +01:00
Stefan b5fb496882 forme eNB_scheduler_primitives < 3900 2019-01-25 17:17:30 +01:00
Stefan d0b5dfa484 forme eNB_scheduler_primitives < 3000 2019-01-25 11:26:45 +01:00
Raphael Defosseux 2d7c9734fd Fixing a few warnings (flexran)
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-01-24 19:57:49 +01:00
Stefan 0a7e800077 forme eNB_scheduler_primitives < 2000 2019-01-24 16:26:21 +01:00
Konstantinos Alexandris 6f0267c4fa x2: fix UE measurement report 2019-01-24 15:55:26 +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
Stefan 169ba6011e forme eNB_scheduler_primitives < 1000 2019-01-24 11:19:13 +01:00
Stefan 1074a2cdc7 forme eNB_scheduler_dlsch 2019-01-23 16:22:55 +01:00
Louis Adrien Dufrene f0eaad5c1c Merge from develop 2019-01-23 14:15:21 +01:00
OAI-admin 1c26da5ad5 Some corrections: commit test is ok! 2019-01-23 13:56:43 +01:00
Louis Adrien Dufrene aac0a56116 Merge from develop 2019-01-23 13:27:56 +01:00
Stefan 2a8e7f3f6f modif fill_nfapi_uci_acknaks 2019-01-23 11:56:31 +01:00