Commit Graph
518 Commits
Author SHA1 Message Date
Guido Casati 2b859cd7e2 Remove PDCP Suspend from nrUE
- according to clause 5.3.7.2 of 3GPP TS 38.331
  PDCP Suspend is not required during RRCReestablishment
2024-04-30 08:40:56 +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 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 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
Laurent THOMAS 80d4d600f3 print the mib when decoded 2024-03-26 20:57:31 +01:00
francescomani 1fa6be2a3d fix procedure after T300 expiry 2024-03-19 09:55:05 +01:00
francescomani b6aefac53a Merge remote-tracking branch 'origin/rework-ue-map-ro-to-ssb' into integration_2024_w11 2024-03-15 09:30:06 +01:00
Robert Schmidt e5713c9a56 Merge remote-tracking branch 'origin/NR_UE_RRC_handle_MeasConfig' into integration_2024_w11 2024-03-15 08:12:16 +01:00
francescomani c9cf72b33f RRCSetup fallback after re-establishment not implemented -> go back to IDLE 2024-03-13 17:59:11 +01:00
francescomani f15606e8ad handle reestablishPDCP in RadioBearerConfig 2024-03-13 17:59:11 +01:00
francescomani 37d3e5bb58 get SSB ARFCN at RRC UE (needed to update k_gnb key according to 33.501) 2024-03-13 17:59:11 +01:00
Cedric Roux 72e10a0ee6 nrUE: handle security settings for SRB1 and reestablishment
For the moment absoluteFrequencySSB is hardcoded. Fixed in a following commit.
2024-03-13 17:59:08 +01:00
francescomani f31cf3a68f handling reception of RRCReestablishment 2024-03-13 17:57:34 +01:00
francescomani 985802c06c T301 expiry 2024-03-13 17:57:34 +01:00
francescomani bb19306797 transmission of RRCReestablishmentRequest message 2024-03-13 17:57:28 +01:00
francescomani bfe77c7f29 Actions following cell selection while T311 is running 2024-03-13 17:48:45 +01:00
francescomani 8c2dc19470 reestablishment initiation 2024-03-13 17:48:45 +01:00
francescomani f03601ed8e implement functions to handle DRB status at RRC UE 2024-03-13 17:48:39 +01:00
francescomani 499bd49450 fix SIB other than 1 2024-03-12 09:53:02 +01:00
francescomani c917825dab remove calls to LTE mac.h in NR 2024-03-06 11:38:41 +01:00
Jaroslava Fiedlerova d56c7dfc07 Merge remote-tracking branch 'origin/717-sdap-reconfiguration' into integration_2024_w09 2024-03-04 17:37:50 +01:00
Guido Casati b431e1442f Moved nr_reconfigure_sdap_entity to SDAP module
- improves code readability and maintainability
2024-03-01 16:56:02 +01:00
francescomani a0224e8faf assert on measurement gaps 2024-02-29 11:06:08 +01:00
francescomani 23f65d8ab6 improvements in handling measurememt identity addition, modification and removal 2024-02-29 10:42:41 +01:00
francescomani e4b7d9fd58 improvements in handling quantityConfig 2024-02-29 10:42:41 +01:00
francescomani 0ab88e390b improvements in handling reportConfig addition, modification and removal 2024-02-29 10:42:41 +01:00
francescomani 801ebbbb5f improvements in handling measObject addition, modification and removal 2024-02-29 10:42:41 +01:00
Guido Casati ea0185f84e Introduced define for uint8_t integrity and ciphering keys data structures
- the goal is to improve maintanability
2024-02-28 11:14:00 +01:00
Guido Casati edb2dd7d6d SDAP Entity reconfiguration at UE according to TS 37.324
- triggered by RRC reconfiguration events according to clause 5.3.5.6.5 of TS 38.331
- This procedure does QoS flow to DRB mapping according to clause 5.3.1 of TS 37.324
- QoS flows to DRBs to be released are also handled
2024-02-27 09:47:26 +01:00
Guido Casati bc0cab7a08 Minor fixes and clang formatting in SDAP procedures
- added descriptive comments to the code
- removed redundant function prototype
- removed unused function argument
2024-02-27 09:47:24 +01:00
Raphael Defosseux 7337ae8664 Merge remote-tracking branch 'origin/NR_UE_RRC_improvements' into integration_2024_w08 2024-02-23 10:08:42 +01:00
Raphael Defosseux 3972cd44d6 Merge remote-tracking branch 'origin/NR_UE_maxmimo_layers' into integration_2024_w08 2024-02-23 10:08:15 +01:00
Robert Schmidt d01c147014 Merge remote-tracking branch 'origin/NR_PSBCH_MERGE2' into integration_2024_w06 2024-02-13 19:28:02 +01:00
Raghavendra Dinavahi 4d411dbce3 Sidelink configuration passed from RRC->MAC, defined interface functions
- Phy configuration will be prepared by MAC
	- Sidelink preconfiguration parameters passed from RRC->MAC
	- Only 1 SSB TA allocation used
	- psbch payload prepared by MAC after receiving the tx slss req
2024-02-12 12:57:01 +01:00
francescomani df867e533f formatting 2024-02-04 11:02:58 +01:00
francescomani 07c5cf3cad remove instance hardcoding in nsa_rrc_ue_process_ueCapabilityEnquiry 2024-02-04 10:51:46 +01:00
francescomani 3a6e93b809 radio bearers in generic RRC configuration, no need to store them per gNB 2024-02-04 10:46:05 +01:00
Francesco Mani 7086c5837f Fix in setting default timers 2024-02-01 11:45:24 +00:00
francescomani 2b44c0c8b2 set default timers at init and add logging when timer expires 2024-01-30 16:10:54 +01:00
francescomani e6b02c6d12 add option to configure max MIMO layers for PDSCH TBSLBRM computation from UE capabilities 2024-01-30 14:49:33 +01:00
francescomani 6e4787a5d2 Merge remote-tracking branch 'origin/NR_reworking_timers' into integration_2024_w04 2024-01-29 09:41:09 +01:00
francescomani 82f38d86a5 Merge remote-tracking branch 'origin/NR_UE_prepare_msg3_payload_in_advance' into integration_2024_w04 2024-01-26 17:12:54 +01:00
Jaroslava Fiedlerova a0de76ca96 Merge remote-tracking branch 'origin/NR_UE_reworking_NOS1_bearer_configuration' into integration_2024_w04 2024-01-26 09:43:45 +01:00
francescomani 65a8f07310 apply structure to sib timers 2024-01-24 14:26:06 +01:00
francescomani 9e8bc938bd new structure for UE timers and reworking of UE RRC timers 2024-01-24 14:26:06 +01:00
francescomani 4f3fcbfe13 free cellGroupConfig in RRC where it is allocated 2024-01-23 16:53:56 +01:00