yagoda
bc4388a78c
-adding temp crnti removal for NR carrier attach
3 years ago
Ismael Gomez
af9822bede
srsenb: add error handling on RRC message generation
3 years ago
Ismael Gomez
3bbf173149
Allocate PUCCH resources on ConnectionRequest and send ConnectionReject if not available
3 years ago
Andre Puschmann
faf9d2dbd8
gnb,rrc: replace hard-coded PCI with actual value in rrc_cfg
3 years ago
Andre Puschmann
802b22ac91
enb,nsa: refactor NR RRC/cell config parsing
...
this allows to access all cell-related params from within RRC
3 years ago
Bedran Karakoc
43915550cc
NGAP GTP Bearer Establishment
3 years ago
Fabian Eckermann
651a76000e
Add function to pack secondary cell group config for FDD.
3 years ago
Andre Puschmann
3fd47d2af4
enb: refactor L2/L3 and (re)move all NR components to gNB stack
...
* decouple EUTRA and NR stack classes
* implement dummy X2 interface with control and data plane methods
* implement eNB time source interface that PHY calls
3 years ago
Andre Puschmann
c1892eb2ec
enb,nsa: refactor of SgNB addition interface
...
* update of FSM
* better integration of parameter for X2 calls
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
Ismael Gomez
00653bdd46
Fix PUCCH2 RRC scheduling
3 years ago
Francisco Paisana
ebd12b0778
stack lte,refactor: pass bearer manager instead of stack pointer to srsenb::rrc
3 years ago
Andre Puschmann
201f29b4e5
enb,rrc_nr: register DRB1 at RLC/PDCP when enabling NSA mode
3 years ago
Andre Puschmann
b27d1d913e
enb_stack_lte: use bearer manager class
...
* user common bearer manager in eNB
* register/deregister bearers (LTE only so far
* provide dummy stack class for RRC tests
3 years ago
Francisco Paisana
020bec025e
sched: created class common to LTE and NR for ue buffer status management
3 years ago
Francisco Paisana
04e5c81edf
sched,nr: nr_phy_test now uses the whole mac class rather than just the scheduler
3 years ago
Andre Puschmann
2e9f487ebc
enb,nsa: add missing RLC config and MAC cell group config
3 years ago
Andre Puschmann
de60df9693
enb: initialize NR PHY in eNB
...
add required calls to initialize NR PHY alongside with LTE PHY
3 years ago
Bedran Karakoc
a6226379b4
Introducing NGAP UE context procedures
3 years ago
Andre Puschmann
f9589c9c5d
enb,rrc,endc: refactor UE capability enquiry and check
...
this patch first makes sure that ENDC is only configured if the UE
support it. Second the patch also requests the EUTRA-NR and NR capabilities
if the UE indicated ENDC support in its EUTRA caps.
3 years ago
Andre Puschmann
fc8fe032ff
rrc_nr,endc: add more fields to NR RRC Reconfig for EN-DC activation
...
adds a big chunk of new fields to the reconfig packing code,
tested with srsUE
3 years ago
Andre Puschmann
8d2e81ad6f
enb,mac,nr: add basic UE object skeleton
...
refactor that also adds a basic UE object to the NR MAC
3 years ago
Ismael Gomez
5d034b067e
Add option to rr.conf to select sub-band CQI K value ( #3071 )
3 years ago
Francisco
2a31daca4a
enb,configuration: allow to specify enb specific max nof RLC retxs
3 years ago
Pedro Alvarez
8d41c0d476
Maded SRB configuration optional in rb.conf
3 years ago
Pedro Alvarez
72cf3a1cec
Added RLC SRB1 and SRB2 configuration ability.
...
The configuration was added to drb.conf
3 years ago
Andre Puschmann
3f81d3e969
enb,rrc_endc: add handler for measurements and UE capabilities
3 years ago
Andre Puschmann
8d443d79e5
enb,rrc: add skeleton code for new RRC internal interface for SgNB addition
3 years ago
Andre Puschmann
8dd7075d12
enb,stack: add NR components for NSA mode
...
adds the main NR components for RLC, PDCP, MAC and RRC
for NSA operation.
3 years ago
Pedro Alvarez
299d2ee35d
Added interface to make the PDCP notify the RRC of integrity check
...
failures.
3 years ago
Francisco
fd3901e4a2
bugfix,srsenb,rrc: delete old context right away after sending Reestablishment msg.
...
Following ReestablishmentRequests should use the most recent rnti as old context.
3 years ago
Francisco
35cea3d104
enb,optimization: consider mac::ue object in rnti pool memory block size
3 years ago
Andre Puschmann
aaffdeb326
rrc,rlc: add method to signal protocol failure to RRC
...
general-purpose method for lower layers to signal protocol
failures to higher layers, i.e. RRC.
In the current case, implement a direct release of the UE (enb) or
a reestablishment (UE).
3 years ago
Francisco
3f75538660
rrc,feature: Use t301 to set time that the enb waits for the UE RRCConnectionSetupComplete or ReestablishmentComplete
3 years ago
Francisco
0349949cce
bugfix, handover: disable inactivity timer during s1 handover in target enb
3 years ago
Francisco
a587d20252
allow specification of subset of valid measurement gap offsets in rr.conf
3 years ago
Francisco
52247a46e5
rrc,refactor - change log level for paging try lock
3 years ago
Francisco
692bd193d5
rrc,improvements - use single subframe-indexed struct to access pending PCCH. The scheduler now doesnt lock checking for pending paging
3 years ago
Francisco
957ca453e9
bugfix,rrc: change mechanism to delete old paging messages to avoid deleting messages not yet sent
3 years ago
Francisco
8811b7c9a7
fix handling of CRNTI CE in the RRC. The scheduler should not allocate more grants for the new rnti after this point.
4 years ago
Andre Puschmann
fbb151af2d
enb,rrc: fix bearer re-activation after max KO
...
this patch makes sure that if RBs have been deactivated after
max KO on either the DL or the UL, they are reactivated if either
of them is working again.
UL/DL are always activated together, even if just one of them
recovers. The KO counter (or timer), however, is not stopped implicitly.
4 years ago
Francisco
0a1ae0e4ad
redesign and fix enb rrc message logs
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
f25dbea4de
fix PCCH assembly in srsenb rrc
4 years ago
Francisco
32228389a9
fix latest static analysis warnings in rrc paging
4 years ago
Francisco
bfdb0332db
remove undefined methods from rrc_ue
4 years ago
Francisco
46cfdaf9e5
Handle case when old rnti gets removed during RRC reestablishment
...
This is achieved via:
- keep restarting the inactivity timer whenever a ReestablishmentRequest is received
- in case the RRC ReestablishmentComplete is very late and the old rnti was removed anyway,
abort RRC reestablishment procedure and release new rnti
4 years ago
Andre Puschmann
b61be7878a
enb,rrc: split RLF counter and timer handling for DL/UL/RLC
...
this patch splits the counter and timer handling for PHY DL, PHY UL,
and RLC errors and makes sure that, for example, a successful DL
does not cancel the UL RLF timer, and vice versa.
They all use the same timeout value which is user-configurable.
4 years ago
David Rupprecht
f9c0009d23
Remove setup erabs function
4 years ago
Francisco
6b84754ede
fix rrc and gtpu bearer rnti update during reestablishment. The rnti of UE's rrc_bearer_handler was not being updated
4 years ago
Francisco
9464f36714
make eNB UE release timer after RLF detection configurable
4 years ago
David Rupprecht
c117b563c9
Initial commit for ngap in enb
4 years ago
Francisco
cde61a5796
rrc paging - reduce the space taken by paging manager class
...
Paging messages can only be transmitted in a subset of subframes - {0, 4, 5, 9}
I avoid now creating objects for the subframes that are not part of this subset
4 years ago
Francisco
b014cbfe0f
rrc paging - removal of redundant mutexes in paging manager class. Now mutexes are indexed by subframe index instead of paging buffer index
4 years ago
Francisco
8487c10956
removal of unused variables
4 years ago
Francisco
01eace2631
rrc paging mechanism improvements
...
- moved paging record handling to separate class
- parallel access to pending pcch messages by phy workers based on TTI and without common lock
- asn1 pcch message packing now takes place in stack thread, to avoid real-time issues
4 years ago
David Rupprecht
81ad72b0ff
Refactor srb and drb handling
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
14d32db92f
implement Handover direct forwarding path availability configuration feature
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
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
6d401bc79f
handover - check if UE integrity and encryption algorithms are supported in the target eNB, and report handover failure if not.
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
60d5c6df7b
implementation of memory pool with individual memory blocks per UE that get accessed via their rnti
4 years ago
Andre Puschmann
7459a65a8e
enb,rrc_ue: remove unused variable
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
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
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
c3482b45e1
s1ap - handle erroneous enb/mme s1ap ue id in received s1ap messages from the MME
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
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
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
e1523692c2
implementation of concurrent fixed size pool that leverages thread local caches to avoid mutexing
4 years ago
Andre Puschmann
1a0891df51
all: check return value of make_byte_buffer() and handle them safely
4 years ago
Codebot
4523ee6087
rename srsLTE to srsRAN
4 years ago
Francisco
9601770196
rrc,bugfix - stop scheduling when RLC AM max_retx is achieved
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
3e9f93eb8a
refactor - remove old log_filter and logmap libraries from the codebase
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
c03dbc6742
fix RRC Connection Reestablishment procedure - correctly save old rnti bearer configuration in new rnti
4 years ago
Francisco
290f39d805
fix crnti mac ce handling in the rrc in normal (no handover) case
4 years ago
Francisco
a988351f46
move ue pdcp interfaces to separate interfaces header file
4 years ago
Andre Puschmann
46d8ed8742
enb,rrc: delay UE release after RLC maxRetx
...
this fixes the eNB behaviour when RLC signals maxRetx reached.
By directly releasing the UE, we ignore the fact that the UE
could still have the reestablishment counters running, so
could attempt a reestablishment, which would result in a reject
because we would have destroyed the UE context too early.
this patch delays the removal of the UE to wait at least
until the reestablishment timers are expired.
4 years ago
Pedro Alvarez
976b5c12c1
Releasing the UE when max retransmissions are reached in the RLC. ( #2385 )
4 years ago
Francisco
6404722b4b
convert qci_cfg in srsenb to std::map to allow qci values above 10
4 years ago