353 Commits (68eda336bda90483837f8bec518c3ae5598ac2ef)

Author SHA1 Message Date
Francisco 68eda336bd remove ENB_METRICS_MAX_USERS compile time macro and use run-time variable to set maximum number of UEs the srseNB can have connected at a given instant. 4 years ago
yagoda bdc1964335 consolidating RRC eMBMS configuration into single function, setting some parameters to const 4 years ago
yagoda b90574975b refactoring asn1 eMBMS code, removing asn1 from PHY and MAC in eNodeB 4 years ago
Francisco 1cb65f07f1 enable meas gaps in RRC and enb parser 4 years ago
Francisco Paisana 9579931f16 added meas gap checks to scheduler ue 4 years ago
Xavier Arteaga f64c268a69 SRSUE: Refactored MAC/RRC SCell Activation/Deactivation 4 years ago
Francisco Paisana fdec451a9d disable mcs>20 if eNB supports UL 64QAM but UE doesn't 4 years ago
Francisco Paisana bf7c587e4f add UL 64QAM support to eNB RRC and scheduler 4 years ago
Pedro Alvarez 454162cea7 Deleted nas_interface_stack. 4 years ago
Pedro Alvarez 604e79214d Changed NAS is_attached interface to is_registered. 4 years ago
Pedro Alvarez 14844a168a Created new class to hold all NAS states for the NAS state machine. Added EMM-DEREGISTERED substates and EMM-REGISTERED substates.
Decoupled PLMN selection, attach request and service request. Removed RRC connect procedure from NAS.
4 years ago
Francisco Paisana 510959b50f update nr asn1 files, and asn1 tests 4 years ago
Francisco Paisana a865858db3 disable srbs UL during handover to avoid UL grants and scheduling requests before the handover is complete 4 years ago
Xavier Arteaga 58be68f856 Changed cell gain command from cell index to cell id 4 years ago
Andre Puschmann bb1dd0f4cf gnb_interface: remove FIXME 4 years ago
Francisco Paisana 9b10acff06 implemented logical channel prioritization in DL scheduler 4 years ago
Andre Puschmann fab86382c1 mac,rrc: add interface to set SR config explicitly without touching any other MAC function
when releasing PUCCH/SRS (see 5.3.13 in 36.331) we need to reset the SR config as well.
In our case, SR is handled by MAC so we need to (re-)configure MAC, not all of
MAC though, just SR.
4 years ago
Xavier Arteaga da54e2b501 Better docs in RRC interface types and apply clang-format 4 years ago
Xavier Arteaga 6ae47b6510 SRSUE: Deafult PUCCH/SRS does not imply full PHY dedicated defaults 4 years ago
Francisco Paisana 137e554eb3 reestablish pdcp bearers is required in case of AM bearers 4 years ago
Xavier Arteaga ef9d77c966 SRSUE: add PRACH config present field in PHY configuration structure 4 years ago
Andre Puschmann 795db30338 pdcp: drop PDCP control PDUs
this patch adds a check to drop all PDCP control PDUs
in order to prevent handling them as data PDUs.

This could happen when the size exceeded the arbitrary length check.

This should fix #1787
4 years ago
Ismael Gomez 76bfc78147
Fix issues with Sounding-RS (#1761)
* Fix deadlock caused by update_measurements calling in_sync

* Fix overlapping SRS condition

* Do not use shortened PUSCH in transmissions and retx from RAR

* Revert "Fix deadlock caused by update_measurements calling in_sync"

This reverts commit f58c8c8c766f8f95baa3a3bf8287d8e25b2057ba.
4 years ago
Pedro Alvarez 86f4d469c6 Added some functions to save and restore AS keys for the case of failed handover in the USIM 4 years ago
Andre Puschmann 1afc137032
[REBASE] Make PHY non-blocking and fefactor HO procedure (#1753)
* Make PHY non-blocking and fefactor HO procedure

* makes entire PHY non-blocking through command interface
* adds dedicated queue for cell_search/cell_select commands
* refactor HO procedure to run faster, in one stack cycle. Looks closer to the specs
* force ue to always apply SIB2 configuration during reestablishment
* Run update_measurements in all workers

Co-authored-by: Ismael Gomez <ismagom@gmail.com>
4 years ago
Andre Puschmann 6a56476b2a rlc: increase RLC Tx SDU queue
the Tx SDU has been set to 128 PDUs because this gives approx.
150kByte UL buffer state (max value for Rel 8 BSR).

Previously, however, we've always reported too much pending UL
data because we weren't subtracting the transmitted data from
the reported data.

with this newer BSR reporting, however, even with full buffers we would
never report full buffers because the queues size is too short.

This seems to cause issues for iperf TCP sessions not resulting
in full DL rate, see isse #1703. It seems that the TCP bandwitdh
probing works better with larger buffers (in our case this can
only be achieved with more PDUs in the pool).

This should fix #1703
4 years ago
Ismael Gomez f49fbd6d02
Fix the order of HO/reest measurement actions (#1696) 4 years ago
Xavier Arteaga af8898943f SRSENB: implement console cell_gain command
SRSENB: fix 5GNR compilation

SRSENB: fix override methods
4 years ago
Francisco Paisana 92221eb780 update of rrc_interface_mac to remove signal from mac to rrc that RA failed in case of handover failure 4 years ago
Ismael Gomez a4835dd2c8
More accurate MCS reduction when PUSCH carries UCI (#1630) 4 years ago
Francisco Paisana bb5dd92dca implemented s1 handover cancellation procedure to force the target enb to release the ue ctxt 4 years ago
Francisco Paisana 8c9e596f89 refactored s1ap handover request interface. cleaned up rrc tenb s1 handover code 4 years ago
Francisco Paisana 5d1343fe75 implemented S1 bearer status transfer 4 years ago
Francisco Paisana db8af399f8 extended rrc tenb s1 handover test. implemented layer reconfig during s1 handover 4 years ago
Francisco Paisana 7605c7df23 added s1ap handover notification, fixed s1ap asn1 bug, and fixed bad fields for admitted erabs in ho req ack 4 years ago
Francisco Paisana 26f46ea067 add S1 Handover Request handling in target eNB 4 years ago
Ismael Gomez 382811e10e
Update S1AP RNTI context when doing Reestablishment (#1582) 4 years ago
Ismael Gomez dda91b14f7 Remove duplicate add_rnti() function since already done in set_config 4 years ago
Andre Puschmann 9550bd3ef8 rlc: revisit interface for MAC and RRC
* add locked and unlocked version of has_data() since one is
  called from stack and one from PHY threads

* add comments in each interface section as to why locking
  is required or not

* remove RLC rwlock when not required

* move calls only used by RRC to RRC section
4 years ago
Francisco Paisana 58c4bcf288 reduce mcs for UL grants carrying UCI 4 years ago
Andre Puschmann a7911f0dab pdcp,rlc: refactor SDU queueing policy
this patch refactors the SDU queuing and dropping policy of the RLC and PDCP layer.
the previous design had issues when packets have been generated at a higher
rate above the PDCP than they could be consumed below the RLC.

When the RLC SDU queues were full, we allowed two policies, one to block on the write
and the other to drop the SDU. Both options are not ideal because they either
lead to a blocking stack thread or to lost PDCP PDUs.

To avoid this, this patch makes the following changes:

* PDCP monitors RLC's SDU queue and drops packets on its north-bound SAP if queues are full
  * a new method sdu_queue_is_full() has been added to the RLC interface for PDCP
* remove blocking write from pdcp and rlc write_sdu() interface
  * all writes into queues need to be non-blocking
  * if Tx queues are overflowing, SDUs are dropped above PDCP, not RLC
* log warning if RLC still needs to drop SDUs
  * this case should be avoided with the monitoring mechanism
4 years ago
Francisco Paisana 5e06430455 removal of stack handler interface 4 years ago
Francisco Paisana fe8f8be62d apply separate cqi configurations to scells 4 years ago
Francisco Paisana cb7f620254 created separate class to manage bearers buffers/status reports in the scheduler 4 years ago
Ismael Gomez 493b7ea2da Remove SNR threshold based link failure detection 4 years ago
Francisco Paisana 2de702f50e disable carrier aggregation when ue release is below 10 or category is below 5 4 years ago
Francisco Paisana 42969ad992 add tb size as argument to gnb 4 years ago
Pedro Alvarez 9c1a7d2cf1 Removed get_bearer_status in PDCP. Renamed get_state/set_state to
get_bearer_state/set_bearer_state.
4 years ago
Pedro Alvarez 208a539499 Split PDCP tx_count state variable into tx_hfn and next_pdcp_tx_sn
variables.
4 years ago
Pedro Alvarez 08578a7331 Switched to use a struct to hold the PDCP entity state variables. Deleted some unecessary setters. 4 years ago