Francisco Paisana
2eb6145b99
reset carriers on each set_cfg call
2019-12-18 16:06:21 +01:00
Andre Puschmann
7e294f7325
move common helper for eNB tests into own header file and split mobility and erab tests
2019-12-18 15:27:42 +01:00
Andre Puschmann
75672324b9
fix RRC connection reconfig for new bearer
...
this fixes the packing of a RRC connection reconfig after creating
a new ERAB
it also adds a PDCP config factory based on the received request
2019-12-18 15:27:42 +01:00
Andre Puschmann
41be303f27
fixing NAS PCAP ctor
2019-12-18 13:27:48 +01:00
yagoda
845c0fc2c0
fixing lcid issue with eMBMS, adding MRNTI user to stdout metrics
2019-12-18 12:18:58 +01:00
Tiago Ferreira Alves
3fed21ce3e
PSSS and SSSS implementation
2019-12-18 11:27:10 +01:00
Andre Puschmann
476f970ee1
replace FIXME with TODO
2019-12-18 11:25:56 +01:00
Andre Puschmann
f874722cfb
fix error handling in UE init
...
previously we've returned the init() function when a sublayer
init failed. This leaves the pointers to the layers unset which, in turn,
breaks the stop() call for the UE
2019-12-18 11:25:36 +01:00
Andre Puschmann
0d1c8021f9
fix radio_multi interface if radio vector is still empty
2019-12-18 11:25:36 +01:00
Andre Puschmann
4a9e3728c9
add condtional variable for PHY initialization and configuration
...
adding a cond variable and mutex to protect init and (re-)config of PHY
currently this is only used during init. If the stack couldn't be
initialized but the PHY init thread was already started, we need to
properly wait until this is done
2019-12-18 11:25:36 +01:00
Andre Puschmann
705cd3c211
fix typos spotted by aleksander0m
2019-12-17 16:54:02 +01:00
Andre Puschmann
3127f59b4c
wait with init of GUI until cell is found and initialized
...
with the stack refactor we've introduced a regression in which
the GUI was started too early when no cell was found yet.
this caused the GUI to be initilized with only one Tx port. When connecting
to a cell with ports, the GUI plotter would then write
into unitialized memory.
2019-12-16 21:03:08 +01:00
Andre Puschmann
4f5e991480
fix typo in RLC AM
2019-12-16 17:16:15 +01:00
Pedro Alvarez
c5979f59eb
Clang format UE, eNB and lib ( #850 )
...
* Clang-formated UE, eNB and lib.
* Fixed compiling errors from clang-format.
* Fix linking issues introduced by clang-format
* Fix poor formating in initializing arrays of arrays.
* Fix mistake in conflict resolution on rm_turbo.c
* Re-apply clang format to gtpc_ies.h
2019-12-16 16:04:22 +01:00
Andre Puschmann
2ed2e35aa7
fixing two size_t printfs
2019-12-16 14:06:26 +01:00
Andre Puschmann
4433c238e3
enable clang-8 on travis
2019-12-16 14:06:26 +01:00
Vasil Velichkov
87a0a25c18
M2AP: Align 8 bits in liblte_m2ap_unpack_protocolie_singlecontainer
...
Alignment with more then 8 bits is unusual for APER encoding.
It seems clangs uses different packing for the LIBLTE_BIT_MSG_STRUCT
struct then gcc and puts more bytes between N_bits and header.
typedef struct {
uint32 N_bits;
uint8 header[LIBLTE_MSG_HEADER_OFFSET];
uint8 msg[LIBLTE_MAX_MSG_SIZE_BITS];
} LIBLTE_BIT_MSG_STRUCT __attribute__((aligned(8)));
Fixes a failure in srslte_asn1_m2ap_test when compiled with clang
272: Test command: lib/test/asn1/srslte_asn1_m2ap_test
272: Test timeout computed to be: 1500
272: 03:47:13.189195 [M2AP] [I] M2 Setup Request original message
272: 0000: 00 05 00 37 00 00 03 00 0d 00 08 00 00 f1 10 00
272: 0010: 1a 2d 00 00 0e 40 0a 03 80 65 6e 62 31 61 32 64
272: 0020: 30 00 0f 00 16 00 00 10 00 11 00 00 f1 10 1a 2d
272: 0030: 00 10 27 10 01 02 00 01 02 00 02
272: [m2_setup_request_test][Line 95]: FAIL at (plmn_id[0] & 0x0F) == 0 && (plmn_id[0] & 0xF0) >> 4 == 0 && (plmn_id[1] & 0x0F) == 1
1/1 Test #272 : srslte_asn1_m2ap_test ............***Failed 0.00 sec
2019-12-16 14:06:26 +01:00
Vasil Velichkov
07c620c084
travis: Test with both gcc and clang
2019-12-16 14:06:26 +01:00
Vasil Velichkov
72f04a31b6
Fix typo in -Wno-parentheses
...
This fixes the following clang's warning
warning: unknown warning option '-Wno-parantheses'; did you mean
'-Wno-parentheses'? [-Wunknown-warning-option]
2019-12-16 14:06:26 +01:00
Andre Puschmann
0d3710176d
remove -Werror=incompatible-pointer-types as CXX flag
...
seems to be only a valid C flag
2019-12-16 14:06:26 +01:00
Andre Puschmann
42080e59f1
remove std::move when returning freshly created unique_ptr
2019-12-16 14:06:26 +01:00
Andre Puschmann
c7ee887170
add factory function for creating PDCP config
2019-12-16 14:06:26 +01:00
Francisco Paisana
5b4c42ac77
pass argument by pointer to avoid gcc4.8 issue
2019-12-16 14:06:26 +01:00
Vasil Velichkov
ef9d16a3cf
PHY: Initialize pucch3_w_n_oc_5 using precomputed constants when compiled with clang
...
Fixes the following clang-7's error
srsLTE/lib/src/phy/phch/pucch.c:307:9: error: initializer element is not a compile-time constant
{1, cexpf(I * 2 * M_PI / 5), cexpf(I * 4 * M_PI / 5), cexpf(I * 6 * M_PI / 5), cexpf(I * 8 * M_PI / 5)},
^~~~~~~~~~~~~~~~~~~~~~~
Add SRSLTE_PUCCH_FORMAT_3 in the pucch_test
2019-12-16 14:06:26 +01:00
Vasil Velichkov
a44671fc77
PHY: Manually unroll loops that use _mm_extract_epi(8/16)
...
clang does not unroll those loops even though it supports the
-funroll-loops command line option, adding various #pragma unroll
options also does not help.
The unroll is needed to make the second argument a constant integer.
Enable the SSE/AVX turbo rate matching when compiling in debug mode.
srsLTE/lib/src/phy/fec/rm_turbo.c:590:33: error: argument to '__builtin_ia32_vec_ext_v16qi' must be a constant integer
int8_t x = (int8_t) _mm_extract_epi8(xVal, j+8);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib64/clang/7.0.1/include/smmintrin.h:1048:23: note: expanded from macro '_mm_extract_epi8'
(int)(unsigned char)__builtin_ia32_vec_ext_v16qi((__v16qi)(__m128i)(X), \
^
srsLTE/lib/src/phy/fec/rm_turbo.c:591:35: error: argument to '__builtin_ia32_vec_ext_v8hi' must be a constant integer
uint16_t l = (uint16_t) _mm_extract_epi16(lutVal2, j);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/lib64/clang/7.0.1/include/emmintrin.h:4273:24: note: expanded from macro '_mm_extract_epi16'
(int)(unsigned short)__builtin_ia32_vec_ext_v8hi((__v8hi)(__m128i)(a), \
2019-12-16 14:06:26 +01:00
Vasil Velichkov
af2b4ecc79
Use -Wno-unused-but-set-variable only if supported
...
This fixes the following clang's warning
warning: unknown warning option '-Wno-unused-but-set-variable'; did you mean
'-Wno-unused-const-variable'? [-Wunknown-warning-option]
2019-12-16 14:06:26 +01:00
Andre Puschmann
f7f956708c
use helper function to print MIB content
2019-12-16 12:49:07 +01:00
Andre Puschmann
8a064cd3a6
pass msg_type from caller when logging RRC message
...
before the type of some message wasn't displayed correctly,
like SIBs, for example because the logger didn't
know the filed to retrieve the type string
2019-12-16 12:49:07 +01:00
Andre Puschmann
0feb8d1362
fixing two more issues reported by lgtm in asn1 libs
2019-12-16 12:49:07 +01:00
Vasil Velichkov
dc9df9f08f
Check the format of modified lines only
...
Use the -U0 option to generate a patch that contains only the modified
lines without any context
2019-12-16 12:49:07 +01:00
Francisco Paisana
20ff016e40
fixed header guard of threads file
2019-12-16 12:49:07 +01:00
Andre Puschmann
60d07f1656
assign msg-type to temp variable before logging ASN1 message in RRC
2019-12-16 12:49:07 +01:00
Andre Puschmann
4e4a3eeb6c
fix printf parameter in asn1_utils
2019-12-16 12:49:07 +01:00
Andre Puschmann
febd668820
add basic lgtm config
2019-12-16 12:49:07 +01:00
Andre Puschmann
31d40304ff
add CMake option to force usage of MKL while default is fftw
2019-12-16 12:49:07 +01:00
Xavier Arteaga
78dd9d7854
SRSLTE: Added float and complex vector allocation
2019-12-16 12:37:19 +01:00
Francisco Paisana
a0d53b0d84
included ngap and rrc nr asn1 in asn1/ folder and added a ngap_test
2019-12-16 12:12:08 +01:00
Andre Puschmann
486b42e5a7
dynamically allocate log_str buffer for hex dumps
...
the developer needs to make sure that [info,debug,warning,error]_hex() is used
wisely in the code as all log_str are now heap-allocated
2019-12-14 22:37:08 +01:00
Andre Puschmann
cf1e742120
add a simple log_filter test to print a long hex message
...
the purpose of this is to show that the hex message is cut if the
lenght exceeds the size of the preallocated buffer
2019-12-14 22:37:08 +01:00
Xavier Arteaga
2ebaf39c5a
ZMQ: transmit zeros if buffer is not provided
2019-12-13 16:40:46 +01:00
Andre Puschmann
fa2821a4e7
fixing periodic measurment reporting
...
fixes various issues with unset timers, interval parameters, etc.
with those fixes, TC_8_3_1_1 and TC_8_3_1_2 pass
2019-12-13 13:25:24 +01:00
Francisco Paisana
d59016ae68
use of srslte::log* type for ASN1 logging. Initialization of the asn1 and rrc_asn1 loggers done now in both the ue and enb
2019-12-12 15:45:24 +00:00
Ismael Gomez
9546f3ccc4
Make PDCP/RLC write_sdu() calls non-blocking by default
2019-12-12 16:32:23 +01:00
Andre Puschmann
c379ef6cb1
fix uninit var
2019-12-12 16:29:04 +01:00
Andre Puschmann
94ca9bcf22
fix potential invalid array access
2019-12-12 16:29:04 +01:00
Andre Puschmann
9078b2baf1
rlc_am: add check to prevent out of bounds access
2019-12-12 16:29:04 +01:00
Andre Puschmann
45e0233fee
add simple Github action for compilation and tests
2019-12-12 15:43:04 +01:00
Vasil Velichkov
f3cdee4bb2
Compile without -Werror when compiling with clang
...
clang currently prints a lot of warnings that will be fixed in
subsequent commits
2019-12-12 15:34:29 +01:00
Aleksander Morgado
52ce1fbfd1
enb: fix list of logging layers in conf example
...
Added 'phy_lib' and 's1ap', removed 'nas'.
As per the srsenb help:
$ srsenb --help | grep level | grep log
--log.rf_level arg RF log level
--log.phy_level arg PHY log level
--log.phy_lib_level arg (=none) PHY lib log level
--log.mac_level arg MAC log level
--log.rlc_level arg RLC log level
--log.pdcp_level arg PDCP log level
--log.rrc_level arg RRC log level
--log.gtpu_level arg GTPU log level
--log.s1ap_level arg S1AP log level
--log.all_level arg (=info) ALL log level
2019-12-12 15:31:25 +01:00
Ismael Gomez
44c23b1690
Fix bug in rrc_meas in ASN to_number() conversion, making the UE to generate Measurement reports every TTI
2019-12-12 13:04:50 +01:00