Skip to content

Commit 4ac5300

Browse files
author
codebot
committed
Update main
# Conflicts: # tests/unittests/phy/upper/channel_processors/prach_detector_test_data.tar.gz # tests/unittests/phy/upper/channel_processors/pucch_processor_format0_test_data.tar.gz # tests/unittests/phy/upper/signal_processors/port_channel_estimator_test_data.tar.gz
2 parents e5a3ba2 + c7e75d4 commit 4ac5300

File tree

118 files changed

+2747
-1096
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+2747
-1096
lines changed

.gitlab/ci/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2033,6 +2033,7 @@ custom build:
20332033
- *build_after_script
20342034
artifacts:
20352035
<<: *build_artifacts
2036+
expire_in: 4 hours
20362037
cache:
20372038
- !reference [.fetch_src_cache, cache]
20382039
- *cache_build_get

.gitlab/ci/e2e.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ variables:
1818
- "zmq"
1919
- "zmq_deb"
2020
- "zmq_single_ue"
21+
- "zmq_2x2_mimo"
2122
- "zmq_4x4_mimo"
2223
- "zmq_srsue"
24+
- "zmq_cudu"
2325
- "rf_b200"
2426
- "rf_hp"
2527
- "android_b200"
@@ -286,6 +288,20 @@ amari 1UE:
286288
- *txrx-lib
287289
- *retina-needs
288290

291+
amari 1UE 2x2 mimo:
292+
extends: .zmq
293+
variables:
294+
TESTBED: "zmq_2x2_mimo"
295+
MARKERS: "zmq_2x2_mimo"
296+
E2E_LOG_LEVEL: "info"
297+
RETINA_PARAM_ARGS: "gnb.all.pcap=True gnb.all.rlc_enable=False gnb.all.enable_integrity_protection=True"
298+
needs:
299+
- job: "basic relwithdeb"
300+
artifacts: true
301+
- *txrx-lib
302+
- *retina-needs
303+
allow_failure: true
304+
289305
amari 1UE 4x4 mimo:
290306
extends: .zmq
291307
variables:
@@ -549,6 +565,7 @@ validate n300 config:
549565
variables:
550566
MARKERS: "rf_n300"
551567
TESTBED: "android_n300"
568+
allow_failure: true
552569

553570
################################################################################
554571
# Android
@@ -586,6 +603,7 @@ android n300:
586603
extends: android x300
587604
variables:
588605
TESTBED: "android_n300"
606+
allow_failure: true
589607

590608
################################################################################
591609
# VIAVI

.gitlab/ci/e2e/.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
SRSGNB_REGISTRY_URI=registry.gitlab.com/softwareradiosystems/srsgnb
22
RETINA_REGISTRY_PREFIX=registry.gitlab.com/softwareradiosystems/ci/retina
3-
RETINA_VERSION=0.51.10
3+
RETINA_VERSION=0.51.15
44
UBUNTU_VERSION=24.04
55
AMARISOFT_VERSION=2023-09-08
66
SRSUE_VERSION=23.11
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#
2+
# Copyright 2013-2024 Software Radio Systems Limited
3+
#
4+
# By using this file, you agree to the terms and conditions set
5+
# forth in the LICENSE file which can be found at the top level of
6+
# the distribution.
7+
#
8+
9+
- name: amarisoft-ue
10+
type: ue
11+
image: ${RETINA_REGISTRY_PREFIX}/amarisoftue:${AMARISOFT_VERSION}_${RETINA_VERSION}
12+
labels:
13+
- ${ZMQ_HOSTLABEL_1}
14+
nof_ports: 32
15+
requirements:
16+
arch: amd64
17+
cpu:
18+
requests: 5
19+
limits: 5
20+
memory:
21+
requests: "26G"
22+
limits: "26G"
23+
ephemeral-storage:
24+
requests: "6G"
25+
limits: "6G"
26+
resources:
27+
- type: zmq
28+
nof_antennas_dl: 2
29+
nof_antennas_ul: 2
30+
- type: license
31+
model: amarisoft-5g
32+
shared_files:
33+
- local_path: ${AMARISOFT_TXRX_BINARY_PATH}
34+
remote_path: /opt/lteue/trx_srsran.so
35+
is_executable: true
36+
37+
- name: srs-gnb
38+
type: gnb
39+
image: ${RETINA_REGISTRY_PREFIX}/srsgnb:${RETINA_VERSION}
40+
labels:
41+
- ${ZMQ_HOSTLABEL_1}
42+
requirements:
43+
arch: amd64
44+
cpu:
45+
requests: 5
46+
limits: 5
47+
memory:
48+
requests: "26G"
49+
limits: "26G"
50+
ephemeral-storage:
51+
requests: "6G"
52+
limits: "6G"
53+
resources:
54+
- type: zmq
55+
nof_antennas_dl: 2
56+
nof_antennas_ul: 2
57+
environment:
58+
- PATH: ${PATH}:/builds/softwareradiosystems/srsgnb/build/apps/gnb
59+
shared_files:
60+
- local_path: ${GNB_BINARY_PATH}
61+
remote_path: /usr/local/bin/gnb
62+
is_executable: true
63+
64+
- name: open5gs
65+
type: 5gc
66+
requirements:
67+
arch: amd64
68+
cpu:
69+
requests: 1
70+
limits: 1
71+
memory:
72+
requests: "8G"
73+
limits: "8G"
74+
ephemeral-storage:
75+
requests: "6G"
76+
limits: "6G"
77+
image: ${RETINA_REGISTRY_PREFIX}/open5gs:${OPEN5GS_VERSION}_${RETINA_VERSION}
78+
labels:
79+
- ${ZMQ_HOSTLABEL_1}

.gitlab/ci/trx.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ build trx driver:
7878
artifacts: &trx_artifacts
7979
paths:
8080
- build_trx_srsran/libtrx_srsran.so
81-
expire_in: 10 minutes
81+
expire_in: 4 hours
8282

8383
build amariue zmq driver:
8484
extends: build trx driver

apps/cu/cu.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ int main(int argc, char** argv)
292292
sctp_network_gateway_config f1c_sctp_cfg = {};
293293
f1c_sctp_cfg.if_name = "F1-C";
294294
f1c_sctp_cfg.bind_address = cu_cfg.f1ap_cfg.bind_addr;
295-
f1c_sctp_cfg.bind_port = 38471;
295+
f1c_sctp_cfg.bind_port = F1AP_PORT;
296296
f1c_sctp_cfg.ppid = F1AP_PPID;
297297
f1c_cu_sctp_gateway_config f1c_server_cfg({f1c_sctp_cfg, *epoll_broker, *cu_cp_dlt_pcaps.f1ap});
298298
std::unique_ptr<srs_cu_cp::f1c_connection_server> cu_f1c_gw = srsran::create_f1c_gateway_server(f1c_server_cfg);

apps/du/adapters/f1_gateways.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ std::unique_ptr<srs_du::f1c_connection_client> create_f1c_client_gateway(const s
3636
f1c_sctp.if_name = "F1-C";
3737
f1c_sctp.dest_name = "CU-CP";
3838
f1c_sctp.connect_address = cu_cp_addr;
39-
f1c_sctp.connect_port = 38471;
39+
f1c_sctp.connect_port = F1AP_PORT;
4040
f1c_sctp.ppid = F1AP_PPID;
4141
f1c_sctp.bind_address = bind_addr;
4242
return create_f1c_gateway_client(f1c_du_sctp_gateway_config{f1c_sctp, broker, f1ap_pcap});

apps/gnb/gnb.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,26 @@ static void register_app_logs(const logger_appconfig& log_cfg,
184184
register_dynamic_du_loggers(du_loggers);
185185
}
186186

187+
static void autoderive_slicing_args(dynamic_du_unit_config& du_unit_cfg, cu_cp_unit_config& cu_cp_config)
188+
{
189+
std::vector<s_nssai_t> du_slices;
190+
for (const auto& cell_cfg : du_unit_cfg.du_high_cfg.config.cells_cfg) {
191+
for (const auto& slice : cell_cfg.cell.slice_cfg) {
192+
if (du_slices.end() == std::find(du_slices.begin(), du_slices.end(), slice.s_nssai)) {
193+
du_slices.push_back(slice.s_nssai);
194+
}
195+
}
196+
}
197+
// NOTE: A CU-CP can serve more slices than slices configured in the DU cells.
198+
// [Implementation-defined] Ensure that all slices served by DU cells are part of CU-CP served slices.
199+
for (const auto& slice : du_slices) {
200+
if (cu_cp_config.slice_cfg.end() ==
201+
std::find(cu_cp_config.slice_cfg.begin(), cu_cp_config.slice_cfg.end(), slice)) {
202+
cu_cp_config.slice_cfg.push_back(slice);
203+
}
204+
}
205+
}
206+
187207
int main(int argc, char** argv)
188208
{
189209
// Set the application error handler.
@@ -225,6 +245,7 @@ int main(int argc, char** argv)
225245
// Set the callback for the app calling all the autoderivation functions.
226246
app.callback([&app, &gnb_cfg, &du_unit_cfg, &cu_cp_config]() {
227247
autoderive_gnb_parameters_after_parsing(app, gnb_cfg);
248+
autoderive_slicing_args(du_unit_cfg, cu_cp_config);
228249
autoderive_dynamic_du_parameters_after_parsing(app, du_unit_cfg);
229250

230251
// Create the PLMN and TAC list from the cells.

apps/services/metrics_log_helper.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ void metrics_log_helper::report_metrics(const rlc_metrics& metrics)
133133
fmt::format_to(buffer, " du={}", metrics.du_index);
134134
fmt::format_to(buffer, " ue={}", metrics.ue_index);
135135
fmt::format_to(buffer, " rb={}", metrics.rb_id);
136+
fmt::format_to(buffer, " mode={}", metrics.rx.mode);
136137
fmt::format_to(buffer, " TX=[{}]", format_rlc_tx_metrics(metrics.metrics_period, metrics.tx));
137138
fmt::format_to(buffer, " RX=[{}] ", format_rlc_rx_metrics(metrics.metrics_period, metrics.rx));
138139
logger.debug("{}", to_c_str(buffer));

apps/services/rlc_metrics_plotter_json.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,17 +96,17 @@ void rlc_metrics_plotter_json::report_metrics(const rlc_metrics& drb)
9696
ctx.get<mlist_drbs>().emplace_back();
9797
auto& output = ctx.get<mlist_drbs>().back();
9898

99-
output.write<metric_du_id>(drb.du_index);
99+
output.write<metric_du_id>(static_cast<uint32_t>(drb.du_index));
100100
output.write<metric_ue_id>(drb.ue_index);
101101
output.write<metric_drb_id>(static_cast<uint8_t>(drb.rb_id.get_drb_id()));
102102

103103
// TX metrics
104104
auto& tx_output = output.get<mset_drb_tx_container>();
105-
tx_output.write<metric_tx_num_sdus>(drb.tx.num_sdus);
106-
tx_output.write<metric_tx_num_sdu_bytes>(drb.tx.num_sdu_bytes);
107-
tx_output.write<metric_tx_num_dropped_sdus>(drb.tx.num_dropped_sdus);
108-
tx_output.write<metric_tx_num_discarded_sdus>(drb.tx.num_discarded_sdus);
109-
tx_output.write<metric_tx_num_discard_failures>(drb.tx.num_discarded_sdus);
105+
tx_output.write<metric_tx_num_sdus>(drb.tx.tx_high.num_sdus);
106+
tx_output.write<metric_tx_num_sdu_bytes>(drb.tx.tx_high.num_sdu_bytes);
107+
tx_output.write<metric_tx_num_dropped_sdus>(drb.tx.tx_high.num_dropped_sdus);
108+
tx_output.write<metric_tx_num_discarded_sdus>(drb.tx.tx_high.num_discarded_sdus);
109+
tx_output.write<metric_tx_num_discard_failures>(drb.tx.tx_high.num_discarded_sdus);
110110

111111
// RX metrics
112112
auto& rx_output = output.get<mset_drb_rx_container>();

0 commit comments

Comments
 (0)