From 46edf6feab35c20317634657f401ff46db95e570 Mon Sep 17 00:00:00 2001 From: Pedro Alvarez Date: Mon, 13 Nov 2017 15:18:35 +0000 Subject: [PATCH] Small modification to parse config file. --- srsepc/epc.conf.example | 25 +++++++++++++++++++++++++ srsepc/src/main.cc | 20 ++++++++++++++++++++ srsepc/src/mme/mme.cc | 4 ++-- 3 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 srsepc/epc.conf.example diff --git a/srsepc/epc.conf.example b/srsepc/epc.conf.example new file mode 100644 index 000000000..16434ceee --- /dev/null +++ b/srsepc/epc.conf.example @@ -0,0 +1,25 @@ +##################################################################### +# srsEPC configuration file +##################################################################### + +##################################################################### +# MME configuration +# +# mme_code: 8-bit MME code identifies the MME within a group. +# mme_group: 16-bit MME group identifier. +# tac: 16-bit Tracking Area Code. +# mcc: Mobile Country Code +# mnc: Mobile Network Code +# mme_bindx_addr: IP subnet to listen for eNB S1 connnections +# +##################################################################### +[mme] +mme_code = 0x19 +mme_group = 0x0001 +tac = 0x0001 +mcc = 001 +mnc = 01 +mme_bind_addr = 127.0.0.0/24 + + + diff --git a/srsepc/src/main.cc b/srsepc/src/main.cc index 366ffaf5f..1627a216c 100644 --- a/srsepc/src/main.cc +++ b/srsepc/src/main.cc @@ -22,6 +22,7 @@ * */ #include +#include #include #include #include @@ -113,6 +114,25 @@ parse_args(all_args_t *args, int argc, char* argv[]) { cout << common << endl << general << endl; exit(0); } + + //Parsing Config File + if (!vm.count("config_file")) { + cout << "Error: Configuration file not provided" << endl; + cout << "Usage: " << argv[0] << " [OPTIONS] config_file" << endl << endl; + exit(0); + } else { + cout << "Reading configuration file " << config_file << "..." << endl; + ifstream conf(config_file.c_str(), ios::in); + if(conf.fail()) { + cout << "Failed to read configuration file " << config_file << " - exiting" << endl; + exit(1); + } + bpo::store(bpo::parse_config_file(conf, common), vm); + bpo::notify(vm); + } + + + //Concert hex strings { std::stringstream sstr; diff --git a/srsepc/src/mme/mme.cc b/srsepc/src/mme/mme.cc index a8629f2fc..8d45276e8 100644 --- a/srsepc/src/mme/mme.cc +++ b/srsepc/src/mme/mme.cc @@ -81,8 +81,8 @@ mme::init(mme_args_t* args, srslte::log_filter *s1ap_log) /*Init logger*/ m_s1ap_log = s1ap_log; - m_s1ap_log->info("MME Initialized\n"); - m_s1ap_log->console("MME Initialized\n"); + m_s1ap_log->info("MME Initialized. MCC: %d, MNC: %d\n",args->s1ap_args.mcc, args->s1ap_args.mnc); + m_s1ap_log->console("MME Initialized. \n"); return 0; }