Commit Graph
20 Commits
Author SHA1 Message Date
francescomani 27158b9244 rename reverse_bits to bits and move functions to count bits in there 2026-04-18 09:48:39 +02:00
Robert Schmidt 449910dbc7 Add fsn lib to simplify frame/slot handling
Refactor existing code, and harmonize interface. Add a couple of tests.

Signed-off-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2026-04-15 10:26:53 +02:00
Robert Schmidt 8107939f08 Change OAI license to CSSL v1.0 (and others)
- all RAN code, CI code, configuration files, dockerfiles, in CSSL v1.0
- all deployment code (openshift, charts, ancillary files like shell
  scripts), in MIT
- documentation in CC-BY-4.0
- exceptions might apply and are listed in NOTICE
- there is a new LICENSES folder with all licenses
- CONTRIBUTIONS.md has been updated accordingly

For automated changes based on OAI PL v1.1:

    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.{c,h,cpp}
    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.ts
    perl -i~ -0pe 's/<!--.*Licensed to the OpenAirInterface.*openairinterface.org\n.*-->/<!-- SPDX-License-Identifier: LicenseRef-CSSL-1.0 -->/s' **/*.xml

The rest (cmake, files with missing license, cmake) manually.
2026-03-27 16:36:37 +01:00
Robert Schmidt ee1f9dfede Move hashtable to ds/ folder
Notably, remove the include_directories(), which is not necessary, as
most files do not actually use this.
2026-02-12 08:47:07 +01:00
Robert Schmidt 7a7ffc18e2 Move reverse_bits*() to separate source file
reversing bits is not NR specific. Think of it like this: LTE code might
use reverse_bits*() as well, but in the old location, it would pull in a
bunch of NR dependencies that are superfluous.
2026-02-12 08:47:06 +01:00
Robert Schmidt 1e5c28279e Rename tun_if.{c,h} => tuntap_if.c{c,h}
The next commit introduces functions to also manage TAP interfaces.
2026-01-20 11:11:36 +01:00
Bartosz Podrygajlo 244621d8e6 Fix for threadpool abort function
Fixed an issue where if threadpool was aborted when some threads were in a running
state the threadpool would never exit. This was due to the fact that the thread
terminate task (func == NULL && args == NULL) could have been pushed to queues which
were inactive. This change adds a uint64_t mask of threads that have already exited
so whenever the terminate task is sent to another queue, it is ensured that the queue
used will wake up at least one tpool worker.

Also added pushTpool_mask which allows to specify a subset of threads to push the task
to but its only used internally.

Also added in this commit: A way to allocate thread-safe storage for thread pool
workers via get_tpool_worker_index. This index is unique to the thread pool worker
within one threadpool and can be used to access arrays in a thread-safe manner.

An example of such use was added in a testcase that was added which compares delay
between actors and threadpool workers.
2025-12-03 18:32:10 +01:00
Cedric Roux 7cbedb1575 time management module
This commit introduces a time management module.

See doc/time_management.md for details.
2025-04-18 09:02:54 +02:00
Bartosz Podrygajlo 1d1814f8b3 Shared memory time domain bidirectional IQ channel
This implements a server-client bidirectional time domain IQ channel via
shared memory.

The server creates the channel and should be aware of the client
receiver configuration (num rx/tx antennas).

Server shall be the time source and should call shm_iq_channel_produce_samples
at regular intervals
2025-03-26 14:24:47 +01:00
Bartosz Podrygajlo 3b7c29f2d3 Actor model imlementation
Add actor library which implements the Actor model (see  https://en.wikipedia.org/wiki/Actor_model).
2024-11-27 18:15:24 +01:00
Bartosz Podrygajlo ea0ea2ff8f Thread barrier implementation
This commit introduces dynamic_barrier_t. Its a thread barrier that counts joins
but allows callback to be specified later. See std::barrier for a basic barrier
description.
2024-11-27 18:14:59 +01:00
Bartosz Podrygajlo e7f858f6b2 Add iterator to hashtable and hashtable unit tests 2024-10-24 09:43:35 +02:00
Robert Schmidt 89d89a7564 Create tun_if module for TUN interface handling
Move openair3/RRC/NAS/nas_config.c to common/utils/tun_if.c, and remove
the former from all targets.
2024-08-02 15:31:04 +02:00
Bartosz Podrygajlo b1f7cc9025 Add unit testcase for thread-pool.
Extract thread-pool into a separate CMake library.
Extract utils into a separate CMake library.
2024-06-26 10:17:25 +02:00
Bartosz Podrygajlo deacf439a4 CMakeLists for common/utils/LOG 2024-06-26 10:17:15 +02:00
Bartosz Podrygajlo 4a36f7dd7b Extract nr_common and nr_phy_common libs. Also add unit tests for nr_common 2024-06-13 10:14:59 +02:00
mir 456009cb1f Add a sequence container in OAI
Add a sequence container in OAI. Includes for_each algorithm, doxygen
odcumentation, and test using ctest.
2024-03-12 17:48:10 +01:00
Robert Schmidt c3f8488456 Generate T headers using cmake 2023-07-10 09:18:14 +02:00
Robert Schmidt 9a0dd7c1b3 Update for webserver; cleanup in CMakeLists.txt
- Add oai header to typescript and html sources, add support to commands
  requiring two parameters, add more helpfiles
- Fix help bug (html comments not removed from tooltips)
- Fix backend build problem and 2 warnings
- Correctly initialize variables in nr_phy_scope.c
- Use add_subdirectory for websrv cmake build
- correctly link to asn1_lte_rrc and asn1_nr_rrc
- fix bug: correctly recognize npm packet
- only configure targets if explicitly asked for by users
- use add_subdirectory
- Use add_subdirectory for telnet cmake build
- Minor cleanup in build_oai
- Move softscope build in dedicated CMakeLists, and comment out
  DEBUG_MAC_INTERFACE option (not found in code)
- Make DEBUG_ASN1 a cmake only option ( no C macro) as it's not used as
  a C macro in the code, and develop align
2023-02-21 17:01:07 +01:00
mir 986a1a80ff Remove nettle library from OAI, support OpenSSL 3.0 and 1.1
Add byte_array_t structure under common/
2023-02-10 16:49:54 +01:00