/****************************************************************************** * * Copyright (c) 2019 Intel. * * Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 * * 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. * *******************************************************************************/ #include #include "nr5g_fapi_std.h" #include "nr5g_fapi_common_types.h" #include "nr5g_fapi_args.h" #include "nr5g_fapi_config_loader.h" #include "nr5g_fapi_dpdk.h" #include "nr5g_fapi_framework.h" #include "nr5g_fapi_cmd.h" int main( int argc, char **argv) { const char *config_file = NULL; p_nr5g_fapi_cfg_t config = NULL; if (NULL == (config_file = nr5g_fapi_parse_args(argc, argv))) { NR5G_FAPI_LOG(ERROR_LOG, ("Config file parsing error")); exit(1); } if (NULL == (config = nr5g_fapi_config_loader(argv[0], config_file))) { NR5G_FAPI_LOG(ERROR_LOG, ("Config file loading error")); exit(1); } nr5g_fapi_dpdk_init(config); if (FAILURE == nr5g_fapi_framework_init(config)) { NR5G_FAPI_LOG(ERROR_LOG, ("ORAN_5G_FAPI init failed")); exit(1); } NR5G_FAPI_LOG(INFO_LOG, ("ORAN_5G_FAPI init successful")); nr5g_fapi_cmgr((void *)config); nr5g_fapi_dpdk_wait(config); pthread_attr_destroy(&config->phy2mac_thread_info.thread_attr); pthread_attr_destroy(&config->mac2phy_thread_info.thread_attr); free(config); return 0; }