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
fnabet
709b1fd299
RLC AM: fix TReordering expiry
2017-03-04 13:40:13 +01:00
fnabet
684ca32e9b
RLC AM Add Log points
2017-03-02 14:51:58 +01:00
fnabet
52006fc6ea
RLC AM : Add Rx PDU Segment handling
2017-03-02 10:37:33 +01:00
fnabet
aac9c6119d
RLC AM fix in Retx PDU segment
2017-02-23 17:44:47 +01:00
fnabet
0030635237
RLC AM Tx buffer: fix sn modulo window size access
2017-02-22 13:00:30 +01:00