51 lines
2.1 KiB
C
51 lines
2.1 KiB
C
/*
|
|
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright ownership.
|
|
* The OpenAirInterface Software Alliance licenses this file to You under
|
|
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
|
* except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.openairinterface.org/?page_id=698
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*-------------------------------------------------------------------------------
|
|
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
|
* contact@openairinterface.org
|
|
*/
|
|
|
|
#include "e2_agent_arg.h"
|
|
#include "e2_agent_paramdef.h"
|
|
#include "common/config/config_userapi.h"
|
|
|
|
e2_agent_args_t RCconfig_NR_E2agent(void)
|
|
{
|
|
paramdef_t e2agent_params[] = E2AGENT_PARAMS_DESC;
|
|
int ret = config_get(config_get_if(), e2agent_params, sizeofArray(e2agent_params), CONFIG_STRING_E2AGENT);
|
|
if (ret < 0) {
|
|
printf("configuration file does not contain a \"%s\" section, applying default parameters from FlexRIC\n", CONFIG_STRING_E2AGENT);
|
|
return (e2_agent_args_t) { 0 };
|
|
}
|
|
|
|
bool enabled = config_isparamset(e2agent_params, E2AGENT_CONFIG_SMDIR_IDX)
|
|
&& config_isparamset(e2agent_params, E2AGENT_CONFIG_IP_IDX);
|
|
e2_agent_args_t dst = {.enabled = enabled};
|
|
if (!enabled) {
|
|
printf("E2 agent is DISABLED (for activation, define .%s.{%s,%s} parameters)\n", CONFIG_STRING_E2AGENT, E2AGENT_CONFIG_IP, E2AGENT_CONFIG_SMDIR);
|
|
return dst;
|
|
}
|
|
|
|
if (e2agent_params[E2AGENT_CONFIG_SMDIR_IDX].strptr != NULL)
|
|
dst.sm_dir = *e2agent_params[E2AGENT_CONFIG_SMDIR_IDX].strptr;
|
|
|
|
if (e2agent_params[E2AGENT_CONFIG_IP_IDX].strptr != NULL)
|
|
dst.ip = *e2agent_params[E2AGENT_CONFIG_IP_IDX].strptr;
|
|
|
|
return dst;
|
|
}
|