Commit Graph
218 Commits
Author SHA1 Message Date
WEI-TAI CHEN 9b1c03d10e -Update LTE RRC ASN to Rel15, but there is a parameter that does not meet the specifications since I modify asn file.
-I modify the name of the parameter "maxRS-IndexCellQual-r15" to "maxRS-IndexCellQualNR-r15" in structure,
 otherwise it will be conflict with the Macro define "#define maxRS_IndexCellQual_r15 (16)" in asn1_constant.h
2018-07-19 07:17:01 -07:00
Raymond Knopp ea784f2b4b full IF4p5 simulation working 2018-04-29 09:35:23 -07:00
Raymond Knopp 596736afae dlsim/ulsim functional. lte-softmodem/lte-uesoftmodem compile. 2018-04-24 22:14:20 -07: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
Cedric Roux 71e7f9713a hack: try to avoid "buffer full" problem when pushing DL traffic
This is hack-level development.

With this commit you can do UDP DL traffic of say 100Mb/s over
a 5MHz link with one connected UE and the eNB should not crash
because of memory exhaustion. Of course on the receiver side
you won't get 100Mb/s and many many lost packets. But the system
should not crash. 1Gb/s does not work. So in any case try to
remain within some reasonable limits. There is no reason to
push more than twice the maximum achievable throughput of
the link.

This work is based on a patch proposed by Francesco Gringoli.
2018-03-09 10:18:12 +01:00
Cedric Roux 26d68e9c5e hotfix: fix bad RLC UM packet creation
Running TCP DL traffic with one connected UE showed a lot of
fluctuations in throughput. After analysis it was found that
sometimes the RLC UM PDU was not correct. It contained one byte
more than it should. On the receiver side, the TCP packet
contained in the RLC packet seems to be rejected by the TCP
stack of the UE (it has one byte more than it should),
leading to a brutal reduction of the throughput, probably due
to some congestion detection in the TCP implementation.
Or something.

This hotfix seems to solve the problem. Using iperf in downlink
with a 5MHz eNB, we see no more fluctuations, the traffic is
very steady at 16.8Mb/s, as reported by the iperf server running
on the phone. (17.5 in the PHY plot of the T tracer.)

A rewrite of both the MAC and RLC UM packet generation is needed.
The code is way too complex for what it does and may contain
several similar problems that only trigger in specific rare
conditions.
2018-03-02 12:02:06 +01:00
Cedric Roux 97ebc165cc Merge remote-tracking branch 'origin/282-flags-cleanup' into develop_integration_2018_w04
Conflicts:
	openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
	openair1/SCHED/defs.h
	openair2/LAYER2/PDCP_v10.1.0/pdcp.c
	openair2/RRC/LITE/rrc_eNB.c
2018-01-22 17:47:01 +01:00
bruno mongazon cf0e9175dd Fix #582, RTAI, RTAI_ENABLED, ENABLE_RTAI_CLOCK, RTAI_ISNT_POSIX, _RTAI_MATH_H, CELLULAR, TIMER_ONESHOT_MODE, EMOS, EMOS_CHANNEL, OAI_EMU, OPENAIR_EMU, PHY_ABSTRACTION, PHY_ABSTRACTION_UL removed 2018-01-15 18:47:07 +01:00
bruno mongazon afcc9aabd8 Fix #582, USER_MODE flag removed 2018-01-11 16:50:50 +01:00
Xu Bo d81438cd17 merge the implemention of Paging, RRCConnectionRelease, RRCConnectionReestablishment, E-RAB Modify, E-RAB Release 2017-11-28 11:13:03 +09:00
Cedric Roux b4a48e199e Merge remote-tracking branch 'origin/update-license' into RU-RAU-split
Conflicts:
	openair1/PHY/CODING/rate_matching.c
	openair1/PHY/LTE_REFSIG/primary_synch.h
	openair2/LAYER2/layer2_top.c
	openair2/RRC/LITE/rrc_config.c
2017-10-23 15:00:30 +02:00
Cedric Roux 1b1f941e3c upgrade license to version 1.1 2017-10-23 12:22:13 +02:00
Cedric Roux f1e8bff3ec remove gcc warnings
phy_init_lte_ue_signal was renamed init_lte_ue_signal in openair1/PHY/INIT/defs.h
maybe it's the opposite that should have been done?

Functions used in one file and defined in another may have been
declared in the wrong header file.
2017-10-19 17:00:30 +02:00
Raymond Knopp bc9c587b48 Merge remote-tracking branch 'origin/develop' into RU-RAU-split
Conflicts:
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_ESTIMATION/defs.h
	openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
	openair1/PHY/LTE_TRANSPORT/dci.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/defs.h
	openair1/PHY/LTE_TRANSPORT/dlsch_decoding.c
	openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
	openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
	openair1/PHY/LTE_TRANSPORT/if5_tools.c
	openair1/PHY/LTE_TRANSPORT/phich.c
	openair1/PHY/LTE_TRANSPORT/proto.h
	openair1/PHY/defs.h
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair1/SCHED/phy_procedures_lte_ue.c
	openair1/SCHED/pusch_pc.c
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/defs.h
	openair2/LAYER2/MAC/eNB_scheduler.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/ue_procedures.c
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-softmodem.h
	targets/RT/USER/lte-ue.c
	targets/SIMU/USER/init_lte.c
	targets/SIMU/USER/oaisim_functions.c
2017-09-26 21:43:03 -07:00
Raymond Knopp 8da1c4b5bb Note: this commit is work in progress. Contains initial integration of NFAPI data structures which are tested for TX path. RX path to follow. 2017-07-06 08:18:32 -07:00
fnabet 40e42c4c2d fix Issue 250 RLC AM 2017-06-29 17:15:10 +02:00
Raymond Knopp d23697aef3 Merge branch 'develop' into RU-RAU-split
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/dlsch_decoding.c
	openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
	openair1/PHY/LTE_TRANSPORT/dlsch_llr_computation.c
	openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
	openair1/PHY/LTE_TRANSPORT/if4_tools.c
	openair1/PHY/LTE_TRANSPORT/if5_tools.c
	openair1/PHY/LTE_TRANSPORT/if5_tools.h
	openair1/PHY/LTE_TRANSPORT/pcfich.c
	openair1/PHY/LTE_TRANSPORT/phich.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/rar_tools.c
	openair1/PHY/LTE_TRANSPORT/srs_modulation.c
	openair1/PHY/defs.h
	openair1/PHY/impl_defs_lte.h
	openair1/PHY/impl_defs_top.h
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair1/SCHED/phy_procedures_lte_ue.c
	openair2/COMMON/mac_rrc_primitives.h
	openair2/ENB_APP/enb_config.c
	openair2/ENB_APP/enb_config.h
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_mch.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/main.c
	openair2/LAYER2/MAC/proto.h
	openair2/RRC/LITE/MESSAGES/asn1_msg.c
	openair2/RRC/LITE/MESSAGES/asn1_msg.h
	openair2/RRC/LITE/rrc_UE.c
	openair2/RRC/LITE/rrc_common.c
	openair2/RRC/LITE/rrc_eNB.c
	targets/ARCH/COMMON/common_lib.c
	targets/ARCH/COMMON/common_lib.h
	targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
	targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
	targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
	targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h
	targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h
	targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.25PRB.lo.conf
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if4p5.50PRB.lo.conf
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.25PRB.oaisim.conf
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-ue.c
	targets/RT/USER/rt_wrapper.h
	targets/SIMU/USER/channel_sim.c
	targets/SIMU/USER/init_lte.c
	targets/SIMU/USER/oaisim.c
	targets/SIMU/USER/oaisim_functions.c
2017-06-05 15:33:38 -07:00
Cedric Roux 0bb229451a Merge remote-tracking branch 'origin/bugfix_Fujitsu_reviewed' into develop 2017-05-12 15:57:33 +02:00
gabrielC 899d150621 bug fixes from Fujitsu (bug 26)
----------------------------------------------------------
bug 26

Ttile:
g_buffer has only 32 index, but he/she tries to zero clear
1024 index.

Bug Location:
static uint8_t g_buffer[32];
:
memset (g_buffer, 0, 1024);

Note:
Detected by CppCheck
----------------------------------------------------------
2017-05-12 11:55:07 +02:00
fnabet 8d787768c4 Issue 238 fix: RLC AM 2017-05-03 14:43:45 +02:00
Raymond Knopp b42aed9ed9 initial testing version of L1L-L1H split (RRU-RAU) 2017-04-17 10:40:23 -07:00
Cedric Roux 965aa5e6ef change value of RLC_AM_MAX_SDU_IN_PDU and RLC_UM_SEGMENT_NB_MAX_LI_PER_PDU
Fabrice Nabet (TCL) suggests the value 128 for both.
See https://gitlab.eurecom.fr/oai/openairinterface5g/issues/234#note_3179
2017-04-11 09:32:14 +02:00
Cedric Roux 94f880ad23 bugfix: increase RLC UM header size
The constant RLC_UM_SEGMENT_NB_MAX_LI_PER_PDU is set to 24. This is
too low. Running a downlink TCP iperf with a 10MHz or 20MHz cell
leads to lots of the following warning in the log:

[RLC][W][SN 792] Bad RLC header! Discard this RLC PDU (size=618)

The problem is that the uplink RLC PDU contains a lot of TCP ack.
We can see much more than 24 of them. The RLC layer is not happy
and discards the PDU.

Putting 256 for RLC_UM_SEGMENT_NB_MAX_LI_PER_PDU (arbitrarily chosen,
big but not too big) solves the problem, at least for 10MHz.
2017-04-10 17:31:21 +02:00
Cedric Roux fbcc9a2393 minor: bad comparison
it was:

    *num_li_pP >= RLC_UM_SEGMENT_NB_MAX_LI_PER_PDU

it should be:

    *num_li_pP > RLC_UM_SEGMENT_NB_MAX_LI_PER_PDU
2017-04-10 17:30:43 +02:00
Cedric Roux a032502713 Merge remote-tracking branch 'origin/bugfix-189-rlc-am-fixes' into develop_integration_w13 2017-03-30 10:21:10 +02:00
hbilel 49006696ac RLC AM add various fixes 2017-03-29 15:59:16 +02:00
hbilel bb4131b33d RLC AM add fixes 2017-03-28 19:59:52 +02:00
hbilel 3c7c61a46c RLC AM fix specific reassembly issue 2017-03-28 18:08:00 +02:00
Wilson Thong 9e78b40d2e #220 fixed minor typo 2017-03-28 10:17:51 +08:00
fnabet 1213521c30 merge from 2017.w12 2017-03-27 11:38:52 +02:00
Cedric Roux 4fcb6272f4 RRC Rel14
- import RRC ASN.1 defintions from the specifications
  (file openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/RRC-e10.asn)
  contrary to rel8/10, all modules have been imported, maybe it's too much
  to refine in case of problems
- deal with rel14 in fix_asn1
- all code that was for Rel10 is now for Rel10/Rel14
- some incompatible changes (mostly in naming) were resolved in favor
  of rel14, see in openair2/RRC/LITE/defs.h
- unsure about the rlc layer, some arrays have changed (values appended),
  I only changed the definition and in tests in the code, I changed
  the index limit, maybe it's not enough

Rel14 is the default compilation mode.
2017-03-23 18:06:40 +01:00
fnabet 353334f69b RLC AM Rx PDU Segment changes 2017-03-16 16:45:44 +01:00
fnabet 01530385f1 RLC AM fix Tx Status Report 2017-03-15 18:56:53 +01:00
gabrielC 40fa3e076c RLC AM Rx fixes 2017-03-15 16:58:54 +01:00
GabrielCouturier 18f628848c RLC AM Fix on ReTx 2017-03-15 16:54:01 +01:00
fnabet bf71c6f01e RLC AM Tx Segment: fix 2017-03-15 10:10:32 +01:00
fnabet c1da605f6d RLC AM code cleaning 2017-03-14 10:10:36 +01:00
GabrielCouturier cf9727c4be RLC AM fix bad assert for resegmentation 2017-03-13 19:44:52 +01:00
gabrielC dabf833c10 RLC AM Rx Segment and Tx Status Report fixes 2017-03-13 19:41:24 +01:00
fnabet 3a43c08ae3 RLC AM fix RX Segment 2017-03-13 15:54:27 +01:00
fnabet 0e78513b5a RLC AM Tx Segment : missing data_ptr setting 2017-03-13 12:27:09 +01:00
fnabet 0ce73b4d0e RLC AM Rx PDU Segment fixes 2017-03-09 18:08:43 +01:00
fnabet 7f60e38fee RCL AM: fixes on Tx resegmentation 2017-03-09 16:04:31 +01:00
GabrielCouturier 7c7172ca18 RLC AM fix bad pointer init in ReSegmentation 2017-03-08 17:16:30 +01:00
gabrielC ce1ac08b19 RLC AM fix for PDU Segment insertion in case of gaps 2017-03-07 18:33:14 +01:00
gabrielC b5ab7267c2 RLC AM fix for PDU insertion in case of gaps 2017-03-07 17:51:29 +01:00
GabrielCouturier fd5932c544 RLC AM Tx: TPollRetx Expiry fix for BO 2017-03-07 16:58:39 +01:00
GabrielCouturier dc960a6043 RLC AM: missing SN setup in Tx Pdu Management at first Tx 2017-03-07 16:01:35 +01:00
fnabet 6504013077 RLC AM : fix update of vrMS in tReordering expiry 2017-03-04 15:19:58 +01:00