Francisco
9e2a7d4592
bugfix,tpc: only cap PUSCH TPC when PHR is negative. I also extended TPC unit test
4 years ago
Francisco
bdc4362475
bugfix,tpc: place a cap on TPC due to PHR only when TPC is positive
4 years ago
Francisco
7badfb1c88
bugfix: avoid multiple TPC=0 for a single PHR<0
4 years ago
Francisco
e2c37ad513
bugfix: missing early return in TPC derivation
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
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).
4 years ago
Francisco
ceaef3523f
sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing
4 years ago
Francisco
486823e5de
sched,bugfix: The PHR handling scheme now considers the number of PRBs of the UL grant that carried the PHR. Before, it was assuming the most conservative scenario of Nprb=1
4 years ago
Francisco
f7aef3ffc1
sched,bugfix: fix nof_retx update when UL HARQs are resumed
4 years ago
Francisco
89406b07d6
make eNB UL SNR initial value an exponential average alpha configurable
4 years ago
Francisco
3f75538660
rrc,feature: Use t301 to set time that the enb waits for the UE RRCConnectionSetupComplete or ReestablishmentComplete
4 years ago
Francisco
0349949cce
bugfix, handover: disable inactivity timer during s1 handover in target enb
4 years ago
Pedro Alvarez
18e2149d68
Sending Initial Context Setup Response after RRC reconfiguration.
4 years ago
Francisco
2cdda3b6db
sched,enhancement: allow PUSCH allocations when PHICH falls in measurement Gap by resuming UL HARQ
4 years ago
Francisco
200006c4b7
bugfix,scheduler: avoid offset to increase decrease unboundedly when mcs is equal to 0 or max_mcs
4 years ago
Francisco
a587d20252
allow specification of subset of valid measurement gap offsets in rr.conf
4 years ago
Francisco
52247a46e5
rrc,refactor - change log level for paging try lock
4 years ago
Francisco
692bd193d5
rrc,improvements - use single subframe-indexed struct to access pending PCCH. The scheduler now doesnt lock checking for pending paging
4 years ago
Francisco
957ca453e9
bugfix,rrc: change mechanism to delete old paging messages to avoid deleting messages not yet sent
4 years ago
Francisco
7076dbfef8
feature, scheduler: Add configuration parameter to set minimum TTI interval between TPCs
4 years ago
Francisco
4627ae9802
bugfix, scheduler: effectively disable adaptive mcs when target bler is unspecified
4 years ago
Francisco
dedd9c09a7
feature, scheduler: Add abitility to set minimum aggregation level in PDCCH, and disable adaptive aggregation level based on target BLER
4 years ago
Francisco
c5029fc266
feature - implement adaptive link adaptation in DL and UL
4 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
a17e3b71e7
set minimum snr under which the UL SNR estimate is not updated
4 years ago
Francisco
8df6ed07c6
sched small fixes - use 0.930 instead of 0.932 for max coderate. Allow computing mcs/tbs based on max coderate directly. Other small fixes
4 years ago
Francisco
41bc7e4810
avoid letting repeated s1ap::user_release calls to deem the user as in zombie state. Use timer instead to auto-remove user from s1ap if no response from mme arrives
4 years ago
Francisco
f705735093
optimization - only allow some multiqueue queues to notify the multiqueue consumer of the arrival of tasks
4 years ago
yagoda
f90f6f0c7e
adding MAC 0 padding support
4 years ago
Francisco
0a1ae0e4ad
redesign and fix enb rrc message logs
4 years ago
Francisco
22f1f2d56c
move ngap files into their own folders
4 years ago
Francisco
1488606156
refactor - create s1ap dedicated folder
4 years ago
Francisco
0e0835a805
move scheduler rbg/prb/cce mask and interval types and associated helper functions to a separate file
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
4d3ff0d139
implementation of basic search for optimal rbgmask for subband CQI
4 years ago
Francisco
f8b6eae2bf
use of min DL cqi across all PRBS to compute required DL PRBs
4 years ago
Francisco
8564996eaf
fix sched_dl_cqi method to compute cqi-optimal rbgmask
4 years ago
Francisco
485c6ee129
subband CQI feature - add K parameter in sched_interface::ue_cfg_t and update it from RRC
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
16d05ff042
Remove time exponential averaging of DL cqi
...
- renaming: sched_cqi -> sched_dl_cqi
- testing: add unit test for sched_dl_cqi wideband cqi mode.
- feature: remove time exponential averaging of dl cqi
4 years ago
Francisco
28c24a89ef
sched subband cqi - create method to get cqi-optimal RBG mask
4 years ago
Francisco
eeb8ad6571
sched,feature - creation of sched_cqi class to manage the update of CQI in a subband CQI setting
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
0d800eb8f6
stack, multiqueue - bugfix for multiqueue destruction, and addition of unit test
4 years ago
Francisco
b54bb35343
use rnti_map_t in scheduler
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
1677abce8d
create typedef for circular map of rntis. check return of gtpu ue creation
4 years ago
Francisco
9464f36714
make eNB UE release timer after RLF detection configurable
4 years ago
Francisco
c6b9c12ba2
gtpu, feature - added the ability to configure gtpu indirect tunnel timeout value. This parameter is useful in the case that the end marker is not received
4 years ago
Francisco
b619a2b649
application of new cache allocator to deques in scheduler
4 years ago
David Rupprecht
c117b563c9
Initial commit for ngap in enb
4 years ago
Francisco
04ded030ea
srsenb,bugfix - avoid logging error message when UE sends CRNTI MAC CE for old rnti whose context has already been erased.
4 years ago
Francisco
f7016633d2
sched, fix - avoid tpc commands when target pusch and pucch snr are not specified
4 years ago
Francisco
d3c51fdad4
limit minimum UL grant size to accommodate both BSR and RLC headers
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
Andre Puschmann
598594c51a
all: bunch of pass by const& changes suggested by LGTM
4 years ago
Francisco Paisana
d39183419c
Separate TPC PUSCH and PUCCH target SINR ( #2740 )
...
* separate target pusch and pucch sinr configurations in tpc class and rr.conf
4 years ago
Francisco
86dac9c823
several coverity high and medium impact fixes
4 years ago
AlaiaL
d88760f099
Fixes coverity 366620
4 years ago
AlaiaL
beaa1b3e24
Fixes coverity 369569
4 years ago
faluco
69726bc939
Remove two allocs in the prio queues in sched_time_pf.
4 years ago
faluco
7df308c756
Remove two mallocs in the stack:
...
1) Extend the small buffer to 64bytes for the move_callback class.
2) Replace a std::map for a fixed size circular map in sched_time_pf.
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
685c971dc2
fix recursive call to get rb name
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
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
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
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
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
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
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