Andre Puschmann
476f970ee1
replace FIXME with TODO
2019-12-18 11:25:56 +01:00
Andre Puschmann
705cd3c211
fix typos spotted by aleksander0m
2019-12-17 16:54:02 +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
c7ee887170
add factory function for creating PDCP config
2019-12-16 14:06:26 +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
60d07f1656
assign msg-type to temp variable before logging ASN1 message in RRC
2019-12-16 12:49:07 +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
Andre Puschmann
c379ef6cb1
fix uninit var
2019-12-12 16:29:04 +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
Francisco Paisana
d270518d69
updated rrc to new srsasn1 version
2019-12-11 19:58:20 +00:00
Francisco Paisana
1212d403c6
added {} in if condition
2019-12-11 17:41:49 +00:00
Francisco Paisana
0894e6b2f1
updated dummy interfaces
2019-12-11 17:41:49 +00:00
Francisco Paisana
67411ecfa9
updated dummy interfaces
2019-12-11 17:41:49 +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
Francisco Paisana
39fcf25e0d
added extra tests for handover. Did a some refactoring to move boilerplate out of the test mobility function
2019-12-06 11:49:01 +00:00
Francisco Paisana
a18a7e307e
moved all the parsing of the libconfig files to separate functions that can be called from individual tests. Created several stack layer dummy classes for testing. Extended the rrc_mobility test to check correctness of RRC HOPreparation struct
2019-12-06 10:21:41 +00:00
Francisco Paisana
b792a3158c
removed magic numbers for s1ap timers, and handled the error in the s1 ho cmd
2019-12-05 17:36:15 +00:00
Francisco Paisana
524c80a804
added handling of ho command
2019-12-05 17:36:15 +00:00
Pedro Alvarez
e1cdd51eba
Clang-formated before pull request
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
a049ec6b82
Finished to add boiler plate code to support PDCP discard notifications to RLC.
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
a77dd4e959
Starting to add boiler-plate code to support Discard at RLC.
2019-12-04 18:21:14 +01:00
Francisco Paisana
ab3d7dd413
updated sched interface for multiple carriers
2019-12-03 15:46:22 +00:00
Francisco Paisana
1da86df597
added map between cc_idx and enb cell specifier
2019-12-03 10:04:11 +00:00
Francisco Paisana
eeb47f8fa4
fixed issue regarding repetition of ConRes tx
2019-12-03 10:04:11 +00:00
Francisco Paisana
e94e0a8641
changed the logic associated with the tx of the conres CE
2019-12-03 10:04:11 +00:00
Francisco Paisana
3159a5b84a
added cc_idx to dl_rach_info
2019-12-02 12:36:27 +00:00
Francisco Paisana
01847c5f5d
phy_config_enabled is general to all the carriers of the ue
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
8dd1c59e18
Added amplitude and power conversions to dB and viceversa
2019-12-02 09:47:22 +01:00
Francisco Paisana
6d4f746a61
moved tti_sched_result out of carrier_sched. Removed interdependencies between the two classes. Simplified ra_sched and bc_sched initialization
2019-11-28 20:22:40 +00:00
Francisco Paisana
7990e2f563
use of a common tti_params struct to store all values derived from tti_rx
2019-11-28 20:22:40 +00:00
Francisco Paisana
36c45c7d64
added the changes in the enb stack from next
2019-11-28 11:57:41 +00:00
Francisco Paisana
54992e72f1
fixed and simplified multiqueue task api to avoid dangling pointers.
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
0b962f19f4
fix compilation issue
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
011b2168a6
grouped different sched params/args/derived params into a single struct to simplify the ctor api of different sched sub components
2019-11-27 15:20:55 +00:00
Andre Puschmann
2195012dc1
fix uninit var in cfg parser
2019-11-24 14:59:54 +01:00
Andre Puschmann
6a9c4d94b0
fix printf in scheduler test
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
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
Francisco Paisana
0f01b0acc2
clean paging_opportunity function
2019-11-20 15:52:21 +00:00
Francisco Paisana
77f63f7bcd
removed gtpu mutex
2019-11-20 15:52:21 +00:00
Francisco Paisana
73e06a0858
removed threads from eNB MAC
2019-11-20 15:52:21 +00:00
Francisco Paisana
151159e2c6
avoid passing stack vars by reference in callbacks
2019-11-20 10:34:35 +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
yagoda
ca0922ddc6
adding missing embms section header to enb.conf
2019-11-18 17:35:35 +01:00
yagoda
088e3e9bcf
remove comma from rr.conf
2019-11-18 07:14:09 +01:00
Francisco Paisana
a9a33256e9
fixed some of the net utils functions
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
Andre Puschmann
30aac5a89a
fix wrong c-type cast accessing UE database and uninit mem
2019-11-15 17:20:51 +01:00
Andre Puschmann
b6dd0de50a
move timers in eNB stack class up to force later dtor call
2019-11-15 17:20:51 +01:00
Aleksander Morgado
ed6044eb54
enb,rrc: always print full RRC message contents
...
Do not limit them to 1024 chars.
2019-11-15 16:34:10 +01:00
Francisco Paisana
177e880293
removed extra threads from enb rrc
2019-11-11 15:20:10 +00:00
Francisco Paisana
33aa858118
rr.conf.example fix
2019-11-11 14:48:33 +00: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
Xavier Arteaga
2b7ef9b4a8
SRSENB: Fixed rr.conf cell list example parsing errors and segfault
2019-11-08 17:33:35 +00:00
Francisco Paisana
56fdf047e6
added default cell_list config to the rr.conf, but commented
2019-11-08 17:33:35 +00:00
Francisco Paisana
37a9501db3
added scell parsing to the rr.conf
2019-11-08 17:33:35 +00:00
Francisco Paisana
c8e50c1e19
DL/UL sched are called in a round-robin fashion
2019-11-08 16:02:27 +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
Paul Sutton
b2e6ef772b
Minor typo fix
2019-11-08 11:33:52 +01:00
Francisco Paisana
ee209fc0a2
added a stack thread to the eNB and move the tti_clock() method to this thread to avoid race conditions
2019-11-07 20:43:06 +01:00
Xavier Arteaga
2e1479e9d6
SRSENB: Added PHY CA PRACH workers
2019-11-07 16:01:01 +01:00
Andre Puschmann
2f00fd62ec
fix PDCP config in TTCN3 SS
2019-11-07 14:12:08 +01:00
Pedro Alvarez
b7fdcaabc5
Starting to add reordering timers at PDCP NR entity. Timeout seems to be triggered correctly and pass the SDUs to the upper layers when it expires. First tests passing.
2019-11-07 14:12:08 +01:00
Francisco Paisana
35c9f02579
added quant cfg parsing and addition to measCfg
2019-11-01 15:48:47 +00:00
Francisco Paisana
b6b1dd1814
extended mobility test
2019-11-01 15:48:47 +00:00
Francisco Paisana
427fdb83fe
using std::make_tuple now to support old compilers. Move operator== definitions for meascfg types to rrc_asn1_types
2019-11-01 15:48:47 +00:00
Francisco Paisana
200e18ee3a
added diff computation for reportconfig and measid. Tests passing
2019-11-01 15:48:47 +00:00
Francisco Paisana
1524e28c3a
finished the function to compute diffs between cells/measObjs of two var_meas_cfg objects. Added tests for this. Now the update of a UE's var_meas_cfg is made via a shared pointer.
2019-11-01 15:48:47 +00:00
Francisco Paisana
b7559171b7
added logic to insert cells from conf file into var_meas_cfg and calculate diffs between meas_objs
2019-11-01 15:48:47 +00:00
Francisco Paisana
b88b8fde7b
moved the carrier scheduler and tti_result_t classes out of the main sched class. Now it is possible to instantiate more than one carrier_sched per sched
2019-10-31 16:01:04 +00:00
Francisco Paisana
2019fec37a
moved dl/ul scheduling to the a separate class carrier_sched
2019-10-31 16:01:04 +00:00
Francisco Paisana
00d24872d9
clang-format on all the scheduler files
2019-10-31 16:01:04 +00:00
Francisco Paisana
c1f9d8768c
started to implement separate SIB scheduler, and its tests. This is particualrly important for CA
2019-10-31 16:01:04 +00:00
Francisco Paisana
22f2781f28
fixed bug associated with the initialization of srsenb::rrc::ue. Disabled std::map::operator[] as a result
2019-10-30 14:27:37 +01:00
Francisco Paisana
d5a2114320
added a default configuration to the rr.conf for meas cells
2019-10-29 15:27:09 +00:00
Francisco Paisana
7e62d6d1f9
added parser for rrc_cnfg section of rr.conf file, and dummy rrc_mobility class
2019-10-29 15:27:09 +00:00
Francisco Paisana
b0d2584795
Merge pull request #735 from softwareradiosystems/pr_sched_changes
...
Scheduler changes
2019-10-23 20:40:38 +01:00
Francisco Paisana
8440126d35
removal of srslte::timers class
2019-10-23 19:33:25 +01:00
Francisco Paisana
d2c56caf7e
applied new timer class to the whole code base
2019-10-23 19:33:25 +01:00
Francisco Paisana
6aec98e140
cleanup of some type names, and other minor changes
2019-10-23 18:47:37 +01:00
Francisco Paisana
c19e0d9423
moved the RAR/Msg3 scheduling to a separate class
2019-10-23 18:46:26 +01:00
Francisco Paisana
388776d1fa
provided a general way to access ue_db from the scheduler - part2
2019-10-23 18:07:42 +01:00
Francisco Paisana
e0b8be61e5
provided a general way to access ue_db from the scheduler
2019-10-23 18:07:42 +01:00
Francisco Paisana
d79e49ed4c
moved the BC scheduling to a separate class/file
2019-10-23 18:06:32 +01:00
Francisco Paisana
837c16557f
started to implement separate SIB scheduler, and its tests. This is particualrly important for CA
2019-10-23 17:48:47 +01:00
Francisco Paisana
84ac16826f
modernized the scheduler code, and removed some clang-tidy warnings
2019-10-23 17:48:47 +01:00
Francisco Paisana
ad0b3ce6e2
modernize the random sched test
2019-10-23 17:39:45 +01:00
Ismael Gomez
3828e03f33
Refactor in eNodeB, add channel emulator and fixes in OFDM
...
* Added channel emulator to srsENB. Added support for fixed delay
* Bug in OFDM when using nonguru mode
* A few changes and refactor in eNodeB
2019-10-23 11:09:39 -05:00
Xavier Arteaga
73517f981e
Minor fixes
2019-10-21 16:17:37 +02:00
Xavier Arteaga
423475173d
Refactored magnitude and argument extraction from sf_worker
2019-10-21 16:17:37 +02:00
Xavier Arteaga
f9a795e985
SRSENB: cleanup and mutex rearange
2019-10-21 16:17:37 +02:00
Xavier Arteaga
8e92baf401
SRSENB: quitsafter entering 'q\n'
2019-10-21 16:17:37 +02:00
Xavier Arteaga
10480f62b3
SRSENB: Split sf_worker and cc_worker
2019-10-21 16:17:37 +02:00
Xavier Arteaga
4238c045a4
fix unitialised value
2019-10-14 14:43:59 +02:00
Xavier Arteaga
ce9bcc1033
fix unitialised value
2019-10-14 14:42:34 +02:00
Ismael Gomez
1d83bb08e2
Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO
2019-10-14 11:20:35 +02:00
Francisco Paisana
a2f1998350
fix issue with thread pool shut down
2019-10-04 10:24:21 +02:00
Francisco Paisana
6db0e474be
moved RA waiting procedure to a background task of the stack thread pool
2019-10-02 11:04:47 +02:00
Xavier Arteaga
b3e8c4ae6a
SRSENB: Schedule RI reporting
2019-09-30 15:15:18 +02:00
Ismael Gomez
9325aaddf2
Do not change master clock rate if not necessary. Hint in ue/enb configs for low BW cells
2019-09-27 18:59:55 +02:00
Andre Puschmann
a2ab043c0d
fix memleaks and uninitialized vars found by cppcheck
2019-09-20 10:55:29 +02:00
Ismael Gomez
6bb0790cf1
Fix coverty issues ( #652 )
2019-09-13 15:06:20 +02:00
Pedro Alvarez
004db4a067
Applied clang-format to zuc_support PR.
2019-09-10 13:46:21 +02:00
Pedro Alvarez
1ae8ccda8c
Added EIA3 and EEA3 to default UE capabilities to srsUE. Added parsers for EEA3/EIA3 config options in srsENB and srsEPC
2019-09-10 13:46:21 +02:00
Andre Puschmann
49279c89d8
send DL-DCCH on SRB2 after it has been established
2019-09-09 17:16:22 +02:00
Harald Welte
2e426948fe
[ENB] Add CFSB support
...
This commit introduces CSFB (circuit switched fall-back) capabilities to
srsLTE. Actually, all the eNB has to do is to send a
RrcConnectionRelease with the RedirectedCarrierInfo IE.
The MME triggers this by the S1AP CS Fallback Indicator IE, which may
be present either in the Initial Context Setup Requst or in the
UE Context Modification Request.
As srsLTE has no support for the UE Context Modification Request at all
yet (!), basic support for this message is introduced in this patch.
Both Mobile Originated and Mobile Terminated CSFB with a coupel of
different UE models have been verified using this patch in a setup
consisting of srsENB attached to an undisclosed EPC connected via SGsAP
to a complete Osmocom 2G network.
Closes : #358
Closes : #363
2019-09-09 16:59:00 +02:00
Ismael Gomez
c92c61d560
Optimized front-end logging processing ( #641 )
...
Avoid memory allocation and stringstream in log frontend calls (executed from worker threads). Uses a buffer pool of fixed buffer and vsnprintf
2019-09-04 15:32:29 +02:00
Francisco Paisana
67d6a25194
Moving mac timers to stack timers ( #638 )
...
* first step towards moving MAC timers to stack. Mac is still using its own timers. srslte::timers class can be restructured.
* moved timers out of the UE MAC
2019-09-04 15:28:09 +02:00
Francisco Paisana
116dc0a57b
fixed group extensions, removed extra presence flag for copy_ptr<T> types as it was just a source of bugs.
2019-09-02 20:21:54 +02:00
Harald Welte
756374419f
SRSENB: Add SIB7 (GERAN neighbor) support
...
This adds the required missing bits to the eNB config file parser
to enable minimalistic support of parsing SIB7 configuration.
SIB7 contains GERAN (GSM) neighbor cell information, which is important
if you are operating a combined 2G+4G netowrk and want to assist the UEs
to reselect GSM cells once they move out of LTE coverage.
An example SIB7 section looks as follows:
sib7 = {
t_resel_geran = 1;
carrier_freqs_info_list =
(
{
cell_resel_prio = 0;
ncc_permitted = 255;
q_rx_lev_min = 0;
thresh_x_high = 7;
thresh_x_low = 7;
start_arfcn = 871;
band_ind = "dcs1800";
explicit_list_of_arfcns = ( 873, 875, 877 );
}
);
};
Closes : #357
2019-08-29 20:47:02 +02:00
Andre Puschmann
343c30be4a
fix RF metrics/logging in eNB
2019-08-07 14:12:57 +02:00
Harald Welte
44977bcdec
[ENB] enb.conf.example: Mention WRITE_SIB_PCAP
...
The documentation talks about a MAC protocol trace, but in fact
it is only a protocol trace of dedicated channels. There's a related
define in the source code, but that's not documented.
Let's at least make the user aware that the MAC pcap trace is
for dedicated channels only, unless he uses that #define.
2019-08-05 11:24:55 +02:00
Harald Welte
d01dd7fb91
[ENB] Fix builds with #define WRITE_SIB_PCAP
...
Building with WRITE_SIB_PCAP was broken in April 2019 in commit
7780b1aba5
. Let's make it work again.
2019-08-05 11:24:48 +02:00
Harald Welte
844994f2cd
[ENB] Fix enabling of MAC pcap file
...
when using
[pcap]
enable = true
filename = /tmp/enb.pcap
in enb.conf, there is no pcap file created.
The problem is somewhere in the way how arguments are handled.
pcap.enable is properly parsed into args.pcap. However, later on,
lte_stack->init(args.stack, rrc_cfg, lte_phy.get()) only passes
args.stack down the road, not args.pcap. enb_stack_lte::init() then
basically uses args.stack.pcap and not args.pcap, and the latter appears
always false.
Let's remove pcap_args_t from all_args and only use the instance in
stack_args_t.
Closes : #359
2019-08-05 11:24:41 +02:00
Pedro Alvarez
6efa944b5e
Removed srslte prefix from pdcp_config_t
2019-07-30 15:01:50 +02:00
Pedro Alvarez
494be243c0
Changed security direction to use an enum.
2019-07-30 15:01:50 +02:00
Pedro Alvarez
f90b69e5f4
More clang-format for PDCP
2019-07-30 15:01:50 +02:00
Pedro Alvarez
964db869a6
Fix mistake in configuring SRB1's PDCP.
2019-07-30 15:01:50 +02:00
Pedro Alvarez
d3b6828082
Changed PDCP configuration to explicitly have tx and rx direction. Decrypt on PDCP NR seems fine.
2019-07-30 15:01:50 +02:00
Pedro Alvarez
73e30743d1
Added enum to PDCP config to replace two bools.
2019-07-30 15:01:50 +02:00
Pedro Alvarez
457f35699d
Reverted back to a single config structure between PDCP NR and PDCP LTE.
2019-07-30 15:01:50 +02:00
Pedro Alvarez
005d03cb1a
Starting to split pdcp_entity into pdcp_entity_lte and pdcp_entity_nr to support NR PDCP
2019-07-30 15:01:50 +02:00
Andre Puschmann
e0bd7f156d
replace remaining warning macros with pragma message
2019-07-23 15:38:21 +02:00
Andre Puschmann
09610ce788
add type setter to sch_subh and use it for MCH PDUs
2019-07-23 15:38:21 +02:00
Andre Puschmann
e60a4490d2
streamline embms parameters and fix MCS selection
2019-07-21 22:27:17 +02:00
yagoda
408400bee6
adding fixes and tests for eMBMS
2019-07-21 22:27:17 +02:00
Francisco Paisana
424876c5e4
added DL TTI mask for MBMS
2019-07-21 22:27:17 +02:00
Ismael Gomez
98f52529f7
Minor change to ue.conf
2019-07-18 16:39:44 +02:00
Ismael Gomez
0dac2ef59b
Update SIB2 also when forcing p_b
2019-07-17 17:35:36 +02:00
Ismael Gomez
feafec2725
Fix srsENB PHY log and reorganized expert args
2019-07-17 12:40:57 +02:00
Andre Puschmann
62eba8f3d8
fix default radio, channel and rx antenna setting in eNB ( #594 )
2019-07-16 14:32:02 +02:00
Andre Puschmann
f1387d8cf8
fix uninitialized vars in scheduler_grid
2019-07-15 15:32:58 +02:00
Ismael Gomez
1b970fa978
Modified comments
2019-07-15 06:18:34 -04:00
Xavier Arteaga
5e49aca835
Merge pull request #570 from softwareradiosystems/feature_256qam_fix
...
Resource allocation extended tables and PDSCH table 2 for 256QAM
2019-07-12 12:32:47 -04:00
Andre Puschmann
e0b583db5d
remove extra indirection from enb_phy
2019-07-12 04:17:56 +02:00
Andre Puschmann
4e86b2f6b2
introduce layerd architecture we use for UE to eNB
...
- this allows flexible use of different PHYs and radios
- use common radio_multi (moved to lib)
2019-07-12 04:17:56 +02:00
Ismael Gomez
d595c4d882
Fixes issue #545 and unlocking of tti_sync condvar before closing causing deadlock at stop
2019-07-11 14:55:35 +02:00