From 62d33ce523a7a1ae837078d4a3ef648fc68b5199 Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Mon, 3 Jul 2023 09:40:34 +0100 Subject: [PATCH] Add function to remove all SDAP entities for a UE --- openair2/SDAP/nr_sdap/nr_sdap_entity.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/openair2/SDAP/nr_sdap/nr_sdap_entity.c b/openair2/SDAP/nr_sdap/nr_sdap_entity.c index a0c8f10ada..bc3ea0ad9d 100644 --- a/openair2/SDAP/nr_sdap/nr_sdap_entity.c +++ b/openair2/SDAP/nr_sdap/nr_sdap_entity.c @@ -486,3 +486,23 @@ int nr_sdap_delete_entity(ue_id_t ue_id, int pdusession_id) } return 0; } + +void nr_sdap_delete_ue_entities(ue_id_t ue_id) +{ + nr_sdap_entity_t *entityPtr = sdap_info.sdap_entity_llist; + int pos = 0; + while (entityPtr != NULL) { + if (entityPtr->ue_id == ue_id) { + if (pos == 0) { + sdap_info.sdap_entity_llist = sdap_info.sdap_entity_llist->next_entity; + } + LOG_I(SDAP, "Deleting SDAP entity for UE %lx and PDU Session id %d\n", ue_id, entityPtr->pdusession_id); + nr_sdap_entity_t *entityPrev = entityPtr; + free(entityPtr); + entityPtr = entityPrev->next_entity; + } else { + entityPtr = entityPtr->next_entity; + } + pos++; + } +}