It seems that ciphering_algorithm is "unsigned int" in RRC Rel10
and "unsigned long" in RRC Rel14 (as processed by asn1c)
Let's force it to unsigned long in the log to avoid compilation-time
warnings.
Seems like this commit got lost at some point.
Here was the message:
-----------------------------------------------------------------------------
Author: Cedric Roux <cedric.roux@eurecom.fr>
Date: Tue Jan 10 14:21:02 2017 +0100
add format indicator to get LOG_X warnings
The LOG_X macros emit a lot of warnings when compiling with the T
because they call the function logRecord (or logRecord_mt)
which has not been "marked" as calling printf, so gcc won't
emit typical printf warnings.
With the T, they directly translate to sprintf, so those warnings
pop up, much more verbose due to several macro expansions.
Let's make them pop up all the time so it's easier to fix them.
-----------------------------------------------------------------------------
Note: this fix does not solve the issue with how
this buffer is used in this function, but I'm not
sure this code is used at all (Cédric Roux).
----------------------------------------------------------
bug 21
Ttile:
PAYLOAD_MAX=1500, so this coding results in index overflow.
Additionally, operator "!=" just compairs something, this
coding is meaningless.
Bug Location:
buffer[PAYLOAD_MAX] != '\0';
Note:
Detected by CppCheck
----------------------------------------------------------
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.
This reverts commit 7f24927c43.
With value 13 uplink TDD for a 10MHz configuration was not working.
UDP traffic sent with: "iperf -c XX -u -b10M" was crashing
the eNB.
- define _GNU_SOURCE before including pthread.h
- do not use static for the array 'threadname' used
to store the name, it makes it a global variable
accessed by several threads in parallel
- increase size of 'threadname' (maybe not necessary)
- properly indent #define / #under (# should be at column 1)
- 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.