Fabian Eckermann
2d0be77660
Add helper functions for abs freq point a.
3 years ago
faluco
fa351cd285
Rename functions that contain the unsafe word to nolock.
...
The term "unsafe" does not clearly state that the function is not locking the shared date and it sounds "dangerous", so use a more explicit term.
3 years ago
faluco
6c91a824e2
Whitelist the TSAN lock order inversion issue in srsenb::mac::rlc_buffer_state.
3 years ago
Xavier Arteaga
0324806d6c
Packed NR TDD config in duplex configuration and created test case for FDD
3 years ago
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.
3 years ago
Andre Puschmann
b127327684
enb,s1ap: print filename when writing S1AP PCAP
3 years ago
David Rupprecht
e8a464228d
Cleaned string helpers
3 years ago
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
3 years ago
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
3 years ago
Andre Puschmann
69619d725a
band_helper: add helper to derive UL ARFCN from DL ARFCN
3 years ago
faluco
934802d23c
Report the SIB9 home enb name in the enb sector start/sector stop events.
3 years ago
faluco
d168536bc4
Add a new program option to control how ASN1 messages get printed into the enb JSON report file.
3 years ago
faluco
df6ae7b0e0
- Implement new enb events:
...
* ho_command
* connection_resume
* rlf_detected
- Rename rlf_report event to "rlf_report".
3 years ago
faluco
8a3586dfbf
Include a ASN1 json representation for RRC enb events.
3 years ago
David Rupprecht
a9a23214b0
Added more 5G security kdfs
...
Added new 5G SIM functions
Added const parameters for security functions
3 years ago
David Rupprecht
a645d74eaf
USIM functions for res star
...
Added gen_res_star in security.h
Added USIM interfaces for res star
Added RES star test case
3 years ago
David Rupprecht
bce6b5cc0f
Added kdf common
...
Use kdf functions in 5G KDF
Moved EPS KDF function to new KDF structure
3 years ago
David Rupprecht
15eaef21e2
Update test f12345 function
...
Moved XOR functions to lib
Added testcase for KDF
Minor liblte_security updates
3 years ago
Francisco Paisana
227ae97bcb
workaround gcc4.8 issue with inability to derive move ctor noexcept specifier
3 years ago
Francisco Paisana
f4df55c245
stack lte: separate bearer manager into two classes, one for the ue and one for the enb
3 years ago
Francisco Paisana
2ade4628ca
stack lte: create an gtpu-pdcp adapter class that correctly converts lcids to eps bearers and vice-versa
3 years ago
Francisco Paisana
4b2f079581
gtpu: renamed lcid to eps_bearer_id as parte of the refactor of gtpu to use eps_bearer_ids
3 years ago
Andre Puschmann
db8b710442
bearer_manager: move to lib folder and extend for multiple users
...
prepare bearer manager to be used by eNB which requires
to support multiple RNTIs
3 years ago
Francisco Paisana
020bec025e
sched: created class common to LTE and NR for ue buffer status management
3 years ago
Francisco Paisana
da4b7e4f80
sched,nr: fix sched RAR NR test; update test assert macros
3 years ago
Xavier Arteaga
e07263ee26
Added band helper for getting band from ARFCN
3 years ago
Francisco Paisana
f518861ebc
fix location of support/ folder. Created macros for ASSERT_EQ and ASSERT_NEQ
3 years ago
Francisco Paisana
599fc978a5
improvement of srsran_assert design, with specializations to enable/disable assertions based on compile flags other than ASSERTS_ENABLED. Creation of the support/ folder
3 years ago
Xavier Arteaga
98f29961bc
Fix old GCC compilation
3 years ago
Xavier Arteaga
956c4f8266
Added PHY NR test TDD FR1.15-1 pattern
3 years ago
Xavier Arteaga
dfa323df6b
Added 20MHz default configuration
3 years ago
Xavier Arteaga
1b50758bd5
Initial NZP-CSI default configuration from TS38.101-4
3 years ago
Andre Puschmann
3b5344b0f7
thread_pool: add optional ID to thread pool
...
this allows to prepend an ID to each thread pool to
better differentiate workers from different pools
3 years ago
Andre Puschmann
4915dc9642
test_pcap: add function description
3 years ago
Francisco Paisana
12e33483e1
sched,nr: add slot_point to sched nr
3 years ago
Francisco Paisana
a0a1af9d0f
nr: slot value that handles wrapping around
3 years ago
Andre Puschmann
60a795acc0
asn1,rrc_nr,test: extend RRC reconf test, add PCAP output
...
test now can write the NR reconfig into a PCAP for easy
debugging with Wireshark
patch also adds a new test helper to write a RRC PDU
into a PCAP file (helper packs PDCP and RLC AM first)
3 years ago
Andre Puschmann
a142192d4e
test_common: handle return value from make_byte_buffer()
3 years ago
Andre Puschmann
b5b2f8190e
signal_handler: use std::atomic for running var
4 years ago
Andre Puschmann
6c82d63aa6
remove legacy PNF/VNF code
...
the code hasn't been maintained for a while an likely needs to be
adapted for a real-world scenarios.
in order to avoid having to maintain two MAC/PHY interfaces we
remove the code from now.
4 years ago
Xavier Arteaga
ecc0b92142
Integrated PUSCH decoder in gNb
4 years ago
Xavier Arteaga
f07d925be1
Initial NR PHY test scheduling for PUSCH
4 years ago
Andre Puschmann
c9e87b2cf3
config_file: print message when config file couldn't be read
...
this prints an message on stdout so config files are not
simply skipped and the default one is read instead.
4 years ago
Xavier Arteaga
cf496e75eb
Fix default PHY NR configuration
4 years ago
Xavier Arteaga
2fbd172888
Initial PHY NR configuration generator
4 years ago
Xavier Arteaga
320aabec13
Initial PHY NR configuration
4 years ago
Xavier Arteaga
e764a26136
Integrated PUCCH decoding in gNb
4 years ago
Xavier Arteaga
e3afd945bc
Refactored NR HARQ ACK feedback
4 years ago
Xavier Arteaga
eecaccb541
Added NR PHY helpers
4 years ago
David Rupprecht
f90e359208
Moved cp to test common
4 years ago
Andre Puschmann
bbcaa49429
network_utils: fix TSAN detected race
4 years ago
Andre Puschmann
a9ad408f51
task_scheduler: use block_queue for internal tasks
...
TSAN detected wrong use of the old deque-based internal queue. To avoid
unwanted/undetected mis-use the patch uses the thread-safe block_queue
data structure instead.
4 years ago
Andre Puschmann
626f24c9f9
block_queue: use class mutex to protect size() getter
...
detected with TSAN
4 years ago
Xavier Arteaga
aef3e5a40a
More NR PHY test and GNB PHY development
4 years ago
Xavier Arteaga
567c7c9c77
Create TTI semaphpore default constructor
4 years ago
Pedro Alvarez
aae266e848
Added configuration option for S1AP SCTP bind port
4 years ago
David Rupprecht
85d7a851fb
Added 5G NAS PCAP support
4 years ago
Xavier Arteaga
939dd1b977
Change struct sync_raster_t to class
4 years ago
Xavier Arteaga
9621cf57c2
Implemented NR SS raster object
4 years ago
Andre Puschmann
c0be8187c8
rlc interface: convert entire read_pdu() interface to return uint32_t
...
we had it returning int but had a bug in using the return value properly,
i.e. handling when -1 was returned in RLC TM.
Thinking about it more, it doesn't make sense to have a negative return
value here anyway. Either the RLC can return a PDU or not. If it can't the
returned lenght is zero.
4 years ago
Francisco
f7aef3ffc1
sched,bugfix: fix nof_retx update when UL HARQs are resumed
4 years ago
Andre Puschmann
1ef3cb7e5d
threads: fix race in stopping periodic thread
4 years ago
Andre Puschmann
312b5a241c
mac_pcap_base: fix race detected with TSAN
4 years ago
Francisco
f36f5271d3
timers,feature: make timers thread-safe by using atomic to store timers state.
4 years ago
Andre Puschmann
bb6a5ebe80
tsan: add TSAN options file to set some default flags and exclude some libs from checks
4 years ago
Andre Puschmann
d9a5d3f95a
pcap_base: increase PDU queue length
...
some systems with slower HDD seem to have issues
writing the PDUs to disk. increasing length to see if that helps.
4 years ago
Andre Puschmann
c1ad867824
epoll_helper: use std::atomic to protect exit called from different thread
4 years ago
Andre Puschmann
f1e6a975de
thread_pool: fix concurrent access of state variable
...
the thread workers need access to their current state to exit properly
when they are set to state STOP. However, since the state is kept in
a std::vector for all workers, it seems more appropiate to add a per-thread
running variable rather then mutexing the entire vector.
4 years ago
Francisco
f2a56c9139
simplification of multiqueue design.
...
- the consumer does multi-staged waiting:
1. spins first across all queues in a RR fashion
2. each queue access is done with a try_lock.
3. if the try_lock fails, it increases the number of spins needed
2. if no queue had data, the consumer sleeps for 100 usec.
- no differentiation between queues, in terms of notification features
4 years ago
Francisco
60a8ee0af9
multiqueue optimization - use condition_var wait_for() method, use queue try_lock in the consumer side
4 years ago
Francisco
2d6a878826
change interface to create multiqueue queues
4 years ago
Francisco
f705735093
optimization - only allow some multiqueue queues to notify the multiqueue consumer of the arrival of tasks
4 years ago
Xavier Arteaga
c8cb128317
Declare band helper methods as constant
4 years ago
Andre Puschmann
167200f5cd
rrc_bearer_cfg: replace fixed E-RAB to DRB mapping
...
also make sure we don't assign LCIDs beyond the possible
number.
possible fix for https://github.com/srsran/srsRAN/issues/658
Co-authored-by: herlesupreeth <herlesupreeth@gmail.com>
Co-authored-by: Francisco <francisco.paisana@softwareradiosystems.com>
4 years ago
Francisco
84ad6dd8ee
Integrated new sched_dl_cqi class in sched_ue_cell
...
- extend sched_dl_cqi interface to allow getting tti when cqi was last updated
- extend sched_dl_cqi to quickly get average cqi across the whole bandwidth
4 years ago
Francisco
a841b7580e
fix deadlock caused by non-notification of multiqueue consumer side
4 years ago
Xavier Arteaga
7450232b3e
Added more NR band related helpers
4 years ago
Francisco
996d8ef74d
multiqueue bugfix for non-blocking pushes when queue is full
4 years ago
Francisco
99abae9e6a
fix multiqueue producer to consumer notification to avoid deadlocks
4 years ago
Francisco
0d800eb8f6
stack, multiqueue - bugfix for multiqueue destruction, and addition of unit test
4 years ago
Francisco
d947e259c9
stack optimization - optimization of the multiqueue
...
avoid notifying the consumer side of the multiqueue of a new pushed object, if the
multiqueue already knows that the queue is not empty.
4 years ago
Francisco
d574afcd33
cleanup of multiqueue unused methods, and made queue_handle move semantics correct
4 years ago
Francisco
ef9d1b8c13
stack optimization - reduction of contention in multiqueue class
...
With the new design, each queue created in the multiqueue object has its own mutex.
Pushing tasks to separate queues will, therefore, not cause contention.
There will be, however, still contention between the popping thread and the pushing threads.
4 years ago
Andre Puschmann
bbea3dd6a1
byte_buffer: fix compilation when buffer pool log is enabled
4 years ago
David Rupprecht
fafa03f7c8
Extended the band helper table
4 years ago
Andre Puschmann
f76cd5ef83
backward: fix compile error on aarch64
4 years ago
Andre Puschmann
92d4e6e746
adt/common: remove const from return type
...
reported by LGTM https://lgtm.com/projects/g/srsLTE/srsLTE/rev/pr-9ae46cae260b6b8137b34b9423bf1477bd6b5c42
4 years ago
Andre Puschmann
ff53d2b8b8
all: set of trivial changes reported by LGTM
...
mainly fixmes, unused/empty code, etc.
4 years ago
Francisco
2b572f5376
fix overwrite of timer timeout when it matches previous time wheel position
4 years ago
Francisco
ce47cf5910
fix - re-add log flush to srsran_assert
4 years ago
Francisco
6137e4569b
fix srsran_assert definition when asserts are disabled
4 years ago
Francisco
3b78bf3730
bugfix - fix memcheck warnings. move instructions with side effects outside of asserts
4 years ago
David Rupprecht
a064e85c54
rename common lte header
4 years ago
David Rupprecht
81ad72b0ff
Refactor srb and drb handling
4 years ago
faluco
e1752c0878
Replace the queue in thread pool in favour of a static circular buffer to avoid allocations.
4 years ago
Ismael Gomez
635db8dde1
Initialize metrics in hub
4 years ago
Francisco
1f1233782f
timers - fix old gcc compilation issue. Changed free list to intrusive list.
4 years ago
Francisco
e37968410e
simplification of timers handler design, relying solely on one time wheel.
4 years ago
Francisco
60896e30b5
implementation of time wheel-based timer handler, using a circular array and intrusive list
4 years ago
Francisco
4838cd2f5e
implement cell measurement bandwidth feature
4 years ago