Skip to content

Commit 35e7888

Browse files
committed
config: added the CU-UP, CU-CP and flexible DU functions to fill the config in a YAML node.
1 parent 423ae90 commit 35e7888

33 files changed

+1929
-30
lines changed

apps/gnb/gnb.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,20 @@
6262
#include "apps/services/metrics_plotter_json.h"
6363
#include "apps/services/metrics_plotter_stdout.h"
6464
#include "apps/units/cu_cp/cu_cp_builder.h"
65+
#include "apps/units/cu_cp/cu_cp_unit_config_yaml_writer.h"
6566
#include "apps/units/cu_cp/pcap_factory.h"
6667
#include "apps/units/cu_up/cu_up_builder.h"
68+
#include "apps/units/cu_up/cu_up_unit_config_yaml_writer.h"
6769
#include "apps/units/cu_up/pcap_factory.h"
6870
#include "apps/units/flexible_du/du_high/pcap_factory.h"
6971
#include "apps/units/flexible_du/split_dynamic/dynamic_du_unit_cli11_schema.h"
7072
#include "apps/units/flexible_du/split_dynamic/dynamic_du_unit_config_validator.h"
73+
#include "apps/units/flexible_du/split_dynamic/dynamic_du_unit_config_yaml_writer.h"
7174
#include "apps/units/flexible_du/split_dynamic/dynamic_du_unit_logger_registrator.h"
7275
#include "srsran/support/cli11_utils.h"
7376

77+
#include <yaml-cpp/node/convert.h>
78+
7479
#ifdef DPDK_FOUND
7580
#include "srsran/hal/dpdk/dpdk_eal_factory.h"
7681
#endif
@@ -241,6 +246,14 @@ int main(int argc, char** argv)
241246
// Refesh defaults in case some parameters may have changed after the autoderivation process.
242247
refresh_defaults(app);
243248
config_logger.debug("Input configuration (all values): \n{}", app.config_to_str(true, false));
249+
250+
config_logger.debug("NOW IT GOES THE MANUAL CONFIG");
251+
YAML::Node node;
252+
fill_cu_up_config_in_yaml_schema(node, cu_up_config);
253+
fill_cu_cp_config_in_yaml_schema(node, cu_cp_config);
254+
fill_dynamic_du_unit_config_in_yaml_schema(node, du_unit_cfg);
255+
config_logger.debug("CU-UP config values: \n{}", YAML::Dump(node));
256+
244257
} else {
245258
config_logger.info("Input configuration (only non-default values): \n{}", app.config_to_str(false, false));
246259
}

apps/services/os_sched_affinity_manager.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,21 @@ enum class sched_affinity_mask_policy {
2626
last
2727
};
2828

29+
/// Converts the given affinity mask policy into a string.
30+
inline std::string to_string(sched_affinity_mask_policy policy)
31+
{
32+
switch (policy) {
33+
case sched_affinity_mask_policy::mask:
34+
return "mask";
35+
case sched_affinity_mask_policy::round_robin:
36+
return "round-robin";
37+
default:
38+
srsran_assert(0, "Invalid affinity mask policy");
39+
break;
40+
}
41+
return {};
42+
}
43+
2944
/// Converts the given sting into an affinity mask policy or returns last if it could not convert it.
3045
inline sched_affinity_mask_policy to_affinity_mask_policy(const std::string& value)
3146
{

apps/units/cu_cp/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99
set(SOURCES
1010
cu_cp_application_unit_impl.cpp
1111
cu_cp_builder.cpp
12+
cu_cp_unit_config_cli11_schema.cpp
1213
cu_cp_config_translators.cpp
1314
cu_cp_unit_config_validator.cpp
14-
cu_cp_unit_config_cli11_schema.cpp)
15+
cu_cp_unit_config_yaml_writer.cpp)
1516

1617
add_library(srsran_cu_cp_app_unit STATIC ${SOURCES})
1718
target_include_directories(srsran_cu_cp_app_unit PRIVATE ${CMAKE_SOURCE_DIR})

0 commit comments

Comments
 (0)