mirror of https://github.com/PentHertz/srsLTE.git
Making hss an interface for testing
This commit is contained in:
parent
3ead643c64
commit
8ea2e73b63
|
@ -65,7 +65,7 @@ enum hss_auth_algo {
|
|||
HSS_ALGO_MILENAGE
|
||||
};
|
||||
|
||||
class hss : public srsepc::hss_interface_s1ap
|
||||
class hss : public hss_interface_s1ap
|
||||
{
|
||||
public:
|
||||
static hss* get_instance(void);
|
||||
|
|
|
@ -66,7 +66,7 @@ class mme:
|
|||
public:
|
||||
static mme* get_instance(void);
|
||||
static void cleanup(void);
|
||||
int init(mme_args_t* args, srslte::log_filter *s1ap_log, srslte::log_filter *mme_gtpc_log);
|
||||
int init(mme_args_t* args, srslte::log_filter *s1ap_log, srslte::log_filter *mme_gtpc_log, hss_interface_s1ap * hss_);
|
||||
void stop();
|
||||
int get_s1_mme();
|
||||
void run_thread();
|
||||
|
|
|
@ -59,7 +59,7 @@ public:
|
|||
static void cleanup();
|
||||
|
||||
int enb_listen();
|
||||
int init(s1ap_args_t s1ap_args, srslte::log_filter *s1ap_log);
|
||||
int init(s1ap_args_t s1ap_args, srslte::log_filter *s1ap_log, hss_interface_s1ap * hss_);
|
||||
void stop();
|
||||
|
||||
int get_s1_mme();
|
||||
|
@ -103,7 +103,7 @@ private:
|
|||
uint32_t m_plmn;
|
||||
srslte::byte_buffer_pool *m_pool;
|
||||
|
||||
hss *m_hss;
|
||||
hss_interface_s1ap *m_hss;
|
||||
int m_s1mme;
|
||||
std::map<uint16_t, enb_ctx_t*> m_active_enbs;
|
||||
std::map<int32_t, uint16_t> m_sctp_to_enb_id;
|
||||
|
|
|
@ -42,7 +42,7 @@ public:
|
|||
static s1ap_nas_transport* m_instance;
|
||||
static s1ap_nas_transport* get_instance(void);
|
||||
static void cleanup(void);
|
||||
void init(void);
|
||||
void init(hss_interface_s1ap * hss_);
|
||||
|
||||
bool handle_initial_ue_message(LIBLTE_S1AP_MESSAGE_INITIALUEMESSAGE_STRUCT *init_ue, struct sctp_sndrcvinfo *enb_sri, srslte::byte_buffer_t *reply_buffer, bool *reply_flag);
|
||||
bool handle_uplink_nas_transport(LIBLTE_S1AP_MESSAGE_UPLINKNASTRANSPORT_STRUCT *ul_xport, struct sctp_sndrcvinfo *enb_sri, srslte::byte_buffer_t *reply_buffer, bool *reply_flag);
|
||||
|
@ -97,7 +97,7 @@ private:
|
|||
srslte::byte_buffer_pool *m_pool;
|
||||
|
||||
s1ap* m_s1ap;
|
||||
hss* m_hss;
|
||||
hss_interface_s1ap* m_hss;
|
||||
mme_gtpc* m_mme_gtpc;
|
||||
};
|
||||
|
||||
|
|
|
@ -304,19 +304,20 @@ main (int argc,char * argv[] )
|
|||
spgw_log.init("SPGW",logger);
|
||||
spgw_log.set_level(level(args.log_args.spgw_level));
|
||||
spgw_log.set_hex_limit(args.log_args.spgw_hex_limit);
|
||||
|
||||
mme *mme = mme::get_instance();
|
||||
if (mme->init(&args.mme_args, &s1ap_log, &mme_gtpc_log)) {
|
||||
cout << "Error initializing MME" << endl;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
hss *hss = hss::get_instance();
|
||||
if (hss->init(&args.hss_args,&hss_log)) {
|
||||
cout << "Error initializing HSS" << endl;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
mme *mme = mme::get_instance();
|
||||
if (mme->init(&args.mme_args, &s1ap_log, &mme_gtpc_log, hss)) {
|
||||
cout << "Error initializing MME" << endl;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
spgw *spgw = spgw::get_instance();
|
||||
if (spgw->init(&args.spgw_args,&spgw_log)) {
|
||||
cout << "Error initializing SP-GW" << endl;
|
||||
|
|
|
@ -70,7 +70,7 @@ mme::cleanup(void)
|
|||
}
|
||||
|
||||
int
|
||||
mme::init(mme_args_t* args, srslte::log_filter *s1ap_log, srslte::log_filter *mme_gtpc_log)
|
||||
mme::init(mme_args_t* args, srslte::log_filter *s1ap_log, srslte::log_filter *mme_gtpc_log, hss_interface_s1ap * hss_)
|
||||
{
|
||||
|
||||
/*Init logger*/
|
||||
|
@ -78,7 +78,7 @@ mme::init(mme_args_t* args, srslte::log_filter *s1ap_log, srslte::log_filter *mm
|
|||
m_mme_gtpc_log = mme_gtpc_log;
|
||||
/*Init S1AP*/
|
||||
m_s1ap = s1ap::get_instance();
|
||||
if(m_s1ap->init(args->s1ap_args, s1ap_log)){
|
||||
if(m_s1ap->init(args->s1ap_args, s1ap_log, hss_)){
|
||||
m_s1ap_log->error("Error initializing MME S1APP\n");
|
||||
exit(-1);
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ s1ap::cleanup(void)
|
|||
}
|
||||
|
||||
int
|
||||
s1ap::init(s1ap_args_t s1ap_args, srslte::log_filter *s1ap_log)
|
||||
s1ap::init(s1ap_args_t s1ap_args, srslte::log_filter *s1ap_log, hss_interface_s1ap * hss_)
|
||||
{
|
||||
m_pool = srslte::byte_buffer_pool::get_instance();
|
||||
|
||||
|
@ -77,18 +77,18 @@ s1ap::init(s1ap_args_t s1ap_args, srslte::log_filter *s1ap_log)
|
|||
//Init log
|
||||
m_s1ap_log = s1ap_log;
|
||||
|
||||
//Get pointer to the HSS
|
||||
m_hss = hss_;
|
||||
|
||||
//Init message handlers
|
||||
m_s1ap_mngmt_proc = s1ap_mngmt_proc::get_instance(); //Managment procedures
|
||||
m_s1ap_mngmt_proc->init();
|
||||
m_s1ap_nas_transport = s1ap_nas_transport::get_instance(); //NAS Transport procedures
|
||||
m_s1ap_nas_transport->init();
|
||||
m_s1ap_nas_transport->init(m_hss);
|
||||
m_s1ap_ctx_mngmt_proc = s1ap_ctx_mngmt_proc::get_instance(); //Context Management Procedures
|
||||
m_s1ap_ctx_mngmt_proc->init();
|
||||
|
||||
|
||||
//Get pointer to the HSS
|
||||
m_hss = hss::get_instance();
|
||||
|
||||
//Get pointer to GTP-C class
|
||||
m_mme_gtpc = mme_gtpc::get_instance();
|
||||
|
||||
|
|
|
@ -64,13 +64,13 @@ s1ap_nas_transport::cleanup(void)
|
|||
}
|
||||
|
||||
void
|
||||
s1ap_nas_transport::init(void)
|
||||
s1ap_nas_transport::init(hss_interface_s1ap * hss_)
|
||||
{
|
||||
m_s1ap = s1ap::get_instance();
|
||||
m_s1ap_log = m_s1ap->m_s1ap_log;
|
||||
m_pool = srslte::byte_buffer_pool::get_instance();
|
||||
|
||||
m_hss = hss::get_instance();
|
||||
m_hss = hss_;
|
||||
m_mme_gtpc = mme_gtpc::get_instance();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue