Francisco
8cbbebdea2
bugfix,scheduler: make sure UL harq pending data is cleared up when the last retx falls in a measurement gap
2021-06-09 10:52:43 +01:00
Francisco
51c9fc514d
refactor,sched: fix log lines related with meas gap collisions
2021-06-09 10:52:43 +01:00
Pedro Alvarez
163976f050
Fix releasing on on RRC and not on S1AP on integrity failure.
2021-06-08 18:52:22 +01:00
Pedro Alvarez
a53b321ab8
Release UE upon reception of integrity error.
2021-06-08 18:52:22 +01:00
Pedro Alvarez
299d2ee35d
Added interface to make the PDCP notify the RRC of integrity check
...
failures.
2021-06-08 18:52:22 +01:00
Francisco
5c7ea6f6df
bugfix,srsenb,rrc: remove redundant calls to setup PDCP/RLC bearer state during reestablishment
2021-06-08 16:21:57 +01:00
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.
2021-06-08 16:21:57 +01:00
Andre Puschmann
f65faba756
sched_harq: fix uninitialized values in HARQ
...
detected with Valgrind memcheck
2021-06-05 11:04:33 +02:00
Francisco
35cea3d104
enb,optimization: consider mac::ue object in rnti pool memory block size
2021-06-04 21:29:13 +01:00
Francisco
7e77da6a15
mac,optimization: use rnti memory pool to create mac::ue objects
2021-06-04 21:29:13 +01:00
Francisco
fd1d73666c
bugfix,srsenb,mac: avoid sanity check for UL PDU length if CRC=KO
2021-06-04 20:03:38 +01:00
Francisco
76004a3054
enb,mac,refactor: mac::ue now uses byte_buffer_pool for UL PDUs
2021-06-04 20:03:38 +01:00
Francisco
9e2a7d4592
bugfix,tpc: only cap PUSCH TPC when PHR is negative. I also extended TPC unit test
2021-06-04 17:39:51 +01:00
Francisco
bdc4362475
bugfix,tpc: place a cap on TPC due to PHR only when TPC is positive
2021-06-04 17:39:51 +01:00
Francisco
7badfb1c88
bugfix: avoid multiple TPC=0 for a single PHR<0
2021-06-04 17:39:51 +01:00
Francisco
e2c37ad513
bugfix: missing early return in TPC derivation
2021-06-04 17:39:51 +01:00
Francisco
75eebd6b5d
bugfix,gtpu: close forwarding tunnel during reestablishment due to handover failure
2021-06-04 14:59:12 +01:00
Francisco
597f993706
sched,improvement: filter out Msg3 UL SNR estimates from the TPC control loop
2021-06-04 13:45:10 +01:00
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.
2021-06-04 13:23:54 +02:00
Xavier Arteaga
090022568e
DCI NCCE find considers L and NCCE
2021-06-04 11:13:23 +02:00
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).
2021-06-03 21:11:47 +02:00
Andre Puschmann
107f6334dd
compile: fix compilation on 32bit systems that require -latomic
2021-06-03 20:45:02 +02:00
Andre Puschmann
80a89ec4bf
enb,mac: protect concurrent access to ue_db from different threads
...
race condition between PHY worker(s) and Stack thread when
accessing ue_db member. RWlock needs to be hold.
partly fixes #2932
2021-06-03 20:43:37 +02:00
faluco
3df72cb6ab
Move out a free call in a RT thread when doing lots of rachs.
2021-06-03 20:41:04 +02:00
Francisco
ceaef3523f
sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing
2021-06-03 15:33:38 +01:00
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
2021-06-03 15:33:38 +01:00
Francisco
f7aef3ffc1
sched,bugfix: fix nof_retx update when UL HARQs are resumed
2021-06-02 20:21:32 +01:00
Ismael Gomez
5cef780789
Radio-link KO notification. Measgap fix
2021-06-02 12:37:36 +02:00
Francisco
92e272ce3e
limit minimum UL grant size to accommodate both BSR and RLC headers
2021-06-02 12:37:36 +02:00
Francisco
3b61df4b64
test,sched: update TPC test to reflect changes in SNR estimatioN
2021-06-02 10:08:34 +01:00
Francisco
89406b07d6
make eNB UL SNR initial value an exponential average alpha configurable
2021-06-02 10:08:34 +01:00
Francisco
2a2c56391c
sched,refactor: Improve DL/UL grant log lines in the scheduler to print CFI as well
2021-06-02 10:08:34 +01:00
Francisco
dda52afe61
move rrc unit tests to rrc/ folder
2021-06-02 10:05:49 +01:00
Francisco
47494a668d
rrc,bugfix: fix reestablishment crash due to pointer invalidation
2021-06-02 10:05:30 +01:00
Francisco
3f75538660
rrc,feature: Use t301 to set time that the enb waits for the UE RRCConnectionSetupComplete or ReestablishmentComplete
2021-06-02 10:05:30 +01:00
Francisco
0349949cce
bugfix, handover: disable inactivity timer during s1 handover in target enb
2021-06-02 10:05:30 +01:00
Francisco
19af55b63d
bugfix, handover: Avoid sending UEContextReleaseRequest from Target eNB during S1 Handover due to UL KOs
2021-06-02 10:05:30 +01:00
Andre Puschmann
2c975732dc
metrics_stdout: fix race detected by TSAN
2021-06-01 22:44:12 +02:00
Pedro Alvarez
c23034e1a7
Make sure the S1AP state is reset after sending a successful/unsuccessful message
2021-06-01 19:16:16 +01:00
Pedro Alvarez
18e2149d68
Sending Initial Context Setup Response after RRC reconfiguration.
2021-06-01 19:16:16 +01:00
Xavier Arteaga
50b7d3937f
Added RNTI in SRSENB PDCCH log line
2021-06-01 15:04:24 +02:00
Xavier Arteaga
6de34524e2
Fix SRSENB PHY log line
2021-06-01 08:27:03 +02:00
Xavier Arteaga
ce3c808a16
Reviewed SRSENB PHY unused variables and log messages
2021-06-01 08:27:03 +02:00
Francisco
f80c591127
sched,bugfix: fix scheduler CA test
2021-05-31 23:59:46 +01:00
Francisco
2cdda3b6db
sched,enhancement: allow PUSCH allocations when PHICH falls in measurement Gap by resuming UL HARQ
2021-05-31 23:59:46 +01:00
Andre Puschmann
fcba67ca84
enb,rrc: fix logging text
2021-05-28 18:12:16 +02:00
Andre Puschmann
8322887135
enb,rrc: increase RRC PDU queue size to 128
2021-05-28 18:12:16 +02:00
Francisco
a8790abd7e
fix centos7 tuple compilation issue
2021-05-28 17:21:10 +02:00
Francisco
200006c4b7
bugfix,scheduler: avoid offset to increase decrease unboundedly when mcs is equal to 0 or max_mcs
2021-05-28 17:21:10 +02:00
Francisco
0dafe4dd58
fix coderate derivation in PDCCH based on aggregation level
2021-05-28 17:20:08 +02:00
Francisco
a587d20252
allow specification of subset of valid measurement gap offsets in rr.conf
2021-05-28 17:19:30 +02:00
Francisco
0996e50dce
bugfix, s1ap: allow source enb to release old UE ctxt in case a connectionRequest arrives with repeated m-TMSI
2021-05-28 17:18:41 +02:00
Francisco
52247a46e5
rrc,refactor - change log level for paging try lock
2021-05-28 12:29:36 +02:00
Francisco
692bd193d5
rrc,improvements - use single subframe-indexed struct to access pending PCCH. The scheduler now doesnt lock checking for pending paging
2021-05-28 12:29:36 +02:00
Francisco
957ca453e9
bugfix,rrc: change mechanism to delete old paging messages to avoid deleting messages not yet sent
2021-05-28 12:29:36 +02:00
Andre Puschmann
66770a57e3
enb_phy_test: fix concurrent access between PHY worker and Stack
...
PHY and Stack are using a normal std::queue to communicate with each
other. Concurrent access among the threads needs to be protected.
2021-05-26 14:25:38 +02:00
Francisco
fe0dc77c03
bugfix, s1ap: fix uninitialized variable access in s1ap_test
2021-05-26 11:35:32 +02:00
Francisco
297a2394b8
bugfix, s1ap: fix failing s1ap_test
2021-05-26 11:35:32 +02:00
Francisco
7076dbfef8
feature, scheduler: Add configuration parameter to set minimum TTI interval between TPCs
2021-05-25 21:51:10 +02:00
Francisco
4627ae9802
bugfix, scheduler: effectively disable adaptive mcs when target bler is unspecified
2021-05-25 21:51:10 +02:00
Francisco
c75777c618
bugfix, sched: avoid compilation issue due to uninitialized variable access
2021-05-25 21:50:56 +02:00
Francisco
329cf02cd0
bugfix, sched: ensure max_coderate is respected in scheduler
2021-05-25 21:50:56 +02:00
Francisco
a8cccd7a10
bugfix, sched: fix aggregation level derivation to avoid L > 3
2021-05-25 21:50:56 +02:00
Francisco
dedd9c09a7
feature, scheduler: Add abitility to set minimum aggregation level in PDCCH, and disable adaptive aggregation level based on target BLER
2021-05-25 21:50:56 +02:00
Francisco
fb4a363abd
fix formatting errors in scheduler
2021-05-24 19:33:27 +02:00
Francisco
1f1665bab7
improve adaptive offset adjustment log lines
2021-05-24 19:33:27 +02:00
Francisco
c5029fc266
feature - implement adaptive link adaptation in DL and UL
2021-05-24 19:33:27 +02:00
Francisco
8811b7c9a7
fix handling of CRNTI CE in the RRC. The scheduler should not allocate more grants for the new rnti after this point.
2021-05-24 19:33:16 +02:00
Francisco
59513c0eed
fix bearer reactivation in case the RRC session is recovered after max KO
2021-05-24 19:33:16 +02:00
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.
2021-05-24 19:33:16 +02:00
Francisco
59db527481
fix reestablishment reject logging level
2021-05-24 19:33:16 +02:00
Francisco
a17e3b71e7
set minimum snr under which the UL SNR estimate is not updated
2021-05-24 17:25:07 +02:00
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
2021-05-24 17:25:07 +02:00
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
2021-05-24 17:24:31 +02:00
Francisco
e07ef0aa18
avoid releasing ues doing s1 handover before TS1relocoverall expiry
2021-05-24 17:24:31 +02:00
Francisco
b093576634
avoid sending UEContextReleaseRequest from Source eNB during S1 Handover.
2021-05-24 17:24:31 +02:00
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
2021-05-24 17:24:12 +02:00
Francisco
2d6a878826
change interface to create multiqueue queues
2021-05-24 17:24:12 +02:00
Francisco
f705735093
optimization - only allow some multiqueue queues to notify the multiqueue consumer of the arrival of tasks
2021-05-24 17:24:12 +02:00
Ismael Gomez
8414b2c2c9
Define iszero in csv_stdout
2021-05-22 16:59:27 +02:00
Ismael Gomez
5a2a435710
Improve srsENB output metrics
2021-05-22 16:59:27 +02:00
yagoda
9501283c1c
fixing support for extended Cyclic Prefix
...
small cosmetic fixes of CP code
2021-05-20 18:16:15 +02:00
yagoda
f90f6f0c7e
adding MAC 0 padding support
2021-05-20 10:26:50 +02:00
Francisco
52ef23f40e
fix sched benchmark test
2021-05-19 13:11:39 +01:00
Francisco
a83c0ebe3b
increase starting CFI when subframe contains control allocations (e.g. SIB or RAR) when cell bandwidth <= 5 MHz
2021-05-19 13:11:39 +01:00
Francisco
0a1ae0e4ad
redesign and fix enb rrc message logs
2021-05-19 12:42:41 +01:00
Francisco
8d30c88330
bugfix - avoid calling rlf release timer handler concurrently
2021-05-19 12:17:40 +01:00
Francisco
f0f99c1e4f
update sched benchmark, created unit test to cover rbg search algorithms, improved algorithms to search for empty rbgs
2021-05-19 11:43:39 +01:00
Francisco
22f1f2d56c
move ngap files into their own folders
2021-05-17 15:32:57 +01:00
Francisco
1488606156
refactor - create s1ap dedicated folder
2021-05-17 15:32:57 +01:00
Francisco
0e0835a805
move scheduler rbg/prb/cce mask and interval types and associated helper functions to a separate file
2021-05-17 14:30:23 +01:00
Francisco
7c0649bc24
delete erab if gtpu tunnel creation failed
2021-05-17 15:17:27 +02:00
Francisco
c6d543efdf
fix conversions of drb id to erab id in srsenb
2021-05-17 15:17:27 +02:00
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>
2021-05-17 15:17:27 +02:00
Francisco
fa34aaa16e
ensure the DL mask count is reduced enough to fit required bytes
2021-05-14 19:58:03 +01:00
Francisco
4d3ff0d139
implementation of basic search for optimal rbgmask for subband CQI
2021-05-14 19:58:03 +01:00
Francisco
f8b6eae2bf
use of min DL cqi across all PRBS to compute required DL PRBs
2021-05-14 19:58:03 +01:00
Francisco
8564996eaf
fix sched_dl_cqi method to compute cqi-optimal rbgmask
2021-05-14 19:58:03 +01:00
Francisco
485c6ee129
subband CQI feature - add K parameter in sched_interface::ue_cfg_t and update it from RRC
2021-05-14 19:58:03 +01:00
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
2021-05-14 19:58:03 +01:00