Commit Graph
158 Commits
Author SHA1 Message Date
Robert Schmidt 23eaea4b8d Move CU-UP related processing to separate file
A later commit will introduce an RB tree to manage multiple CU-UPs. The
RB tree implementation relies on some macros that generate RB tree
functions. Functions using the RB tree implementation will be grouped in
this file.
2023-10-25 20:22:32 +02:00
mir 12e09526e8 E2AP Version 1,2,3 and KPM version 2, 3 2023-10-04 12:12:53 +02:00
Robert Schmidt 280c987938 Merge remote-tracking branch 'origin/one-step-cleaning-gNB-ulsch-decoding' into integration_2023_w39 2023-10-03 09:35:18 +02:00
Laurent THOMAS d448b5e549 remove 'B' from persisted data, replace 3824 hardcoded by it's existing define 2023-09-29 10:23:54 +02:00
Tsung-Yu Chan 04073b03e4 feat / add the MMSE and precoding
- avoid the finction duplication
  - add the transform predoding to the nr_rx_pusch_tp
  - add the MMSE for 2 layer which modulation greater than 16 qam
  - can support to 256 qam for 1 layer and 2 layer
2023-09-25 12:48:28 +02:00
Tsung-Yu Chan 1f2098fcce feat / work with cross-compile
can compile the target ldpc_generators and generate_T with cross-compiler
2023-09-13 17:20:08 +02:00
Quency Lin cb562c2769 Remove partial 256 SIMDe dependence for ARM 2023-09-13 17:20:08 +02:00
Raymond Knopp a7bc282302 First-level of support for new aarch64 machines
Testing on Neoverse N1 (Ampere 3GHz). Tested only on a subset of phy-simulators.

- Changes:
- use SIMDE consistently
- adaptations of LDPC decoder generator for ARMv8 performance
- SIMDe modifications of Intel CRC to allow for aarch64 build.
  optimizations for 128-bit to improve performance of LDPC encode/decode
  on aarch64 (Neoverse 1)
- added BG2 files for 128-bit ldpc encoder (aarch64)
- testing on Xeon
- testing on x86
- minor changes to build/run on x86
- change in crc.h after returning to aarch64
- removed some warning in ldpc decoder generator for x86_64
- char
- Delete irrelevant constants
- Correctly declare variables
- Define stdbool for all architectures
- Remove definition of _MM_SHUFFLE and use SIMDE_MM_SHUFFLE
- Remove commented code
- Fix CMakeLists.txt
- Include SIMDE avx2 functions in tools_defs.h
2023-09-13 17:19:20 +02:00
rmagueta 9f7b159039 Remove duplicated function freq2time() 2023-09-04 17:09:35 +01:00
Robert Schmidt cd8cfab768 Remove MAC_NR target: it is not needed
The MAC_NR target is not needed; every dependent target also links
L2_NR. Therefore, this target just creates double compilation. We can
remove it without problems.
2023-08-14 16:23:47 +02:00
Robert Schmidt af545c07b7 Hashtable for F1 UE IDs and add test 2023-08-11 17:38:12 +02:00
Robert Schmidt 4a0bdd162b Merge remote-tracking branch 'origin/fix-regression-asn1c-debug' into integration_2023_w31 2023-08-04 08:30:34 +02:00
Robert Schmidt 31f9dff938 Fix regression for tracing asn1c enc/dec tracing
As described in common/utils/config.h, it is possible to hook into the
asn1c tracing mechanism to print logs.

This commit fixes a regression to print theses traces properly in OAI.
Above-mentioned file explains also how to reduce the amount of logs,
e.g., for single code blocks.
2023-08-01 14:44:32 +02:00
Robert Schmidt 37c9eebb8b NR_RLC: CMakeLists.txt in own subdirectory, with tests 2023-08-01 12:11:39 +02:00
Robert Schmidt 1ae18a4a02 CMakeLists.txt: UTIL target depends on pthread 2023-08-01 10:31:46 +02:00
Robert Schmidt f79bab42fa Merge remote-tracking branch 'origin/asn1_log_issue' into integration_2023_w30 2023-07-29 07:24:15 +02:00
Robert Schmidt 56f0b708ed Merge remote-tracking branch 'origin/NR_SL_RRC' into integration_2023_w30 2023-07-29 07:23:06 +02:00
Alireza Mohammadi 5f5b8f2914 Fix for ASN1 logging: change name from ASN to ASN1
There is a conflict with some E2AP definitions that put ASN as a
preprocessor definition. To avoid this conflict, and since ASN1 is more
descriptive than ASN, we change the logging mechanism name from ASN to
ASN1.
2023-07-28 12:21:22 +02:00
Raghavendra Dinavahi daf8e3732f Preparation of NR Sidelink Pre-Configuration message 2023-07-19 10:54:51 +02:00
mir 10383fcafe Crypt library dependencies removed 2023-07-17 18:18:34 +02:00
mir 91a7dc806f First commit to remove crypt dependency 2023-07-17 12:47:30 +02:00
Robert Schmidt 516d4b9fc1 Merge remote-tracking branch 'origin/use-memsan' into integration_2023_w28 2023-07-13 19:19:15 +02:00
Robert Schmidt 52f21f525c Merge remote-tracking branch 'origin/IISc_XnHandover' into integration_2023_w28 2023-07-13 17:00:05 +02:00
Robert Schmidt 3a49a44c2b Merge remote-tracking branch 'origin/t-no-execute-process' into integration_2023_w28 2023-07-13 16:56:23 +02:00
Robert Schmidt bf246a6582 Merge remote-tracking branch 'origin/ccache' into integration_2023_w28 2023-07-13 16:56:16 +02:00
mir 25409849b9 Add CCache to CMakeLists.txt if available to speed up build 2023-07-13 15:28:36 +02:00
Robert Schmidt 2ae1908339 Put T source library in subdirectory, don't build multiple times
- UTIL: has LOG which brings as (public) dependency T, so link it publicly
- Move T to top to ensure all targets can have it
2023-07-13 10:28:38 +02:00
Sreeshma Shiv 756d9ab462 Add XNAP ASN.1 Definitions
* New folder named  XNAP created inside openair2
 * Added ASN File(38423.asn) for XNAP  and .cmake(38423.cmake) for the same inside XNAP.
 * CMakeLists.txt files changed to support .C and .H file generation for XNAP
2023-07-13 12:58:41 +05:30
Robert Schmidt 2b85595f22 MSan: check that not UBSan and ASan set; check that clang set 2023-07-11 10:31:43 +02:00
Robert Schmidt c3f8488456 Generate T headers using cmake 2023-07-10 09:18:14 +02:00
Robert Schmidt 4ae73af46f Merge remote-tracking branch 'origin/cmake-refactor' into integration_2023_w27 2023-07-08 13:29:55 +02:00
Robert Schmidt be8a401242 Merge remote-tracking branch 'origin/e2_sub' into integration_2023_w27 2023-07-07 16:55:36 +02:00
Robert Schmidt 1f14195543 Move inclusion of openair2/E2AP where it belongs 2023-07-07 13:49:17 +02:00
mir 70ad480a29 Add basic E2 agent through git submodule
- Add E2 agent that leverages FlexRIC e2ap library
- Add documentation in openair2/E2AP/README.md
- Currently, statistics exported are random
2023-07-07 13:45:18 +02:00
Robert Schmidt ddf549b1f3 Move radio CMakeLists.txt to subdirectory
- move following radios: AW2S, BladeRF, IRIS, LMSSDR, RFsimulator, USRP
- move following transports: Ethernet, benetel4g, benetel5g
- for each: create independent cmake variable to switch compilation
  on/off, in order: OAI_AW2S, OAI_BLADERF, OAI_IRIS, OAI_LMSSDR,
  OAI_SIMU, OAI_USRP, OAI_ETHERNET, OAI_BENETEL4G, OAI_BENETEL5G
- Remove RF_BOARD variable, allows to compile multiple boards at once
- where applicable: remove USERSPACE/LIB in path, i.e., move files up to
  directories, as all are userspace libraries

Note that with the above, it is now mandatory to enable a radio
implementation before compiling it, e.g., for USRP:

./build_oai -w USRP
cmake .. -DOAI_USRP=ON && ninja oai_usrpdevif
2023-07-07 08:35:28 +02:00
Robert Schmidt 47da0a024d Remove libcrypto, correctly search and link libcrypt
- libcrypto is not used
- we use libcrypt, so correctly check for it, and link to the
  corresponding targets
2023-07-07 08:35:28 +02:00
Robert Schmidt c9231dd02d CONFIG_LIB: do not include libconfig headers globally
Use target_include_directories() only on relevant targets.
Remove from some targets that don't use the config module.
2023-07-07 08:35:28 +02:00
Robert Schmidt 1875190521 Repair rftest
- needs forms library, so link it
- fix warnings
2023-07-07 08:35:28 +02:00
Robert Schmidt 387f5e4118 Make shlib_loader OBJECT library to prevent multiple compilations
Including sources in targets makes that file being compiled multiple
times. Instead, define an OBJECT library (i.e., it is only compiled, but
not linked), and link it into each target that uses it.
2023-07-07 08:35:28 +02:00
Robert Schmidt be4c03c90c Properly check and link (C)BLAS and LAPACKE dependencies
Instead of using the adhoc code for checking and including (globally!)
BLAS/LAPACKE, use PkgConfig to correctly identify libs (see deleted
comment: "Hope this gets fixed in future!" -- you are welcome). Next,
only link into those libraries that need it (PHY_UE, SIMU). Note that
only RHEL also needs cblas, so it is a non-REQUIREd dependency that is
only linked in if available. Further, take out linking into all other
modules, as they don't need it.

In the source code, take out preprocessor directives to correctly
include headers -- that is cmake's job, which it does just fine now.
2023-07-07 08:35:28 +02:00
Robert Schmidt 25edebb593 Refactor CMakeLists.txt OpenSSL handling
First, we do not include openssl globally using `include_directories()`,
as most modules don't need it. Further, it is linked into SECURITY, and
removed from all other targets (they don't need it, only SECURITY).

Finally, remove a header include in NR PDCP that is not needed
2023-07-07 08:35:28 +02:00
Robert Schmidt 439b6027cf Remove CMakeLists.txt reference to xpm: it is not used 2023-07-07 08:35:28 +02:00
Robert Schmidt cd6dd99d43 Remove CMakeLists.txt reference to openpgm: it is not used 2023-07-07 08:35:28 +02:00
Robert Schmidt 5b534c957f Remove unused cmake options and commented code
- LINUX: option to optionally set a sighandler for certain simulators,
  no practical relevance
- LINUX_LIST: not used anywhere
- DEBUG_DLSCH: referenced in the code, but those files have a separate
  (commented) line `#define DEBUG_DLSCH`; probably never used
- LINK_ENB_PDCP_TO_IP_DRIVER, LINK_ENB_PDCP_TO_GTPV1U: commented in
  cmake, although they are referenced. It is likely that code behaves
  unexpected if re-enabled; we therefore remove these options to avoid
  future problems
- Remove some more commented code
2023-07-07 08:35:28 +02:00
Robert Schmidt 7ebdaf35c5 Remove cmake ENB_MODE option
ENB_MODE is a cmake option to swap the order of include directories.
This has historical reasons; before OAI used cmake, it was very
sensitive to the order of includes. Nowadays, the order does not matter.
Remove this option, and fix the compilation issues that arise while
doing so.
2023-07-07 08:35:28 +02:00
Robert Schmidt 11f4bd9c32 Remove cmake NAS_NETLINK option
This option is almost not referenced anywhere,  and not documented.
Remove it to avoid problems in the future.
2023-07-07 08:35:28 +02:00
Robert Schmidt 3256606285 Remove unused includes
- openair2/ENB_APP/CONTROL_MODULES: this directory does not exist
  anymore
- openair2/UTIL/{OMG,CLI,OMV}: not used anywhere
2023-07-07 08:35:28 +02:00
Robert Schmidt 03fe3b508e Provide build_oai/cmake option to build with memory sanitizer 2023-07-03 14:07:38 +02:00
Roberto Louro Magueta 917ff8e97b Remove duplicated code 2023-06-26 12:51:31 +01:00
Robert Schmidt 96aacd58aa Merge remote-tracking branch 'origin/remove-thread-pool-abort' into integration_2023_w24 2023-06-16 17:54:11 +02:00