Commit Graph
48 Commits
Author SHA1 Message Date
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
nepes 40cb79e44f Merge remote-tracking branch 'origin/develop' into eMTC-testing 2019-03-02 22:41:48 +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
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
Raphael Defosseux 5d0fe4cea7 Fixing some compilation errors/warnings
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-28 20:31:24 +01:00
Raphael Defosseux 0d67854ce0 Merge remote-tracking branch 'origin/add-mac_MainConfig-to-RRCConnectionSetup' into develop_integration_w48 2018-11-28 18:10:56 +01:00
Raymond Knopp 134a39fa34 Merge remote-tracking branch 'origin/add-mac_MainConfig-to-RRCConnectionSetup' into enhancement-ltem
Conflicts:
	cmake_targets/CMakeLists.txt
2018-11-26 23:02:29 +01:00
Raymond Knopp 552bd6979d Merge remote-tracking branch 'origin/develop' into enhancement-ltem
Conflicts:
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
2018-11-26 23:01:47 +01:00
Raphael Defosseux f8ccd284a0 Merge remote-tracking branch 'origin/develop' into 374-missing-rrc-inactivity-timer-missing-default-drx-ie-in-s1-setup-ue-s1-id-unknown-after-detach-for-switch-off
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2018-11-23 14:10:50 +01:00
Raymond Knopp b89f9284dd adds a mac_MainConfig information element to RRCConnectionSetup. This is to configure PHR reporting during the first part of the Attach procedure. 2018-11-21 20:24:24 +01:00
Raymond Knopp 7900864fe4 testing after integration of eMTC 2018-11-19 18:01:36 +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
Raymond Knopp 246ee327fb rework of configuration for eMTC/Sidelink. Removal of warnings introduced by eMTC code. Validation of configuration component for eMTC and regular LTE. Sidelink is still not configured. 2018-11-18 20:17:18 +01:00
Louis Adrien Dufrene 700437f184 astyle applied 2018-11-16 08:49:28 +01:00
Louis Adrien Dufrene 961a70a04e Fusion wasn't ok, needed some modifications 2018-11-13 11:20:14 +01:00
Louis Adrien Dufrene a409614185 Merge develop done, conflicts resolved 2018-11-13 10:49:20 +01:00
Raymond Knopp 374d00d857 removal of warnings during configuration 2018-11-04 00:03:44 +01:00
Raymond Knopp b27ed63fa9 lte-softmodem compiles, many memory faults during configuration ... 2018-11-03 22:51:24 +01:00
frtabu 18ec5d8047 abort execution when an unknown option is passed via the command line: add config_check_cmdlineopt API to config module, create lte-softmodem-common.c source to remove duplicate code in lte-softmodem.c and lte-uesoftmodem.c, fix segfaults in exec_function of lte-uesoftmodem 2018-11-02 18:17:11 +01:00
Louis Adrien Dufrene 1bb53286bb Bug fixed: S1 setup requst sends the correct default DRX value 2018-11-02 16:23:32 +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 a073e84369 Merge remote-tracking branch 'eurecom_gitlab/develop' into DRX_develop 2018-10-23 08:00:00 +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
Cedric Roux 27395c083d hotfix: hardcode PLMN selection in the UE to value 1 (was 2)
Fix the assertion:
Assertion ((instance_p->mnc_digit_length[ue_desc_p->selected_plmn_identity] == 3) || (instance_p->mnc_digit_length[ue_desc_p->selected_plmn_identity] == 2)) failed!
In s1ap_eNB_handle_nas_first_req() /home/ubuntu/tmp/openair3/S1AP/s1ap_eNB_nas_procedures.c:243

With this hotfix the UE selects the first PLMN sent by the eNodeB.

The UE has to select the correct PLMN from those received in SIB1. This
will be done with a later merge request.
2018-10-15 14:57:56 +02:00
Robert Schmidt 413b307441 SIB1: Add all configured PLMN IDs in System Information 2018-09-28 11:45:52 +02:00
Cedric Roux cbdc8f662a Merge remote-tracking branch 'origin/issue343_dlcqi_retransmission' into develop_integration_2018_w36 2018-09-07 16:04:05 +02:00
Louis Adrien Dufrene 80920618e6 Code guidelines 2018-08-31 14:14:28 +02:00
Louis Adrien Dufrene ec702c88f3 Commentaries modifications 2018-08-29 14:27:09 +02:00
Haruki NAOI d44ef56e3b Fix: UE dose not respond to paging message. 2018-08-28 16:55:45 +09:00
frtabu 24f8fcf346 Use common log mechanism in layer 3, mapping specific macros to common ones and extending common log utilities to support specific layer3 requirements 2018-08-24 17:43:14 +02:00
frtabu 30509955c2 remove compilation warnings, especially when disabling T_TRACER. enhance LOG_M macro implementation, introduce LOG_DEBUG_XXX macro to replace #ifdef DEBUG_XXX 2018-07-30 20:07:22 +02:00
frtabu b85cbddeec log.c simplification, fix usefull functionality which never worked, move all log code from openair2 to common 2018-07-30 20:07:22 +02:00
Bi-Ruei, Chiu a247907d3a Use an un-official community collaboration version of asn1c
1. It's no need to modify LTE-RRC's ASN.1 file for enabling option group
   feature in generate_asn1.
2. It's no need to patch the C header files generated from
   LTE-RRC/S1AP/X2AP's ASN.1 in fix_asn1.
3. It's no need to pre-process S1AP/X2AP's ASN.1 for enabling information
   object class feature by asn1tostruct.py.

This commit requires an un-official version of asn1c which are
collaboration of asn1c community members and `build_helper` is modified
in this commit accordingly :

  https://github.com/brchiu/asn1c/tree/velichkov_s1ap_plus_option_group

This asn1c can also convert ASN.1 of 5G NR RRC (38.331, v15.1.0) and
generate C files with -findirect-choice command line option without
tweaking ASN.1 file.

Examples for how to use this asn1c for S1AP are in S1AP files, e.g.
s1ap_eNB_nas_procedures.c and s1ap_eNB_handler.c.

There is an modified openair-cn (based on tag 0.5.0) with this new asn1c at :

  https://github.com/brchiu/openair-cn/tree/new-asn1c

Basic S1AP interaction and data transfer operation between OAI eNB and
this modified openair-cn has been tested.

Note: Community version of asn1c is keeping evolved to provide better usage.
2018-07-13 10:04:46 +08:00
bruno mongazon b016bc229a fixed #320 issue 2018-06-25 18:23:36 +02:00
Cedric Roux d579a74e54 Merge remote-tracking branch 'origin/migrate_rel10_rel14_to_make_version' into develop 2018-06-18 16:25:39 +02:00
Cedric Roux 5c6ad3142d Merge remote-tracking branch 'origin/develop' into mu_with_tdd1
The monolithic eNodeB is not fully functional in FDD.

The TDD mode has not been tested.

Do not consider this commit as functional.

Conflicts:
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
	common/utils/itti/intertask_interface.c
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/defs_eNB.h
	openair1/PHY/impl_defs_lte.h
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair1/SCHED/pusch_pc.c
	openair2/COMMON/platform_types.h
	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/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.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/flexran_agent_scheduler_dlsch_ue.c
	openair2/LAYER2/MAC/mac.h
	openair2/LAYER2/MAC/mac_proto.h
	openair2/LAYER2/MAC/pre_processor.c
	openair2/LAYER2/RLC/rlc.c
	openair2/LAYER2/RLC/rlc_rrc.c
	openair2/RRC/LITE/rrc_common.c
	openair2/RRC/LTE/L2_interface.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/rrc_eNB.c
	openair2/UTIL/LOG/log.h
	targets/COMMON/openairinterface5g_limits.h
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-softmodem.h
2018-06-12 16:23:36 +02:00
Bi-Ruei, Chiu f097cca7a5 Compare RRC_VERSION with MAKE_VERSION(x,y,z) macro to provide better SW configuration
To minimize migration effort, we follow the logic of legacy macro Rel10 and Rel14 used
for conditional compilation of current code.

In the future, they might be changed to accommodate finer software configuration, e.g.
MAKE_VERSION(12,2,0) or MAKE_VERSION(13,1,0) .... etc.
2018-05-29 18:00:58 +08:00
Cedric Roux 343bbbac68 Merge remote-tracking branch 'origin/feature-better-sw-configuration-between-various-version' into develop_integration_2018_w19
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/print_stats.c
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/defs_eNB.h
	openair1/PHY/impl_defs_lte.h
	openair1/SCHED/sched_common.h
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair2/LAYER2/MAC/mac.h
	openair2/LAYER2/PDCP_v10.1.0/pdcp.c
	openair2/LAYER2/PDCP_v10.1.0/pdcp.h
	openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
	openair2/LAYER2/RLC/rlc.c
	openair2/PHY_INTERFACE/defs.h
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.h
	openair2/RRC/LTE/rrc_UE.c
	openair2/RRC/LTE/rrc_eNB.c
	targets/SIMU/USER/oaisim_functions.c
2018-05-15 17:43:12 +02:00
Cedric Roux f7b3ea03a3 fix: hacks to have the UE functional again
The new 'basic simulator' is now functional.
A proper solution is needed to deal with SIB18/19/21
for the D2D functionality.
2018-05-15 12:09:31 +02:00
Cedric Roux 68479fa4f8 Merge remote-tracking branch 'origin/develop-uedirectorysplit' into develop_integration_2018_w19
Status so far:
- monolithic eNB compiles and is functional with 1 UE in FDD, 5/10/20MHz.
  For 20MHz we don't have a nice TCP downlink (on haswell).
- oaisim does not compile
- UE does not compile
- phy simulators don't compile
- many new warnings

Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/defs_eNB.h
	openair1/SCHED/pusch_pc.c
	openair1/SCHED/sched_common.h
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_mch.c
	openair2/LAYER2/MAC/mac.h
	openair2/LAYER2/MAC/ra_procedures.c
	openair2/LAYER2/MAC/ue_procedures.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.h
	openair2/RRC/LTE/rrc_UE.c
	openair2/RRC/LTE/rrc_defs.h
	targets/RT/USER/lte-softmodem.h
	targets/RT/USER/lte-ue.c
2018-05-14 16:28:04 +02:00
Raymond Knopp 861d06e855 UE directory splits, creation of UE-specific files, common UE/eNB files and extraction of UE/common components from eNodeB files. renaming of files to minimize common names across directories (i.e. defs.h, vars.h, extern.h) 2018-04-22 11:33:43 -07:00
Raymond Knopp 551f32cc20 more splitting eNB/UE files/directories 2018-04-08 13:00:08 -07:00