Skip to content

Commit 1a767c2

Browse files
alvasMancodebot
authored andcommitted
du: get bind address from F1-U GW
du: fix up du/cu integration test f1u,du: change get bind address to use gnb_du_id_t instead of uint32_t
1 parent 414d60e commit 1a767c2

File tree

10 files changed

+38
-10
lines changed

10 files changed

+38
-10
lines changed

include/srsran/f1u/du/f1u_gateway.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "srsran/f1u/du/f1u_bearer.h"
1414
#include "srsran/f1u/du/f1u_config.h"
1515
#include "srsran/f1u/du/f1u_tx_pdu_notifier.h"
16+
#include "srsran/ran/gnb_du_id.h"
1617
#include "srsran/ran/lcid.h"
1718
#include "srsran/ran/up_transport_layer_info.h"
1819
#include "srsran/support/timers.h"
@@ -57,7 +58,7 @@ class f1u_du_gateway : public srs_du::f1u_bearer_disconnector
5758
timer_factory timers,
5859
task_executor& ue_executor) = 0;
5960

60-
virtual expected<std::string> get_du_bind_address(uint32_t du_index) = 0;
61+
virtual expected<std::string> get_du_bind_address(gnb_du_id_t gnb_du_id) = 0;
6162
};
6263

6364
} // namespace srsran::srs_du

include/srsran/f1u/du/split_connector/f1u_split_connector.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ class f1u_split_connector final : public f1u_du_gateway
197197

198198
void remove_du_bearer(const up_transport_layer_info& dl_up_tnl_info) override;
199199

200-
expected<std::string> get_du_bind_address(uint32_t du_index) override;
200+
expected<std::string> get_du_bind_address(gnb_du_id_t gnb_du_id) override;
201201

202202
private:
203203
srslog::basic_logger& logger_du;

include/srsran/f1u/local_connector/f1u_local_connector.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,9 +199,9 @@ class f1u_local_connector final : public srs_du::f1u_du_gateway, public f1u_cu_u
199199

200200
void remove_du_bearer(const up_transport_layer_info& dl_up_tnl_info) override;
201201

202-
expected<std::string> get_du_bind_address(uint32_t du_index) override
202+
expected<std::string> get_du_bind_address(gnb_du_id_t gnb_du_id) override
203203
{
204-
return fmt::format("127.0.0.{}", 1 + du_index);
204+
return fmt::format("127.0.0.{}", 1 + static_cast<uint32_t>(gnb_du_id));
205205
}
206206

207207
private:

lib/du_high/du_high_impl.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,14 +116,19 @@ du_high_impl::du_high_impl(const du_high_configuration& config_) :
116116
cfg.sched_cfg,
117117
cfg.sched_ue_metrics_notifier ? *cfg.sched_ue_metrics_notifier : *metrics_notifier},
118118
cfg.test_cfg);
119-
f1ap = create_du_high_f1ap(*cfg.f1c_client,
119+
f1ap = create_du_high_f1ap(*cfg.f1c_client,
120120
adapters->f1_to_du_notifier,
121121
cfg.exec_mapper->du_control_executor(),
122122
cfg.exec_mapper->ue_mapper(),
123123
adapters->f1ap_paging_notifier,
124124
cfg.test_cfg);
125+
126+
expected<std::string> f1u_bind_string = config_.f1u_gw->get_du_bind_address(cfg.gnb_du_id);
127+
assert(f1u_bind_string.has_value());
128+
transport_layer_address f1u_bind_addr = transport_layer_address::create_from_string(f1u_bind_string.value());
129+
125130
du_manager = create_du_manager(du_manager_params{
126-
{cfg.gnb_du_name, cfg.gnb_du_id, 1, cfg.du_bind_addr, cfg.cells, cfg.srbs, cfg.qos},
131+
{cfg.gnb_du_name, cfg.gnb_du_id, 1, f1u_bind_addr, cfg.cells, cfg.srbs, cfg.qos},
127132
{timers, cfg.exec_mapper->du_control_executor(), cfg.exec_mapper->ue_mapper(), cfg.exec_mapper->cell_mapper()},
128133
{*f1ap, *f1ap},
129134
{*config_.f1u_gw},

lib/f1u/du/split_connector/f1u_split_connector.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ void f1u_split_connector::remove_du_bearer(const up_transport_layer_info& dl_up_
7575
logger_du.debug("Removed CU F1-U bearer with UL GTP Tunnel={}.", dl_up_tnl_info);
7676
}
7777

78-
expected<std::string> f1u_split_connector::get_du_bind_address(uint32_t du_index)
78+
expected<std::string> f1u_split_connector::get_du_bind_address(gnb_du_id_t gnb_du_id)
7979
{
8080
std::string ip_address;
8181
if (not udp_session->get_bind_address(ip_address)) {

tests/benchmarks/du_high/du_high_benchmark.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ class cu_up_simulator : public f1u_du_gateway
340340

341341
void remove_du_bearer(const up_transport_layer_info& dl_tnl) override {}
342342

343-
expected<std::string> get_du_bind_address(uint32_t du_index) override { return std::string("127.0.0.1"); }
343+
expected<std::string> get_du_bind_address(gnb_du_id_t gnb_du_id) override { return std::string("127.0.0.1"); }
344344
};
345345

346346
/// \brief Instantiation of the DU-high workers and executors for the benchmark.

tests/integrationtests/du_high_cu/cu_du_test.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ class cu_du_test : public ::testing::Test
7676
srsran::srs_du::du_high_configuration du_cfg{};
7777
du_cfg.exec_mapper = &workers.exec_mapper;
7878
du_cfg.f1c_client = &f1c_gw;
79+
du_cfg.f1u_gw = &f1u_gw;
7980
du_cfg.phy_adapter = &phy;
8081
du_cfg.timers = &timers;
8182
du_cfg.cells = {config_helpers::make_default_du_cell_config()};
@@ -94,6 +95,7 @@ class cu_du_test : public ::testing::Test
9495
timer_manager timers;
9596
srslog::basic_logger& test_logger = srslog::fetch_basic_logger("TEST");
9697
f1c_test_local_gateway f1c_gw{};
98+
f1u_test_local_gateway f1u_gw{};
9799

98100
std::unique_ptr<srs_cu_cp::mock_amf> amf{srs_cu_cp::create_mock_amf()};
99101
std::unique_ptr<srs_cu_cp::cu_cp> cu_cp_obj;

tests/test_doubles/f1ap/f1c_test_local_gateway.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "srsran/cu_cp/cu_cp_f1c_handler.h"
1414
#include "srsran/f1ap/common/f1ap_message.h"
1515
#include "srsran/f1ap/gateways/f1c_connection_client.h"
16+
#include "srsran/f1u/du/f1u_gateway.h"
1617

1718
namespace srsran {
1819

@@ -105,4 +106,23 @@ class f1c_test_local_gateway : public srs_du::f1c_connection_client
105106
std::vector<std::unique_ptr<du_connection_test_context>> connections;
106107
};
107108

109+
class f1u_test_local_gateway : public srs_du::f1u_du_gateway
110+
{
111+
std::unique_ptr<srs_du::f1u_du_gateway_bearer> create_du_bearer(uint32_t ue_index,
112+
drb_id_t drb_id,
113+
srs_du::f1u_config config,
114+
const up_transport_layer_info& dl_up_tnl_info,
115+
const up_transport_layer_info& ul_up_tnl_info,
116+
srs_du::f1u_du_gateway_bearer_rx_notifier& du_rx,
117+
timer_factory timers,
118+
task_executor& ue_executor) override
119+
{
120+
return nullptr;
121+
}
122+
123+
void remove_du_bearer(const up_transport_layer_info& dl_up_tnl_info) override {}
124+
125+
expected<std::string> get_du_bind_address(gnb_du_id_t du_index) override { return std::string("127.0.0.1"); }
126+
};
127+
108128
} // namespace srsran

tests/test_doubles/f1u/dummy_f1u_du_gateway.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ class cu_up_simulator : public f1u_du_gateway
6969
}
7070
}
7171

72-
expected<std::string> get_du_bind_address(uint32_t du_index) override { return std::string("127.0.0.1"); }
72+
expected<std::string> get_du_bind_address(gnb_du_id_t du_index) override { return std::string("127.0.0.1"); }
7373
};
7474

7575
} // namespace srs_du

tests/unittests/du_manager/du_manager_test_helpers.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ class f1u_gateway_dummy : public f1u_du_gateway
196196
f1u_bearers.erase(bearer_it);
197197
}
198198

199-
expected<std::string> get_du_bind_address(uint32_t du_index) override { return std::string("127.0.0.1"); }
199+
expected<std::string> get_du_bind_address(gnb_du_id_t du_index) override { return std::string("127.0.0.1"); }
200200

201201
std::map<up_transport_layer_info, std::map<up_transport_layer_info, f1u_gw_bearer_dummy*>> f1u_bearers;
202202
};

0 commit comments

Comments
 (0)