From 1d85ae0245daf9bed2c57c8bd0cc38ac50726e53 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Mon, 14 Oct 2024 16:34:03 +0200 Subject: [PATCH] Cleanup nr_rrc_pdcp_config_security() Pass directly pointer to UE context, remove protocol_ctxt_t (which simply is not required, and supposed to be removed anyway). --- openair2/RRC/NR/rrc_gNB.c | 2 +- openair2/RRC/NR/rrc_gNB_NGAP.c | 15 +++------------ openair2/RRC/NR/rrc_gNB_NGAP.h | 7 +------ 3 files changed, 5 insertions(+), 19 deletions(-) diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c index c1c78943e5..d6844ee54e 100644 --- a/openair2/RRC/NR/rrc_gNB.c +++ b/openair2/RRC/NR/rrc_gNB.c @@ -1733,7 +1733,7 @@ int rrc_gNB_decode_dcch(const protocol_ctxt_t *const ctxt_pP, } /* configure ciphering */ - nr_rrc_pdcp_config_security(ctxt_pP, ue_context_p, 1); + nr_rrc_pdcp_config_security(&ue_context_p->ue_context, true); ue_context_p->ue_context.as_security_active = true; /* trigger UE capability enquiry if we don't have them yet */ diff --git a/openair2/RRC/NR/rrc_gNB_NGAP.c b/openair2/RRC/NR/rrc_gNB_NGAP.c index 6ffb8ad88e..7e614b09b2 100644 --- a/openair2/RRC/NR/rrc_gNB_NGAP.c +++ b/openair2/RRC/NR/rrc_gNB_NGAP.c @@ -126,18 +126,9 @@ void process_gNB_security_key ( LOG_I(NR_RRC, "[gNB %d][UE %x] Saved security key %s\n", ctxt_pP->module_id, UE->rnti, ascii_buffer); } -//------------------------------------------------------------------------------ -void -nr_rrc_pdcp_config_security( - const protocol_ctxt_t *const ctxt_pP, - rrc_gNB_ue_context_t *const ue_context_pP, - const uint8_t enable_ciphering -) -//------------------------------------------------------------------------------ +void nr_rrc_pdcp_config_security(gNB_RRC_UE_t *UE, bool enable_ciphering) { - //uint8_t *k_kdf = NULL; static int print_keys= 1; - gNB_RRC_UE_t *UE = &ue_context_pP->ue_context; /* Derive the keys from kgnb */ nr_pdcp_entity_security_keys_and_algos_t security_parameters; @@ -157,7 +148,7 @@ nr_rrc_pdcp_config_security( } } - nr_pdcp_config_set_security(ctxt_pP->rntiMaybeUEid, DCCH, true, &security_parameters); + nr_pdcp_config_set_security(UE->rrc_ue_id, DCCH, true, &security_parameters); } //------------------------------------------------------------------------------ @@ -478,7 +469,7 @@ int rrc_gNB_process_NGAP_INITIAL_CONTEXT_SETUP_REQ(MessageDef *msg_p, instance_t process_gNB_security_key(&ctxt, ue_context_p, req->security_key); /* configure only integrity, ciphering comes after receiving SecurityModeComplete */ - nr_rrc_pdcp_config_security(&ctxt, ue_context_p, 0); + nr_rrc_pdcp_config_security(UE, false); rrc_gNB_generate_SecurityModeCommand(&ctxt, ue_context_p); if (req->nb_of_pdusessions > 0) { diff --git a/openair2/RRC/NR/rrc_gNB_NGAP.h b/openair2/RRC/NR/rrc_gNB_NGAP.h index 533aa8d15d..ee091b4269 100644 --- a/openair2/RRC/NR/rrc_gNB_NGAP.h +++ b/openair2/RRC/NR/rrc_gNB_NGAP.h @@ -112,12 +112,7 @@ rrc_gNB_send_NGAP_PDUSESSION_RELEASE_RESPONSE( uint8_t xid ); -void -nr_rrc_pdcp_config_security( - const protocol_ctxt_t *const ctxt_pP, - rrc_gNB_ue_context_t *const ue_context_pP, - const uint8_t send_security_mode_command -); +void nr_rrc_pdcp_config_security(gNB_RRC_UE_t *UE, bool enable_ciphering); int rrc_gNB_process_PAGING_IND(MessageDef *msg_p, instance_t instance);