David Rupprecht
a064e85c54
rename common lte header
4 years ago
David Rupprecht
81ad72b0ff
Refactor srb and drb handling
4 years ago
David Rupprecht
6b41ae7e8b
Updated PDCP config struct for rat type
4 years ago
Francisco
8ed8b94ca5
in search for contiguous prb interval, skip already scanned prbs
4 years ago
Francisco
22024ac35d
implemented bounded_bitset::find_lowest(...) for both reverse and non-reverse bit ordering. Applied this method to UL scheduling search for PRB intervals
4 years ago
David Rupprecht
f42d4dbc28
Refactored carrier config
4 years ago
Francisco
52bf973981
s1ap - set cause to transport when gtpu fails to allocate TEID
4 years ago
Francisco
791b8d24ce
fix regression in scell activation during intraenb handover
4 years ago
Ismael Gomez
77b11b82ac
Release UE if no activity in DRB ( #2658 )
...
* Count user activity with DRB only and SRBs for initial procedures. Add counter to release user after max KO in UL.
4 years ago
Francisco
4838cd2f5e
implement cell measurement bandwidth feature
4 years ago
Francisco
14d32db92f
implement Handover direct forwarding path availability configuration feature
4 years ago
Francisco
4b9e59e8cf
fix some s1ap msg causes
4 years ago
Francisco
b8fa1d1b61
fix rrc mobility test
4 years ago
Francisco
66988ffd32
s1ap - simplified erab setup procedure. Handle correctly the failure to setup causes
4 years ago
Francisco
f401683960
s1ap - simplified erab modify procedure
4 years ago
Francisco
76978f0d14
s1ap - simplified erab release procedure
4 years ago
Francisco
c5fc543516
s1ap - handling of ts1 reloc overall timer.
4 years ago
Xavier Arteaga
7823bfc28c
Fix append NR to loggers for NR components
4 years ago
Francisco
c2a99a8112
handover - support for handover cancellation causes, check for E-RAB QoS requirements, cancellation of handover if E-RABs are not supported in the target eNB
4 years ago
Francisco
f79e0fade8
handover - set handover required cause to handover desirable for radio reason
4 years ago
Francisco
6d401bc79f
handover - check if UE integrity and encryption algorithms are supported in the target eNB, and report handover failure if not.
4 years ago
faluco
9b634218be
Pre allocate some vectors members in the scheduler.
4 years ago
Francisco
77bd500312
handover - implement and test S1 Handover fail path for the case of invalid QoS config in HO Request message
4 years ago
Francisco
d2c404b166
handover - setup s1ap cause in case of handover failure at the target enb
4 years ago
Francisco
49bd895e29
s1ap - handle invalid or repeated erab ids in s1ap erab release command
4 years ago
Francisco
7842e3bff3
s1ap - add unit test to check correct handling of invalid E-RAB ids in modification request. Fix s1ap in order for the test to pass
4 years ago
Francisco
985846e3bd
s1ap - set multiple erab ids cause in replay when s1ap erab modify request has repeated ids.
4 years ago
Francisco
bc16c46ffc
detect and handle repeated ERAB IDs in S1AP ERAB Modify Request message
4 years ago
Andre Puschmann
c9da21c9bb
mac_nr: add error handling when unpacking SCH MAC PDU
...
* only handle PDU if unpacking was successfull
* add TC unpacking with malformed PDU
4 years ago
Francisco
685c971dc2
fix recursive call to get rb name
4 years ago
Francisco
f7a8b8bf94
separate drb srb ids into separate enum types
4 years ago
Francisco
3a23546c56
fix pdcp_nr.cc compilation
4 years ago
Francisco
21718af3b6
avoid allocating std::string to get lcid radio bearer name. Refactored the lte radio bearer enum type
4 years ago
Francisco
99b4595b69
fix enb phy test by limiting the number of carriers to 5
4 years ago
Francisco
d142d7b6a5
update test helpers for enb, so that the rrc tests pass
4 years ago
Francisco
ac7cc3c42d
change enb ue softbuffer initial allocation size
4 years ago
Francisco
75e9700de0
rlc - usage of memory pool to allocate RLC bearers
4 years ago
Francisco
8fe27a72d0
enb - decreased default enb.conf mac.max_nof_ues to 8 to avoid large memory pool preallocations
4 years ago
Francisco
71f1f1b556
enb - log warning when rnti-specific memory block is full
4 years ago
Francisco
a890a22ccd
enb - rnti memory pool now fallbacks to new/delete if rnti-specific memory block is full
4 years ago
Francisco
344bdf3165
allocation of UE rlc and pdcp classes in the ue dedicated memory pool
4 years ago
Francisco
60d5c6df7b
implementation of memory pool with individual memory blocks per UE that get accessed via their rnti
4 years ago
Francisco
9b7060a098
check ptr value before dereferencing
4 years ago
Ismael Gomez
c4069b58af
Call HARQ new tti only for the current PID
4 years ago
Andre Puschmann
cbe7980d7d
enb,mac_controller: apply new MAC config with disabled DRB
...
fix regression in RRC that updated the local MAC config to
disable DRB scheduling after maxRetx, but didn't actually apply the config
4 years ago
Francisco
bb9601c13b
gtpu - fix gptu manager members destruction order
4 years ago
Francisco
b7d4a72ea1
adt - fix circular map clear() and erase(it) functions
4 years ago
Francisco
643c73acee
gtpu - fix removal of gtpu tunnels when rnti is released
4 years ago
Andre Puschmann
7459a65a8e
enb,rrc_ue: remove unused variable
4 years ago
Francisco
d02cc51e33
use mutex or atomic in running flag to signal the interruption of a thread
4 years ago
Xavier Arteaga
49731ab5a1
Initial NR-DCI refactor
...
Added NR DCI 1_1 size
Several DCI NR fixes
4 years ago
Francisco
cdf72248f3
Reimplement batch-based background object/memory pool
...
Main changes:
- addition of pool utilities
- The node size/alignment and batch allocation threshold are now runtime arguments
- object pool and memory pool are not anymore based on the same class.
The object pool cannot use intrusive free list because it would overwrite the object
memory
4 years ago
Francisco
fbeb87c53e
remove unused parameters from mac::ue
4 years ago
Francisco
b004c2024d
integration of object pool in mac::ue for allocation of softbuffers. Definition of common object pool interface class
4 years ago
Francisco
460d7a8f4f
fix memory pool test - placed the pool state into a shared_ptr so that the callbacks still have a valid handle when the pool is destroyed
4 years ago
Francisco
ec3cd9ffea
adt - added background object pool test, and fix existing bugs related to the creation of pools with objects that are too small to be used in free lists
4 years ago
Francisco
d1c5b000dc
adt - creation of pre-initialized object pool, that leverages the background memory pool allocator
4 years ago
Francisco
eb9814837a
fix gtpu test valgrind warning
4 years ago
Francisco
a79ca92020
refactor type storage and pool tests
4 years ago
Francisco
046633674a
refactor - removal of stack-gtpu interface, and use of socket manager interface instead
4 years ago
Francisco
c24e382c19
Refactor of socket manager class
...
- use of inheritance to simplify testing
- removal of global network manager
- pass of custon socket manager to s1ap and gtpu ctors
- overhauled the registration of socket fd,callback in socket manager
4 years ago
Francisco
4aac7ac238
use global rx multisocket handler, and remove stack-s1ap interface
4 years ago
Francisco
39de2efa69
multisocket handler - use blocking socket remove method
4 years ago
Francisco
bf96d897ee
network utils refactor - renaming of socket handle to unique socket and cleanup of its methods
4 years ago
Francisco
aed5c51010
fix bug in cc_used_buffers_map in request_pdu(...)
4 years ago
Francisco
8fda69a3dd
refactor mac::ue cc_used_buffers_map class to use new circular_map container
4 years ago
Pedro Alvarez
696de22a28
Change default maximum number of KOs to 100
4 years ago
Pedro Alvarez
b2b7d8f617
Set rlf_timer timeout once. Make activity timer expiry also stops rlf_timer
4 years ago
Pedro Alvarez
e1a852d4b8
Split split RLF timer and Inactivity timer
4 years ago
Pedro Alvarez
47135cb75b
Changed counting of KOs to RRC
4 years ago
Pedro Alvarez
8194b5ec73
Added check for consequetive KOs in MAC. Change set_activity_user to pass activity and max KOs to RRC and trigger RLF timeout.
4 years ago
Francisco
ec72b310d7
fix mme ue s1ap id initialization
4 years ago
Francisco
23ae9967cf
replaced present+value for optional field in s1ap mme_ue_s1ap_id context field
4 years ago
Francisco
b8f220258d
s1ap - extend s1ap unit test to verify result of passing an invalid mme s1ap ue id
4 years ago
Francisco
c3482b45e1
s1ap - handle erroneous enb/mme s1ap ue id in received s1ap messages from the MME
4 years ago
Francisco
cc369aca1f
sched - handle the case when the CRC is missing and max retx is reached
4 years ago
faluco
67530687e9
Restore RRC release result variable after logging the event.
4 years ago
faluco
54fab314c0
Enhance RRC eNB events:
...
- Implement a common event "log_rrc" for all RRC events and discriminate by procedure using an enum.
- Log events for connection, reestablishment, reconfig, reject and release.
- Log the corresponding ASN1 message used by each procedure.
- Redefine the JSON object for this event to match the new structure.
Fixed a compilation error detected by the static analyzer in gcc9.3 where bounded_vector::data() was using taking the address of the internal buffer which confused it, prefer to use the data method of std::array.
4 years ago
Francisco
d4a223b5b1
s1ap unit test - add correct cause to erab modify response when erab-id is not recognized
4 years ago
Francisco
a68c50a282
s1ap - extend s1ap unit test to setup a full ue connection and modify bearer
4 years ago
Francisco
90bba3b85e
s1ap - set s1 handover cause as s1 intra system handover triggered
4 years ago
Pedro Alvarez
8c7aed1f81
Added handling of MSG3 timout exipiry in activity_timer_expired(). Avoid notifying S1AP in that case.
4 years ago
Pedro Alvarez
37699f2215
Send radio connection with UE lost if max retx are reached
4 years ago
Francisco
d571d26b0a
disable blocking queue in enb::mac when mac::stop() is called. Ignore PRACHs after stop() is called
4 years ago
Francisco
d04a19f8bc
refactor - increase code reuse in adt files
4 years ago
Francisco
5eccfad05b
gtpu - added comments, updated expected construct, handled in rrc the case a gtpu teid fails to allocate
4 years ago
Francisco
82b34f3b3f
gtpu refactor - fix gtpu logging formatting
4 years ago
Francisco
44440cf562
gtpu refactor - use of raii to automatic path switch and teid removal in forwarding. Clean up of gtpu_tunnel_manager methods.
4 years ago
Francisco
ab2bd9a2d2
gtpu refactor - handle dl path state activation internally in gtpu tunnel manager class
4 years ago
Francisco
cfd24f6a0e
gtpu - leverage byte_buffer_pool to store buffered sdus in gtpu
4 years ago
Francisco
bdc5094e17
gtpu - added unit test for gtpu_tunnel_manager class
4 years ago
Francisco
c201eb7708
use of more space efficient sorted vector structure for lcid tunnels of a rnti
4 years ago
Francisco
eba0edea4a
creation of static id obj pool class. Application of this class to gtpu tunnels container to avoid allocations
4 years ago
Francisco
3cf5e85b20
create separate class to handle gtpu tunnel creation/deletion/search
4 years ago
Francisco
099a533573
bugfix - verify that TEID exists before trying to access it
4 years ago
Francisco
e1523692c2
implementation of concurrent fixed size pool that leverages thread local caches to avoid mutexing
4 years ago
Pedro Alvarez
a5229a02d1
Make sure RRC identity is set when NAS reads UE context from file.
4 years ago
Pedro Alvarez
ca7a38a2ba
Remove old context in eNB's RRC if new connection request arrives with the same TMSI
4 years ago
Pedro Alvarez
8e48467a30
Make sure that meas_report_desc is present if ho_active == true in rr.conf
4 years ago
Francisco
1b47bee4c0
handover - avoid halting ho preparation just due to the presence of a handover restriction list or handover request extension field
4 years ago
Francisco
609366afce
change sched buffer state update log level to info for SRBs
4 years ago
AlaiaL
bbaebd1274
Added a warning in the log when the cpu metrics are not registered due
...
to the number cpu cores is greater than supported.
4 years ago
AlaiaL
c9d1c77e8c
- Deleted the magic number of maximum supported cores, now it is a
...
constexpr.
- When the system has more cores that the maximum supported, the cpu
metrics will not be registered.
4 years ago
AlaiaL
6cd9bba641
Added the cpu metrics to the system metrics.
4 years ago
Ismael Gomez
14bfd55fb9
Restore removed function from ue_db
4 years ago
Xavier Arteaga
5bdf2c93b3
Initial NR PDSCH CSI-RS RE skip and other changes
4 years ago
Pedro Alvarez
ea3c3b1d4f
Added some checks for the byte buffer allocation in the GTP-U
4 years ago
Xavier Arteaga
cade7c8104
Removed redundant error traces
4 years ago
Xavier Arteaga
c5bb522f11
SRSENB: Add PHY UE DB return codes
4 years ago
Andre Puschmann
1a0891df51
all: check return value of make_byte_buffer() and handle them safely
4 years ago
Francisco
dd336c53ea
changed srsran_warning to srsran_expect. Applied new macro to rlc am
4 years ago
Francisco
b5692037a2
created macros for assertions and warnings. The assert macro prints the whole callstack on crash. The warning macro can just log a warning or call an assertion fail depending on the cmake flag STOP_ON_WARNING
4 years ago
Francisco
7595dbaa02
avoid blocking call for pop from UE pool in mac ue. change log lines
4 years ago
Francisco
4869b14de3
application of new circular map to mac::ue_db
4 years ago
Codebot
4523ee6087
rename srsLTE to srsRAN
4 years ago
Francisco
df8ec4ddd5
reduce max coderate for SIB allocations
4 years ago
Francisco
638989ec4d
sched - limit max coderate (via an assumed low cqi) for sib and rar allocations
4 years ago
Ismael Gomez
430b7b7b34
Remove unnecessary info
4 years ago
Ismael Gomez
8d2197e751
Increase MAC UE circular buffer
4 years ago
Francisco
2054ad3f3c
eliminate old BFS-based PDCCH allocator. Improvement the scheduler speed by ~2x
4 years ago
Francisco
6bec92fbc9
using new DFS-based PDCCH allocator as a default
4 years ago
Francisco
8347cabe4f
implemented a DFS-based PDCCH allocator
4 years ago
Francisco
a2e2501424
avoid disabling SRBs in the eNB when the max retx reached signal is sent from the RLC to the RRC
4 years ago
Francisco
a540c56552
gtpu bugfix - avoid erasing indirect tunnel and causing iterator invalidation while iterating list of tunnels
4 years ago
Francisco
977c194cbc
gtpu,bugfix - handle the case when gtpu fails to allocate buffer for end marker. Also, added a timer that when expired, it autoremoves the GTPU handover tunnel
4 years ago
Pedro Alvarez
dde8157bf1
Make sure that S1 Setup request is restarted regardless of which error made the procedure fail.
4 years ago
Francisco
d646111aa9
refactor sched dci unit test
4 years ago
Francisco
d6bae76698
extend cch allocation unit tests to verify optimal cfi and DCI position selection for 6 PRBs
4 years ago
Francisco
d5750f6fe6
refactor - update of clang-tidy project file. automatic clang-tidy refactors
4 years ago
Francisco
fb48f4484c
sched refactor - removal or cleanup of unused sched methods
4 years ago
Francisco
137a21d6b2
sched refactor - use simple enum to represent allocation result. Refactored logging messages when allocation fails.
4 years ago
Francisco
0d91802495
sched optimization - swap c-arrays for bounded_vector in sched_interface to reduce time performing bzero/memcpy in the scheduler
4 years ago
Francisco
c0a90c5aa8
refactored sf result resetting to avoid realloc of memory
4 years ago
faluco
875773556e
Fixed a formatting error in a sched entry.
4 years ago
Francisco
1d4e83473e
remove check that verifies that SRB0 is always activated in the scheduler.
4 years ago
Francisco
c3a4cb37f4
extension of sched benchmark test to allow different testing modes - test rates, benchmark, test different combinations of sched parameters
4 years ago
Francisco
ac4d058fbf
correct verification of sched rates in sched benchmark test
4 years ago
Francisco
d334907afe
sched - wrote benchmark to detect regressions in DL/UL data rates, and to analyse the total latency of the scheduler
4 years ago
Francisco
248f05bf08
sched,bugfix - fix optimal cfi computation for sib/rar allocations
4 years ago
Francisco
19a043683c
bugfix - fix compilation issue in gcc10. The interfaces don't have virtual dtors
4 years ago
Francisco
544fe03db3
sched,optimization - considering that cfi is static for sib/rar allocations, pick from the start of the tti, the optimal CFI in terms of largest number of CCE positions available
4 years ago
Francisco
d0672d03fb
bugfix - mac logger was being fetched before a sink was assigned, leading to it printing to the console
4 years ago
Francisco
884c1b04d2
sched,test - add test to verify cch allocator ability to undo last allocation
4 years ago
Francisco
377831da90
bugfix,minor - remove reset of ue cfg during handover
4 years ago
Francisco
1f35c4dc8b
sched, feature enhancement, bugfix - allow RAR DL grants with variable PRB size
...
Some bug fixes had to be solved:
- the cfi cannot be dynamic once we set a SIB/paging/RAR allocation. This is too avoid effective coderate to exceed its maximum
- the previous bugfix required adding the feature to cancel the last PDCCH+PDSCH allocation
4 years ago
Francisco
47f1175502
[sched, feature enhancement] - allow variable nof prbs allocated per SIB / Paging message
4 years ago
Francisco
76103065f7
collapse the 2-stage DCI generation process of SIB/Paging/RAR into one single stage in the scheduler.
4 years ago
Francisco
3a4ae3d69d
extended broadcast+RAR DCI encoding scheduler tests
4 years ago
Francisco
9601770196
rrc,bugfix - stop scheduling when RLC AM max_retx is achieved
4 years ago
Francisco
16b5e1fd4d
fix collision detection of n1pucch for the ACK and SR in the scheduler
4 years ago
Francisco
64e8a17ea8
mac,bugfix - fix incorrect deallocation of PDU
4 years ago
Francisco
6feb311e17
remove instantiations of move-constructors and move assignment operators from cc_buffer_handler
4 years ago
Francisco
ca7fe1349e
remove unnecessary sfinae from bounded_vector. Use bounded_vector for UE cc buffers. Set ue cc used buffers remove_pdu method to private
4 years ago
Francisco
196bf710c0
fix compilation issue in mac::ue
4 years ago
Francisco
d27e0be609
created special class to manage mac::ue currently allocated rx UL buffers. This class avoids mallocs
4 years ago
Ismael Gomez
7b33c48fe7
Use static queue in pdu_queue
4 years ago
Pedro Alvarez
611c5e9814
Fix RRC tx in eNB to only send messages with NAS on SRB2
4 years ago
Francisco
6159cb3817
add assert to ensure a valid ptr is passed to memory pool deallocator
4 years ago
Francisco
20928651c7
created batch allocator that leverages background worker pool
4 years ago
Francisco
d41b6187c1
bugfix - remove extra \n from logging calls
4 years ago
Francisco
31b03fdd8a
fix scheduler UL harq reset for msg3 case
4 years ago
Francisco
3e9f93eb8a
refactor - remove old log_filter and logmap libraries from the codebase
4 years ago
Francisco
770021e364
remove uneeded formatting and std::string creation/allocation in scheduler
4 years ago
Francisco
fbbbf7886c
sched,bugfix - reset harq used for msg3 correctly
4 years ago
Francisco
d1483dc0f8
sched,bugfix - fix bitmask formatting. fix msg3 adaptive retx pdcch allocation
4 years ago
yagoda
62b3615268
fixing sched config parameters
4 years ago
Francisco
837c5bdce5
clang tidy update. applied small fixes to warnings from clang-tidy
4 years ago
faluco
173dcdd421
- Import latest srslog version.
...
- Remove string allocs in some log lines in radio.cc.
Add new tracing buffer capcity options into srsenb and srsue.
Add missing file.
4 years ago
faluco
60cd649b8f
Add a short description of the tracing options inside the config files.
4 years ago
faluco
c7542daf43
Remove rlc traces and add new ones into tti run functions both in the enb and ue.
4 years ago
faluco
2b990e195c
Allow specifying a custom filename for event tracing.
4 years ago
faluco
d805ce01a6
- Add a flag in the enb confi file to control tracing.
4 years ago
faluco
82db6544fb
Add instrumentation points to rlc_am_lte::rlc_am_lte_tx::handle_control_pdu using srslog.
4 years ago
Andre Puschmann
20cbc48f90
rlc_am_lte: refactor PDCP/RLC interface to use fix sized data structure
...
this patch replaces the std::vector type used in the interface between
PDCP and RLC to signal delivery status between both layers. The new
data type is a configurable but fixed-size vector.
The RLC AM doesn't need to dynamically allocate the vector for every SN but
uses the tx_window for storage.
4 years ago
Pedro Alvarez
bea78512e5
Make sure the eNB exits with error when some invalid configs are provided
4 years ago
Francisco
4969c98665
gtpu,bugfix - fixed formatting of addresses in GTPU
4 years ago
Francisco
20e341d0a1
mac,bugfix - fixed formatting of MAC and scheduler user-defined types
4 years ago
Francisco
5a1bf28fe1
optimization - minimization of number of std::string allocations for logging
4 years ago
Francisco
d77b6e1d9c
sched,optimization,refactor - use of custom formatter that avoids mallocs for getting bitmasks strings in hex and binary formats
4 years ago
Francisco
f0ed1e06a8
documentation,bugfix - added documentation to new blocking queues, changed class names, and removed blocking pushes from the critical path
4 years ago
Francisco
d1236fd62f
stack,optimization - replaced previous block_queue design for new bounded queue in several places in the enb
4 years ago
Francisco
b869b0d8e2
sched,bugfix&refactor: set dci_format before generating the remaining dci parameters in sched_ue::generate_dl_dci_format(...)
4 years ago
Francisco
77ac69796d
sched,bug: change tbs/mcs derivation functions to forbid the use of alt cqi table for DCI format1A
4 years ago
Francisco
b79d09e83f
remove commented code from sched dci test
4 years ago
Francisco
fb04fdbe69
sched,bugfix - fix mcs/tbs computation for 256-QAM.
4 years ago
Francisco
f79f3ca56f
change default sib and rr conf PUCCH-specific default values to decrease the size of PUCCH
4 years ago
Francisco
c53778134f
config mac pucch parameters from RRC
4 years ago
Francisco
9eeddcec5f
disabled prach vs pucch collision detection temporarily until enb cfg files are updated in the rfci
4 years ago
Francisco
cf7661e10f
perform small pusch allocation in case no space can be found in the PUCCH for ACK
4 years ago
Francisco
102cb196e1
Addition of enb cfg option to choose between PUCCH with multiplexing and without. Change default prach offset to 4.
...
- The new prach offset of 4 accounts for the size of the PUCCH-ACK region with 100 prbs
4 years ago
Francisco
34e39a9835
Implementation of scheduler algorithm to avoid PUCCH collisions
...
- The cch_allocator considers the existence of a fixed PUCCH region dedicated to CQI, SR, and HARQ ACKs
- At the moment PUCCH multiplexing is not considered
- The PUCCH width was increased to accommodate possible PUCCH-ACK positions
4 years ago
Francisco
8ae8b31ba2
Allow collisions between PUCCH and Msg3 for 6 PRBs
...
- The UL Harq now stores the type of UL alloc (msg3 or data)
4 years ago
Francisco
39aea96c69
fix sched tests UL HARQs. Set common pucch cfg in the sched tests
4 years ago
Francisco
7dcfe7bf0e
sched: updated tbs calculation test. Fix edge cases that failed the test.
4 years ago
Francisco
ed8ab3871c
re-designed algorithm to compute lowest mcs that meets cqi,req_bytes,nof_prbs requirements in the scheduler
4 years ago
Francisco
3dd7877199
wrote unit test to check tbs,mcs derivation based on cqi,nof_prb in scheduler
4 years ago
Francisco
9748c0be84
simplified tbs/mcs computation in scheduler
4 years ago
David Rupprecht
5285550880
Fixes write SIB pcap define flag back to normal
4 years ago
Francisco
d54cef63b2
avoid reallocating CC in mac::ue when an SCell Activation CE is sent
4 years ago
David Rupprecht
aef6805d03
Added pcap net feature to eNodeB
4 years ago