Commit Graph

1900 Commits

Author SHA1 Message Date
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
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 0d1c8021f9 fix radio_multi interface if radio vector is still empty 2019-12-18 11:25:36 +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
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 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 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 0feb8d1362 fixing two more issues reported by lgtm in asn1 libs 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 4e4a3eeb6c fix printf parameter in asn1_utils 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
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 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
Xavier Arteaga 1fa5a19a55 SRSUE: SRSUE: fix timealigmenttimer 2019-12-12 12:05:51 +01:00
Francisco Paisana d270518d69 updated rrc to new srsasn1 version 2019-12-11 19:58:20 +00:00
Francisco Paisana 6b4488d5c1 added sending of enb status transfer from SeNB 2019-12-11 17:41:49 +00:00
Francisco Paisana c7f11e5690 fixed issue with the liblte_s1ap transparent container packing 2019-12-11 17:41:49 +00:00
Andre Puschmann 7885b5b9ee add CMake flag to enable 5G-NR components 2019-12-11 17:50:11 +01:00
Andre Puschmann 8bec22ff11 fixed naming for ue_sync_nbiot 2019-12-10 16:53:44 +01:00
Andre Puschmann 447f71b8c9 fix compilation of zmq_remote_rx 2019-12-10 16:53:44 +01:00
Andre Puschmann 4dbbcaa668 add cell search and USRP capture examples for NB-IoT 2019-12-10 16:53:44 +01:00
Andre Puschmann e53910010e fix missing byte_buffer cleanup 2019-12-10 16:53:44 +01:00
Andre Puschmann 20409b4fc2 fix valgrind check caused by missing dft_exit 2019-12-10 16:53:44 +01:00
Francisco Paisana 524c80a804 added handling of ho command 2019-12-05 17:36:15 +00:00
Xavier Arteaga a51d989e2e Fixed static analysis float/double conversion 2019-12-05 09:41:12 +01:00
Pedro Alvarez 41e911fd76 Replaced PRIu32 for %u in pdcp_nr_entity 2019-12-04 18:21:14 +01:00
Pedro Alvarez e1cdd51eba Clang-formated before pull request 2019-12-04 18:21:14 +01:00
Pedro Alvarez 61958af70b Timer removes itself from the map upon expiration 2019-12-04 18:21:14 +01:00
Pedro Alvarez 47a918d680 Split PDCP NR tests into multiple files 2019-12-04 18:21:14 +01:00
Pedro Alvarez c30eb2c166 Starting to add test for when the RLC notifies the PDCP of tx and disarms the discardTimer. 2019-12-04 18:21:14 +01:00
Pedro Alvarez 972d44be23 Remove printfs in test. PDCP seems to be notifing correctly the RLC when discard happens. 2019-12-04 18:21:14 +01:00
Pedro Alvarez 60feab3d7b Added map to keep discardTimers in PDCP NR entity. 2019-12-04 18:21:14 +01:00
Pedro Alvarez 8810f35498 Adding test of SDU discard timout to PDCP NR tests. 2019-12-04 18:21:14 +01:00
Pedro Alvarez ea0fb00b22 Added test for PDCP SDU discard. 2019-12-04 18:21:14 +01:00
Pedro Alvarez e68956bcf6 Adding discard timer timeout to PDCP config. 2019-12-04 18:21:14 +01:00