Commit Graph
6482 Commits
Author SHA1 Message Date
rmagueta 169a9be8cd Fix Msg3 MAC CE C-RNTI
Reset Msg4_ACKed to not schedule ULSCH and DLSCH before RRC Reconfiguration
2023-10-04 06:55:24 +01:00
Robert Schmidt 280c987938 Merge remote-tracking branch 'origin/one-step-cleaning-gNB-ulsch-decoding' into integration_2023_w39 2023-10-03 09:35:18 +02:00
Robert Schmidt 2676e9a5bf Merge remote-tracking branch 'origin/bearer-release' into integration_2023_w39 2023-10-03 07:49:39 +02:00
Robert Schmidt 40fbe8b0cd Merge remote-tracking branch 'origin/const_return_values' into integration_2023_w39 2023-10-02 17:34:41 +02:00
Robert Schmidt 73e8db7fb2 Merge remote-tracking branch 'origin/nr-rlc-fix-tx-next' into integration_2023_w39 2023-10-02 17:34:34 +02:00
Robert Schmidt c6e9992e81 Make LCID output nicer 2023-10-02 14:57:03 +02:00
Robert Schmidt 3b936c9a50 Handle DRB release at MAC 2023-10-02 14:57:03 +02:00
Robert Schmidt dc64ac3ab3 Rename nr_rlc_release_entity() for consistency
Most functions start with nr_rlc_*(), so do the same for release
2023-10-02 14:57:03 +02:00
Robert Schmidt 51862543e4 Rename to nr_pdcp_release_{d,s}rb() for consistency
Most functions start with nr_pdcp_*(), so do the same for release.
2023-10-02 14:57:03 +02:00
Robert Schmidt 03c8502e5e Merge remote-tracking branch 'origin/nr-rlc-fix-tests' into integration_2023_w39 2023-10-02 14:21:30 +02:00
mir b07e9f32c4 Remove return const values 2023-10-02 14:15:42 +02:00
Laurent THOMAS d448b5e549 remove 'B' from persisted data, replace 3824 hardcoded by it's existing define 2023-09-29 10:23:54 +02:00
Robert Schmidt 1bc08b652d Merge remote-tracking branch 'origin/NR_fix_init_RA_UE' into integration_2023_w39 2023-09-28 20:14:47 +02:00
Robert Schmidt c4f3d6d7fe ue_context_modification_request(): check if UE exists 2023-09-28 14:59:06 +02:00
Cedric Roux 8aea710a6c nr rlc: minor: fix tests
delete() has changed its name
2023-09-28 10:52:55 +02:00
Cedric Roux 82e83bc6a6 nr rlc am: bugfix: correc usage of tx_next
tx_next was increased only when all segments of an SDU were sent to
lower layers. This may lead to a situation where the receive entity
transmits a control PDU that is rejected because it sets its ACK to
tx_next+1 (if all segments were not transmitted when the control PDU
is sent).

What is done now is to increase tx_next as soon as we send the first
segment of an SDU to lower layers. A control PDU received from the
receive entity is now accepted and processed.

Specifications (38.322 5.2.3.1.1) say to increase tx_next when the
RLC entity receives an SDU from upper layers. But for us, since the
buffering of SDUs is done in the RLC layer and since the buffer size
may be big, we may increase tx_next too much. The choice has been
made to increase it only when we transmit an SDU to lower layers.
We may change this logic if needed. (But it won't be simple.)
2023-09-28 10:40:11 +02:00
Robert Schmidt f5cc51b4a8 Merge remote-tracking branch 'origin/NR_UE_RRC_manage_RLC_PDCP' into integration_2023_w38 2023-09-24 17:42:58 +02:00
Robert Schmidt d16c4c370e Merge remote-tracking branch 'origin/int-f1-setup' into integration_2023_w38 2023-09-24 17:41:48 +02:00
Robert Schmidt 00acfe3049 Merge remote-tracking branch 'origin/NR_UE_harq_fix' into integration_2023_w38 2023-09-22 12:32:44 +02:00
francescomani cf1baafd75 fixing release according to review 2023-09-22 11:52:24 +02:00
francescomani e7c626a79e release RB entities 2023-09-22 11:40:49 +02:00
francescomani 18892963a9 cleanup and fixes 2023-09-22 11:40:49 +02:00
francescomani 3d824e3958 handling release of RLC entity 2023-09-22 11:40:49 +02:00
francescomani f8464b9e91 MAC configuration of logical channel identities 2023-09-22 11:40:49 +02:00
francescomani 53348bd41d improving DRB management at RRC UE 2023-09-22 11:40:49 +02:00
francescomani b0b57402f3 managing RLC bearer configuration at RRC UE 2023-09-22 11:40:49 +02:00
francescomani d8cb2491bd improve handling of SRBs at RRC UE 2023-09-22 11:40:49 +02:00
Robert Schmidt d94a4e545d Free scheduler UE data 2023-09-22 08:22:15 +02:00
Robert Schmidt 3982cc2e23 Forward UE capabilities to DU and use for CellGroupConfig
- Forward UE capabilities in F1 handlers
- Store at MAC
- Update CellGroupConfig with UE Capabilities of the UE
2023-09-22 08:22:15 +02:00
Robert Schmidt 7e2487c294 Handle CellGroupConfig completely at MAC
- MAC creates CellGroupConfig and sends to RRC
- the RRC does not manually update the CellGroupConfig
- MAC handles the RRC processing timer

In this commit, any updates to the CellGroupConfig previously done at
the RRC don't work. In other words, MIMO etc don't work; this is
implemented in the next commit.

Note that the change to take out spCellConfig during reestablishment is
because after reestablishment, as per spec (38.331 5.3.7.2), the UE
should drop the spCellConfig, which we generate by default on the first
UE connection.

Furthermore, add a new variable apply_cellgroup to signal if, after RRC
processing timer, we wish to apply the CellGroup. In some situations,
e.g., Msg.4 ack, we do not want to apply the CellGroup, because for
instance in reestablishment, we await for a reconfiguration of cellgroup
that would be triggered too early.
2023-09-22 08:22:15 +02:00
Robert Schmidt 18db5f68ac Put PLMN/TAC/CellID into SIB1, correct CellIdentity encoding 2023-09-22 08:22:15 +02:00
Robert Schmidt c930563929 Move radio configuration parameters to MAC, SIB1 not initialized!
!SIB1 is not correctly filled! This commit does not work with COTS UEs!
The next commit fixes this.

- Move radio config (e.g., minRXTXTIME, SIB1 TDA, do_SRS, etc) down to
  MAC.
- Some parameters in MAC are redundant: delete them.
- Remove call to nr_mac_config_scc() from RRC and simulators, the MAC
  initialization routine calls it implicitly
2023-09-22 08:22:15 +02:00
Robert Schmidt 67d5f56a3c Read F1 Setup Req at MAC initialization
Previously, filling of F1 Setup Request depended on reading the RRC;
hence, for timing reasons, we only initialized and sent the F1 Setup
Request once the MAC and RRC are ready.

After moving SCC, SCD, MIB, and SIB1 to MAC, the MAC does not depend on
an RRC being present anymore, and hence, the F1 Setup Request does
neither. In this commit, we read the F1 Setup Request after initializing
the MAC.
2023-09-22 08:22:15 +02:00
Robert Schmidt eaf28414ca kssb < 16 or we cannot do reestablishment: add assert in DU 2023-09-22 08:22:15 +02:00
Robert Schmidt a44a54f3d3 Move SIB1 to MAC
The SystemInformationBlock 1 is handled at the DU and sent to the CU in
the F1 Setup Request. Hence, move it down to the MAC.
2023-09-22 08:22:15 +02:00
Robert Schmidt 5d0ae84ad2 Move MIB to MAC
The MasterInformationBlock is handled at the DU and sent to the CU in
the F1 Setup Response. Hence, move it down to the MAC. Furthermore:

- Change type because MIB_PDU_t is 4G type
- Simplify schedule_nr_mib()
2023-09-22 08:22:15 +02:00
Robert Schmidt 0f897b4007 Move ServingCellConfigDedicated to MAC
As with the ServingCellConfigCommon, the ServingCellConfigDedicated is a
radio-related structure to be handled at the DU.
2023-09-22 08:22:15 +02:00
Robert Schmidt 2b29531591 Move ServingCellConfigCommon to MAC
Note: the reestablishment is broken, and a later commit fixes it.

The ServingCellConfigCommon is an inherently radio-related
configuration. As such, it should be handled by the DU, not the CU.
Therefore, move it "down" to the MAC.
2023-09-22 08:22:15 +02:00
Robert Schmidt b93368f46d Implement Setup Request/Response for F1AP 2023-09-22 08:22:14 +02:00
Robert Schmidt 89f3ea3dd0 Wait for F1 Setup Response before unblocking cell
The F1 Setup Response contains the cell(s) to activate. Hence, prevent
the radio from starting by waiting for the F1 Setup Response before
continuing.
2023-09-22 08:18:28 +02:00
Robert Schmidt aaae82d7b4 Implement F1 Setup Request/Response to be used internally
- send F1 Setup using callback
- store f1 setup req locally for reference
- check F1 Setup Req against RRC data structures:
  * if matches: send F1 Setup Response using callback
  * if not matching: send F1 Setup Failure using callback
- don't send CU config update by default, we don't need this
- if the Setup Response does not contain a cell, don't activate. It is
  possible the CU sends a gNB-CU configuration update, which will
  initialize the structures
2023-09-22 08:18:28 +02:00
francescomani 591697642b fix numerology in computing feedback for PUCCH 2023-09-21 19:04:15 +02:00
Robert Schmidt 84d8f6c272 Add stubs for F1 Setup Request/Response/Failure messages 2023-09-21 12:49:20 +02:00
Robert Schmidt d8276eed3e F1AP: harmonize f1ap_plmn_t type in all messages 2023-09-21 12:49:20 +02:00
Robert Schmidt 4be567bb77 Remove unneeded eth_params_n from eNB/UE MAC 2023-09-21 12:49:20 +02:00
francescomani f820d74605 fix for scrambling dci and renaming ss_type field 2023-09-19 12:51:42 +02:00
Robert Schmidt 4c83925fc4 Merge remote-tracking branch 'origin/service-models-integration' into integration_2023_w37 2023-09-14 17:59:12 +02:00
Robert Schmidt f66d995df7 Merge remote-tracking branch 'origin/NR_UE_harq_improvements' into integration_2023_w37 2023-09-14 17:59:04 +02:00
Robert Schmidt cf1a0b1cd7 Merge remote-tracking branch 'origin/bugfix-nr-rlc-control-pdu' into integration_2023_w37 2023-09-14 12:31:10 +02:00
Rúben Soares da Silva 09d7487dc1 Fix packing/unpacking for (n)FAPI PARAM and CONFIG.request/response
- Fix 4G and 5G discrepancy in TLV padding requirements: 4G does not
  need padding, whereas 5G needs, so make separate set of function for
  padding for NR
- Fix packing/unpacking for (n)FAPI PARAM and CONFIG.request/response
  messages
- Handle message padding to next 32-bit boundary, as per SCF
  specification in packing and unpacking functions
- Account for message header size upon receiving message in PNF and VNF
2023-09-14 08:56:19 +02:00