Commit Graph
6823 Commits
Author SHA1 Message Date
francescomani 84e1d8205e add new state for UE detachement 2024-04-11 16:48:36 +02:00
francescomani 2baa126028 do not schedule RACH if not sync 2024-04-11 16:48:36 +02:00
francescomani 81641ea43d avoid another segfault at detach 2024-04-11 16:48:32 +02:00
francescomani 851cf96943 add detach log at MAC 2024-04-11 16:46:36 +02:00
francescomani 7c24dea132 avoid another possible segfault 2024-04-11 16:46:32 +02:00
francescomani 2a03d79389 adding a check on pusch_Config to avoid segfault 2024-04-11 16:27:44 +02:00
francescomani e8f0700881 free RACH structures in the right place for the right triggering cause 2024-04-11 16:27:44 +02:00
Robert Schmidt 4f5b7fcb9e Merge remote-tracking branch 'origin/fix-msg2-gnb' into integration_2024_w14 2024-04-08 17:53:54 +02:00
Robert Schmidt e3747ab592 Check if Msg3 start&length can be accommodated in mixed slot
Prior to this commit, it might happen that the gNB used TDA 0 (Start 0
len 13) for mixed slot, in which case the UE could not send msg3
(because a mixed slot has less than 13 symbols).
2024-04-08 17:30:37 +02:00
Robert Schmidt 0f1f76878e NRUE: print RA RNTI when receiving RAPID 2024-04-04 18:55:53 +02:00
Robert Schmidt 0716d1d6c0 gNB: Msg2: print used RAPID 2024-04-04 18:55:53 +02:00
Robert Schmidt b63762f9fe Improve RA logs 2024-04-04 18:55:53 +02:00
Robert Schmidt ca1ca5f5af Check beam before allocating Msg2/harmonize with Msg3 retx 2024-04-04 18:54:04 +02:00
Robert Schmidt d534e444f0 Check Msg3 TDA before committing to Msg2 allocation 2024-04-04 18:54:04 +02:00
Robert Schmidt 876b2ce8f6 Refactor Msg3 TDA selection in own function 2024-04-04 18:54:04 +02:00
Robert Schmidt defc97ec16 check Msg2 allocation frame/slot in DL scheduler
Move decision of Msg2 allocation time instant from instance we receive
RA indication (only containing preamble time information) to actual RA
scheduler (containing current DL slot time). This has the advantage:

- if Msg2 cannot be sent, we might try in a later slot
- no timing-based problems were a RACH.indication FAPI message might
  come late, we calculate a Msg2 frame/slot, but this instant has
  already passed in the DL scheduler
- no assumption about slot_ahead (an L1 constant)

The previous code calculated and verified an SSB index; I am not sure
this code is correct or used. I leave the function
ssb_index_from_prach() (hence the gcc attribute), but remove any checks.
Similarly, the beam association list might be wrong. I deleted the
corresponding code.
2024-04-04 18:54:04 +02:00
Robert Schmidt 8d37fde91f Refactor: store Msg.1 parameters in RA process
- the preamble is needed to detect when we are outside of the RA window,
  so store it
- store the rest of Msg1 variables together in struct
2024-04-04 18:54:04 +02:00
Robert Schmidt 7364d9bde7 Move find_monitoring_periodicity_offset_common() to RA file 2024-04-04 18:54:04 +02:00
Robert Schmidt 7873292f28 Reduce indentation in nr_generate_msg2(): no functional changes 2024-04-04 18:54:04 +02:00
Robert Schmidt 205cc66546 Refactor former find_nr_RA_id() to static function 2024-04-04 18:54:04 +02:00
Robert Schmidt 8f747d7aa2 Simplify nr_initiate_ra_proc()
- create function to find free RA process
- reorganize function to put Msg1 related processing first, Msg2 second
2024-04-04 18:54:04 +02:00
Robert Schmidt 6658eb28f0 Simplify nr_clear_ra_proc() 2024-04-04 18:54:04 +02:00
Robert Schmidt 3289189a2d Fix: Configure TDD beam association only in FR2; set to NULL otherwise
Before this commit, there was data that was not initialized, resulting
in Msg2 remaining unscheduled.
2024-04-04 18:53:33 +02:00
Jaroslava Fiedlerova 13ac4105b9 Merge remote-tracking branch 'origin/improve-nrue-security' into integration_2024_w14 2024-04-04 16:46:43 +02:00
francescomani fa27f9ad48 moving decision on DCI format type from L1 to MAC 2024-04-03 09:14:50 +02:00
Cedric Roux fbe2b65ee6 nr pdcp: small improvement: LOG after unlock
Reduces time with lock acquired.
2024-04-03 08:29:26 +02:00
Cedric Roux a323195aed nr pdcp: improve readability of integrity checking
Introduce the structure nr_pdcp_integrity_data_t and adapt code to use it.

Note: in nr_pdcp_sdu_t we keep the 'count' variable (which is also present
in nr_pdcp_integrity_data_t). They represent the same value, but 'count'
in nr_pdcp_integrity_data_t is to be specifically used for integrity while
the other one has other uses, so it's better to keep it.
2024-04-03 08:28:15 +02:00
Cedric Roux d1f490243e nrUE: check integrity of SecurityModeCommand
We AssertFatal() if integrity fails. To be refined if needed.
2024-04-03 08:28:15 +02:00
Cedric Roux 4e625b01d2 nr pdcp: add an API function to check integrity 2024-04-03 08:28:15 +02:00
Cedric Roux cc61d4f7be nr pdcp: pass MAC-I and header to upper layers
Needed by some RRC procedures to validate the integrity of a message
before accepting it.
2024-04-03 08:28:15 +02:00
Cedric Roux f85e3adc5a nrUE: bugfix/improvement in security mode handling
The use of security_mode_completed in the PDCP entity was a hack.

Plus it was not working at all with the deregistration request
when nea2 is used, sent when doing ctrl+c in the nrUE.

So let's remove it.

And let's handle activation of integrity and ciphering more in
accordance with what 38.331 says. SecurityModeComplete has to
be sent integrity protected, but not ciphered. Only after should
the ciphering be activated. (See 38.331 5.3.4.3.)
2024-04-03 08:28:12 +02:00
Jaroslava Fiedlerova 141558b812 Merge remote-tracking branch 'origin/nr-pdcp-minor-fixes' into integration_2024_w13 2024-04-02 18:16:33 +02:00
Jaroslava Fiedlerova 08b8071091 Merge remote-tracking branch 'origin/NR_RLC_UE_ID' into integration_2024_w13 2024-04-02 18:15:51 +02:00
Jaroslava Fiedlerova ded3618f70 Merge remote-tracking branch 'origin/NR_UE_fix_wrong_use_asn_sequence_del' into integration_2024_w13 2024-04-02 11:36:43 +02:00
Jaroslava Fiedlerova 3e9f1beea0 Merge remote-tracking branch 'origin/fix-f1-id-ues' into integration_2024_w13 2024-04-02 11:33:12 +02:00
Jaroslava Fiedlerova 87db25a3bb Merge remote-tracking branch 'origin/Fix_Msg3_RRCReestablishmentComplete_with_C-RNTI' into integration_2024_w13 2024-03-29 20:44:11 +01:00
Jaroslava Fiedlerova 87d14c3cd4 Merge remote-tracking branch 'origin/NR_prevent_segfault_at_detach' into integration_2024_w13 2024-03-29 17:02:45 +01:00
Jaroslava Fiedlerova c92650003f Merge remote-tracking branch 'origin/NR_4_layers_MIMO' into integration_2024_w13 2024-03-29 16:06:14 +01:00
Guido Casati 914e71fdab Flag RBs as suspended in PDCP
- this prevents pulling PDUs from PDCP when re-establishment is awaiting
2024-03-28 18:28:16 +01:00
Guido Casati f7a285cfc1 Define for PDCP Formats
- short and long SN sizes
- PDCP PDU header sizes
- PDCP integrity size
- getter for maximim PDCP PDU size
2024-03-28 18:28:11 +01:00
francescomani e77a1468d7 use UE ID instead of RNTI internally in RLC 2024-03-28 16:39:51 +01:00
francescomani 4a3beb0b48 fix usage of asn_sequence_del to clear a list 2024-03-28 13:50:11 +01:00
luis_pereira87 bbb1832c07 Handle Msg3 with SRB1 RRCReestablishmentComplete and MAC CE C-RNTI
From 3GPP TS 38.321 Section 5.4.3 Multiplexing and assembly, we need to process the highest priority subPDUs first:
- MAC CE for C-RNTI is the one with higher priority
2024-03-28 11:39:07 +00:00
Robert Schmidt 1e8f194d11 Only release UE in PDCP if in E1
Explanations: see #706. TLDR: the RRC code calls nr_pdcp_remove_ue(), so
we should not call it in the E1 handler if we do not use split mode.
2024-03-28 08:55:11 +01:00
francescomani 6e9dd015f6 DCI formats 11 and 01 assume the presence of an active BWP, if not present return with an error to prevent segfault 2024-03-27 09:36:19 +01:00
Robert Schmidt 0ecd346b07 Merge remote-tracking branch 'origin/NR_UE_data_scrambling_fix' into integration_2024_w12 2024-03-26 10:41:25 +01:00
francescomani f2c8305496 further improvements in precoding initialization at MAC 2024-03-25 16:01:09 +01:00
francescomani afde7f6c51 improvements in precoding initialization at MAC 2024-03-25 13:09:31 +01:00
Robert Schmidt eaff52f8e8 Merge remote-tracking branch 'origin/NR_UE_MAC_UL_improvements' into integration_2024_w12 2024-03-23 10:21:32 +01:00
Robert Schmidt 19092a5d15 Merge remote-tracking branch 'origin/phy-test-remove-mac-error-log' into integration_2024_w12 2024-03-22 16:35:16 +01:00