Skip to content

Commit 864fbb8

Browse files
committed
Merge 'srsran/master' into 'lc/main'
2 parents 514fe70 + 6bcbd9e commit 864fbb8

File tree

89 files changed

+1692
-3121
lines changed

Some content is hidden

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

89 files changed

+1692
-3121
lines changed

.github/workflows/ccpp.yml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,36 @@ jobs:
77
strategy:
88
fail-fast: false
99
matrix:
10-
os: [ubuntu-22.04, ubuntu-20.04]
10+
os: [ubuntu-24.04, ubuntu-22.04]
1111
compiler: [gcc, clang]
1212
steps:
1313
- uses: actions/checkout@v3
1414
- name: Build srsRAN on x86 ${{ matrix.os }}
1515
run: |
1616
sudo apt update
17-
sudo apt install -y build-essential cmake libfftw3-dev libmbedtls-dev libpcsclite-dev libboost-program-options-dev libconfig++-dev libsctp-dev colordiff ninja-build valgrind
18-
mkdir build && cd build && cmake -DRF_FOUND=True -GNinja .. && ninja && ctest
17+
sudo apt install -y --no-install-recommends build-essential cmake libfftw3-dev libmbedtls-dev libpcsclite-dev libboost-program-options-dev libboost-system-dev libconfig++-dev libsctp-dev ninja-build
18+
mkdir build && cd build &&
19+
if [ "${{ matrix.os }}" = "ubuntu-24.04" ]; then
20+
cmake -DENABLE_WERROR=False -DRF_FOUND=True -GNinja ..
21+
else
22+
cmake -DRF_FOUND=True -GNinja ..
23+
fi
24+
export CTEST_PARALLEL_LEVEL=$(nproc --all)
25+
ninja && ninja test
1926
2027
aarch64_ubuntu_build:
2128
name: Build on aarch64
2229
runs-on: ${{ matrix.os }}
2330
strategy:
2431
fail-fast: false
2532
matrix:
26-
os: [ubuntu-20.04]
33+
os: [ubuntu-24.04, ubuntu-22.04]
2734
compiler: [gcc, clang]
2835
include:
29-
- os: ubuntu-20.04
30-
distro: ubuntu20.04
36+
- os: ubuntu-24.04
37+
distro: ubuntu24.04
38+
- os: ubuntu-22.04
39+
distro: ubuntu22.04
3140
steps:
3241
- uses: actions/checkout@v3
3342
- name: Build srsRAN on aarch64 ${{ matrix.os }}
@@ -38,5 +47,5 @@ jobs:
3847
run: |
3948
export CTEST_PARALLEL_LEVEL=$(nproc --all)
4049
apt update
41-
apt install -y build-essential cmake libfftw3-dev libmbedtls-dev libpcsclite-dev libboost-program-options-dev libconfig++-dev libsctp-dev ninja-build
42-
ls -l && pwd && mkdir build && cd build && cmake -DRF_FOUND=True -GNinja .. && ninja
50+
apt install -y build-essential --no-install-recommends cmake libfftw3-dev libmbedtls-dev libpcsclite-dev libboost-program-options-dev libboost-system-dev libconfig++-dev libsctp-dev ninja-build
51+
mkdir build && cd build && cmake -DRF_FOUND=True -GNinja .. && ninja

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,14 @@ jobs:
4444
4545
# Initializes the CodeQL tools for scanning.
4646
- name: Initialize CodeQL
47-
uses: github/codeql-action/init@v2
47+
uses: github/codeql-action/init@v3
4848
with:
4949
languages: ${{ matrix.language }}
5050

5151
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5252
# If this step fails, then you should remove it and run the build manually (see below)
5353
- name: Autobuild
54-
uses: github/codeql-action/autobuild@v2
54+
uses: github/codeql-action/autobuild@v3
5555

5656
# ℹ️ Command-line programs to run using the OS shell.
5757
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
@@ -64,6 +64,6 @@ jobs:
6464
# ./location_of_script_within_repo/buildscript.sh
6565

6666
- name: Perform CodeQL Analysis
67-
uses: github/codeql-action/analyze@v2
67+
uses: github/codeql-action/analyze@v3
6868
with:
6969
category: "/language:${{matrix.language}}"

CHANGELOG

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
Change Log for Releases
22
=======================
3+
## 25.10
4+
* Various compilation fixes for newer compiler versions
5+
* Smaller improvements in various layers
6+
37
## 23.04
48
* Introduced configurable s1 connection timer
59
* Updated 4G RRC ASN.1 to Rel 17
@@ -10,7 +14,6 @@ Change Log for Releases
1014
* Added basic support for RIC E2 interface
1115
* other bug-fixes and improved stability and performance in all parts
1216

13-
1417
## 22.10
1518
* Fix DL NAS integrity checks in srsUE
1619
* Remove Travis and LGTM as CI platforms

CMakeLists.txt

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ option(ENABLE_RF_PLUGINS "Enable RF plugins" OFF)
7373
option(ENABLE_UHD "Enable UHD" ON)
7474
option(ENABLE_BLADERF "Enable BladeRF" ON)
7575
option(ENABLE_SOAPYSDR "Enable SoapySDR" ON)
76-
option(ENABLE_SKIQ "Enable Sidekiq SDK" ON)
7776
option(ENABLE_LIMESDR "Enable LimeSDR" ON)
7877
option(ENABLE_ZEROMQ "Enable ZeroMQ" ON)
7978
option(ENABLE_HARDSIM "Enable support for SIM cards" ON)
@@ -217,15 +216,6 @@ if(ENABLE_UHD)
217216
endif(UHD_FOUND)
218217
endif(ENABLE_UHD)
219218

220-
# SKIQ
221-
if (ENABLE_SKIQ)
222-
find_package(SKIQ)
223-
if(SKIQ_FOUND)
224-
include_directories(${SKIQ_INCLUDE_DIRS})
225-
link_directories(${SKIQ_LIBRARY_DIRS})
226-
endif(SKIQ_FOUND)
227-
endif (ENABLE_SKIQ)
228-
229219
# BladeRF
230220
if(ENABLE_BLADERF)
231221
find_package(bladeRF)
@@ -267,12 +257,12 @@ if(ENABLE_TIMEPROF)
267257
add_definitions(-DENABLE_TIMEPROF)
268258
endif(ENABLE_TIMEPROF)
269259

270-
if(BLADERF_FOUND OR UHD_FOUND OR SOAPYSDR_FOUND OR ZEROMQ_FOUND OR SKIQ_FOUND OR LIMESDR_FOUND)
260+
if(BLADERF_FOUND OR UHD_FOUND OR SOAPYSDR_FOUND OR ZEROMQ_FOUND OR LIMESDR_FOUND)
271261
set(RF_FOUND TRUE CACHE INTERNAL "RF frontend found")
272-
else(BLADERF_FOUND OR UHD_FOUND OR SOAPYSDR_FOUND OR ZEROMQ_FOUND OR SKIQ_FOUND LIMESDR_FOUND)
262+
else(BLADERF_FOUND OR UHD_FOUND OR SOAPYSDR_FOUND OR ZEROMQ_FOUND OR LIMESDR_FOUND)
273263
set(RF_FOUND FALSE CACHE INTERNAL "RF frontend found")
274264
add_definitions(-DDISABLE_RF)
275-
endif(BLADERF_FOUND OR UHD_FOUND OR SOAPYSDR_FOUND OR ZEROMQ_FOUND OR SKIQ_FOUND OR LIMESDR_FOUND)
265+
endif(BLADERF_FOUND OR UHD_FOUND OR SOAPYSDR_FOUND OR ZEROMQ_FOUND OR LIMESDR_FOUND)
276266

277267
# Boost
278268
if(BUILD_STATIC)

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
srsRAN
22
======
33

4-
[![Build Status](https://github.com/srsran/srsRAN_4G/actions/workflows/ccpp.yml/badge.svg?branch=master)](https://github.com/srsran/srsRAN_4G/actions/workflows/ccpp.yml)
5-
[![CodeQL](https://github.com/srsran/srsRAN_4G/actions/workflows/codeql.yml/badge.svg?branch=master)](https://github.com/srsran/srsRAN_4G/actions/workflows/codeql.yml)
6-
[![Coverity](https://scan.coverity.com/projects/28268/badge.svg)](https://scan.coverity.com/projects/srsran_4g_agpl)
4+
[![Build Status](https://github.com/srsran/srsRAN_4G/actions/workflows/ccpp.yml/badge.svg)](https://github.com/srsran/srsRAN_4G/actions/workflows/ccpp.yml)
5+
[![CodeQL](https://github.com/srsran/srsRAN_4G/actions/workflows/codeql.yml/badge.svg)](https://github.com/srsran/srsRAN_4G/actions/workflows/codeql.yml)
76

87
srsRAN is an open source 4G software radio suite developed by [SRS](http://www.srs.io). For 5G RAN, see our new O-RAN CU/DU solution - [srsRAN Project](https://www.github.com/srsran/srsran_project).
98

cmake/modules/FindSKIQ.cmake

Lines changed: 0 additions & 89 deletions
This file was deleted.

cmake/modules/SRSRANVersion.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
# and at http://www.gnu.org/licenses/.
1919
#
2020

21-
SET(SRSRAN_VERSION_MAJOR 23)
22-
SET(SRSRAN_VERSION_MINOR 04)
21+
SET(SRSRAN_VERSION_MAJOR 25)
22+
SET(SRSRAN_VERSION_MINOR 10)
2323
SET(SRSRAN_VERSION_PATCH 0)
2424
SET(SRSRAN_VERSION_STRING "${SRSRAN_VERSION_MAJOR}.${SRSRAN_VERSION_MINOR}.${SRSRAN_VERSION_PATCH}")
2525
SET(SRSRAN_SOVERSION 0)

lib/include/srsran/asn1/asn1_utils.h

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -235,25 +235,26 @@ class dyn_array
235235
return;
236236
}
237237
if (cap_ >= new_size) {
238+
if (new_size > size_) {
239+
std::fill(data_ + size_, data_ + new_size, T());
240+
}
238241
size_ = new_size;
239242
return;
240243
}
241244

242-
T* old_data = data_;
243-
cap_ = new_size > new_cap ? new_size : new_cap;
244-
if (cap_ > 0) {
245-
data_ = new T[cap_];
246-
if (old_data != NULL) {
247-
srsran_assert(cap_ > size_, "Old size larger than new capacity in dyn_array\n");
248-
std::copy(&old_data[0], &old_data[size_], data_);
245+
new_cap = new_size > new_cap ? new_size : new_cap;
246+
T* new_data = nullptr;
247+
if (new_cap > 0) {
248+
new_data = new T[new_cap];
249+
if (data_ != nullptr) {
250+
unsigned min_size = std::min(size_, new_size);
251+
std::move(data_, data_ + min_size, new_data);
249252
}
250-
} else {
251-
data_ = NULL;
252253
}
254+
cap_ = new_cap;
253255
size_ = new_size;
254-
if (old_data != NULL) {
255-
delete[] old_data;
256-
}
256+
delete[] data_;
257+
data_ = new_data;
257258
}
258259
iterator erase(iterator it)
259260
{

lib/include/srsran/common/block_queue.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class block_queue
5353
virtual void pushing(const myobj& obj) = 0;
5454
};
5555

56-
explicit block_queue<myobj>(int capacity_ = -1)
56+
explicit block_queue(int capacity_ = -1)
5757
{
5858
pthread_mutex_init(&mutex, NULL);
5959
pthread_cond_init(&cv_empty, NULL);
@@ -63,6 +63,7 @@ class block_queue
6363
enable = true;
6464
num_threads = 0;
6565
}
66+
6667
~block_queue()
6768
{
6869
// Unlock threads waiting at push or pop

lib/include/srsran/interfaces/enb_rrc_interface_mac.h

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,22 @@ class rrc_interface_mac
4141

4242
///< Provide packed SIB to MAC (buffer is managed by RRC)
4343
virtual uint8_t* read_pdu_bcch_dlsch(const uint8_t enb_cc_idx, const uint32_t sib_index) = 0;
44+
45+
/// \brief Provides the packed SIBs in a System Information (SI) message consisting of different segments to the MAC.
46+
///
47+
/// This method must be used when the desired SIB in a SI message is segmented, i.e., when the contents of the SIB are
48+
/// split across different versions of the SIB. In this case, the SIB segments are scheduled in sequence, as per
49+
/// TS36.331 Sections 5.2.1.4 and 5.2.1.5.
50+
///
51+
/// \param[in] enb_cc_idx Index of the ENB CC.
52+
/// \param[in] sib_index Index of the System Information (SI) message containing the SIB. It corresponds with
53+
/// the ordering of the SI messages in the SIB1 scheduling information list.
54+
/// \param[in] sib_segment_index Index of the SIB segment to retrieve.
55+
///
56+
/// \return A pointer to the desired SIB message segment.
57+
/// \remark An assertion is thrown if the SIB message is not segmented.
58+
virtual uint8_t*
59+
read_pdu_bcch_dlsch(const uint8_t enb_cc_idx, const uint32_t sib_index, const uint32_t sib_segment_index) = 0;
4460
};
4561

4662
} // namespace srsenb

0 commit comments

Comments
 (0)