Commit 60f9d83f authored by Tien Thinh NGUYEN's avatar Tien Thinh NGUYEN Committed by sagar arora

Add virtual destructor for ITTI msg

parent c3c0d467
......@@ -843,7 +843,7 @@ void amf_n1::service_request_handle(
std::make_unique<ServiceRequest>();
service_request->decodefrombuffer(
nullptr, (uint8_t*) bdata(nas), blength(nas));
bdestroy(nas);
bdestroy_wrapper(&nas);
std::unique_ptr<ServiceAccept> service_accept =
std::make_unique<ServiceAccept>();
service_accept->setHeader(PLAIN_5GS_MSG);
......@@ -908,7 +908,7 @@ void amf_n1::service_request_handle(
std::make_unique<ServiceRequest>();
service_request_nas->decodefrombuffer(
nullptr, (uint8_t*) bdata(plain_msg), blength(plain_msg));
bdestroy(plain_msg);
bdestroy_wrapper(&plain_msg);
if (service_request_nas->getPduSessionStatus() > 0) {
pdu_session_status =
(uint16_t) service_request_nas->getPduSessionStatus();
......@@ -1040,7 +1040,7 @@ void amf_n1::registration_request_handle(
nullptr, (uint8_t*) bdata(reg), blength(reg));
nc->registration_request = blk2bstr((uint8_t*) bdata(reg), blength(reg));
nc->registration_request_is_set = true;
bdestroy(reg); // free buffer
bdestroy_wrapper(&reg); // free buffer
// Find UE context
std::shared_ptr<ue_context> uc = {};
......@@ -2566,7 +2566,7 @@ void amf_n1::security_mode_complete_handle(
registration_request->decodefrombuffer(
nullptr, (uint8_t*) bdata(nas_msg_container),
blength(nas_msg_container));
bdestroy(nas_msg_container); // free buffer
bdestroy_wrapper(&nas_msg_container); // free buffer
// Get Requested NSSAI (Optional IE), if provided
if (registration_request->getRequestedNssai(nc.get()->requestedNssai)) {
......@@ -3438,7 +3438,7 @@ void amf_n1::run_periodic_registration_update_procedure(
std::make_unique<RegistrationRequest>();
registration_request->decodefrombuffer(
nullptr, (uint8_t*) bdata(nas_msg), blength(nas_msg));
bdestroy(nas_msg); // free buffer
bdestroy_wrapper(&nas_msg); // free buffer
// Encoding REGISTRATION ACCEPT
auto reg_accept = std::make_unique<RegistrationAccept>();
......
......@@ -868,8 +868,8 @@ void amf_n2::handle_itti_message(itti_initial_context_setup_request& itti_msg) {
}
msg->setAllowedNssai(list);
bdestroy(itti_msg.nas);
bdestroy(itti_msg.kgnb);
bdestroy_wrapper(&itti_msg.nas);
bdestroy_wrapper(&itti_msg.kgnb);
if (itti_msg.is_sr or itti_msg.is_pdu_exist) {
// Set UE RAdio Capability if available
if (gc.get()->ue_radio_cap_ind) {
......
......@@ -24,7 +24,6 @@
#include <chrono>
#include <condition_variable>
//#include <iomanip>
#include <stdint.h>
#include <iostream>
......
......@@ -148,6 +148,7 @@ class itti_msg_timeout : public itti_msg {
timer_id(i.timer_id),
arg1_user(i.arg1_user),
arg2_user(i.arg2_user) {}
virtual ~itti_msg_timeout(){};
static const char* get_msg_name() { return "TIME_OUT"; };
uint32_t timer_id;
uint64_t arg1_user;
......@@ -160,6 +161,7 @@ class itti_msg_ping : public itti_msg {
const task_id_t origin, const task_id_t destination, uint32_t seq)
: itti_msg(HEALTH_PING, origin, destination), seq(seq) {}
itti_msg_ping(const itti_msg_ping& i) : itti_msg(i), seq(i.seq) {}
virtual ~itti_msg_ping(){};
static const char* get_msg_name() { return "HEALTH_PING"; };
uint32_t seq;
};
......@@ -169,6 +171,7 @@ class itti_msg_terminate : public itti_msg {
itti_msg_terminate(const task_id_t origin, const task_id_t destination)
: itti_msg(TERMINATE, origin, destination) {}
itti_msg_terminate(const itti_msg_terminate& i) : itti_msg(i) {}
virtual ~itti_msg_terminate(){};
static const char* get_msg_name() { return "TERMINATE"; };
};
......
......@@ -40,6 +40,7 @@ class itti_msg_n1 : public itti_msg {
ran_ue_ngap_id = i.ran_ue_ngap_id;
amf_ue_ngap_id = i.amf_ue_ngap_id;
}
virtual ~itti_msg_n1() = default;
public:
bool is_nas_signalling_estab_req;
......@@ -64,6 +65,7 @@ class itti_uplink_nas_data_ind : public itti_msg_n1 {
is_guti_valid = i.is_guti_valid;
guti = i.guti;
}
virtual ~itti_uplink_nas_data_ind() { bdestroy_wrapper(&nas_msg); }
public:
bstring nas_msg;
......@@ -92,6 +94,10 @@ class itti_downlink_nas_transfer : public itti_msg_n1 {
pdu_session_id = i.pdu_session_id;
n2sm_info_type = i.n2sm_info_type;
}
virtual ~itti_downlink_nas_transfer() {
bdestroy_wrapper(&dl_nas);
bdestroy_wrapper(&n2sm);
}
public:
bstring dl_nas;
......
......@@ -48,6 +48,8 @@ class itti_msg_n2 : public itti_msg {
assoc_id = i.assoc_id;
stream = i.stream;
}
virtual ~itti_msg_n2() {}
sctp_assoc_id_t assoc_id;
sctp_stream_id_t stream;
};
......@@ -56,6 +58,7 @@ class itti_new_sctp_association : public itti_msg_n2 {
public:
itti_new_sctp_association(const task_id_t origin, const task_id_t destination)
: itti_msg_n2(NEW_SCTP_ASSOCIATION, origin, destination) {}
virtual ~itti_new_sctp_association(){};
};
class itti_ng_setup_request : public itti_msg_n2 {
......@@ -67,6 +70,7 @@ class itti_ng_setup_request : public itti_msg_n2 {
itti_ng_setup_request(const itti_ng_setup_request& i) : itti_msg_n2(i) {
ngSetupReq = i.ngSetupReq;
}
virtual ~itti_ng_setup_request() { free_wrapper((void**) &ngSetupReq); }
public:
NGSetupRequestMsg* ngSetupReq;
......@@ -81,6 +85,7 @@ class itti_ng_reset : public itti_msg_n2 {
itti_ng_reset(const itti_ng_reset& i) : itti_msg_n2(i) {
ngReset = i.ngReset;
}
virtual ~itti_ng_reset() { free_wrapper((void**) &ngReset); }
public:
NGResetMsg* ngReset;
......@@ -91,6 +96,7 @@ class itti_ng_shutdown : public itti_msg_n2 {
itti_ng_shutdown(const task_id_t origin, const task_id_t destination)
: itti_msg_n2(NG_SHUTDOWN, origin, destination) {}
itti_ng_shutdown(const itti_ng_shutdown& i) : itti_msg_n2(i) {}
virtual ~itti_ng_shutdown() {}
};
class itti_initial_ue_message : public itti_msg_n2 {
......@@ -102,6 +108,7 @@ class itti_initial_ue_message : public itti_msg_n2 {
itti_initial_ue_message(const itti_initial_ue_message& i) : itti_msg_n2(i) {
initUeMsg = i.initUeMsg;
}
virtual ~itti_initial_ue_message() { free_wrapper((void**) &initUeMsg); }
InitialUEMessageMsg* initUeMsg;
};
......@@ -115,6 +122,7 @@ class itti_ul_nas_transport : public itti_msg_n2 {
itti_ul_nas_transport(const itti_ul_nas_transport& i) : itti_msg_n2(i) {
ulNas = i.ulNas;
}
virtual ~itti_ul_nas_transport() { free_wrapper((void**) &ulNas); }
UplinkNASTransportMsg* ulNas;
};
......@@ -132,6 +140,7 @@ class itti_dl_nas_transport : public itti_msg_n2 {
amf_ue_ngap_id = i.amf_ue_ngap_id;
nas = i.nas;
}
virtual ~itti_dl_nas_transport() { free_wrapper((void**) &nas); }
public:
uint32_t ran_ue_ngap_id;
......@@ -167,6 +176,11 @@ class itti_initial_context_setup_request : public itti_msg_n2 {
is_pdu_exist = i.is_pdu_exist;
is_n2sm_avaliable = i.is_n2sm_avaliable;
}
virtual ~itti_initial_context_setup_request() {
free_wrapper((void**) &kgnb);
free_wrapper((void**) &nas);
free_wrapper((void**) &n2sm);
}
uint32_t ran_ue_ngap_id;
long amf_ue_ngap_id;
......@@ -199,6 +213,11 @@ class itti_pdu_session_resource_setup_request : public itti_msg_n2 {
amf_ue_ngap_id = i.amf_ue_ngap_id;
pdu_session_id = i.pdu_session_id;
}
virtual ~itti_pdu_session_resource_setup_request() {
free_wrapper((void**) &nas);
free_wrapper((void**) &n2sm);
}
bstring nas;
bstring n2sm;
uint32_t ran_ue_ngap_id;
......@@ -228,6 +247,10 @@ class itti_pdu_session_resource_modify_request : public itti_msg_n2 {
pdu_session_id = i.pdu_session_id;
s_NSSAI = i.s_NSSAI;
}
virtual ~itti_pdu_session_resource_modify_request() {
free_wrapper((void**) &nas);
free_wrapper((void**) &n2sm);
}
bstring nas;
bstring n2sm;
......@@ -257,6 +280,10 @@ class itti_pdu_session_resource_release_command : public itti_msg_n2 {
amf_ue_ngap_id = i.amf_ue_ngap_id;
pdu_session_id = i.pdu_session_id;
}
virtual ~itti_pdu_session_resource_release_command() {
free_wrapper((void**) &nas);
free_wrapper((void**) &n2sm);
}
bstring nas;
bstring n2sm;
......@@ -276,6 +303,10 @@ class itti_ue_context_release_request : public itti_msg_n2 {
: itti_msg_n2(i) {
ueCtxRel = i.ueCtxRel;
}
virtual ~itti_ue_context_release_request() {
free_wrapper((void**) &ueCtxRel);
}
UEContextReleaseRequestMsg* ueCtxRel;
};
......@@ -312,6 +343,10 @@ class itti_ue_context_release_complete : public itti_msg_n2 {
: itti_msg_n2(i) {
ueCtxRelCmpl = i.ueCtxRelCmpl;
}
virtual ~itti_ue_context_release_complete() {
free_wrapper((void**) &ueCtxRelCmpl);
}
UEContextReleaseCompleteMsg* ueCtxRelCmpl;
};
......@@ -327,6 +362,10 @@ class itti_ue_radio_capability_indication : public itti_msg_n2 {
: itti_msg_n2(i) {
ueRadioCap = i.ueRadioCap;
}
virtual ~itti_ue_radio_capability_indication() {
free_wrapper((void**) &ueRadioCap);
}
UeRadioCapabilityInfoIndicationMsg* ueRadioCap;
};
......@@ -339,6 +378,8 @@ class itti_handover_required : public itti_msg_n2 {
itti_handover_required(const itti_handover_required& i) : itti_msg_n2(i) {
handoverReq = i.handoverReq;
}
virtual ~itti_handover_required() { free_wrapper((void**) &handoverReq); }
HandoverRequiredMsg* handoverReq;
};
......@@ -369,6 +410,10 @@ class itti_handover_request_Ack : public itti_msg_n2 {
: itti_msg_n2(i) {
handoverrequestAck = i.handoverrequestAck;
}
virtual ~itti_handover_request_Ack() {
free_wrapper((void**) &handoverrequestAck);
}
HandoverRequestAck* handoverrequestAck;
};
......@@ -381,6 +426,8 @@ class itti_handover_notify : public itti_msg_n2 {
itti_handover_notify(const itti_handover_notify& i) : itti_msg_n2(i) {
handovernotify = i.handovernotify;
}
virtual ~itti_handover_notify() { free_wrapper((void**) &handovernotify); }
HandoverNotifyMsg* handovernotify;
};
......@@ -395,6 +442,10 @@ class itti_uplink_ran_status_transfer : public itti_msg_n2 {
: itti_msg_n2(i) {
uplinkrantransfer = i.uplinkrantransfer;
}
virtual ~itti_uplink_ran_status_transfer() {
free_wrapper((void**) &uplinkrantransfer);
}
UplinkRANStatusTransfer* uplinkrantransfer;
};
......
......@@ -30,9 +30,12 @@
#include "amf_profile.hpp"
#include "bstrlib.h"
#include "itti_msg.hpp"
#include "pistache/http.h"
//#include "pistache/http.h"
extern "C" {
#include "dynamic_memory_check.h"
}
// using namespace oai::amf::model;
using namespace amf_application;
class itti_msg_n11 : public itti_msg {
......@@ -48,6 +51,7 @@ class itti_msg_n11 : public itti_msg {
ran_ue_ngap_id = i.ran_ue_ngap_id;
amf_ue_ngap_id = i.amf_ue_ngap_id;
}
virtual ~itti_msg_n11(){};
public:
long amf_ue_ngap_id;
......@@ -76,6 +80,10 @@ class itti_nsmf_pdusession_create_sm_context : public itti_msg_n11 {
snssai = {};
plmn = {};
}
virtual ~itti_nsmf_pdusession_create_sm_context() {
bdestroy_wrapper(&dnn);
bdestroy_wrapper(&sm_msg);
}
public:
uint8_t req_type;
......@@ -100,6 +108,9 @@ class itti_pdu_session_resource_setup_response : public itti_msg_n11 {
pdu_session_id = i.pdu_session_id;
n2sm = i.n2sm;
}
virtual ~itti_pdu_session_resource_setup_response() {
bdestroy_wrapper(&n2sm);
}
public:
uint8_t pdu_session_id;
......@@ -134,6 +145,7 @@ class itti_nsmf_pdusession_update_sm_context : public itti_msg_n11 {
ho_state = i.ho_state;
up_cnx_state = i.up_cnx_state;
}
virtual ~itti_nsmf_pdusession_update_sm_context() { bdestroy_wrapper(&n2sm); }
public:
std::string supi;
......@@ -159,6 +171,7 @@ class itti_nsmf_pdusession_release_sm_context : public itti_msg_n11 {
promise_id = i.promise_id;
context_location = i.context_location;
}
virtual ~itti_nsmf_pdusession_release_sm_context() {}
public:
std::string supi;
......@@ -180,6 +193,7 @@ class itti_sbi_msg : public itti_msg {
origin = orig;
destination = dest;
}
virtual ~itti_sbi_msg() {}
};
//-----------------------------------------------------------------------------
......@@ -189,6 +203,7 @@ class itti_sbi_register_nf_instance_request : public itti_sbi_msg {
const task_id_t orig, const task_id_t dest)
: itti_sbi_msg(SBI_REGISTER_NF_INSTANCE_REQUEST, orig, dest),
http_version(1) {}
virtual ~itti_sbi_register_nf_instance_request() {}
const char* get_msg_name() { return "SBI_REGISTER_NF_INSTANCE_REQUEST"; };
amf_application::amf_profile profile;
......@@ -202,6 +217,7 @@ class itti_sbi_register_nf_instance_response : public itti_sbi_msg {
const task_id_t orig, const task_id_t dest)
: itti_sbi_msg(SBI_REGISTER_NF_INSTANCE_RESPONSE, orig, dest),
http_version(1) {}
virtual ~itti_sbi_register_nf_instance_response(){};
const char* get_msg_name() { return "SBI_REGISTER_NF_INSTANCE_RESPONSE"; };
amf_application::amf_profile profile;
......@@ -216,6 +232,7 @@ class itti_sbi_update_nf_instance_request : public itti_sbi_msg {
const task_id_t orig, const task_id_t dest)
: itti_sbi_msg(SBI_UPDATE_NF_INSTANCE_REQUEST, orig, dest),
http_version(1) {}
virtual ~itti_sbi_update_nf_instance_request(){};
const char* get_msg_name() { return "SBI_UPDATE_NF_INSTANCE_REQUEST"; };
// std::vector<oai::amf::model::PatchItem> patch_items;
......@@ -230,6 +247,7 @@ class itti_sbi_update_nf_instance_response : public itti_sbi_msg {
const task_id_t orig, const task_id_t dest)
: itti_sbi_msg(SBI_UPDATE_NF_INSTANCE_RESPONSE, orig, dest),
http_version(1) {}
virtual ~itti_sbi_update_nf_instance_response(){};
const char* get_msg_name() { return "SBI_UPDATE_NF_INSTANCE_RESPONSE"; };
uint8_t http_version;
......@@ -242,6 +260,7 @@ class itti_sbi_deregister_nf_instance : public itti_sbi_msg {
public:
itti_sbi_deregister_nf_instance(const task_id_t orig, const task_id_t dest)
: itti_sbi_msg(SBI_DEREGISTER_NF_INSTANCE, orig, dest), http_version(1) {}
virtual ~itti_sbi_deregister_nf_instance(){};
const char* get_msg_name() { return "SBI_DEREGISTER_NF_INSTANCE"; };
uint8_t http_version;
......@@ -255,6 +274,7 @@ class itti_sbi_slice_selection_subscription_data : public itti_sbi_msg {
const task_id_t orig, const task_id_t dest)
: itti_sbi_msg(SBI_SLICE_SELECTION_SUBSCRIPTION_DATA, orig, dest),
http_version(1) {}
virtual ~itti_sbi_slice_selection_subscription_data(){};
const char* get_msg_name() {
return "SBI_SLICE_SELECTION_SUBSCRIPTION_DATA";
};
......@@ -272,6 +292,7 @@ class itti_sbi_network_slice_selection_information : public itti_sbi_msg {
const task_id_t orig, const task_id_t dest)
: itti_sbi_msg(SBI_NETWORK_SLICE_SELECTION_INFORMATION, orig, dest),
http_version(1) {}
virtual ~itti_sbi_network_slice_selection_information(){};
const char* get_msg_name() {
return "SBI_NETWORK_SLICE_SELECTION_INFORMATION";
};
......@@ -290,6 +311,7 @@ class itti_sbi_nf_instance_discovery : public itti_sbi_msg {
: itti_sbi_msg(SBI_NF_INSTANCE_DISCOVERY, orig, dest),
target_amf_set_is_set(false),
http_version(1) {}
virtual ~itti_sbi_nf_instance_discovery(){};
const char* get_msg_name() { return "SBI_NF_INSTANCE_DISCOVERY"; };
uint8_t http_version;
......@@ -310,6 +332,10 @@ class itti_sbi_n1_message_notify : public itti_sbi_msg {
supi = {};
registration_request = nullptr;
}
virtual ~itti_sbi_n1_message_notify() {
bdestroy_wrapper(&registration_request);
};
const char* get_msg_name() { return "SBI_N1_MESSAGE_NOTIFY"; };
uint8_t http_version;
......@@ -333,6 +359,7 @@ class itti_sbi_event_exposure_request : public itti_sbi_msg {
: itti_sbi_msg(i, orig, dest),
event_exposure(i.event_exposure),
http_version(i.http_version) {}
virtual ~itti_sbi_event_exposure_request(){};
const char* get_msg_name() { return "SBI_EVENT_EXPOSURE_REQUEST"; };
event_exposure_msg event_exposure;
......@@ -356,6 +383,7 @@ class itti_sbi_notification_data : public itti_sbi_msg {
: itti_sbi_msg(i, orig, dest),
notification_msg(i.notification_msg),
http_version(i.http_version) {}
virtual ~itti_sbi_notification_data(){};
const char* get_msg_name() { return "SBI_NOTIFICATION_DATA"; };
data_notification_msg notification_msg;
......@@ -378,6 +406,7 @@ class itti_sbi_notify_subscribed_event : public itti_sbi_msg {
: itti_sbi_msg(i, orig, dest),
notif_id(i.notif_id),
http_version(i.http_version) {}
virtual ~itti_sbi_notify_subscribed_event(){};
const char* get_msg_name() { return "SBI_NOTIFY_SUBSCRIBED_EVENT"; };
std::string notif_id;
......@@ -408,6 +437,7 @@ class itti_sbi_n1_message_notification : public itti_sbi_msg {
ue_id(i.ue_id),
n1sm(i.n1sm),
http_version(i.http_version) {}
virtual ~itti_sbi_n1_message_notification(){};
const char* get_msg_name() { return "SBI_N1_MESSAGE_NOTIFICATION"; };
oai::amf::model::N1MessageNotification notification_msg;
......@@ -440,6 +470,7 @@ class itti_sbi_n1n2_message_subscribe : public itti_sbi_msg {
subscription_data(i.subscription_data),
http_version(i.http_version),
promise_id(i.promise_id) {}
virtual ~itti_sbi_n1n2_message_subscribe(){};
const char* get_msg_name() { return "SBI_N1N2_MESSAGE_SUBSCRIBE"; };
std::string ue_cxt_id;
......@@ -472,6 +503,7 @@ class itti_sbi_n1n2_message_unsubscribe : public itti_sbi_msg {
subscription_id(i.subscription_id),
http_version(i.http_version),
promise_id(i.promise_id) {}
virtual ~itti_sbi_n1n2_message_unsubscribe(){};
const char* get_msg_name() { return "SBI_N1N2_MESSAGE_UNSUBSCRIBE"; };
std::string ue_cxt_id;
......@@ -488,6 +520,7 @@ class itti_sbi_amf_configuration : public itti_sbi_msg {
: itti_sbi_msg(SBI_AMF_CONFIGURATION, orig, dest),
http_version(1),
promise_id(pid) {}
virtual ~itti_sbi_amf_configuration(){};
const char* get_msg_name() { return "SBI_AMF_CONFIGURATION"; };
uint8_t http_version;
......@@ -502,6 +535,7 @@ class itti_sbi_update_amf_configuration : public itti_sbi_msg {
: itti_sbi_msg(SBI_UPDATE_AMF_CONFIGURATION, orig, dest),
http_version(1),
promise_id(pid) {}
virtual ~itti_sbi_update_amf_configuration(){};
const char* get_msg_name() { return "SBI_UPDATE_AMF_CONFIGURATION"; };
uint8_t http_version;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment