Commit Graph
26218 Commits
Author SHA1 Message Date
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 c5b6195a60 Merge remote-tracking branch 'origin/fix-sleeping-ue-at-synchro' into integration_2024_w14 2024-04-04 17:50:46 +02:00
Jaroslava Fiedlerova ad77def89d Merge remote-tracking branch 'origin/remove-stored-G-in-UE-dl' into integration_2024_w14 2024-04-04 17:49:56 +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
Jaroslava Fiedlerova 2ace33d289 Merge remote-tracking branch 'origin/NR_MAC_UE_rework_processing_DCI' into integration_2024_w14 2024-04-04 16:39:37 +02:00
francescomani 2f9fe36412 improvements in the procedures for SR at MAC UE 2024-04-04 14:34:56 +02:00
Raphael Defosseux a227eb7720 chore(ci): some docker improvements
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2024-04-04 14:22:26 +02:00
francescomani 21d3a4ea51 improving the handling of sr_TransMax 2024-04-04 13:58:01 +02:00
francescomani 338426ed72 use NR_timer_t for SR-ProhibitTimer 2024-04-04 08:37:56 +02:00
Laurent THOMAS df86214067 Add a generic function for tx write out of order (timestamps not increasing)
Add an API to allow out-of-order writes to a radio interface, unlike the
current interface.

this function is called in UE in this commit, even if the tx might
still be in order.

Later, i plan to improve UE pulti-threading, that will lead to out of
order tx.  also, the gNB will benefit of this new function to replace
several specific pieces of code that reorder tx with over complex and
slow systems
2024-04-04 08:19:52 +02:00
Laurent THOMAS effe4f1c81 replace transient malloc by stack allocation, add defense code on block size 2024-04-03 10:31:34 +02:00
Laurent THOMAS 7106f3c15c fix sleeping UE when PSS detection is wrapping over frame buffer 2024-04-03 09:44:50 +02:00
Laurent THOMAS a3f472a58b remove stored G in UE DL, not needed and creating issues with DCI format 11/type0 2024-04-03 09:42:46 +02:00
francescomani aaddf3623c bugfix: new implementation prevented to find DL DCI if there was already UL DCI in the same slot 2024-04-03 09:14:50 +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 0f9b335951 minor: move declaration of variable 2024-04-03 08:28:15 +02:00
Cedric Roux f81a463f99 nrUE: reply SecurityModeFailure if integrity of SecurityModeCommand fails 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 b9f0299165 nrUE: simplify nr_rrc_ue_process_securityModeCommand()
The case securityModeFailure didn't seem to be implemented
properly, so I just removed it entirely.

The variable 'securityMode' did not make much sense, removed as well.
Plus for integrity, there was: securityMode |= 1 << 5 for nea1
and << 6 for nea2, which does not seem correct (I would expect << 4
and << 5 respectively), so it was properly incorrect.

'securityModeCommand->criticalExtensions.choice.securityModeCommand'
was accessed before checking that
'securityModeCommand->criticalExtensions.present'
is 'NR_SecurityModeCommand__criticalExtensions_PR_securityModeCommand',
which is wrong.

The tests 'securityMode >= NO_SECURITY_MODE' and 'securityMode != 0xff'
don't make sense/are unclear, so removed too.

So let's simplify this function, wrong in several places. And put
some AssertFatal() so that the code won't do weird things. The
AssertFatal() can be removed later and the function improved later
if needed. The case securityModeFailure can also be handled later,
but I think there is more work to do than just encoding the message
and send it to the gNB, so it's not bad to remove it for the moment.
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 d4d534f1ef nrUE: bugfix: derive and use correct security keys for DRBs 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
Cedric Roux 7cceaa3fae nrUE: report nea2 support in the capabilities 2024-04-03 08:26:39 +02:00
Robert Schmidt 1cae1879be Merge branch 'integration_2024_w13' into 'develop'
Integration `2024.w13`

Closes #696 and #762

See merge request oai/openairinterface5g!2653

* !1911 Preparatory work for NR DL 4-layer MIMO at gNB
* !2610 fix ug on pilot 2 in nr_pbch_dmrs_correlation() that is lacking signal...
* !2639 NR gNB PUCCH2 CQI workaround
* !2642 NR UE demoting to LOG_D another log that cause flooding
* !2644 NR UE prevent segfault at detach
* !2645 add error code for pdu session reject in the ue
* !2600 Handle Msg3 with SRB1 RRCReestablishmentComplete and MAC CE C-RNTI
* trigger RF-sim E1+F1 test without asan
* !2636 Fix various F1 problems
* !2641 NR DL and UL channel estimation fix
* !2652 Provide additional troubleshooting documentation for QtScope
* !2646 NRUE fix asn_sequence_del to clear a list
* !2504 CI: use iperf3, refactor Iperf_Module
* !2617 use UE ID instead of RNTI internally in NR RLC
* !2619 Minor PDCP fixes
* !2648 Minor CI fixes, stack protection, fix E1+F1 Quectel test, L2sim5G test
2024-04-03 06:04:17 +00:00
Jaroslava Fiedlerova acd94f9d43 Merge remote-tracking branch 'origin/ci-fixes' into integration_2024_w13 2024-04-02 19:13:02 +02:00
Jaroslava Fiedlerova 4885e1d4ef EXPERIMANTAL: add -fstack-protector-strong to rhel image build 2024-04-02 18:18: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 0edb81dc01 Merge remote-tracking branch 'origin/ci-iperf-improvements-test' into integration_2024_w13 2024-04-02 11:40:28 +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 4d25ee9545 Merge remote-tracking branch 'origin/dqt-troubleshoot-doc' into integration_2024_w13 2024-04-02 11:35:51 +02:00
Jaroslava Fiedlerova 06f45c462b Merge remote-tracking branch 'origin/NR_fix_layer_port_confusion_channel_estimates' into integration_2024_w13 2024-04-02 11:33:48 +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
Robert Schmidt 897e499d55 Use normal/non asan images for 5G RFsim E1 2024-04-02 11:12:09 +02:00
Sagar Arora 84d28168f7 UPF can only use IPv4 and FQDN localhost resolves to IPv6 on an IPv6 enabled machine 2024-04-02 11:06:30 +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 3dd2e5e1c3 Merge remote-tracking branch 'origin/add-message-pdu-sessio-reject' into integration_2024_w13 2024-03-29 17:03:19 +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 5fc9a4bc42 Merge remote-tracking branch 'origin/demote_another_log_printed_too_many_times' into integration_2024_w13 2024-03-29 17:02:16 +01:00
Jaroslava Fiedlerova 19eb0af185 Merge remote-tracking branch 'origin/NR_PUCCH2_RX_CQI' into integration_2024_w13 2024-03-29 16:59:27 +01:00
Jaroslava Fiedlerova c5bc442410 Merge remote-tracking branch 'origin/better-log-ue-sync' into integration_2024_w13 2024-03-29 16:08:38 +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
Robert Schmidt 9b8479488f Provide additional troubleshooting documentation for QtScope
On Wayland (e.g., Gnome on Ubuntu 22), additional steps might be
necessary to make QtScope run. Describe them in the doc.

Closes: #696
2024-03-29 09:50:32 +01:00