mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
Replace fixed-size PDU session arrays with dynamically allocated pointers in E1AP bearer context request/response types to reduce memory footprint and improve scalability. Memory usage is now proportional to actual PDU session count instead of always allocating for maximum capacity. Impact: - Callers must allocate and free PDU session arrays; E1AP decode/cp allocate, free_e1ap_context_setup_request/mod_request free them. Major changes: - Request/response types (e1ap_messages_types.h): pduSession, pduSessionMod, pduSessionRem as pointers in setup/mod request and setup/modif response structs. - E1AP lib: decode allocates with bounds check; cp/eq/free handle pointer members; e1ap.c frees setup request after handling. - CU-UP (cucp_cuup_handler): allocate resp.pduSession and modif.pduSessionMod. - CU-CP side (cuup_cucp_direct, rrc_gNB, rrc_gNB_NGAP): allocate at E1 request build and call free after send where needed; rrc_gNB_NGAP includes E1AP free decls. - Tests (e1ap_lib_test, nr-cuup-load-test): allocate PDU session arrays in helpers. Signed-off-by: Guido Casati <guido.casati@openairinterface.org>