Commit 81cc3c93 authored by Stefan Spettel's avatar Stefan Spettel

refact(smf): Added warning for unsupported features

Signed-off-by: default avatarStefan Spettel <stefan.spettel@eurecom.fr>
parent d54a2ecf
...@@ -519,7 +519,10 @@ int smf_config::load(const string& config_file) { ...@@ -519,7 +519,10 @@ int smf_config::load(const string& config_file) {
support_features.lookupValue( support_features.lookupValue(
SMF_CONFIG_STRING_SUPPORT_FEATURES_DISCOVER_PCF, opt); SMF_CONFIG_STRING_SUPPORT_FEATURES_DISCOVER_PCF, opt);
if (boost::iequals(opt, "yes")) { if (boost::iequals(opt, "yes")) {
discover_pcf = true; Logger::smf_app().warn(
"Discover PCF feature is not supported, you need to configure the "
"PCF in the config file. This feature is set to false.");
discover_pcf = false; // set to false as not yet supported
} else { } else {
discover_pcf = false; discover_pcf = false;
} }
...@@ -527,8 +530,11 @@ int smf_config::load(const string& config_file) { ...@@ -527,8 +530,11 @@ int smf_config::load(const string& config_file) {
support_features.lookupValue( support_features.lookupValue(
SMF_CONFIG_STRING_SUPPORT_FEATURES_USE_LOCAL_PCC_RULES, opt); SMF_CONFIG_STRING_SUPPORT_FEATURES_USE_LOCAL_PCC_RULES, opt);
if (boost::iequals(opt, "yes")) { if (boost::iequals(opt, "yes")) {
use_local_pcc_rules = true; Logger::smf_app().warn(
discover_pcf = false; "Local PCC rules feature is not supported, you need to configure "
"and use the PCF. This feature is set to false");
use_local_pcc_rules = false; // set to false as not yet supported
// discover_pcf = false;
} else { } else {
use_local_pcc_rules = false; use_local_pcc_rules = false;
} }
......
...@@ -1511,19 +1511,16 @@ void smf_context::handle_pdu_session_create_sm_context_request( ...@@ -1511,19 +1511,16 @@ void smf_context::handle_pdu_session_create_sm_context_request(
std::string smContextRef = std::to_string(smreq->scid); std::string smContextRef = std::to_string(smreq->scid);
sp.get()->policy_ptr = std::make_shared<n7::policy_association>(); sp.get()->policy_ptr = std::make_shared<n7::policy_association>();
bool use_pcf_policy = false; bool use_pcf_policy = false;
if (!smf_cfg.use_local_pcc_rules) {
sp.get()->policy_ptr->set_context( sp.get()->policy_ptr->set_context(
smf_supi_to_string(smreq->req.get_supi()), smreq->req.get_dnn(), snssai, smf_supi_to_string(smreq->req.get_supi()), smreq->req.get_dnn(), snssai,
plmn, smreq->req.get_pdu_session_id(), plmn, smreq->req.get_pdu_session_id(), smreq->req.get_pdu_session_type());
smreq->req.get_pdu_session_type());
// TODO what is the exact meaning of SCID? Is this unique per registration // TODO what is the exact meaning of SCID? Is this unique per registration
// or unique per PDU session? // or unique per PDU session?
sp.get()->policy_ptr->id = smreq->scid; sp.get()->policy_ptr->id = smreq->scid;
n7::sm_policy_status_code status = n7::sm_policy_status_code status =
n7::smf_n7::get_instance().create_sm_policy_association( n7::smf_n7::get_instance().create_sm_policy_association(*sp->policy_ptr);
*sp->policy_ptr);
if (status != n7::sm_policy_status_code::CREATED) { if (status != n7::sm_policy_status_code::CREATED) {
Logger::smf_n7().info( Logger::smf_n7().info(
"PCF SM Policy Association Creation was not successful. Continue " "PCF SM Policy Association Creation was not successful. Continue "
...@@ -1536,7 +1533,6 @@ void smf_context::handle_pdu_session_create_sm_context_request( ...@@ -1536,7 +1533,6 @@ void smf_context::handle_pdu_session_create_sm_context_request(
} else { } else {
use_pcf_policy = true; use_pcf_policy = true;
} }
}
// TODO use the PCC rules also for QoS and other policy information // TODO use the PCC rules also for QoS and other policy information
// Step 6. PCO // Step 6. PCO
......
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