Andre Puschmann
8d49e58078
enb: prepare split of EUTRA and NR stack classes
...
this allows for a slimmer base station if only EUTRA or NR cells are used.
also it seperates entities in a cleaner way
2021-09-17 14:57:33 +02:00
faluco
8a2231251a
Fix data race in enb::mac::ue class.
2021-09-17 11:34:42 +02:00
faluco
457dcf4de4
Fix data race in enb::ta class.
2021-09-17 11:34:42 +02:00
faluco
d2f09a8d3c
Fix a nasty data race in the ue_bearer_manager class. The underlying std::map member was being accessed concurrently potentially corrupting memory.
2021-09-17 11:34:28 +02:00
faluco
c2b705c5ce
Fix several data races in proc_phr, class needs to be fully protected since most member variables are accessed by different threads.
2021-09-17 11:34:28 +02:00
faluco
6b07e886b7
Fix data race in is_first_ul_grant.
2021-09-17 11:34:28 +02:00
faluco
1e3ba607ce
Fix data race in is_pending_tx_end.
2021-09-17 11:34:28 +02:00
faluco
f96ee097b4
Fix data race in ue mac metrics.
2021-09-17 11:34:28 +02:00
faluco
7dae4a491e
Fix data race in ue_stack_lte::ul_dropped_sdus.
2021-09-17 11:34:28 +02:00
faluco
1796e12084
Fix data race in ul_harq_entity.
2021-09-17 11:34:28 +02:00
faluco
2b73beb3dd
Fix data race in ul_harq.
2021-09-17 11:34:28 +02:00
faluco
d02012b588
Fix data race in bsr_proc.
2021-09-17 11:34:28 +02:00
faluco
d009160ba6
Fix data race in the metrics of the rlc.
2021-09-17 11:34:28 +02:00
faluco
8d802e2aca
Fix a data race in the simulate_rf global variable.
2021-09-17 11:34:28 +02:00
Pedro Alvarez
c988fc49b4
Remove comparison between LGC priority and allocation retantion priority, as these do not seem related.
2021-09-16 19:41:08 +01:00
Andre Puschmann
e563e5918e
rf_imp: fail opening RF altogether if specified device fails to open
...
we've had a few runs in the CI where opening the specified RF device
failed but the eNB/UE still continued to run, just picking the next available
run. This led to false-positive tests.
The policy should be that whenever the user specified a RF device to
be openend, and this device fails, the whole process should fail and
the application should exit.
The auto-detection mode is still available but only if no device name
is specified at all.
2021-09-16 15:28:13 +02:00
Andre Puschmann
c9478a4306
enb,erab: fix error handling when setting up ERABs
...
when handling ERAB setup requests from MME, don't add the ERAB
before all checks have been performed, otherwise the ERAB
needs to be removed again.
Since this was not the case, invalid NAS PDUs have been transmitted.
Also raise error level for some events to error since the eNB
misses a config or is mal-configured and cant recover from that.
2021-09-16 15:25:46 +02:00
Andre Puschmann
b127327684
enb,s1ap: print filename when writing S1AP PCAP
2021-09-16 15:25:46 +02:00
David Rupprecht
e8a464228d
Cleaned string helpers
2021-09-16 15:24:32 +02:00
Andre Puschmann
36af79b9d5
ue,proc_bsr_nr: add missing mutex when redeading SBSR
...
detected with TSAN
2021-09-16 15:22:59 +02:00
Andre Puschmann
ab6210b1fc
ue,proc_sr_nr: add mutex to protect access from PHY and Stack
...
also detected by TSAN
2021-09-16 15:22:59 +02:00
Andre Puschmann
2248e63219
ue,proc_ra_nr: add mutex to protect access from PHY and Stack
...
detected with TSAN
2021-09-16 15:22:59 +02:00
Andre Puschmann
cc2d71183e
ue,phy,nr: fix race condition when setting UL grant for Msg3
...
the Msg3 UL grant requires the TTI in which the RAR has been received
to calcualte the correct timing. There was a race between PHY and Stack
thread.
This patch circumvents the issue by removing a PHY state member that only holds
the RAR Rx timing. In the new interface the RA proc passes the Rx TTI
to the PHY again when setting the UL grant so the PHY can calculate the
correct timing without any state.
2021-09-16 15:22:59 +02:00
Andre Puschmann
ed92f2bd34
enb,mac_nr: remove EUTRA cell param for MAC-NR cell config calls
...
* the old srsran_cell_cfg_t is only carried for SIB params
* the SIB scheduling, etc needs to be ported and integrated into NR data structures
* disbable SIB test for the moment
2021-09-15 14:49:28 +02:00
Andre Puschmann
e2b1bbe2dc
enb,metrics: add helper method to print MAC metrics
...
preparation to be used to print MAC metrics for EUTRA and NR cells
2021-09-15 14:49:28 +02:00
Andre Puschmann
6a46931144
mac_nr,enb: move header into nr subfolder
2021-09-15 14:49:28 +02:00
Andre Puschmann
4a5d2a8659
mac_nr: add basic get_metrics() implementation
2021-09-15 14:49:28 +02:00
Andre Puschmann
dbcf5c9503
sched_nr: add ue_exists() helper
2021-09-15 14:49:28 +02:00
faluco
cf20b143c0
Fix the default constructor of the optional class to avoid a spurious uninitialized value warning in older GCC versions (seen for ARM32 and GCC 8.3).
...
Use a union of a byte and the real storage, and init the char by default.
2021-09-14 11:22:40 +02:00
faluco
485ec2edab
Implement a new option to flush the file sink contents on every write.
2021-09-14 10:22:37 +02:00
Nils Fürste
d75fe22a0a
Soapy: Fix include path of Types.h
2021-09-14 09:38:31 +02:00
Nils Fürste
690bccccc6
cmake: Export non-default Limesuite driver path
2021-09-14 09:38:31 +02:00
Nils Fürste
c177ed3331
cmake: Export non-default libbladerf driver path
2021-09-14 09:38:31 +02:00
Nils Fürste
13d4fd174b
cmake: Export non-default SoapySDR driver path
2021-09-14 09:38:31 +02:00
Andre Puschmann
88878e07c6
sched_nr_test: enable auto-refill for failing NR sched tests
2021-09-13 17:10:32 +02:00
Andre Puschmann
9a49d47968
sched_nr_interface: disable auto-refill of NR scheduler
2021-09-13 17:10:32 +02:00
Andre Puschmann
06f000c2c4
band_helper: fix format
2021-09-13 17:10:32 +02:00
faluco
c7ddedcf72
Log the invalid format string to help grepping it in the logs.
2021-09-13 11:11:41 +02:00
faluco
9571109a69
Abort program execution if STOP_ON_WARNING is defined when formatting an invalid log entry.
2021-09-13 11:11:41 +02:00
faluco
8cde3f20e7
Catch exceptions thrown on invalid format strings in the log backend and print an error message to signal the issue.
2021-09-13 11:11:41 +02:00
Andre Puschmann
07019a5bd6
nr: refactor DL/UL frequency deriviation
...
* add separate DL/UL freq point a in NR carrier struct
* use freqInfoDL/freqInfoUL to get freq point a
* simplify carrier tuning logic
2021-09-13 10:27:16 +02:00
Andre Puschmann
11af5662a7
band_helper_test: extend TC for band 5 FDD freq calcs
2021-09-13 10:27:16 +02:00
Andre Puschmann
d26a7e0350
band_helper: add helper to derive DL/UL freq from abs_freq_point
...
calculate DL and UL freq in carrier struct based on given values
2021-09-13 10:27:16 +02:00
Andre Puschmann
377eb52b86
band_helper_test: add TC for band n5
2021-09-13 10:27:16 +02:00
Andre Puschmann
69619d725a
band_helper: add helper to derive UL ARFCN from DL ARFCN
2021-09-13 10:27:16 +02:00
Andre Puschmann
dbbc621905
phy_common: fix PRB lookup for NR cells
2021-09-10 22:08:26 +02:00
Andre Puschmann
93e1d7712d
enb,phy: add checks for invalid EARFCN and exit eNB if config is wrong
2021-09-10 22:08:26 +02:00
Andre Puschmann
1f01e4be51
rr.conf.example: add empty NR cell list to example
2021-09-10 22:08:26 +02:00
Andre Puschmann
b5dcf7804c
enb,cfg: add new NR cell list to RR configuration parser
2021-09-10 22:08:26 +02:00
faluco
5703752faa
Fix a enb crash when no more users could be added into the bearer manager map.
...
This was caused by not removing old user from the map, so add the code to cleanup the map on user removal.
2021-09-10 15:34:29 +02:00