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
Pedro Alvarez
2e7ddef038
Continue to add discard_sdu to RLC interfaces.
2019-12-04 18:21:14 +01:00
Pedro Alvarez
ca7c865ce8
Removed unecessery indentation in RLC AM write SDU.
2019-12-04 18:21:14 +01:00
Pedro Alvarez
a77dd4e959
Starting to add boiler-plate code to support Discard at RLC.
2019-12-04 18:21:14 +01:00
Pedro Alvarez
7ccc7d1d20
Starting to notify RLC upon PDCP discard (NR)
2019-12-04 18:21:14 +01:00
Pedro Alvarez
9870c73366
Starting to add discardTimers to PDCP NR.
2019-12-04 18:21:14 +01:00
Pedro Alvarez
f3eeaf401a
Removed unecessary lambda redirection in pdcp_entity_nr
2019-12-04 18:21:14 +01:00
Xavier Arteaga
d96836a0fa
SRSUE: Stack TTI based purely in radio timestamp
2019-12-04 15:29:43 +01:00
Francisco Paisana
c29d8b418a
fix coverity va_list issues
2019-12-04 10:44:01 +00:00
Francisco Paisana
ab3d7dd413
updated sched interface for multiple carriers
2019-12-03 15:46:22 +00:00
Ismael Gomez
f7e6da050e
Adds PUB/SUB model to ZMQ and option to use sc16 sample type over the socket ( #815 )
...
* Adds PUB/SUB model to ZMQ and option to use sc16 sample type over the socket. Adds example application for remote RX RF head using ZMQ
* Addressed comments and other bugs
* Removed atoi atof
2019-12-03 09:57:12 +01:00
Ismael Gomez
969e0e211d
Addressed comments
2019-12-03 09:50:44 +01:00
Ismael Gomez
2dbbd8b466
Minor esthetic changes
2019-12-02 17:51:09 +01:00
Ismael Gomez
713d98ecb9
Fix issue in AGC confusing dB with linear
2019-12-02 17:49:30 +01:00
Francisco Paisana
3159a5b84a
added cc_idx to dl_rach_info
2019-12-02 12:36:27 +00:00
Francisco Paisana
cab9327b1a
updated scheduler interfaces to accommodate multiple carriers
2019-12-02 12:36:27 +00:00
Xavier Arteaga
6d896ee453
Fixed more static code analysis warnings
2019-12-02 09:47:22 +01:00
Xavier Arteaga
b48bb0d754
Removed atof, atoll and atoi calls
2019-12-02 09:47:22 +01:00
Xavier Arteaga
8dd1c59e18
Added amplitude and power conversions to dB and viceversa
2019-12-02 09:47:22 +01:00
Xavier Arteaga
f75d0e5b26
Change M_SQRT2 and M_SQRT1_2 instead of sqrt(2) and 1/sqrt(2)
2019-12-02 09:47:22 +01:00
Xavier Arteaga
67935d2b99
SRSUE: RRC blocks MAC RA procedure during reestablishment
2019-11-28 16:33:35 +01:00
Xavier Arteaga
ff2c0cd115
ZMQ: return error if no arguments provided
2019-11-28 16:33:35 +01:00
Xavier Arteaga
ff77bcb782
ZMQ: Fix empty arguments SEGFAULT
2019-11-28 16:33:35 +01:00
Francisco Paisana
54992e72f1
fixed and simplified multiqueue task api to avoid dangling pointers.
2019-11-28 11:57:41 +00:00
Francisco Paisana
6746c5dfa5
pass task functor by copy to avoid dangling pointers
2019-11-28 11:57:41 +00:00
Francisco Paisana
b2d3c2a150
fix compilation issue
2019-11-28 11:57:41 +00:00
Francisco Paisana
ac4d3b9624
std::functions do not accept move-only captures. So I had to create a wrapper earlier. In this PR, I cleaned a bit the previous API for the code to be a bit more readable
2019-11-28 11:57:41 +00:00
Francisco Paisana
c9f092e8e9
created a nullsink and a TESTASSERT for C
2019-11-28 11:44:54 +00:00
Francisco Paisana
67ccaf1029
created a file with common test utils, including assertions, a logger specialized for tests that counts the number of errors and warnings during the test run and can print diagnostics on exit
2019-11-28 11:44:54 +00:00
Francisco Paisana
514b9045ca
added begin/end methods to asn1 arrays and fixed v2x bug
2019-11-27 20:44:24 +01:00
Andre Puschmann
9493e7492c
add initial RLC AM NR status PDU packing code including tests
2019-11-26 16:52:14 +01:00
Andre Puschmann
db2c43553e
add basic rlc_am_base class containing data/control PDU check
2019-11-26 16:52:14 +01:00
Andre Puschmann
cea212b9f9
add RLC AM NR PDU packing/unpacking test
2019-11-26 16:52:14 +01:00
Andre Puschmann
b32a4cf294
add RLC AM NR PDU packing and unpacking
2019-11-26 16:52:14 +01:00
Xavier Arteaga
14b673a6ba
Update dft_fftw.c
2019-11-26 16:06:00 +01:00
Xavier Arteaga
865f6bd6d4
FFTW: fix FFTW wisdom file path under user's home folder
2019-11-26 16:01:43 +01:00
Xavier Arteaga
f057e9ae67
BladeRF & ZMQ: more fixes
2019-11-26 13:00:40 +01:00
Andre Puschmann
4f83c27e93
fix some compilation warning in RF lib
2019-11-24 14:59:54 +01:00
Andre Puschmann
47019e26f6
fix signed/unsigned comparison warning
2019-11-24 14:59:54 +01:00
Andre Puschmann
b8dbffe0b5
rewrite RLC AM debug code
2019-11-24 14:59:54 +01:00
Andre Puschmann
dc841ab029
printf in rlc_am
2019-11-24 14:59:54 +01:00
Andre Puschmann
6f72cbffab
fix snprintf of uint64 for ARM
2019-11-24 14:59:54 +01:00
Xavier Arteaga
75c00ba1b0
Change .fftw_wisdom default path
2019-11-22 11:09:33 +01:00
Pedro Alvarez
d4fb4d8c86
Fixup clang-format in pdcp before PR.
2019-11-21 13:18:30 +01:00
Pedro Alvarez
15613465cf
Moving some initialization from init function to constructor in the PDCP entities.
2019-11-21 13:18:30 +01:00
Andre Puschmann
768ce745dc
fixing issue in Viterbi when decoding zero codeword
...
it seems that when the input is only zero, the calculated max
becomes zero too. This causes a div by zero later in the
normalization (q->gain_quant/max).
2019-11-21 13:18:04 +01:00
Xavier Arteaga
dca1be9157
SRSLTE/RF/ZMQ: Added ZMQ MIMO capability
2019-11-21 13:16:57 +01:00
Francisco Paisana
73e06a0858
removed threads from eNB MAC
2019-11-20 15:52:21 +00:00
Francisco Paisana
e8487211e4
changed the naming of mch to m1u in the gtpu class
2019-11-20 10:34:35 +00:00
Francisco Paisana
2512e0fd79
removed thread from GTPU MCH
2019-11-20 10:34:35 +00:00
Francisco Paisana
1400777639
removed 1st thread from GTPU
2019-11-20 10:34:35 +00:00
Francisco Paisana
0539d932b8
clang format on the interface files
2019-11-18 11:43:31 +00:00
Andre Puschmann
40bacb80b1
fixing comments from Xavier's review
2019-11-17 18:51:24 +01:00
Andre Puschmann
e05ecdb139
adding NB-IoT DL channel estamiation and NPBCH code
2019-11-17 18:51:24 +01:00
Andre Puschmann
2401a2982b
adding various NB-IoT test captures
2019-11-17 18:51:24 +01:00
Andre Puschmann
792e2f7f8f
add NB-IoT scrambling sequences
2019-11-17 18:51:24 +01:00
Andre Puschmann
b20f7ba541
refactor RLC UM and add NR receiver
2019-11-16 14:35:16 +01:00
Francisco Paisana
a9a33256e9
fixed some of the net utils functions
2019-11-15 17:57:36 +00:00
Francisco Paisana
b0e0b3232f
fix linking issue
2019-11-15 17:57:36 +00:00
Francisco Paisana
546ee98879
fixed small issue that was causing compilation errors
2019-11-15 17:57:36 +00:00
Francisco Paisana
2de0eee9c7
clean up some comments
2019-11-15 17:57:36 +00:00
Francisco Paisana
76673d2d40
cleaned up socket util methods, and made the S1AP non-blocking.
2019-11-15 17:57:36 +00:00
Francisco Paisana
2c3e4a3daf
creation of util class net_addr_t that provides methods for conversion of IP addr const char* to sockaddr_in
2019-11-15 17:57:36 +00:00
Francisco Paisana
31dffde6c3
simplified interface and made it more generic to different types of sockets
2019-11-15 17:57:36 +00:00
Francisco Paisana
e37a718f21
created a sctp socket class
2019-11-15 17:57:36 +00:00
Francisco Paisana
131b1a7e41
added a class to handle multiple sockets via a select
2019-11-15 17:57:36 +00:00
Andre Puschmann
98ac39e617
fix compilation when macro SRSLTE_BUFFER_POOL_LOG_ENABLED is enabled
2019-11-15 17:20:51 +01:00
Andre Puschmann
03bd63d9ab
rename RLC AM class to RLC AM LTE
2019-11-15 16:02:37 +01:00
Francisco Paisana
ff62ae6ad0
created the method chain in RRC to receive and handle the response to a S1AP HORequired
2019-11-10 22:06:31 +00:00
Francisco Paisana
50ed2ccfec
added the handling of ho preparation failure and an ue class to s1ap
2019-11-10 22:06:31 +00:00
Francisco Paisana
57cd40ca31
added an ho required message send from SeNB to MME
2019-11-10 22:06:31 +00:00
Francisco Paisana
690a9850e7
cleaned up some old patterns and run clang-format in RRC and scheduler
2019-11-08 13:59:38 +00:00
Xavier Arteaga
2e1479e9d6
SRSENB: Added PHY CA PRACH workers
2019-11-07 16:01:01 +01:00
Andre Puschmann
2d126371f6
adopt PDCP NR to use new timer class
2019-11-07 14:12:08 +01:00
Pedro Alvarez
ac9ee9d863
Added comment.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
ea0a413c8a
Added check on wether the PDCP entity is initialized.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
9998b3e857
Small white space fix and clang-format on pdcp_nr_test.h
2019-11-07 14:12:08 +01:00
Pedro Alvarez
cede56abe1
Fix small typo
2019-11-07 14:12:08 +01:00
Pedro Alvarez
900d535baa
Added test for reception of duplicated packets
2019-11-07 14:12:08 +01:00
Pedro Alvarez
347e10d967
Adding test for reception of duplicate packets.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
3614c1004e
Fixed issue in test with out-of-order packets.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
7542e5a936
Continue to change PDCP test to support timeouts.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
6265325e20
Starting to change test to also run the clock.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
8511fca940
Clang-formated to prepare for PR
2019-11-07 14:12:08 +01:00
Pedro Alvarez
d3a07fdd38
Added check for overflow at RX. Adding more tests.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
eb1470621a
Added function to generate vector of PDUs
2019-11-07 14:12:08 +01:00
Pedro Alvarez
ed24544a63
Added debug print for out of order, wraparound and duplicate RX PDUs. Adding a helper function to help generate a vector of test PDUs
2019-11-07 14:12:08 +01:00
Pedro Alvarez
a191eb6606
Fixed up some PDCP tx tests.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
2752e3cff5
Starting to stop tx'ing packets if TX_NEXT overflows.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
62230c6ab9
Starting to have overflow protection in PDCP NR tx
2019-11-07 14:12:08 +01:00
Pedro Alvarez
f872c1b55a
Added test for PDCP COUNT wraparound. (Needs to be changed, COUNT wraparound is not allowed.)
2019-11-07 14:12:08 +01:00
Pedro Alvarez
f29dd3c5de
Added test for reordering at COUNT wraparound. Failing at the moment (as expected).
2019-11-07 14:12:08 +01:00
Pedro Alvarez
1d56fa6308
Improved speed of tests for COUNT wraparound, by setting the PDCP initial state.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
ffc26a702d
Changed the name of more PDUs
2019-11-07 14:12:08 +01:00
Pedro Alvarez
cb0466bce7
Starting to change the expected pdus name.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
49e0e3a24a
Added helper function to generate expected PDUs
2019-11-07 14:12:08 +01:00
Pedro Alvarez
39943367ab
Starting to add the ability to tweak the initial state of the PDCP NR state, so that the tests of counter wraparound don't take hours.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
517ce8a220
Added test to test out of order COUNT wraparoung. Added setters to help with the testers.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
727436ec0b
Added helper function to compare two packets. Making generic function to test out of order packets.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
43c68fe78b
Sarting to add test for out of order wrap-around.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
ceea761ca4
Added append_bytes method to byte_buffer_t class. Continue to reduce boilerplate.
2019-11-07 14:12:08 +01:00