Compare commits

..

720 Commits

Author SHA1 Message Date
Qizhi Pan
d37e64829b try to merge the encoder branch, but bug exist 2025-08-24 01:03:19 +08:00
Qizhi Pan
3ea2cd8b21 change naming 2025-08-23 09:56:04 +08:00
Qizhi Pan
403b6ec572 clean up version organization a bit -G for grace hopper support, -P for general GPU 2025-08-22 16:54:25 +08:00
Qizhi Pan
e8dd817392 GPU memory version should be finnished 2025-08-20 19:45:03 +08:00
Raymond Knopp
32248a6628 use ldpc shared lib for sizes other than 384 or 384 with less than 9 segments 2025-08-19 16:23:27 +00:00
Qizhi Pan
7ff4813a3d Inter stream problem fixed 2025-08-19 16:15:46 +08:00
Qizhi Pan
360435912d Inter stream problem fixed 2025-08-19 15:44:43 +08:00
Qizhi Pan
6d78852ac0 Add prefetch, the inter stream problem still exists 2025-08-19 15:26:50 +08:00
Qizhi Pan
2ac916a847 Add prefetch, now the performance is quite stable 2025-08-19 14:53:22 +08:00
Qizhi Pan
e1d754322c Modify LDPC decoder to use GPU memory instead of GH200 direct memory 2025-08-19 13:55:24 +08:00
Qizhi Pan
ae492731af half added, try to merge the encoder 2025-08-16 13:29:24 +08:00
Raymond Knopp
9c77c7e513 added check for new tconcat timer 2025-08-15 16:23:46 +00:00
Raymond Knp
bdc8e1efa1 more optimization of segement concatenation at output of encoder 2025-08-15 16:41:09 +02:00
Raymond Knopp
b51697c2c1 128-bit NEON optimizations for input and output data formatting 2025-08-15 09:15:56 +00:00
Raymond Knopp
a3adab8312 added missing file for cuda encoder 2025-08-08 15:34:21 +00:00
Raymond Knopp
e4d3520648 add ldpc_encoder32.c. Cleanup of commented code in cuda encoder host functions 2025-08-08 15:32:59 +00:00
Raymond Knopp
3420c2df41 interleaver optimization 2025-08-08 08:27:36 +00:00
Raymond Knopp
7831e52798 handling of multiple 32-bit segment groups, segment interleaving/deinterleaving optimization 2025-08-07 16:45:48 +00:00
Qizhi Pan
701fd5a755 update encoder 2025-08-07 23:20:26 +08:00
Qizhi Pan
28dcbb49f8 Merge branch 'ldpc_decoder_cuda' of https://gitlab.eurecom.fr/oai/openairinterface5g into ldpc_decoder_cuda 2025-07-31 08:39:47 +00:00
Qizhi Pan
42931472a5 version v1 with parallel bug 2025-07-31 08:34:34 +00:00
Qizhi Pan
55a4a0632a version v1 with parallel bug 2025-07-29 19:28:23 +00:00
Qizhi Pan
5305698b78 Parallel version basically done. Not stable performance 2025-07-28 14:58:10 +00:00
Aida Teshome Teressa
c4f8bb6cd0 CUDA stream version almost done, need to fix the parallerl collision and high SNR error 2025-07-26 14:43:02 +00:00
Aida Teshome Teressa
ca968bbf8f building cuda streaming now 2025-07-23 09:15:25 +00:00
Aida Teshome Teressa
b5b3e53a70 one scheduler done, now working on multiple streams 2025-07-22 14:25:01 +00:00
Aida Teshome Teressa
980b29415b One big scheculer works but not equivalent BLER performance, need to improved 2025-07-22 09:38:02 +00:00
Aida Teshome Teressa
8fb4cbedd7 -P option added, runs in CUDA stream, need debug 2025-07-21 14:06:48 +00:00
Aida Teshome Teressa
00ac9f0469 Now the parity check is on GPU now 2025-07-17 11:20:35 +00:00
panq from NVIDIA H200
2b6781a017 Bn to Cn is now on GPU too, only the parity check need to work on 2025-07-15 18:13:12 +00:00
panq from NVIDIA H200
03e3fc8b1f cn2bnProcBuf is now in the CnProc part 2025-07-14 12:50:54 +00:00
panq from NVIDIA H200
def1f3ac38 slight agjustment 2025-07-08 13:12:56 +00:00
panq from NVIDIA H200
e478d2ab28 Bn_Proc done 2025-07-08 09:15:35 +00:00
panq from NVIDIA H200
7624903bce change cn_proc to a big kernel 2025-07-02 12:59:36 +00:00
panq from NVIDIA H200
61b48a8e6b add some profiling 2025-06-27 10:10:00 +00:00
Raymond Knopp
b0cf5e4b27 generator for single-worker 2025-06-14 14:43:26 +00:00
panq from NVIDIA H200
838bbdf7db add option for lower version gpu(need cudaMalloc; need cudastream); make the code more readable; some debug traces remaining 2025-06-11 15:01:42 +00:00
panq
c2856440ae not use mem_manage 2025-06-10 11:36:07 +02:00
panq
39399f1a0c use mem_manage 2025-06-10 11:35:42 +02:00
panq
2f091764d2 use mem_manage 2025-06-10 11:31:34 +02:00
panq
af1a5d59a2 dump first output 2025-06-10 11:17:54 +02:00
panq
069463a3d5 128 dump 2025-06-10 11:14:11 +02:00
panq
e46f16ae60 use unified memory, no memcpy 2025-06-10 11:11:01 +02:00
panq
4200f98fcf use unified memory, no memcpy 2025-06-10 11:09:57 +02:00
panq
8d6279a9f8 use unified memory 2025-06-10 11:05:45 +02:00
panq
699ba0932a use unified memory 2025-06-10 11:03:09 +02:00
panq
9989516b6b use unified memory 2025-06-10 10:58:19 +02:00
panq
9247017f06 use unified memory 2025-06-10 10:51:55 +02:00
panq
ad6df4870a testing 2025-06-10 10:48:22 +02:00
panq
1422e7b5ad remove memcpy 2025-06-10 10:41:50 +02:00
panq
050c0e061d remove memcpy 2025-06-10 10:40:22 +02:00
panq
f8752d1485 remove memcpy 2025-06-10 10:39:10 +02:00
panq
83f4c6ea17 remove memcpy 2025-06-10 10:37:22 +02:00
panq
7244a33dc6 works properly version 2025-06-10 10:34:57 +02:00
panq
c123a0499b works properly version 2025-06-10 10:32:29 +02:00
panq
00a2dda48b debug 2025-06-10 10:26:14 +02:00
panq
205e92071a debug 2025-06-10 10:22:41 +02:00
panq
ce6225bd1f debug 2025-06-10 10:11:31 +02:00
panq
9a74fb2b47 debug 2025-06-10 10:07:51 +02:00
panq
8223e61ec1 debug 2025-06-10 10:04:53 +02:00
panq
78d93ff335 debug 2025-06-10 10:03:18 +02:00
panq
ff551fb902 debug 2025-06-10 09:54:07 +02:00
panq from NVIDIA H200
dcb668593a dump data 2025-06-10 07:45:28 +00:00
panq
08a6979191 debug 2025-06-10 09:41:22 +02:00
panq
712e8bbc9f debug 2025-06-10 09:40:08 +02:00
panq
e3b652b8ff debug 2025-06-10 09:25:31 +02:00
panq
6e2b6dd2f4 debug 2025-06-10 09:22:05 +02:00
panq
321bc27b67 debug 2025-06-10 09:18:23 +02:00
panq
695e4e6044 debug 2025-06-10 09:07:54 +02:00
panq
ad09d09ea0 debug 2025-06-10 08:48:10 +02:00
panq
5c4b1cc0be debug 2025-06-10 08:46:46 +02:00
panq
0bfd05ee35 debug 2025-06-10 08:29:27 +02:00
panq
0f81225abc debug 2025-06-10 08:25:36 +02:00
panq
307413ce24 debug 2025-06-10 08:19:58 +02:00
panq
de92c277b5 debug 2025-06-10 00:29:06 +02:00
panq
fc130034f5 debug 2025-06-10 00:25:53 +02:00
panq
1e73d9fa17 debug 2025-06-09 23:58:10 +02:00
panq
714707bbe3 debug 2025-06-09 23:51:28 +02:00
panq
147dc8998f debug 2025-06-09 23:47:30 +02:00
panq
3b2359dc0d debug 2025-06-09 23:34:50 +02:00
panq
17db765c19 Merge branch 'ldpc_decoder_cuda' of https://gitlab.eurecom.fr/oai/openairinterface5g into ldpc_decoder_cuda 2025-06-09 23:18:56 +02:00
panq
299a6167ab debug 2025-06-09 23:18:48 +02:00
panq from NVIDIA H200
9c8f25448a dump data 2025-06-09 20:55:58 +00:00
panq
d824a5deef debug 2025-06-09 22:53:25 +02:00
panq
b12d46b7d6 debug 2025-06-09 22:43:18 +02:00
panq
ba61b16dc6 debug 2025-06-09 22:39:17 +02:00
panq
64e1704c2a Merge branch 'ldpc_decoder_cuda' of https://gitlab.eurecom.fr/oai/openairinterface5g into ldpc_decoder_cuda 2025-06-09 22:31:52 +02:00
panq
38422eff50 debug 2025-06-09 22:31:42 +02:00
panq from NVIDIA H200
75e707b893 dump data 2025-06-09 20:26:35 +00:00
panq
28856b9f6a debug 2025-06-09 22:20:21 +02:00
panq
c740ba54a5 debug 2025-06-09 22:13:33 +02:00
panq
baa5843cc6 debug 2025-06-09 22:11:28 +02:00
panq
d52c5dcae1 debug 2025-06-09 21:59:05 +02:00
panq
010f5e4b04 debug 2025-06-09 21:56:24 +02:00
panq
52a6da8b85 debug 2025-06-09 21:55:21 +02:00
panq
94dbe1f946 Merge branch 'ldpc_decoder_cuda' of https://gitlab.eurecom.fr/oai/openairinterface5g into ldpc_decoder_cuda 2025-06-09 21:24:29 +02:00
panq
215365ca87 for debug 2025-06-09 21:24:16 +02:00
panq from NVIDIA H200
11414c35b0 dump data 2025-06-09 13:52:39 +00:00
panq
aedd4a9a69 debug 2025-06-09 15:48:20 +02:00
panq
6d76d2d889 debug 2025-06-09 15:31:50 +02:00
panq from NVIDIA H200
8e1e40a13d dump date 2025-06-09 13:22:17 +00:00
panq
6988f7015e debug 2025-06-09 15:20:00 +02:00
panq
efbc20b6ff debug 2025-06-09 15:18:00 +02:00
panq
df38dff948 debug 2025-06-09 15:05:27 +02:00
panq
085a9b2c0a Merge branch 'ldpc_decoder_cuda' of https://gitlab.eurecom.fr/oai/openairinterface5g into ldpc_decoder_cuda 2025-06-09 15:02:06 +02:00
panq
ccf529ad3d debug 2025-06-09 15:01:59 +02:00
panq from NVIDIA H200
84af1bbf7c dump data 2025-06-09 12:55:12 +00:00
panq
f575917922 debug 2025-06-09 14:53:54 +02:00
panq
e92d6a85f9 Merge branch 'ldpc_decoder_cuda' of https://gitlab.eurecom.fr/oai/openairinterface5g into ldpc_decoder_cuda 2025-06-09 14:52:36 +02:00
panq
6ac7a5d23d debug 2025-06-09 14:52:29 +02:00
panq from NVIDIA H200
f86edbc6dc dump data 2025-06-09 12:14:35 +00:00
panq
49a25f33fb debug 2025-06-09 14:13:17 +02:00
panq
4a948dad5a Merge branch 'ldpc_decoder_cuda' of https://gitlab.eurecom.fr/oai/openairinterface5g into ldpc_decoder_cuda 2025-06-09 14:10:37 +02:00
panq
c8e6c05b3f debug 2025-06-09 14:10:25 +02:00
panq from NVIDIA H200
4f2e735f5b dump data 2025-06-09 11:57:15 +00:00
panq
8160dd3f0d debug 2025-06-09 13:55:38 +02:00
panq from NVIDIA H200
2fc3cdf2b8 dump data 2025-06-09 11:51:30 +00:00
panq
6c97af2bae Merge branch 'ldpc_decoder_cuda' of https://gitlab.eurecom.fr/oai/openairinterface5g into ldpc_decoder_cuda 2025-06-09 13:48:30 +02:00
panq
77d361aa21 debug 2025-06-09 13:48:18 +02:00
panq from NVIDIA H200
f63dac6e76 dump data 2025-06-08 13:48:49 +00:00
panq
de64521228 change address 2025-06-08 15:46:55 +02:00
panq
8e6d8a1c4f change address 2025-06-08 15:36:13 +02:00
panq
7d63abd14c change address 2025-06-08 15:32:34 +02:00
panq
1a0c3764a4 change address 2025-06-08 15:28:19 +02:00
panq
79c03ae4b5 fix lut 2025-06-08 13:49:00 +02:00
panq
264b522fd2 check input 2025-06-08 13:05:10 +02:00
panq
7da4543ca8 check input 2025-06-08 12:58:18 +02:00
panq
f69b11bd0f check input 2025-06-08 12:54:36 +02:00
panq from NVIDIA H200
0e188111b1 check dump file 2025-06-08 10:31:58 +00:00
panq
12c5b054f5 debugging 2025-06-08 12:29:10 +02:00
panq
65d5cc8ac0 debugging 2025-06-08 12:24:10 +02:00
panq
7a76b6adb9 debugging 2025-06-08 12:19:42 +02:00
panq
a41a3a7bbe debugging 2025-06-08 12:16:55 +02:00
panq
fc72657bf5 fix lut 2025-06-08 12:07:36 +02:00
panq
e0a97a23be fix lut 2025-06-08 12:03:39 +02:00
panq
20725355c8 fix lut 2025-06-08 12:01:55 +02:00
panq
1f6a943c63 fix lut 2025-06-08 12:00:13 +02:00
panq
4376de5e13 Merge branch 'ldpc_decoder_cuda' of https://gitlab.eurecom.fr/oai/openairinterface5g into ldpc_decoder_cuda 2025-06-08 11:55:25 +02:00
panq
128eccf84b fix lut 2025-06-08 11:54:04 +02:00
panq from NVIDIA H200
898be9efb7 debug 2025-06-08 09:00:03 +00:00
panq
a806f7d847 debug 2025-06-08 10:49:14 +02:00
panq from NVIDIA H200
0e3aa00687 debug 2025-06-08 08:38:51 +00:00
panq from NVIDIA H200
02a9023d26 dump data 2025-06-08 08:02:46 +00:00
panq from NVIDIA H200
e5022f03db check dump result 2025-06-08 07:08:22 +00:00
panq from NVIDIA H200
b97a0a8ed0 kernel launch successfully but input is not correct. Fixing it 2025-06-07 20:15:41 +00:00
panq from NVIDIA H200
b8b0ae1808 debugging, cn_Proc can run but not corecctly functionning 2025-06-07 12:00:28 +00:00
panq from NVIDIA H200
b417019711 two dummy file for debug 2025-06-06 10:03:21 +00:00
panq from NVIDIA H200
23ce9c98e2 add no stream version 2025-06-06 08:04:58 +00:00
Raymond Knopp
4ac89e6d46 removed ldpc_encoder generated file 2025-06-05 07:33:59 +00:00
Qizhi Pan
32a800bbd2 Merge branch 'ldpc_encoder_test' into 'ldpc_decoder_cuda'
LDPC cuda cn_Proc parts successfully work in the ldpctest

See merge request oai/openairinterface5g!3469
2025-06-05 07:33:07 +00:00
panq from NVIDIA H200
949115e4f0 cuda_decoder first test succeed 2025-06-04 17:33:32 +00:00
panq from NVIDIA H200
a06ad04366 encoder works so far 2025-06-04 14:31:36 +00:00
Raymond Knopp
1c8f88bbb8 added ifdef for unified CPU/GPU memory configuration (e.g. Gracehopper). 2025-06-01 21:22:34 +00:00
Raymond Knopp
2ad88ae0f3 initial implementation of 32-segment interleaved LDPC encoder for NVidia GPU (CUDA). functionally correct and integrated in existing CUDA library. Works only BG1 Zc 384. Integrated into ldpctest 2025-06-01 10:34:20 +00:00
Raymond Knopp
b6a67635ee change to CODING/CMakeLists.txt 2025-05-30 13:01:45 +00:00
Raymond Knopp
3cf8f6344c added initial CUDA implementation (and code generator) for ldpc encoder 2025-05-30 12:56:44 +00:00
panq from NVIDIA H200
050a231b55 cuda version nrLDPC_cn_Proc_BG1.cu 2025-05-29 12:44:52 +00:00
panq from NVIDIA H200
17c4d20042 first commit 2025-05-29 12:29:39 +00:00
Robert Schmidt
bab05384a4 Merge branch 'integration_2025_w22' into 'develop'
Integration: `2025.w22`

Closes #832

See merge request oai/openairinterface5g!3452

* !3415 several fixes and cleanup for nrLDPC_coding_t2
* !3448 T: macpdu2wireshark: dump to file instead of sending UDP packets
* !3449 bugfix: pass correct buffer
* !3453 CI: revert modification of SSB per RACH occasion in SC-FDMA test
* !3440 Update NAS documentation
* !3451 fix the number of preambles per SSB at UE in case PRACH is configured with groupB
* !3441 Replace hashtable with epoll_event_t in rfsimulator
* !3277 Add CI test to force RRC IDLE and new connection setup with 5G-S-TMSI
* !3454 Keep old MAC stats after re-establishment
* !3450 Make number of UL/DL actors in NR UE fully configurable
* !3458 (doc): update README with build icons for dedicated arch and os
2025-05-28 22:03:09 +00:00
Robert Schmidt
714b223a95 Merge remote-tracking branch 'origin/readme-update' into integration_2025_w22 (!3458)
(doc): update README with build icons for dedicated arch and os
2025-05-28 14:57:04 +02:00
Robert Schmidt
68b4535328 Merge remote-tracking branch 'origin/configure-actor-framework' into integration_2025_w22 (!3450)
Make number of UL/DL actors in NR UE fully configurable

Due to different processing requirements on different CPUs it might be
beneficial to enable the users to set the number of UL/DL actors.

Allow disabling UL/DL actor frameworks and processing inline or setting
the number of DL/UL threads with --num-ul-actors/num-dl-actors

This was tested to work with 0 UL/DL actors with rfsim.
2025-05-28 14:56:38 +02:00
arora
6574bc2c61 (doc): update README with build icons for dedicated arch and os
Signed-off-by: arora <sagar.arora@openairinterface.org>
2025-05-28 10:09:23 +02:00
Bartosz Podrygajlo
56330fde7c Make number of UL/DL actors in NR UE fully configurable
Due to different processing requirements on different CPUs it might
be beneficial to enable the users to set the number of UL/DL actors.

Allow disabling UL/DL actor frameworks and processing inline or
setting the number of DL/UL threads with --num-ul-actors/num-dl-actors

This was tested to work with 0 UL/DL actors with rfsim.
2025-05-28 07:49:10 +02:00
Raymond Knopp
6856460923 added entry LDPC encoder routines for CUDA parity check implementation. Limited to BG1 Zc=384 for now. Also, left unoptimized interleaving of input for 32-bit. Will do after with SIMD bit-interleaving. 2025-05-27 21:19:42 +00:00
Jaroslava Fiedlerova
b68d63e8ba Merge remote-tracking branch 'origin/reestablishment_keep_stats' into integration_2025_w22 (!3454)
Keep old MAC stats after re-establishment
2025-05-27 19:32:09 +02:00
Jaroslava Fiedlerova
e84b567a88 Merge remote-tracking branch 'origin/add-ci-ue-rrc-idle-test' into integration_2025_w22 (!3277)
Add CI test to force RRC IDLE and new connection setup with 5G-S-TMSI

This MR is a follow up to !2725 (merged)..

The primary goal is to introduce a CI test that enforces the following behavior:
- Forces the UE to enter RRC_IDLE state.
- Validates the UE's re-connection procedure using the 5G-S-TMSI as the UE
  identity.
2025-05-27 19:30:08 +02:00
Raymond Knopp
9a76f26b91 added first version of generator for CUDA LDPC encoder code 2025-05-27 13:31:38 +00:00
Jaroslava Fiedlerova
5dd1bea5da Merge remote-tracking branch 'origin/fix_ue_groupB_preambles' into integration_2025_w22 (!3451)
fix the number of preambles per SSB at UE in case PRACH is configured with groupB

To fix an issue reported in the mailing list related to UE configured by a 3rd
party gNB with groupB PRACH
2025-05-27 12:50:54 +02:00
Jaroslava Fiedlerova
b69bc8cb5a Merge remote-tracking branch 'origin/rfsim-cleanup' into integration_2025_w22 (!3441)
Replace hashtable with epoll_event_t in rfsimulator

Replace the FD <-> buffer_t hashtable with epoll_event_t mapping. This
simplifies the code, reduces the probability of memory leaks, and removes
a possible data race on the hashtable during rfsimulator shutdown.
2025-05-27 12:49:46 +02:00
Jaroslava Fiedlerova
63f3a6fa51 Merge remote-tracking branch 'origin/nas-documentation' into integration_2025_w22 (!3440)
Update NAS documentation

This MR is updating the NAS documentation w.r.t the latest code refactoring and
current design.
2025-05-27 12:47:31 +02:00
Bartosz Podrygajlo
8f9b89925e Replace hashtable with epoll_event_t in rfsimulator
Replace the FD <-> buffer_t hashtable with epoll_event_t mapping.
This simplifies the code, reduces the probability of memory leaks and removes a
possible data race on the hashtable during rfsimulator shutdown.
2025-05-27 10:01:52 +02:00
francescomani
09543b3255 copy stats to new UE during re-establishment 2025-05-27 09:54:00 +02:00
Guido Casati
1b84bd8b65 Update README.md 2025-05-27 08:46:41 +02:00
Guido Casati
16740e5eb0 Use UL NAS Count to derive KgNB (6.8 of 3GPP TS 33.501)
The UE shall use the currently stored UL NAS count to derive the
KgNB. Hardcoding the UL count to 0 is wrong, if there is a reset
to be done it should be explicitly done elsewhere.

Closes #832
2025-05-26 17:05:00 +02:00
Guido Casati
d405cbb77f Handle security header type "integrity protected with new 5G NAS security context"
The Security Mode Command is the only NAS message sending a security header
type "integrity protected with new 5G NAS security context". Such header
type is indicating that there is no valid security context and it is
indicating the current one configured by the AMF.

When receiving a Security Mode Command the "AMF shall reset the downlink NAS COUNT"
and use it to integrity protect the initial Security Mode Command. "The AMF shall
send the SECURITY MODE COMMAND message unciphered, but shall integrity protect [...]
The AMF shall set the security header type of the message to
"integrity protected with new 5G NAS security context".

See 5.4.2.2 3GPP TS 24.501.

This commit is ensuring the NAS DL count is reset when the relevant security header
is received. Also, the security container is deleted since no more valid and
NAS_SECURITY_NO_SECURITY_CONTEXT is returned. The setup of the new security context
is done by "handle_security_mode_command",
2025-05-26 17:05:00 +02:00
Guido Casati
f672d9088c Simplify handling of security check of received NAS messages
NAS 3GPP TS 24.501 clause 4.4.4.2 specify which NAS messages
are an exception to the integrity protection. All the other
scenarios are expected to be integrity protected. The
nas_security_rx_process function is returning:

1) NAS_SECURITY_NO_SECURITY_CONTEXT if no security context is established
2) NAS_SECURITY_UNPROTECTED for the messages listed in 4.4.4.2
3) NAS_SECURITY_INTEGRITY_PASSED if the integrity check is successful

These 3 results can be all considered successful. The other not.

Also, add a function to check whether a message is allowed to be
integrity unprotected, as per clause 4.2.2.2.
2025-05-26 17:05:00 +02:00
Guido Casati
e651a29a2a Use byte_array_t in nas_security_rx_process 2025-05-26 17:05:00 +02:00
Guido Casati
7f96a04c1b Add handler for NAS Identity Request
* trigger Identity Response callback from the handler
* process decoded message

According to 4.4.4.2 3GPP TS 24.501, Identity Request
with Identity Type SUCI is not expected to be
integrity protected.
2025-05-26 17:05:00 +02:00
Guido Casati
330b8dc8fa Add library for NAS Identity Request
* Add Identity Request decoding function
* Define type for Identity Type NAS IE
* Target include directory in NAS IEs CMakeLists.txt (for NAS utils)
2025-05-26 17:05:00 +02:00
Guido Casati
737b2f44c4 Print NAS_DOWNLINK_DATA_IND message type content
The information about the payload carried by NAS DOWNLINK is helpful
in the logging and also for debugging purposes, therefore it was
added in this commit by enabling the already existing relevant function.
2025-05-26 17:05:00 +02:00
Guido Casati
4129619714 Bugfix in nas_security_rx_process: process first the security type and then the header length
This commit restores the behaviour before the changes introduced in 611c0554. The NAS
Deregistration Accept message is unprotected, therefore the function will return
NAS_SECURITY_UNPROTECTED that would then be considered as NAS_SECURITY_INTEGRITY_PASSED

Unprotected message have a plain header of 3 octets, however security protected messages
have a 7 octets header.
2025-05-26 17:05:00 +02:00
Guido Casati
f7a04de762 Add ciUE telnet command to trigger UE initiated deregistration 2025-05-26 17:05:00 +02:00
Guido Casati
bcab56afb4 sdap_tun_read_thread(): handle and log different errno 2025-05-26 17:05:00 +02:00
Guido Casati
844986ff92 SDAP: close TUN socket to unblock thread and clean interface shutdown
* Close entity->pdusession_sock manually before pthread_join() to unblock sdap_tun_read_thread()
* Update tun_destroy() to open a fresh socket for interface management, independent from the data socket
* Fix check on success of change_interface_state() in tun_destroy(): is a boolean
* Handle ENODEV error when bringing interface down: treat as success if the interface is already gone.
* tun_destroy() is now handling INTERFACE_DOWN, so `INTERFACE_DOWN` in `tun_config()` is no longer needed
2025-05-26 17:05:00 +02:00
Guido Casati
ad2a8a8991 Add 5 tests to force RRC_IDLE in a row in 5g_rfsimulator_24prb pipeline 2025-05-26 17:04:55 +02:00
Jaroslava Fiedlerova
c4617371f8 Merge remote-tracking branch 'origin/sabox-test-revert' into integration_2025_w22 (!3453)
CI: revert modification of SSB per RACH occasion in SC-FDMA test

This MR reverts the parameter ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR back
to 4, undoing the change introduced in commit a4f9a7a6. The initial modification
was made as a potential fix for a reestablishment failure observed in the SC-FDMA
test case of the SABOX-B200 pipeline. However, further validation has shown that
this parameter was not the root cause of the issue.
2025-05-26 16:06:04 +02:00
francescomani
f84ec1340c limit the number of preambles per SSB at UE in case PRACH is configured with groupB 2025-05-26 15:32:01 +02:00
Jaroslava Fiedlerova
8e2fcc900e Merge remote-tracking branch 'origin/bugfix-lte-bad-uecapabilities' into integration_2025_w22 (!3449)
bugfix: pass correct buffer
2025-05-26 12:44:32 +02:00
Jaroslava Fiedlerova
3d78eb8426 Merge remote-tracking branch 'origin/macdpu2wireshark-big-traces' into integration_2025_w22 (!3448)
T: macpdu2wireshark: dump to file instead of sending UDP packets

In NR with several layers, we may have MAC PDU of size bigger than 64KB,
which does not fit into a UDP buffer, destroying macpdu2wireshark.

Let's add an option to dump to a pcap file instead of using UDP packets.
The DLT 252 magic is used (check wireshark documentation to understand).
Run macpdu2wireshark with -h to see how to configure wireshark to read
the produced files.
2025-05-26 12:43:43 +02:00
Jaroslava Fiedlerova
afb138420b Merge remote-tracking branch 'origin/fix_nrLDPC_coding_t2' into integration_2025_w22 (!3415)
several fixes and cleanup for nrLDPC_coding_t2

Newer DPDK driver versions may directly provide the internal HW mbuf in the
dequeued structure. So don't try to free the mbufs from that dequeued structure,
but the ones we allocated. Also, this mbuf has an offset to its output data, we
must consider this when accessing the output data.

Main contents of this MR:
- support newer DPDK versions
- make sure to free allocated mbufs
- fix q_bufs memory leak
- use rte_pktmbuf_mtod_offset() to consider offset when accessing output data
- convert the correct number of LLRs from 16 Bit to 8 Bit
- remove unused variables and functions
- some more code cleanup
2025-05-26 12:41:22 +02:00
Jaroslava Fiedlerova
549c71c32c CI: revert modification of SSB per RACH occasion in SC-FDMA test
Set ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR parameter back to 4,
revert modification done in a4f9a7a6d4.
2025-05-26 12:25:27 +02:00
Cedric Roux
b815c8648c bugfix: pass correct buffer 2025-05-23 16:57:38 +02:00
Cedric Roux
ae650bc9ea T: macpdu2wireshark: dump to file instead of sending UDP packets
In NR with several layers, we may have MAC PDU of size bigger than 64KB,
which does not fit into a UDP buffer, destroying macpdu2wireshark.

Let's add an option to dump to a pcap file instead of using UDP packets.
The DLT 252 magic is used (check wireshark documentation to understand).
Run macpdu2wireshark with -h to see how to configure wireshark to read
the produced files.
2025-05-23 11:07:26 +02:00
Guido Casati
278a0bcc67 Update USIM section in 5GS NAS documentation 2025-05-20 15:46:08 +02:00
Guido Casati
4eb55f83ab Remove gNB NAS documentation section: noCore function is no longer supported 2025-05-20 15:18:07 +02:00
Guido Casati
6638839177 Update NAS documentation with information about NAS 5GS and OAI implementation status 2025-05-20 15:16:25 +02:00
Thomas Schlichter
b264ddc1ec nrLDPC_coding_t2 fix: convert the correct number of LLRs from 16 Bit to 8 Bit 2025-05-20 08:55:31 +00:00
Thomas Schlichter
073a705720 nrLDPC_coding_t2: minor cleanup 2025-05-20 08:55:30 +00:00
Thomas Schlichter
ffb8e8ff37 nrLDPC_coding_t2: nb_TBs is of type int 2025-05-20 08:53:57 +00:00
Thomas Schlichter
c3d0b2db5c nrLDPC_coding_t2 fix: use rte_pktmbuf_mtod_offset() to consider offset when accessing output data 2025-05-20 08:51:37 +00:00
Thomas Schlichter
944ac15ab5 nrLDPC_coding_t2: allocate array of rte_bbdev_dec_op pointers on stack instead of heap 2025-05-20 08:00:36 +00:00
Thomas Schlichter
2df487fc8b nrLDPC_coding_t2: use rte_bbdev_op_type_str() instead of hardcoded array of strings 2025-05-20 08:00:36 +00:00
Thomas Schlichter
af7054554b nrLDPC_coding_t2: make parameters for set_ldpc_dec_op() more smilar to set_ldpc_enc_op() 2025-05-20 08:00:36 +00:00
Thomas Schlichter
d442461bd1 nrLDPC_coding_t2: remove unused start_idx from set_ldpc_enc_op() and set_ldpc_dec_op() 2025-05-20 08:00:35 +00:00
Thomas Schlichter
b5c9e13df3 nrLDPC_coding_t2: remove unused #define HARQ_INCR 2025-05-20 07:57:23 +00:00
Thomas Schlichter
07ff8a27c4 nrLDPC_coding_t2: remove unused functions mbuf_reset() and check_bit() 2025-05-20 07:57:23 +00:00
Thomas Schlichter
c1e057bc8b nrLDPC_coding_t2: remove unused atomic variables nb_dequeued and processing_status 2025-05-20 07:57:23 +00:00
Thomas Schlichter
adbf056abb nrLDPC_coding_t2: remove unused global variable m_head 2025-05-20 07:57:23 +00:00
Thomas Schlichter
4dde956e84 nrLDPC_coding_t2: remove unused vector_mask 2025-05-20 07:57:23 +00:00
Thomas Schlichter
b02e6e8ddd nrLDPC_coding_t2: inline and remove now nearly empty init_test_op_params() 2025-05-20 07:57:23 +00:00
Thomas Schlichter
ea7e6ffb0b nrLDPC_coding_t2: remove unused num_to_process 2025-05-20 07:57:23 +00:00
Thomas Schlichter
73c6d1fb62 nrLDPC_coding_t2: remove unused burst_sz 2025-05-20 07:57:23 +00:00
Thomas Schlichter
f47b549f41 nrLDPC_coding_t2: remove unused rte_bbdev_dec_op from test_op_params and thread_params 2025-05-20 07:57:23 +00:00
Thomas Schlichter
e45aff7763 nrLDPC_coding_t2: replace global mp_dec and mp_enc by bbdev_op_pool in thread_params 2025-05-20 07:57:23 +00:00
Thomas Schlichter
300346c43a nrLDPC_coding_t2: replace global q_bufs by struct data_buffers on stack 2025-05-20 07:57:23 +00:00
Thomas Schlichter
48e78ff4b0 nrLDPC_coding_t2: fix q_bufs memory leak 2025-05-20 07:57:23 +00:00
Thomas Schlichter
ac9a8f017b nrLDPC_coding_t2 fix: make sure to free allocated mbufs
The DPDK driver may directly provide the internal HW mbuf in the dequeued structure.
So don't try to free the mbufs from that dequeued structure, but the ones we allocated.
2025-05-20 07:57:21 +00:00
Thomas Schlichter
1612ba33a8 nrLDPC_coding_t2: remove unused soft_outputs, harq_inputs and harq_outputs elements 2025-05-20 07:56:26 +00:00
Thomas Schlichter
d8b3bfd17b nrLDPC_coding_t2: use nb_segments_decoding() and nb_segments_encoding() to calculate num_segments 2025-05-20 07:56:24 +00:00
Thomas Schlichter
084bbb0363 nrLDPC_coding_t2: also support newer DPDK versions 2025-05-20 07:54:12 +00:00
Robert Schmidt
b2c9a1d2b5 Merge branch 'integration_2025_w20' into 'develop'
Integration: `2025.w20`

Closes #826 and #884

See merge request oai/openairinterface5g!3438

* !3168 Improvements for LDPC encoding
* !3386 E1 Bearer Context Release enc/dec lib and unit test
* !3394 Fix Liteon with MTU 1500 and update the FHI docs
* !3437 CI: RFsim F1/HO: Use hanging-workaround to avoid blocking of second client
* !3384 Add enc/dec library and unit test for E1 Bearer Context Modification Failure
* !3418 Use common function to generate CSI-RS signal
* !3379 Add physim tests into ctest framework
* !3420 Added intercommunication between namespaces
* !3422 Tutorials: updates for NR SA Tutorials
* !3436 Beam switching small fixes
* !3439 Fix RRC resources periodicity determination according to number of slots per period
* !3434 Remove EPC/UE main.py parameters
* !3423 Fix PDSCH and PUSCH BWP Start and Size when PXSCH is scheduled with a DCI format x_0 in any type of PDCCH common search space
* !3442 Fix UL chanel estimates mapping in 2-layer MMSE receiver
2025-05-20 05:46:54 +00:00
Robert Schmidt
4a722c01d1 Revert "CI: Conf file adjustment to improve UL throughput in SA-2x2 pipeline"
This reverts commit 69be78254f.
2025-05-19 16:10:07 +02:00
Robert Schmidt
3ff01b085a Merge remote-tracking branch 'origin/sa-2x2-test' into integration_2025_w20 (!3442)
Fix UL chanel estimates mapping in 2-layer MMSE receiver

This MR addresses a degradation in UL throughput observed in 4x4 MIMO
tests, starting from 2025.w17.

The issue was traced to incoherent indexing in the ul_ch_estimates_ext
when handling 4-antenna UL configurations.
2025-05-19 16:09:12 +02:00
Jaroslava Fiedlerova
b4d35845dc Fix UL chanel estimates mapping in 2-layer MMSE receiver
Resolve issue introduced in 7982a9da41.
2025-05-19 15:08:33 +02:00
Robert Schmidt
04af07fee0 Merge remote-tracking branch 'origin/Fix_xlsch_bwp_start_size' into integration_2025_w20 (!3423)
Fix PDSCH and PUSCH BWP Start and Size when PXSCH is scheduled with a DCI format x_0 in any type of PDCCH common search space

- Fix PDSCH and PUSCH BWP Start and Size when PDSCH/PUSCH is scheduled
  with a DCI format x_0 in any type of PDCCH common search space
- Fix resource block assignment information (RIV field) for DCI format
  x_0 when scheduling in any type of PDCCH common search space
2025-05-19 12:19:10 +02:00
Robert Schmidt
fc756f758d Merge remote-tracking branch 'origin/ci-remove-ue-main-parameters' into integration_2025_w20 (!3434)
Remove EPC/UE main.py parameters
2025-05-19 12:18:41 +02:00
Robert Schmidt
0f094a5a57 Remove any usage of UE* main.py parameters
The parameter is not used. Remove them.
2025-05-19 11:42:11 +02:00
Robert Schmidt
c4bc119732 Merge remote-tracking branch 'origin/fix_periodicityoffset' into integration_2025_w20 (!3439)
Fix RRC resources periodicity determination according to number of slots per period

Otherwise we may end up in scenarios where some channels would end in
the wrong TDD slot type
2025-05-19 11:36:37 +02:00
Robert Schmidt
90383b85fe Merge remote-tracking branch 'origin/prevent_beam_switch' into integration_2025_w20 (!3436)
Beam switching small fixes

To prevent activation of beam switching when not required
2025-05-19 11:36:16 +02:00
francescomani
58d0747a29 fix RRC resources periodicity determination according to number of slots per period 2025-05-17 13:34:07 +02:00
Robert Schmidt
4f1eabd088 Merge remote-tracking branch 'origin/NR_SA_Tutorials' into integration_2025_w20 (!3422)
Tutorials: updates for NR SA Tutorials

- Update links for the latest Ubuntu 24.04.2 LTS iso file
- Update docker install to the latest instructions on the official
  website
- Update UHD to v4.8.0.0
- Add support for 'default'/"empty" DNN to CN5G configuration file
  * Add support for 'default' DNN to CN5G configuration file (that
    will also be used when DNN is not available, "empty" DNN). This
    configuration will allow most of the COTS UE to get PDUSession
    without any APN configuration made by the user
  * The 'default'/"empty" DNN configuration support was added in
    oai/cn5g/oai-cn5g-amf!343
2025-05-17 12:08:13 +02:00
Robert Schmidt
458db98df9 Merge remote-tracking branch 'origin/multi-ue-script' into integration_2025_w20 (!3420)
Added intercommunication between namespaces

Added intercommunication between namespaces to support sidelink
communication between nearby UEs.
2025-05-17 12:07:43 +02:00
Robert Schmidt
918ea49686 Merge remote-tracking branch 'origin/phy_simulators_ctest' into integration_2025_w20 (!3379)
Add physim tests into ctest framework

Convert physim testcases listed in
cmake_targets/autotests/test_case_list.xml into ctest. Note: Tests for
dlsim_tm4 are excluded, due to compilation issues.

CTest evaluates success based on return code: '0' = pass, non-zero =
fail. For some simulators, the return code is non-zero even when the
test is successful (as indicated by success messages in the test logs).
For some simulators, the return code is always '0'. This inconsistency
has been address in the first two commits of this MR.

To build and execute these tests:

- using cmake

    cd openairinterface5g
    mkdir build && cd build # you can also do that in cmake_targets/ran_build/build
    cmake .. -GNinja -DENABLE_PHYSIM_TESTS=ON && ninja tests
    ctest

- using build_oai: physim-related ctests are activated when PHY
  simulators are built (use build_oai with '-P' or '--phy_simulators'
  option)

    cd openairinterface5g/cmake_targets
    ./build_oai --ninja --phy_simulators
    cd ran_build/build
    ctest

Link to newly created 4g and 5g RAN-Physim-Cluster pipelines:

- RAN-Physim-Cluster-4G: https://jenkins-oai.eurecom.fr/job/RAN-Physim-Cluster-4G/
- RAN-Physim-Cluster-5G: https://jenkins-oai.eurecom.fr/job/RAN-Physim-Cluster-5G/
2025-05-17 12:05:27 +02:00
Jaroslava Fiedlerova
c861dcb7d0 Add doc on how to rerun failed CI physim test 2025-05-16 16:38:54 +02:00
rmagueta
4c41387bd4 Improve physim documentation: structure, ctest usage, and clarity 2025-05-16 16:38:54 +02:00
Jaroslava Fiedlerova
4f64dd98ee CI: split RAN-Physim-Cluster pipeline into 4G and 5G 2025-05-16 16:38:54 +02:00
Jaroslava Fiedlerova
1de7e0541c CI: adjust tested SNR for nr_pucchsim
Initially we were testing SNR from -3 to 7 dB, in recent runs PUCCH test
succeeds at SNR = 0 or 1 dB. Starting at higher SNR helps to reduce test
runtime. Set maximum SNR to 7dB, as it was done in the initial test scenario,
to ensure that possible performance degradation is detected.
2025-05-16 16:38:54 +02:00
Jaroslava Fiedlerova
77f2a2b678 CI: remove global PHYSIM and PhySim class
The cls_physim1.py is no longer needed. Function for physim deployment has
been migrated to the Cluster class. Log analysis functionality has been
moved to the Analysis class.
2025-05-16 16:38:54 +02:00
Jaroslava Fiedlerova
b3a3ed70e6 CI: Create separate XML files for 4G and 5G physims 2025-05-16 16:38:54 +02:00
Jaroslava Fiedlerova
dad8814bdf CI: Add functions for OC Physim deployment and analysis 2025-05-16 16:38:49 +02:00
Jaroslava Fiedlerova
986db77b88 CI: add helm charts for 4G and 5G OC deployments with ctest 2025-05-16 16:29:55 +02:00
Jaroslava Fiedlerova
2827eecfd9 Remove autotest physim test framework
No longer used in CI, replaced by ctest testing.
xmlstarlet not used anymore, can be removed from build_helper

Closes #826
2025-05-16 16:29:55 +02:00
Jaroslava Fiedlerova
e878b9fbbc CI: remove helm charts for physim OC deployment
To be replaced by ctest physim implementation in the following commit.
2025-05-16 16:29:55 +02:00
Jaroslava Fiedlerova
f171778b68 Update physim Dockerfile for ctest support
Set the CMAKE_RUNTIME_OUTPUT_DIRECTORY CMake option during the OAI build
to control the location of runtime target files. This ensures that ctest
can locate necessary executables after they are copied to the target
Docker image.
2025-05-16 16:29:55 +02:00
Jaroslava Fiedlerova
5312e9e43b Convert physims in cmake_targets/autotests/test_case_list.xml to ctest
Convert physim testcases defined in cmake_targets/autotests/test_case_list.xml
into CTest based tests. These test are activated when '-DENABLE_PHYSIM_TESTS=ON'
CMake flag is set.

Note: Tests for dlsim_tm4 are excluded, due to compilation issues.

CTest evaluates success based on return code: '0' = pass, non-zero = fail.

The following table outlines the physim executables, their success expressions
(`expr_true`), and the return codes for success (`ret_success`) and failure
(`ret_fail`). The `expr_true` is used in test_case_list.xml to check for test
results.

| test_exec     | expr_true      | ret_succ        | ret_fail          |
| ------------- | -------------- | --------------- | ----------------- |
| dlsim         | passed         | 0               | -1                |
| ulsim         | passed         | 0 (ret)         | 1 (ret)           |
| ldpctest      | BLER 0.000000  | 0               | 1                 |
| polartest     | BLER= 0.000000 | 0               | 1                 |
| nr_pbchsim    | PBCH test OK   | 0               | 1                 |
| nr_dlsim      | PDSCH test OK  | 0               | 1                 |
| smallblocktest| BLER= 0.000000 | 0               | 1                 |
| nr_ulschsim   | PUSCH test OK  | 0 (n_errors)    | n_errors          |
| nr_pucchsim   | PUCCH test OK  | 0               | 1                 |
| nr_ulsim      | PUSCH test OK  | 0 (ret)         | -1 (ret)          |
| nr_prachsim   | PRACH test OK  | 0 (prach_errors)| > 0 (prach_errors)|
| nr_psbchsim   | PSBCH test OK  | 0 (errors)      | > 0 (errors)      |

Add CMake flag "ENABLE_PHYSIM_TESTS=ON" when building OAI with "-P"
or "--phy_simulators" option. This allows physim-related ctest to
be executed from build directory.

Add dependency on coding lib for all 4G physims
2025-05-16 16:29:43 +02:00
Jaroslava Fiedlerova
dec74058e5 Disable DEBUG_UE_TIMING logs in 4g dlsim test
Setting the DEBUG_UE_TIMING flag caused a flood of UE timing logs, resulting
in dlsim output logs as large as 1.5MB per test in CI. This commit comments
out the line where we set the flag to reduce log verbosity.
2025-05-16 13:42:23 +02:00
Jaroslava Fiedlerova
2402f37271 Modify nr_dlsim, nr_pbchsim and nr_pucchsim to return '0' on success
- Change return value of nr_dlsim, nr_pbchsim and nr_pucchsim to:
  - Return '0' if test succeeds (indicated also by "PDSCH/PBCH/PUCCH test
    OK" in the test log).
  - Return '1' if test fails.
2025-05-16 13:42:23 +02:00
Jaroslava Fiedlerova
8ca6a4a06e Modify polartest, smallblocktest and ldpctest to return '0' on success
- Updated polartest, smallblocktest, and ldpctest to check BLER and return
  appropriate status:
  - Returns '0' if BLER equals 0.000000 (indicating success).
  - Returns '1' for all other BLER values (indicating failure).
- This change improves consistency in return values across the test physims.
2025-05-16 13:42:14 +02:00
Robert Schmidt
36ee23255c Merge remote-tracking branch 'origin/csi-generate-common-func' into integration_2025_w20 (!3418)
Use common function to generate CSI-RS signal

Remove code duplication.
2025-05-16 13:12:57 +02:00
Robert Schmidt
3735734eea Merge remote-tracking branch 'origin/e1-bearer-mod-failure' into integration_2025_w20 (!3384)
Add enc/dec library and unit test for E1 Bearer Context Modification Failure

This MR is adding:

- the enc/dec library
- unit test
- handler and callback in stack

For the E1 Bearer Context Modification Failure.
2025-05-16 13:12:21 +02:00
Jaroslava Fiedlerova
69be78254f CI: Conf file adjustment to improve UL throughput in SA-2x2 pipeline
Reduction of target SNR in 4x4 configuration with 60 MHz seems to improve
UL throughput and reduce number of UL errors.
2025-05-15 19:25:48 +02:00
Robert Schmidt
c3f833ca30 Merge remote-tracking branch 'origin/rfsim-ci-ho' into integration_2025_w20 (!3437)
CI: RFsim F1/HO: Use hanging-workaround to avoid blocking of second client
2025-05-15 19:17:27 +02:00
Robert Schmidt
97856a812f Merge remote-tracking branch 'origin/oran-fh-doc-fix' into integration_2025_w20 (!3394)
Fix Liteon with MTU 1500 and update the FHI docs

- Closes #884 - needed to update the max fragments needed for
  transmission of one symbol; technically, 5 are enough but due to wrong
  equation in the xran F release we had to increase to 6
- Clarify packet length for VFs
- Update Foxconn doc and config file with MTU set for jumbo frames
- Update Benetel docs with new version v1.2.2
2025-05-15 19:16:40 +02:00
Robert Schmidt
1847843614 Merge remote-tracking branch 'origin/e1-bearer-context-release' into integration_2025_w20 (!3386)
E1 Bearer Context Release enc/dec lib and unit test

This MR is adding:

- the enc/dec library
- unit test

And adopting the lib in stack, for the E1 Bearer Context Release.
2025-05-15 19:16:08 +02:00
Robert Schmidt
7298f41e5d Merge remote-tracking branch 'origin/ldpc_enc_avx512' into integration_2025_w20 (3168)
Improvements for LDPC encoding

AVX512 modifications for LDPC encoding: interleaving, ZC384 BG1, output
formatting for encoder, segmentation (memcpy instead of loop). some
improvement in TX for aarch64 in same places where AVX512 support was
added. Also, rate matching and interleaving are done on bytes containing
8 segments and reformatting of the output is done at the end of segment
processing instead of after ldpc encoding.

This improves the overall performance of the NR DL transmitter in gNB

See the merge request description for numbers.
2025-05-15 19:15:27 +02:00
luis_pereira87
a9ae56395e Fix resource block assignment information (RIV field) for DCI format 0_0 when scheduling in any type of PDCCH common search space 2025-05-15 16:14:31 +01:00
luis_pereira87
8c7d4c6d02 Fix PUSCH BWP Start and Size when PUSCH is scheduled with a DCI format 0_0 in any type of PDCCH common search space 2025-05-15 16:14:31 +01:00
luis_pereira87
7b1c1ddc17 Fix resource block assignment information (RIV field) for DCI format 1_0 when scheduling in any type of PDCCH common search space 2025-05-15 16:14:31 +01:00
luis_pereira87
35d5309ef1 Fix PDSCH BWP Start and Size when PDSCH is scheduled with a DCI format 1_0 in any type of PDCCH common search space 2025-05-15 16:14:31 +01:00
luis_pereira87
3dea00b006 Get and store CORESET start RB 2025-05-15 16:13:30 +01:00
Guido Casati
ce17663017 Release all user plane resources when going to IDLE
Release all SDAP entities for a UE in nr_rrc_going_to_IDLE().
With this change the SDAP entities of the UE are cleaned up
when going into RRC_IDLE, including tun sockets, threads etc.
A new SDAP entity is created when re-attaching to the network.
2025-05-15 11:20:10 +02:00
Guido Casati
729b0eb348 Print errno in nr_sdap_rx_entity 2025-05-15 11:20:10 +02:00
Bartosz Podrygajlo
5354ad8a26 Add support for TYPE_IPV4ADDR in yaml config module 2025-05-15 11:20:10 +02:00
Guido Casati
79df739598 Add callback/handler for E1AP Bearer Context Modification Failure 2025-05-15 10:17:07 +02:00
Guido Casati
306a44ebff Add enc/dec lib and unit test for E1AP Bearer Context Modification Failure 2025-05-15 10:17:03 +02:00
Robert Schmidt
b6fcb69e4c CI: RFsim F1/HO: Use hanging-workaround to avoid blocking of second client 2025-05-15 10:04:16 +02:00
francescomani
f4da265423 fix config file with multiple ssbs but single antenna 2025-05-15 09:28:56 +02:00
francescomani
4246b538c9 do not perform beam switching procedures if there is no beam information 2025-05-14 17:12:01 +02:00
Robert Schmidt
5f0289ba32 Remove EPC* main.py parameters
Any pipeline still using this parameter will fail, showing if it has
been removed properly everywhere.
2025-05-13 18:46:50 +02:00
Romain Beurdouche
b1e0bfdda6 fix(CI RAN-gNB-N300-Timing-Phytest-LDPC): update reference timings
Update reference `L1 Tx processing` and `DLSCH encoding` timing in `RAN-gNB-N300-Timing-Phytest-LDPC` CI test
to reflect performance improvements.
2025-05-13 14:08:33 +00:00
Romain Beurdouche
1734e1916c fix(nrLDPC_coding_interface): mistaken line forgotten in documentation 2025-05-13 14:08:33 +00:00
Romain Beurdouche
360f341394 feat(nrLDPC_coding_t2): Shift encoder output with 64 bits shift
Use 64 bits shift to shift the output segment of the encoding operations to their offset in the coding library output buffer.
2025-05-13 14:08:33 +00:00
Romain Beurdouche
2feb36407c feat(reverse_bits_u8): increase vector size in bits reversal
Reverse bits by 512 bits vector instead of 128 bits vector

Also removed SIMDE as the preprocessor directives were allowing only AVX512
2025-05-13 14:08:33 +00:00
Jaroslava Fiedlerova
b31dd728cb T2: Use 8b packed output of the T2 encoder
- modify retrieve_ldpc_enc_op() to store encoded results in a packed format
- add timing measurements for T2 encoder
- add simde implementation for bit reversal
  - Introduce new bit reversal implementation using simde_mm_gf2p8affine_epi64_epi8
    instruction, based on https://wunkolo.github.io/post/2020/11/gf2p8affineqb-bit-reversal/.
    This implementation requires GFNI and AVX512VL support on the target machine.
2025-05-13 14:08:33 +00:00
Romain Beurdouche
4d092495bf feat(nr_codeword_scrambling): Use SIMD XOR for scrambling 2025-05-13 14:08:33 +00:00
Romain Beurdouche
0aa3dba5b7 feat(nrLDPC_coding_segment): Encoding with sequential output write
1. The encoder writes the output in sequence after the encoding tasks completed instead of writing within the tasks.

2. Simplify the output writing to make it more readable.

Co-authored-by: Laurent Thomas <laurent.thomas@open-cells.com>
2025-05-13 14:08:33 +00:00
Romain Beurdouche
b1e1c161ec feat(nrLDPC_coding_segment_encoder): Mitigate race condition
There was a risk of a race condition between encoding tasks on the output array.
It could be that two task compete in writing a word at the border of their respective segment groups.

This commit offers to solve this issue by retaining the tail word in a struct that is returned after task completion so that segment group border can be fixed after completion of all the tasks.

Comes with additional cleanups of nrLDPC_coding_segment_encoder:
1. Move the section of code dedicated to writing to the encoding library output to a separate function.
2. Remove bit interleave debug in AVX512VBMI case of output writing for improving code readability.
2025-05-13 14:08:33 +00:00
Romain Beurdouche
06c81030dc fix(nrLDPC_coding_segment_encoder): address review
1. nrLDPC_coding_segment_encoding: Clarifying encoder parameters
   The way the encoder implementation params was used could be made clearer:
   * `macro_num` was always used in order to calculate segment indexes.
     It is clearer to pass directly the first segment index.
   * The initialisation of a common implementation parameters structure can be made clearer.

2. nrLDPC_coding_segment_encoder: Remove multi segment dimension in encoder output
   The output of `LDPCencoder` was a 2D unsigned char array.
   But all the segments were actually packed in the first segment, 8 bits of different segments per byte of the first segment.
   So the first dimension was useless. This commit removes this dimension.

3. nrLDPC_coding_segment_encoder: Rename `nrLDPC_prepare_TB_encoding` into `nrLDPC_launch_TB_encoding`

4. nrLDPC_coding_segment_encoder: Remove the useless second rate matching for E2, one rate matching with max(E, E2) does the job.

5. nr_interleaving_ldpc: cleanup
   Rewrite code to use different SIMD sizes in a linear fashion.
   This means cascading preprocessor directives are used to start from a high SIMD size an decrease it progressively.

6. ldpc_encoder_optim8segmulti: linear usage of SIMD
   Use cascading preprocessor directives to include different SIMD sizes and types depending on which are available on the system.
   The different loops use a common index that is progressively incremented.
   Also add AVX512 version of bits distribution from 8 segments into one byte.

Co-authored-by: Laurent Thomas <laurent.thomas@open-cells.com>
2025-05-13 14:08:33 +00:00
Romain Beurdouche
1b31ac417b fix(nrLDPC_coding_interface): Move the encoding output to the TB
Since this branch aims to bring all the encoded segments packed and contiguous,
it doesn't make anymore sense to have one output array per segment.
Therefore this commit moves the output array to the TB instead of the segment and adapts its size.

TODO: Adapt the size of f where it is relevant.
2025-05-13 14:08:33 +00:00
Romain Beurdouche
f3daf0ed83 fix(nrLDPC_coding): Miscellaneous fixes
1. nrLDPC_coding_segment_encoder: pointer not aligned on 64 bits
   An undefined behavior was happening because of a shift on a __m64 which
   was actually a uint32_t which was not aligned on 64 bits.
   This commit suggests a fix by properly loading into a __m64 with _mm_set_pi32
   before performing the shift.

2. nr_rate_matching: Filler bits detection
   Previously, if the bit selection was reaching Ncb and restarting selection from the beginning of encoded data, the filler bits were detected by testing the bytes again NR_NULL which was equal to 2.
   But on this branch the bits of up to 8 segments are stored in one byte while doing rate matching so that one byte could be tested to be a filler while it is not.
   So this commit changes the way to test filler bits.
   Instead of relying on NR_NULL, bit selection now relies on the offset and size of filler bits.

3. nr_ulsch_coding: missing filling f with zeros
   The array `f` of the UE UL HARQ process was not filled with zeros between transmissions.
   This is a problem if the encoder does not properly overwrite its output.
   In order to avoid such situation, this commit adds a memset to fill `f` with zeros before passing it to the encoder.

4. nrLDPC_coding_segment_encoder: missing init of f to zeros
   In the encoder, `f` is not filled with zeros before being used.
   `f` is instead somehow filled with arbitrary values.
   When writing to `output` by 64 bit vectors, some arbitrary bits may be added after the segment.
   Then the arbitrary added ones are not overwritten when writing the next segment because of writing with a logical or.
   This commit properly fills `f` and `f2` with zeros.

5. nr_ulschsim & nr_dlschsim: Adapt modulation to new encoder output
   The QPSK symbols that are feed to the channel model of nr_dlschsim were determined based on the bytes of the encoder output.
   With the new output of the encoder, it had to be reworked to determine the QPSK symbols based on the bits of the encoder output.
2025-05-13 14:08:33 +00:00
Raymond Knopp
bbbbda70f5 feat(nrLDPC_coding_segment_encoder): Dense Rate Matching and Dense and Concatenated Output
1. 3GPP Rate-matching/interleaving on 8-segment blocks, deinterleaving at output of multi-segment processing.

2. Bit-packing done in nrLDPC_coding_segment_encoder.c now instead of nr_scrambling.
   Interestingly, it improves performance significantly too.
   Tested for AVX512 only for now.
2025-05-13 14:08:33 +00:00
Raymond Knopp
33078f9e3d feat(cnProc_gen_BG1_128): Put back small change in 128-bit SIMD code generator for LDPC decoder (cnProc).
Avoid the use of simde_mm_sign_epi8 which is inefficient on aarch64.
Decoding times are significantly improved on aarch64.

Co-authored-by: Romain Beurdouche <romain.beurdouche@eurecom.fr>
2025-05-13 14:08:33 +00:00
Raymond Knopp
a4c950774b feat(ldpc_encoder_optim8segmulti): Improvements for Arm Neoverse
Use 128 bit SIMD in packing and unpacking segment bits in bytes
Adapt compiler options for Neoverse.
2025-05-13 14:08:33 +00:00
Raymond Knopp
8964fdb6a2 AVX512 modifications for LDPC encoding: interleaving, ZC384 BG1, output formatting for encoder, segmentation (memcpy) 2025-05-13 14:08:33 +00:00
Raymond Knopp
c07bfe6db5 Put CPU affinity control in nr_ulsim. 2025-05-13 14:08:33 +00:00
Robert Schmidt
c7deef8203 Merge branch 'add-rhel-9.6' into 'develop'
Add RHEL9.6 to list of supported distributions

See merge request oai/openairinterface5g!3431
2025-05-13 12:40:40 +00:00
Robert Schmidt
cf22ed79f2 Fix llvm version conflict after upgrade to RHEL9.6
Add --allowerasing, which will downgrades some packets in order to
satisfy LLVM dependencies.

When building the docker image for clang, CI fails with

    Error:
     Problem: llvm-18.1.8-3.el9.i686 from ubi-9-appstream-rpms  does not belong to a distupgrade repository
      - package llvm-toolset-18.1.8-3.el9.x86_64 from ubi-9-appstream-rpms requires llvm = 18.1.8, but none of the providers can be installed
      - package llvm-18.1.8-3.el9.x86_64 from ubi-9-appstream-rpms requires llvm-libs(x86-64) = 18.1.8-3.el9, but none of the providers can be installed
      - package llvm-18.1.8-3.el9.x86_64 from ubi-9-appstream-rpms requires libLLVM.so.18.1()(64bit), but none of the providers can be installed
      - package llvm-18.1.8-3.el9.x86_64 from ubi-9-appstream-rpms requires libLLVM.so.18.1(LLVM_18.1)(64bit), but none of the providers can be installed
      - cannot install both llvm-libs-18.1.8-3.el9.x86_64 from ubi-9-appstream-rpms and llvm-libs-19.1.7-2.el9.x86_64 from @System
      - package mesa-dri-drivers-24.2.8-2.el9_6.x86_64 from @System requires libLLVM.so.19.1()(64bit), but none of the providers can be installed
      - package mesa-dri-drivers-24.2.8-2.el9_6.x86_64 from @System requires libLLVM.so.19.1(LLVM_19.1)(64bit), but none of the providers can be installed
      - package mesa-libGL-24.2.8-2.el9_6.x86_64 from @System requires libgallium-24.2.8.so()(64bit), but none of the providers can be installed
      - package mesa-libGL-24.2.8-2.el9_6.x86_64 from @System requires libgallium-24.2.8.so(libgallium-24.2.8.so)(64bit), but none of the providers can be installed
      - package mesa-libGL-devel-24.2.8-2.el9_6.x86_64 from @System requires mesa-libGL(x86-64) = 24.2.8-2.el9_6, but none of the providers can be installed
      - conflicting requests
      - problem with installed package mesa-libGL-devel-24.2.8-2.el9_6.x86_64
    (try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

So when trying to install llvm-toolset from docker/Dockerfile.clang.rhel9,
we have a conflict because this installs 18.1 from ubi-9-appstream-rpms,
but various mesa packets have llvm 19.1.

1. I don't understand why we have mesa installed (no graphics system?)
2. --allowerasing downgrades the relevent mesa package(s)

Alternatively, we would need to select 19.1 when installing
llvm-toolset, but I don't know how to do that.
2025-05-13 14:39:24 +02:00
Robert Schmidt
176fd405d9 Add RHEL/rocky 9.6/9.7 to list of supported distributions 2025-05-13 14:39:24 +02:00
Teodora
e6e9aaed7f Clarification on the packet length needed to configure VFs
As per CUS spec, the MTU can be 1500 or 9000 B, where MTU = IQ data format.

Packet length = ethernet header + RTE_PKTMBUF_HEADROOM + MTU

However, xran assumes different definitions of the MTU:
(1) in xran_init_mbuf_pool(): MTU = ethernet header + IQ data format;
(2) in xran_get_num_prb_elm(), xran_init_PrbMap_from_cfg(), xran_init_PrbMap_from_cfg_for_rx(), xran_init_PrbMap_by_symbol_from_cfg(): MTU = complitely wrong (as the IQ data format is not well included).

Additionally, xran assumes that the max MTU 9600 B, instead of 9000 B as per spec.
Nevertheless, I left 9600 B in all config files and docs due to wrong calculation of (2) for the total number of PRBs per fragment.
2025-05-13 12:55:18 +02:00
Teodora
29acc08f9e Add new Benetel supported versions 2025-05-13 12:55:18 +02:00
Teodora
3a1fc2ef65 Fix Liteon for xran F release and improve docs
1. Closes #884 - increase the XRAN_MAX_FRAGMENT from 4 to 6 (sufficient for MTU 1500 with compression 8b)
2. Add new firmware version that supports jumbo frames
3. Update the config file to align with the new Liteon unit in our lab - center frequency, jumbo frames, compression and RU MAC address,
as well as the max DL MIMO layers.
2025-05-13 12:53:16 +02:00
luis_pereira87
089d1ec49e Tutorials: add support for 'default'/"empty" DNN to CN5G configuration file
Add support for 'default' DNN to CN5G configuration file (that will also be used when DNN is not available, "empty" DNN). This configuration will allow most of the COTS UE to get PDUSession without any APN configuration made by the user

The 'default'/"empty" DNN configuration support was added in https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-amf/-/merge_requests/343
2025-05-13 11:24:26 +01:00
luis_pereira87
9350db4979 Tutorials: update UHD to v4.8.0.0 2025-05-13 11:24:26 +01:00
luis_pereira87
e5d7fd3904 Tutorials: Update docker install to the latest instructions on the official website 2025-05-13 11:24:26 +01:00
luis_pereira87
b8617819b1 Tutorials: Update links for the latest Ubuntu 24.04 LTS iso file 2025-05-13 11:24:26 +01:00
Jaroslava Fiedlerova
f9e1657840 Merge branch 'integration_2025_w19' into 'develop'
Integration: `2025.w19`

Closes #852, #952, and #957

See merge request oai/openairinterface5g!3427

* !3409 Correctly handle minimum RB condition in MAC
* !3421 Fix DMRS for PUCCH format 2
* !3424 limit the number of HARQ processes in case of DCI00 and 10
* !3116 ue txData more contextual, but still global as it is entangled with usrp driver
* !3408 Handling 2 search spaces per slot in SIB1
* !3419 PRACH configuration index warning
* !3429 CI: Add `-l` option for the UL iperf test
* !3381 Add 5GMM Authentication Failure enc/dec lib and unit test
2025-05-13 08:55:55 +00:00
beraoudabdelkhalek
6f5644e489 Added intercommunication between namespaces.
- Added abort function.
- Added intercommunication between UE namespaces.
- Reduced code size.
- Removed default getops error messages.
2025-05-13 10:39:32 +02:00
Romain Beurdouche
d6ee29a193 feat(nrLDPC_encoder): remove _optim and _optim8seg
It is pointless to keep updating ldpc_optim and ldpc_optim8seg.
So we remove them.
2025-05-13 07:32:36 +00:00
Guido Casati
66d32fb39b Add cause to Bearer Context Release message trigger 2025-05-12 21:46:07 +02:00
Guido Casati
67ec7d3174 Use Bearer Context Release Complete enc/dec lib in stack 2025-05-12 21:46:02 +02:00
Guido Casati
8f9761ac84 Add Bearer Context Release Complete enc/dec lib and unit test 2025-05-12 21:45:58 +02:00
Guido Casati
f8eba806da Use Bearer Context Release Command enc/dec lib in stack 2025-05-12 21:45:47 +02:00
Guido Casati
3c8caeb9b2 Add Bearer Context Release Command enc/dec lib and unit test 2025-05-12 21:45:08 +02:00
Jaroslava Fiedlerova
b00c2fec99 Merge remote-tracking branch 'origin/fix-aerial-ul' into integration_2025_w19 (!3429)
CI: Add `-l` option for the UL iperf test

In this MR, we set the packet length to 1428 bytes for UL iperf3 testing using
the -l option to prevent packet fragmentation. Fragmentation is causing packet
drops between the gNB and the UPF, leading to failed UL throughput tests in CI.
2025-05-12 15:08:23 +02:00
Jaroslava Fiedlerova
3a9936d485 Merge remote-tracking branch 'origin/nr-ue-nas-auth-failure' into integration_2025_w19 (!3381)
Add 5GMM Authentication Failure enc/dec lib and unit test

This MR is introducing the 5GMM Authentication Failure message library as per
8.2.4 of 3GPP TS 24.501. This message is sent from UE to network under certain
conditions. The message is also introduced in stack and is send if the received
ngKSI already in use.

- add new library for 5GMM Authentication Failure enc/dec and unit test
- introduce handler and generate function for NAS Authentication Failure
  store ngKSI
- send Authentication Failure if ngKSI is already associated with one of
  the 5G security contexts stored in the UE

Closes #852
2025-05-12 15:06:12 +02:00
Guido Casati
4587210384 Add handler for Authentication Request
* store ngKSI
* send Authentication Failure if ngKSI is already associated
  with one of the 5G security contexts stored in the UE
2025-05-12 10:26:29 +02:00
Teodora
83afb8b852 Set common E&F releases for CUS and CUSM 2025-05-10 00:31:03 +02:00
Sakthivel Velumani
bff9c169c6 Update MTU for Foxconn to 9600
After capturing the FH packets, we observed that the RU supports the MTU value for jumbo frames.

Therefore, no fragmentation needed on DL.

Co-authored-by: Teodora Vladic <teodora.vladic@openairinterface.org>
2025-05-10 00:31:03 +02:00
Jaroslava Fiedlerova
12562609eb Merge remote-tracking branch 'origin/PRACH_config_index_warning' into integration_2025_w19 (!3419)
PRACH configuration index warning
2025-05-09 16:37:40 +02:00
Jaroslava Fiedlerova
2ffc518201 Merge remote-tracking branch 'origin/fix_2_ss_sib1' into integration_2025_w19 (!3408)
Handling 2 search spaces per slot in SIB1

Closes #952
2025-05-09 16:37:01 +02:00
Jaroslava Fiedlerova
cecd4a0cff Merge remote-tracking branch 'origin/ue-fix-txdata' into integration_2025_w19 (!3116)
ue txData more contextual, but still global as it is entangled with usrp driver

- txData buffer is global and entangled even in usrp oai driver because of tx
  thread feature
- it also makes weird combination with continuous tx usrp bug workaround
- this MR makes most of the calls contextual but keep the globakl txData
- later a MR should remove the global and tackle it with proper context, but we
  need to modify gNb, UE, 4G and probably all oai drivers
2025-05-09 16:35:20 +02:00
Reem Bahsoun
e7d91b8a04 Set packet length with -l option to 1428 for the UL iperf command line to avoid packet fragmentation.
*Packet fragmentation results in packet drops, leading to zero packets being received from the gNB to the UPF*
2025-05-09 16:15:18 +02:00
Jaroslava Fiedlerova
0603ed8976 Merge remote-tracking branch 'origin/issue_957' into integration_2025_w19 (!3424)
limit the number of HARQ processes in case of DCI00 and 10

Closes #957
2025-05-09 12:28:14 +02:00
Jaroslava Fiedlerova
4ebf3cabb0 Merge remote-tracking branch 'origin/fix-DMRS-PUCCH2' into integration_2025_w19 (!3421)
Fix DMRS for PUCCH format 2

This MR fixes the DMRS for PUCCH format 2.
While at the OAI-UE we have:

uint16_t startingPRB = pucch_pdu->prb_start + pucch_pdu->bwp_start;
uint idxGold = startingPRB >> 2;
uint32_t *seq = gold_cache(temp_x2, idxGold + pucch_pdu->prb_size);

At gNB side, it was missing pucch_pdu->bwp_start, i.e., it was:

uint32_t *sGold = gold_cache(x2, pucch_pdu->prb_start / 4 + ngroup / 2);
uint8_t *sGold8 = (uint8_t *)(sGold + pucch_pdu->prb_start / 4);

This MR was tested with COTS UE with a bwp_start other than 0, and now PUCCH format 2 is being decoded correctly.
2025-05-09 12:25:34 +02:00
Jaroslava Fiedlerova
51f9627f6c Merge remote-tracking branch 'origin/min-grant-fixes' into integration_2025_w19 (!3409)
Correctly handle minimum RB condition in MAC
- Correctly handle Msg3 min PRB size == BWP size
- Make min_grant_prb u16 to also allow to have 273 PRBs
2025-05-09 12:24:29 +02:00
Laurent THOMAS
33d72f6080 fix C style, unefficient and complex 2025-05-09 12:10:41 +02:00
Laurent THOMAS
44716febce ue txData more contextual, but still global as it is entangled with usrp driver 2025-05-09 12:10:39 +02:00
Nick Hedberg
d55bcecdc3 Use u16 for minimum grant option, could be 273PRBs 2025-05-08 16:50:12 +02:00
Robert Schmidt
34ee9ffd29 Move log for Msg3 allocation done
Move this message down, at the end of the function, if no code path
exists under which msg3 allocation might fail despite this log having
been printed.
2025-05-08 16:50:12 +02:00
Robert Schmidt
d8b67af156 Respect minimum grant condition for Msg3 2025-05-08 16:42:27 +02:00
Nick Hedberg
7d8658f5ef Correct ULSCH minimum RB condition
Assume the minimum grant (min_rb) size to be the bandwidth part size. As
an example: rbStart 0, min_rb=bwpSize=106. This should pass, hence
modify these two conditions.

Co-authored-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2025-05-08 16:42:27 +02:00
francescomani
2f1dbed8ec limit the number of HARQ processes in lists for DCI 10 and 00
(also removed unnecessary call to create lists at UE init)
2025-05-08 15:49:03 +02:00
francescomani
321df962d2 make functions to create harq lists static 2025-05-08 15:05:13 +02:00
rmagueta
51dfab0c56 Fix DMRS for PUCCH format 2 2025-05-07 15:55:36 +01:00
francescomani
f9b76dd2bf fix sim prach configuration index 2025-05-07 09:19:19 +02:00
Guido Casati
5c38a619ab Use e1ap_cause_t in e1ap_bearer_release_cmd_t 2025-05-06 17:36:19 +02:00
francescomani
b6b4332809 PRACH configuration index assertion to avoid PRACH in last symbol 2025-05-06 16:37:40 +02:00
francescomani
aa516bf1b5 scheduling pdcch structure in SIB1 depends on the associated SSB, can't be precomputed
start symbol may depend on the associated SSB index
2025-05-06 16:00:58 +02:00
francescomani
f41c572aff fix for UE reception of PDCCH not starting from symbol 0 2025-05-06 16:00:42 +02:00
Sakthivel Velumani
8c5340f135 Code cleanup
Use c16_t instead of int32_t for CSI RS freq domain samples.
Use const for rxdataF when used as input to functions.
2025-05-06 09:21:14 -04:00
Sakthivel Velumani
6128d1bb62 Use common function to generate CSI-RS signal
The functions nr_generate_csi_rs() and nr_ue_generate_csi_rs() are
identical. This commit removes nr_ue_generate_csi_rs() and moves
nr_generate_csi_rs() to nr_phy_common_csirs.c so both gNB and UE can use
the same function.
2025-05-06 09:11:40 -04:00
Robert Schmidt
9b878d920d Merge branch 'integration_2025_w18' into 'develop'
Integration: `2025.w18`

Closes #953

See merge request oai/openairinterface5g!3413

* !3385 Add enc/dec lib for E1 Bearer Context Setup Failure
* !3410 Avoid segmentation fault when testing trigger reestablishment and there is no DRB[0] established
* !3411 Remove assert for SRI-PUSCH-PowerControl
* !3291 Improvements in handling UE context in gNB DU
* !3416 Signal gNB-DU config update CellStatus from DU to CU
* patch to fix memory leak on DRB_ToAddModList
* update phytest-timing thresholds
2025-05-06 13:01:19 +00:00
Robert Schmidt
34a7a12cf6 CI phytest-timing: Update timing thresholds 2025-05-06 10:24:02 +02:00
Robert Schmidt
976f4cbc5d Free DRB_ToAddModList 2025-05-05 22:47:03 +02:00
Robert Schmidt
b0a0844b21 Merge remote-tracking branch 'origin/gnb-du-config-cell-status' into integration_2025_w18 (!3416)
Signal gNB-DU config update CellStatus from DU to CU

Add the cell status to gNB-DU configuration update message, including
test. Use the gNB-DU configuration update to signal the cell status in
the stack.

This IE was not included in a previous refactoring round, but is at
least necessary to be decoded when interoperating with the OSC O-DU.
2025-05-05 22:37:21 +02:00
francescomani
fbfe76bdc5 fix size of access_ue_list
the current UE list is zero-terminated (see e.g., the UE_iterator
macro).
2025-05-05 22:34:03 +02:00
Robert Schmidt
a083bd830e Merge remote-tracking branch 'origin/new_UE_context_improvements' into integration_2025_w18 (!3291)
Improvements in handling UE context in gNB DU

The goal of this MR is to improve the handling of UE context in gNB DU.
To achieve this goal, the UE structure is created as soon as the gNB
receive a PRACH indication. At that stage the UE is placed in a new
structure containing UEs performing RA, untill RA is complete where it
is moved to the list of connected UEs. To simplify the code and to
improve the handling of initial procedures (see #751), DCI 10 and DCI 00
is used at every stage until the DU receives from CU the indication of
UE RRC reconfiguration being completed.
2025-05-05 09:10:36 +02:00
Robert Schmidt
de2778b26c Merge remote-tracking branch 'origin/issue-953' into integration_2025_w18 (!3411)
Remove assert for SRI-PUSCH-PowerControl

SRI-PUSCH-PowerControl is not implemented at this point but its enough
to warn about incorrect power control behavior rather than assert on the
configuration.

Closes #953
2025-05-05 08:23:37 +02:00
Robert Schmidt
8c559345db Merge remote-tracking branch 'origin/avoid-segfault-test-reestablishment' into integration_2025_w18 (!3410)
Avoid segmentation fault when testing trigger reestablishment and there is no DRB[0] established
2025-05-05 08:22:59 +02:00
francescomani
2626dbd24b further adjustment in timing test 2025-05-04 09:34:42 +02:00
Robert Schmidt
5205d1d4b7 Read security only for CU or Monolithic: avoid warning at DU 2025-05-04 09:34:42 +02:00
Robert Schmidt
b4a7a1a194 Allow F1 to be used in do-ra
This is preparatory work to allow NSA-like modes to be used over F1 in
the future. Notably, it fills the F1 message for UE context setup with
GTP TEID, and fills additional information to "make the F1 encoder
happy" (fill in QFI etc). Also, provide some F1 fixes to make this work.
Remove stale UE connections, if relevant.
2025-05-04 09:34:42 +02:00
Robert Schmidt
b9edba2186 Reimplement NSA release using F1
The RLC function is not used, this is handled at the DU.
2025-05-04 09:34:42 +02:00
Robert Schmidt
8a7987812a Stop SDAP/noS1 interface in all cases reliably 2025-05-04 09:34:42 +02:00
Robert Schmidt
94443aefde Save in SDAP context if is UE or gNB
sdap_tun_read_thread needs to know if we are gNB/UE. Previously, we
passed this into the thread, but the next commit also needs to for
interface termination, where this info is not available. So, for noS1
mode, pass this in.
2025-05-04 09:34:42 +02:00
Robert Schmidt
958b2f3fac Move generate_CG_Config() to rrc_gNB_nsa.c
Remove the (now) unused rrc_gNB_internode.c. generate_CG_Config() is
only used in NSA, so can be static.
2025-05-04 09:34:42 +02:00
Robert Schmidt
efbdd92694 Move get_default_reconfig() to rrc_gNB_nsa.c 2025-05-04 09:34:41 +02:00
Robert Schmidt
fddcb2a5e8 Reply X2 Addition Request after F1 UE context setup in NSA 2025-05-04 09:34:41 +02:00
Robert Schmidt
67f04d828a Implement UE context addition in CU through F1 in do-ra/phy-test
Add functionality to trigger the addition of a new RRC UE context (in
the CU) for NSA modes, using F1. This commit makes do-ra and phy-test
modes work. "True" NSA will work in the next commit, which also sends
the X2 addition request answer message.
2025-05-04 09:34:41 +02:00
francescomani
031be06665 use already generated RNTI when creating a new NSA US and take get_reconfiguration_with_sync out of get_default_secondaryCellGroup 2025-05-04 09:34:41 +02:00
Robert Schmidt
7b9442f58d DU-level changes to handle F1 UE Context Setup in NSA/phy-test/do-ra
Co-authored-by: Francesco Mani <email@francescomani.it>
2025-05-04 09:34:41 +02:00
Robert Schmidt
6c5514d5c9 Refactor out useless function 2025-05-04 09:34:41 +02:00
Robert Schmidt
953a5ed33e Trigger release request on RA timeout only once
Checking for < 0 makes the contention resolution timer trigger on each
iteration once it is < 0. Instead, use == 0, which will trigger only
once.
2025-05-04 09:34:41 +02:00
francescomani
3ec14152a1 fix for ULSCH number of layers in case of DCI00 2025-05-04 09:34:41 +02:00
francescomani
a4357b74c5 use DCIX0 in commmon search space in any scenario before reconfiguration complete
this allows to remove a lot of complicated procedures relying on flags and timers
2025-05-04 09:34:36 +02:00
Robert Schmidt
286e3279d5 rrc_gNB_du.c: all logs into NR_RRC log category 2025-05-02 16:51:32 +02:00
Robert Schmidt
ae6ea60a7a Use gNB-DU config update/CellStatus in stack
Use the gNB-DU configuration update to signal the cell status in the
stack. At the DU, modify the code to always send this message --
previously, we only sent this message if a SIB1 update was necessary,
but now it's always, only including SIB1 updates if necessary.

At the CU, as we don't really have a use as of now, print the
information, but don't do anything with it.
2025-05-02 16:49:29 +02:00
Robert Schmidt
f33c6cd0da f1ap: Add CellStatus list in gNB-DU config update 2025-05-02 16:24:35 +02:00
Robert Schmidt
ff99599b25 Merge remote-tracking branch 'origin/e1-bearer-setup-failure' into integration_2025_w18 (!3385)
Add enc/dec lib for E1 Bearer Context Setup Failure

This MR is adding:

- the enc/dec library
- unit test
- handler and callback in stack

For the E1 Bearer Context Setup Failure.
2025-05-02 08:16:11 +02:00
francescomani
c494c631d1 target search space as input of function to configure UE BWP 2025-05-01 11:04:22 +02:00
francescomani
5729b638a5 add dci 10 to config 2025-05-01 11:04:08 +02:00
francescomani
356a27aad1 handle ul harq inside rx sdu function 2025-05-01 10:48:29 +02:00
francescomani
bf37994f78 separate function for RA ULSCH SDU 2025-05-01 10:48:24 +02:00
francescomani
8f62baefa6 Use list of UEs during RA instead of array of RA processes
- rewrite add_UE_to_list() and rewrite remove_UE_from_list() to simplify
  list handling
- return pointer from get_new_nr_ue_inst(); it's completely freed by
  delete_nr_ue_data()
- have add_new_UE_RA() add UE context to access list; remove with
  nr_release_ra_UE()
- have add_connected_nr_ue() only add UE to connected list; to move from
  access to connected use transition_ra_connected_nr_ue(); remove with
  mac_remove_nr_ue() as previously
- free memory on problems during RA
- add some documentation
- in NSA/HO: check for pre-configured RA process
- there are asserts in all functions to clarify when a UE has RA
2025-05-01 10:48:11 +02:00
francescomani
a7c199cabf new name for UE list 2025-05-01 10:04:41 +02:00
francescomani
a337354588 Add function to compute slot for RA-RNTI 2025-05-01 10:03:24 +02:00
Robert Schmidt
a1e1405ee6 Start E1 before gNB_app
In phy-test and do-ra modes, we will trigger a UE context creation after
F1 Setup (because the DU is ready), in a later commit. However, before
this commit, E1 is started after the gnb_app (which triggers F1 Setup).
E1 starts an (integrated) CU-UP; if the E1 Setup arrives after the F1
setup (which creates a UE context), then the E1 setup handler will drop
the newly created RRC context for a do-ra/phy-test mode.

Avoid/minimize this by starting E1 first, so that E1 setup is done
before F1 Setup is completed (this does not make sure the problem does
not happen, but lowers the risk of the above problem).
2025-05-01 10:03:23 +02:00
francescomani
b88efd74b8 fix in determining the num of cdm groups with no data for ULSCH 2025-05-01 10:03:19 +02:00
Bartosz Podrygajlo
c2b342d129 Remove assert for SRI-PUSCH-PowerControl
SRI-PUSCH-PowerControl is not implemented at this point but its enough
to warn about incorrect power control behavior rather than assert on the
configuration.
2025-04-30 13:06:04 +02:00
Guido Casati
9311931e90 Introduce handler/callback for Bearer Context Setup Failure in stack
This commit does not introduce the callback on the CU-UP to trigger
a Bearer Context Setup Failure when the setup of the bearer context was unsuccessful.
This should be handled properly in the stack e.g. in e1_bearer_context_setup (a comment
in the code says "We assume all DRBs to setup have been setup successfully, so we always
send successful outcome in response and no failed DRBs")
2025-04-30 11:57:12 +02:00
Guido Casati
606b9832af Add unit test for Bearer Context Setup Failure 2025-04-30 11:06:50 +02:00
Guido Casati
be7e52b679 Add enc/dec lib for Bearer Context Setup Failure 2025-04-30 11:06:35 +02:00
luis_pereira87
78378f3301 Avoid segmentation fault when testing trigger reestablishment and there is no DRB[0] established 2025-04-30 10:04:17 +01:00
Robert Schmidt
acb982d0bd Merge branch 'integration_2025_w17' into 'develop'
Integration: `2025.w17`

Closes #947

See merge request oai/openairinterface5g!3403

* !3377 Fix all direct MAC memory leaks
* !3397 Fix for MIB/SIB gNB delay mechanism
* !3399 SIBs in DL slot check
* !3401 F1AP: Allocate gNB_DU_ID before storing ID
* !3380 Issue 947 and compilation improvements
* !3391 small bugfix for T tracer
* !3261 Add Bearer Context Modification Request/Response enc/dec lib and adopt in stack
* !3178 mod: refactor PHY multiplications
* !3382 Improve radio for Metanoia RU (and likely others)
* !3388 Update CN5G images tags to the latest release in all CI pipelines
* !3351 Fix ASN1 struct double free
* !3405 Fix for NR UE DLSCH decoding barrier in case of no feedback
* !3404 Polar: remove dead code and a wrong comment
2025-04-29 06:52:39 +00:00
Robert Schmidt
688156164c Merge remote-tracking branch 'origin/remove-dead-code-polar' into integration_2025_w17 (!3404)
Polar: remove dead code and a wrong comment

a file code duplicated and no more used a comment is wrong:
uint16_t x = INFINITY; is wrong, the gcc comment is true
uint16_t x= INFINITY; sets x=-32768 because it is truncature of 0x7FFFFF

add SIMD for the top lines when i run polartest
2025-04-28 17:46:34 +02:00
Robert Schmidt
af7ce8e9b1 Merge remote-tracking branch 'origin/fix_for_tx_wait_for_dlsch' into integration_2025_w17 (!3405)
Fix for NR UE DLSCH decoding barrier in case of no feedback

In !3291 NTN CI RFsim test fails with the UE being stuck. After some
investigation, this seems to be caused by the scenario where there is no
feedback for DLSCH. In that case there is no need to wait for DLSCH
being completed before generating feedback (there is no feedback).
2025-04-28 17:46:11 +02:00
Robert Schmidt
d46fb4fc68 Merge remote-tracking branch 'origin/fix-asn1-free' into integration_2025_w17 (!3351)
Fix ASN1 struct double free

When paging, RA and other SI have same PDCCH search space, we should
free the struct once and reset the other pointers to NULL.
2025-04-28 17:45:46 +02:00
Robert Schmidt
d12a9d9063 Merge remote-tracking branch 'origin/ci-update-cn5g-images-tags' into integration_2025_w17 (!3388)
Update CN5G images tags to the latest release in all CI pipelines

This MR is updating the tags of the CN5G docker images to the latest
release v2.1.9, for all CI pipelines.
2025-04-28 12:23:21 +02:00
Robert Schmidt
7eba632b79 Merge remote-tracking branch 'origin/metanoia-improve-conn' into integration_2025_w17 (!3382)
Improve radio for Metanoia RU (and likely others)

We introduced a regression that lowered the achievable DL throughput
with at least the Metanoia RU (i.e., in the configuration and the UE
that we use). git bisect showed up one commit, which does not seem
necessary. We just revert this commit, as it improves the throughput and
does not seem to have a negative impact on performance.

Further, increase RLC buffers a bit. Limit 7.2 pipeline number of layers
to 2.
2025-04-28 12:22:40 +02:00
Robert Schmidt
f8449846fc Merge remote-tracking branch 'origin/refactor_simd_multiplications' into integration_2025_w17 (!3178)
mod: refactor PHY multiplications

Refactoring multiple copies of the same "complex multiplication code"
into inline functions
2025-04-28 12:21:59 +02:00
Laurent THOMAS
1208521959 remove dead code and a wrong comment 2025-04-28 11:59:17 +02:00
Robert Schmidt
d2f332e18e Limit FHI-72 to two layers
With PMI reporting working (see HEAD^^), it seems that four layers put
two much processing strain on the machine (cacofonix), which asserts
immediately. In tests, it was found that the same test throughput
(600Mbps) can be achieved with two layers, while not crashing the
machine.
2025-04-28 10:12:49 +02:00
francescomani
799c19b229 no need to wait for dlsch decoding being completed before ack/nack if feedback is disabled 2025-04-28 07:54:03 +02:00
Laurent THOMAS
d980301f29 fix old bug always increasing frame_tx compared with 3GPP frame number 2025-04-27 20:27:36 +02:00
Sakthivel Velumani
18c9a3720d Fix asn1c double free
The UE stores PDCCH search spaces from the network in NR_BWP_PDCCH_t
struct within NR_UE_MAC_INST_t. After storing, the pointers otherSI_SS,
ra_SS and paging_SS are updated to point to the stored SS. Multiple
pointers could point to the same stored SS struct depending on
configuration. Then when the UE wants to release the SS, the pointers
are used to free the stored SS using ASN_STRUCT_RESET(). If multiple
pointers point to the same SS, calling ASN_STRUCT_RESET() on all
pointers would lead to double free. So one needs to check for dangling
pointer before freeing.

Instead of using pointers and assigning them during configuration, we
use SS id for otherSI_SS, ra_SS and paging_SS to retrieve the pointers
whenever needed. When the UE wants to release the SS, we make them -1
indicating an invalid SS id.
2025-04-25 15:40:07 -04:00
Robert Schmidt
6728d3b923 Merge remote-tracking branch 'origin/e1-bearer-mod-encdec-tests' into integration_2025_w17 (!3261)
Add Bearer Context Modification Request/Response enc/dec lib and adopt in stack

This MR is introducing the Bearer Context Modification Response enc/dec
library with relative unit test, and it is also adopting it in the
stack.  Also:

- Refactor Security Information IE decoding function
- Adopt Bearer Context Modification Request lib in stack (introduced in
  !3219 (merged))
2025-04-25 15:03:55 +02:00
Robert Schmidt
73cd5d4a02 Merge remote-tracking branch 'origin/bugfix_T_txdataF' into integration_2025_w17 (!3391)
small bugfix for T tracer

small bugfix: missing beam index when addressing txdataF in T tracer
command. Also changed order of if(gNB->phase_comp) so that data is
exported in any case.
2025-04-25 14:54:16 +02:00
Robert Schmidt
7639cea5e5 Merge remote-tracking branch 'origin/issue_947' into integration_2025_w17 (!3380)
Issue 947 and compilation improvements

This MR started with a small commit (03c7f151) to close #947. Little did
I know that I would be taken in a long journey through OAI compilation
hell.
2025-04-25 14:53:46 +02:00
Matthias Mehlhose
04e35af5a5 mod: remove simde_ prefix and use oai_ prefix instead 2025-04-25 14:48:00 +02:00
Matthias Mehlhose
59d7e74157 add: unit tests 2025-04-25 14:47:59 +02:00
Matthias Mehlhose
8bfc0dfedd del: double defines (see tools_defs.h) 2025-04-25 14:47:59 +02:00
Laurent THOMAS
8c55c4b8ab move traces of phy simulators to stdout (some were in stderr) 2025-04-25 14:47:59 +02:00
Laurent THOMAS
7982a9da41 set correct parameter type, and fuse funcions that do same real/complex vector operations, doing this, fix a lot of unitary multiplications (else there would be numerous cast operations 2025-04-25 14:47:59 +02:00
Laurent THOMAS
95ae7772bf simplifly, reegroup functions in tools_defs.h 2025-04-25 14:47:59 +02:00
Laurent THOMAS
04fc2fbb2e make correct description of sub_cpx_vector16 and remove mixed dead code 2025-04-25 14:47:59 +02:00
Laurent THOMAS
4e3fab67a8 remove unused function with duplicated name to another one 2025-04-25 14:47:59 +02:00
Laurent THOMAS
2528a0614a - replace SIMDE package internal types usage by oai defined types
- remove some unused functions
2025-04-25 14:47:59 +02:00
Laurent THOMAS
fefb96a115 merge functions conj(a)*b and a*conj(b) 2025-04-25 14:47:59 +02:00
Laurent THOMAS
bb93b06663 use one call to multiply the full size vector 2025-04-25 14:47:59 +02:00
HHI
f470ea5946 mod: refactor PHY multiplications 2025-04-25 14:47:59 +02:00
Guido Casati
f418078a0e Update ci-scripts/yaml_files/5g_rfsimulator/README.md 2025-04-25 12:23:45 +02:00
Robert Schmidt
14269b7933 Merge remote-tracking branch 'origin/f1-du-config-update-fixes' into integration_2025_w17 (!3401)
F1AP: Allocate gNB_DU_ID before storing ID

Update the test so it would catch that bug. Check in eq_() that both
gNB_DU_IDs would be present, or not, using xor.

Found while interop testing with OSC DU.
2025-04-25 08:40:17 +02:00
Robert Schmidt
566790c8ec Merge remote-tracking branch 'origin/sib_misconfiguration_assertion' into integration_2025_w17 (!3399)
SIBs in DL slot check

This MR add assertions to prevent scheduling SIBs in slots that are not DL
2025-04-25 08:39:53 +02:00
Robert Schmidt
67887e1040 Merge remote-tracking branch 'origin/fix_3372' into integration_2025_w17 (!3397)
Fix for MIB/SIB gNB delay mechanism

Fix for !3372 to start scheduling/print gNB stats when the PRACH noise
estimation is ready
2025-04-25 08:38:19 +02:00
Robert Schmidt
aee1e663d9 Merge remote-tracking branch 'origin/fix-all-mem-leak-mac-no-ue' into integration_2025_w17 (!3377)
Fix all direct MAC memory leaks

This MR fixes many memory leaks in the MAC that are otherwise shown by
asan if the gNB is started. UEs can be connected and it seems the MAC
does not leak memory. It also fixes a number of memory problems where
e.g., the generation of SIB1 "steals" memory from the
ServingCellConfigCommon. See the commits for more details.

Note that this still leaves behind a lot of memory after calling the new
function mac_top_destroy_gNB(). To see them, add free(mac); in that
function. However, there are no "direct leaks", so it would be feasible
to still clean up (it's just that we don't do it, yet).

I checked. In a "standard" configuration (FR1, 30kHz), the memory leaks
come basically from RRC. Also, the F1 UE context setup message leaks
some memory, which we will handle in the future by adding
encoding/decoding functions that with corresponding utility (free, copy)
functions. On the other hand, the frequent F1 messages (UL/DL RRC
Message Transfer) do not leak memory (they have the utility functions).

A final commit just makes the inability to write nrRRC_stats.log,
nrL1_stats.log, and nrMAC_stats.log, non-fatal to the gNB.
2025-04-25 08:37:34 +02:00
Robert Schmidt
413b84b179 Allocate gNB_DU_ID before storing ID
Update the test so it would catch that bug. Check in eq_() that both
gNB_DU_IDs would be present, or not, using xor.
2025-04-24 18:42:06 +02:00
francescomani
657a464e6f increase size of max measurement definitions in OAI UE as per 38.331 2025-04-24 18:40:49 +02:00
francescomani
76040b97aa move rrc_config_dl_ptrs_params to common header since it is also used by dlsim 2025-04-24 18:40:49 +02:00
francescomani
4f7bbda19a remove LTE/rrc_vars.h include in ulsim 2025-04-24 18:40:49 +02:00
francescomani
50e91dc386 remove pdcp.h dependency in nr-uesoftmodem 2025-04-24 18:40:49 +02:00
francescomani
b7185b3b6a remove NR/nr_rrc_proto.h dependency from nr_rlc_oai_api.h 2025-04-24 18:40:49 +02:00
francescomani
85ee4647b5 remove NR/nr_rrc_defs.h dependency from asn1_msg.h 2025-04-24 18:40:49 +02:00
francescomani
b05d1ff599 remove gNB structure dependency from get_MeasConfig in asn1_msg.c 2025-04-24 18:40:49 +02:00
francescomani
bda64a05d9 remove gNB structure dependency from do_RRCReestablishment in asn1_msg.c 2025-04-24 18:40:49 +02:00
francescomani
368e74930c remove gNB structure dependency from do_RRCReconfiguration in asn1_msg.c 2025-04-24 18:40:49 +02:00
francescomani
735a631499 remove gNB structure dependency from do_RRCSetup in asn1_msg.c 2025-04-24 18:40:49 +02:00
francescomani
7a4c5ab6aa remove LTE/rrc_defs.h dependency in rrc_UE.c 2025-04-24 18:40:49 +02:00
francescomani
9e0d3c50bc move NR_RRC_BUF_SIZE to common 2025-04-24 18:40:49 +02:00
francescomani
492fae4292 remove rrc_defs.h dependency in L2_interface 2025-04-24 18:40:49 +02:00
francescomani
9df009cf66 remove rrc_gNB_radio_bearers.h dependency in nr_pdcp_entity.h 2025-04-24 18:40:49 +02:00
francescomani
60a57c69b3 Remove dependency from RRC gNB structure in NR RLC API
Pass a "type" of RLC operational mode, from which split-type/gNB/UE
decision is derived.

Co-authored-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2025-04-24 18:40:07 +02:00
Florian Kaltenberger
183b4a1d0f small bugfix: missing beam index when addressing txdataF in T tracer command. Also changed order of if(gNB->phase_comp) so that data is exported in any case. 2025-04-24 18:09:47 +02:00
Robert Schmidt
f9224e1fc8 File-based stats: abort writing if we can't write
There might be a number of reasons, such as read-only write system,
erros, etc. Still gracefully continue instead of aborting the operation.
2025-04-24 17:22:43 +02:00
Robert Schmidt
83dc33d3bf Avoid memory leaks: ext1 directly overwritten by p2 2025-04-24 17:22:43 +02:00
Robert Schmidt
d785187f28 Make deep copy for TDD_UL_DL_ConfigCommon instead of stealing pointer 2025-04-24 17:22:42 +02:00
Robert Schmidt
d41e7a95df Fix direct memory leak 2025-04-24 17:22:42 +02:00
Robert Schmidt
a57e4cd655 Fix direct memory leak 2025-04-24 17:22:42 +02:00
Robert Schmidt
de35a0a59c Fix memory leak: fix_tdd_pattern() allocates pattern1.ext 2025-04-24 17:22:42 +02:00
Robert Schmidt
8ee0b8efdf Introduce mac_top_destroy_gNB(): free MAC memory 2025-04-24 17:22:42 +02:00
Robert Schmidt
6afc0dee50 Correctly free 2-step RA/MsgA structures in fix_scc() 2025-04-24 17:22:42 +02:00
Robert Schmidt
b18fff6ae2 Correctly deep-copy memory structures on SIB1 creation 2025-04-24 17:22:42 +02:00
Robert Schmidt
c26a12e6b7 Correctly free ASN.1 memory for unused dedicated BWPs
prepare_scd() sets up memory for possible dedicated BWPs to be set up.
If they are not used, they are freed in fix_scd(). [1]

There are two problems:

1. in prepare_scd(), multiple structures are allocated once (for
   multiple elements), but inserted once. When trying to free those, the
   logic of ASN.1 is to free list elements individually, but then we try
   to call free() on each element of the list that has been allocated in
   one go. Fix this by doing multiple allocations to be in line with
   ASN.1 logic.

2. in fix_scd(), free recursively all data structures, not only the
   sequence element itself.

[1] this is horrible. We should only allocate memory if we actually need
it, but let's fix the more urgent problem of memory leaks first. Fixing
the logic problem would be more involved.
2025-04-24 17:22:42 +02:00
Guido Casati
e9dcbc66f0 Adopt DRB failed item enc/dec in PDU Session Resource Setup List item enc/dec 2025-04-24 11:30:29 +02:00
Guido Casati
e2e3ed09a9 Use in stack enc/dec library for E1 Bearer Context Modification Response 2025-04-24 11:29:10 +02:00
francescomani
2e9f5a7789 asserting if the otherSIB slot is not downlink 2025-04-24 09:30:28 +02:00
francescomani
f63ac3f1e4 asserting if the SIB1 slot is not downlink 2025-04-24 09:30:24 +02:00
francescomani
0301b239a2 print stats only after scheduler started 2025-04-23 16:42:03 +02:00
francescomani
3afa5760b8 fix num_scheduled_prach_rx with num occasion per slot 2025-04-23 14:49:57 +02:00
francescomani
3974136a05 remove LTE/rrc_vars dependency in uesoftmodem 2025-04-23 08:16:30 +02:00
francescomani
9f3a374758 remove NR UE rrc_defs dependency in rrc_messages_types 2025-04-23 08:16:30 +02:00
francescomani
3ba7c6bb11 remove unused nr_mac_rrc_sl_mib_ind 2025-04-23 08:16:30 +02:00
Robert Schmidt
4da30019be Merge branch 'integration_2025_w16' into 'develop'
Integration: `2025.w16`

Closes #949, #929, and #941

See merge request oai/openairinterface5g!3392

* !3207 Create nrUE network interface from SDAP (rebased)
* !3293 Cleanup and refactor initial gNB configuration
* !3326 Enable SSB-SINR based CSI reporting
* !3330 NR UE: consider the ratio of PUSCH EPRE to DMRS EPRE when calculating PUSCH DMRS power scaling
* !3376 Correct block_length to Kprime for LDPC decoder
* !3390 fix IP address in 4G UE
* !3071 time management module
* !3254 Follow up on NAS Registration Accept lib
* !3121 Bugfix for number of PRBs in PUCCH format 2
* !3387 fix NTN LEO scenario
* !3393 rejecting DRB if not configured in PDCP-Config
* !3372 Add Delay Mechanism for Initial MIB/SIB Transmission in gNB Scheduler
2025-04-22 16:16:33 +00:00
Thomas Schlichter
8f93424e53 Adapt NTN-LEO config after integration branch runs 2025-04-22 15:47:41 +02:00
Robert Schmidt
d623cbed7d Merge remote-tracking branch 'origin/issue_949' into integration_2025_w16 (!3393)
rejecting DRB if not configured in PDCP-Config

Closes issue #949
2025-04-22 09:38:42 +02:00
Robert Schmidt
f5b0d9603b Merge remote-tracking branch 'origin/fix_ntn_leo' into integration_2025_w16 (!3387)
fix NTN LEO scenario

NR UE: in nr_slot_fep() perform FO compensation in local tmp_dft_in
array instead of global rxdata array.

This avoids problems if nr_slot_fep() is called more than once for an
OFDM symbol.
2025-04-22 09:38:07 +02:00
Robert Schmidt
884e60da69 Merge remote-tracking branch 'origin/remove-prach-delay' into integration_2025_w16 (!3372)
Add Delay Mechanism for Initial MIB/SIB Transmission in gNB Scheduler

- Delay MIB/SIB in gNB until PRACH noise converges
- Remove the first PRACH random access attempt delay in NR UE
2025-04-22 09:37:31 +02:00
Jaroslava Fiedlerova
3d5177e5f7 Merge remote-tracking branch 'origin/bugfix_pucch2_prb_size' into integration_2025_w16 (!3121)
Bugfix for number of PRBs in PUCCH format 2

[TS 38.213 - Section 9.2.1 PUCCH Resource Sets] If the format indicates
PUCCH-format2 or PUCCH-format3, the PUCCH format configured for a PUCCH resource
is PUCCH format 2 or PUCCH format 3, respectively, where the PUCCH resource also
includes a number of PRBs provided by nrofPRBs, a number of symbols for a PUCCH
transmission provided by nrofSymbols, and a first symbol for the PUCCH
transmission provided by startingSymbolIndex.

[TS 38.213 - Section 9.2.3 UE procedure for reporting HARQ-ACK] If a UE transmits
a PUCCH with O_ACK HARQ-ACK information bits and O_CRC bits using PUCCH format 2
or PUCCH format 3 in a PUCCH resource that includes M_PUCCH_RB PRBs, the UE
determines a number of PRBs M_PUCCH_RB_min for the PUCCH transmission to be the
minimum number of PRBs (...)

[TS 38.213 - Section 9.2.5.1 UE procedure for multiplexing HARQ-ACK or CSI and
SR in a PUCCH] If a UE transmits a PUCCH with O_ACK HARQ-ACK information bits,
O_SR = ⌈log2(K+1)⌉ SR bits, and O_CRC CRC bits using PUCCH format 2 or PUCCH
format 3 in a PUCCH resource that includes M_PUCCH_RB PRBs, the UE determines
a number of PRBs M_PUCCH_RB_min for the PUCCH transmission to be the minimum
number of PRBs (...)

[TS 38.213 - Section 9.2.5.2 UE procedure for multiplexing HARQ-ACK/SR/CSI in
a PUCCH] If a UE has HARQ-ACK, SR and wideband or sub-band CSI reports to
transmit and the UE determines a PUCCH resource with PUCCH format 2, or the UE
has HARQ-ACK, SR and wideband CSI reports to transmit and the UE determines a
PUCCH resource with PUCCH format 3 or PUCCH format 4, where (...) the UE
transmits the HARQ-ACK, SR, and CSI reports bits by selecting the minimum number
PUCCH M_PUCCH_RB_min of the M_PUCCH_RB PRBs satisfying (...)

[TS 38.213 - Section 9.2.5.2 UE procedure for multiplexing HARQ-ACK/SR/CSI in a
PUCCH] If a UE has one or more CSI reports and zero or more HARQ-ACK/SR
information bits to transmit in a PUCCH where the HARQ-ACK, if any, is in
response to a PDSCH reception without a corresponding PDCCH; if any of the CSI
reports are overlapping (...); else, the UE transmits the
O_ACK + O_SR + O_CSI + O_CRC bits in a PUCCH resource provided by
pucch-CSI-ResourceList and determined as described in clause 9.2.5

Therefore, the number of PRBs to be used by PUCCH-format2 is M_PUCCH_RB_min,
except if we have zero HARQ-ACK bits, or if we have any HARQ-ACK, is in response
to a PDSCH reception without a corresponding PDCCH. In this case, we must use
the resources indicated in the pucch-CSI-ResourceList and determined as described
in clause 9.2.5.

In OAI, we have:
asn1cSeqAdd(&csirep->reportConfigType.choice.periodic->pucch_CSI_ResourceList.list, pucchcsires);

Where the resource added to the list corresponds to:

pucchres2->pucch_ResourceId = *pucchressetid;
pucchres2->startingPRB = 0;
pucchres2->intraSlotFrequencyHopping = NULL;
pucchres2->secondHopPRB = NULL;
pucchres2->format.present = NR_PUCCH_Resource__format_PR_format2;
pucchres2->format.choice.format2 = calloc(1,sizeof(*pucchres2->format.choice.format2));
pucchres2->format.choice.format2->nrofPRBs = 8;
pucchres2->format.choice.format2->nrofSymbols = 1;
pucchres2->format.choice.format2->startingSymbolIndex = 13;

Currently, in develop branch, we get these prb_size for PUCCH-format2:

[NR_RRC]   NGAP_PDUSESSION_SETUP_RESP: sending the message
[NGAP]   pdusession_setup_resp_p: pdusession ID 1, gnb_addr 172.31.0.1, SIZE 4, TEID 1579669408
[NR_MAC]   (596.3) pucch_pdu->prb_size = 4
[NR_MAC]   (596.4) pucch_pdu->prb_size = 3
[NR_MAC]   (600.3) pucch_pdu->prb_size = 4
[NR_MAC]   (600.4) pucch_pdu->prb_size = 3
[NR_MAC]   (604.3) pucch_pdu->prb_size = 4
[NR_MAC]   (604.4) pucch_pdu->prb_size = 3
[NR_MAC]   (608.3) pucch_pdu->prb_size = 4

While in QXDM we have Num RB = 8, whenever we have zero HARQ-ACK bits:

UCI Request BMask =             ACK_NACK_RPT | CSI_RPT
               Start symbol = 13
               Num Symbols = 1
               Starting RB = 0
               REL16 DMRS EN = 0
               Dual Pol Status = 0
               Num RB = 2
               Freq Hopping Flag =          HOP_MOD_NEITHER
               Second Hop RB = NA
               Num HARQ ACK Bits = 1
               Num SR Bits = 0
               Num UCI P1 Bits = 8

UCI Request BMask =             ACK_NACK_RPT | CSI_RPT
               Start symbol = 13
               Num Symbols = 1
               Starting RB = 0
               REL16 DMRS EN = 0
               Dual Pol Status = 0
               Num RB = 3
               Freq Hopping Flag =          HOP_MOD_NEITHER
               Second Hop RB = NA
               Num HARQ ACK Bits = 3
               Num SR Bits = 0
               Num UCI P1 Bits = 13

UCI Request BMask =                            CSI_RPT
               Start symbol = 13
               Num Symbols = 1
               Starting RB = 0
               REL16 DMRS EN = 0
               Dual Pol Status = 0
               Num RB = 8
               Freq Hopping Flag =          HOP_MOD_NEITHER
               Second Hop RB = NA
               Num HARQ ACK Bits = 0
               Num SR Bits = 0
               Num UCI P1 Bits = 10

UCI Request BMask =                   CSI_RPT | SR_RPT
               Start symbol = 13
               Num Symbols = 1
               Starting RB = 0
               REL16 DMRS EN = 0
               Dual Pol Status = 0
               Num RB = 8
               Freq Hopping Flag =          HOP_MOD_NEITHER
               Second Hop RB = NA
               Num HARQ ACK Bits = 0
               Num SR Bits = 1
               Num UCI P1 Bits = 11

Therefore, this MR fixes the prb_size, so that the number of PUCCH-format2 PRBs matches correctly.
2025-04-18 14:24:07 +02:00
Jaroslava Fiedlerova
94e82200e3 Merge remote-tracking branch 'origin/nas-reg-accept-lib' into integration_2025_w16 (!3254)
Follow up on NAS Registration Accept lib

This MR is a follow up on !2984 (merged).

The goal is to enhance the NAS Registration Accept lib:
- Add regression test for NAS Registration Accept: the goal of this test is to
  prevent on the decoding of the NAS Registration Accept sent by the OAI CN5G
- Add equality check and free utility functions to NAS Registration Accept
  library
- Free NAS Registration Accept after use: heap memory is allocated for this
  message during decoding and shall be free after processing
- Remove harcoded Slice Differentiator (SD) in NAS decode_nssai_ie and update
  the processing logic: The SD stored in the allowed S-NSSAI list was hardcoded
  in the decoding function, however this IE is not mandatory but optional.
  Therefore, the check of the decoded message contents should take into account
  the presence of the field in the received message and in that scenario, check
  the stored value against the one from the UICC. If no SD was received, consider
  the UICC SD a valid one.
- Cleanup and other fixes to decode_registration_accept: (1) adopt byte array
  (2) move registration result enc/dec to registration accept library (3) check
  on buffer lengths (4) add defines whenever necessary (5) simplify the code
2025-04-18 14:21:22 +02:00
Bartosz Podrygajlo
84b9272979 Disable PRACH delay workaround in NR UE
Disable the PRACH workaround in NR UE. With the MIB/SIB delay
implemented on the gNB there is no longer a need to delay first
NR UE random access attempt.
2025-04-18 10:27:23 +02:00
Bartosz Podrygajlo
a3ef5293fb Add Delay Mechanism for Initial MIB/SIB Transmission in gNB Scheduler
This commit introduces a delay mechanism for the first MIB/SIB transmission
in the gNB scheduler to allow PRACH noise estimate to converge stabilize
before first PRACH preamble reception.

Key changes:
- Added the `num_scheduled_prach_rx` variable to gNB_MAC_INST to keep track
  of total number scheduled of PRACH receptions. Using uint64_t type to avoid
  overflow.
- Updated the `gNB_dlsch_ulsch_scheduler` function to conditionally schedule
  MIB/SIB transmissions if `num_scheduled_prach_rx` is at least 100.
  The value comes from OAIs implementation of PRACH noise estimate.
2025-04-18 10:26:36 +02:00
francescomani
ba2a0c4d1e rejecting DRB addition if DRB field not present at setup in PDCP-Config 2025-04-18 09:44:41 +02:00
Jaroslava Fiedlerova
c0d9212afc Merge remote-tracking branch 'origin/feature-time-manager' into integration_2025_w16 (!3071)
time management module

introduction of a time management module
2025-04-18 09:08:24 +02:00
Guido Casati
906b564ed0 Add unit tests for Bearer Context Modification Response
One for successful setup and the other for setup failure.
2025-04-18 09:07:35 +02:00
Cedric Roux
b89b3abd13 API change: new arguments to time_manager_start() 2025-04-18 09:05:39 +02:00
Cedric Roux
4834d93006 fix typo 2025-04-18 09:02:55 +02:00
Cedric Roux
2f7eb6ebf9 replace many DevAssert with AssertFatal for better user experience 2025-04-18 09:02:55 +02:00
Cedric Roux
b487c4deb2 restructure the code for retrieval of configuration parameters 2025-04-18 09:02:55 +02:00
Cedric Roux
c9ad10f9f9 remove ngap from linking
It used to be necessary.
2025-04-18 09:02:55 +02:00
Cedric Roux
59be08e3e6 add link to time management module to the main readme 2025-04-18 09:02:55 +02: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
Jaroslava Fiedlerova
9bccad31b5 Merge remote-tracking branch 'origin/hotfix-ip-address-lte-ue' into integration_2025_w16 (!3390)
fix IP address in 4G UE

The following error was appearing when running LTE UE:

inet_pton(): cannot convert -64.-74.0.2 to IPv4 network address

The allocated address by the core actually is 192.182.0.2.
On my host "char" is signed, leading to the above error (192 and 182
are seen as signed).
Let's force "ip_addr" unsigned and everyone is happy.
2025-04-18 08:10:28 +02:00
Jaroslava Fiedlerova
32d1026b16 Merge remote-tracking branch 'origin/fix-ldpcdecoder-compile-by-clang' into integration_2025_w16 (!3376)
Correct block_length to Kprime for LDPC decoder

When compile the OAI by CMake, it shows the following error:

../openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_decoder_CL.c:353:40: error: no member named 'block_length' in 'struct nrLDPC_dec_params'
    int block_length    = p_decParams->block_length;
2025-04-18 08:09:23 +02:00
Jaroslava Fiedlerova
18372ae27e Merge remote-tracking branch 'origin/issue-929' into integration_2025_w16 (!3330)
NR UE: consider the ratio of PUSCH EPRE to DMRS EPRE when calculating PUSCH
DMRS power scaling

When calculating DMRS scaling ratio, we should consider PUSCH EPRE to DMRS
EPRE according to TS 38.214 Table 6.2.2-1.

Close #929
2025-04-17 23:03:13 +02:00
Jaroslava Fiedlerova
6e67c1ac20 Merge remote-tracking branch 'origin/NR_SSB_SINR' into integration_2025_w16 (!3326)
Enable SSB-SINR based CSI reporting

3GPP 38.331 release 16 specifies that If the field reportQuantity-r16 is present,
UE shall ignore reportQuantity (without suffix). reportQuantity-r16 configures
SSB based SINR as the reporting quantity.

set do_SINR = 1; in gNB params part of the config file to enable SSB based SINR
reporting.
2025-04-17 23:01:08 +02:00
Jaroslava Fiedlerova
315ed8e564 Merge remote-tracking branch 'origin/nr-gnb-config-refactor' into integration_2025_w16 (!3293)
Cleanup and refactor initial gNB configuration

This is follow-up on !3048 (merged). Major changes in this MR:
- Add config functions to reduce redundant code repeated in multiple places in the file
- Add macros to reduce redundant code in gNB configuration
- Refactor RCconfig_NR_NG
- Cleanup obsolete and commented out code
- Refactor includes in executables/nr-gnb.c
- Introduce platform type plmn_id_t for consistency across the stack: F1AP, NGAP can now use the same struct type
- And other minor formatting
2025-04-17 19:56:58 +02:00
Jaroslava Fiedlerova
ba2d1a880d Merge remote-tracking branch 'origin/sdap-changes' into integration_2025_w16 (!3207)
Create nrUE network interface from SDAP (rebased)

A rebase of !2485. Dropped a few refactors and SDAP manager changes.
Changes
1. Move tunnel interface read thread to SDAP for gNB (noS1) and UE (noS1 and SA).
2. Hold tunnel interface socket fd in SDAP entity instead of global variable.
3. Handle UE tunnel interface creation and IP configuration from NAS thread in noS1 and SA modes.
4. Modified UE tunnel interface naming scheme. Additional PDU sessions get oaitun_ue<id>p<pdusession_id>.

Closes #941
2025-04-17 19:53:57 +02:00
alexjiao
570c1b5639 Consider the ratio of PUSCH EPRE to DMRS EPRE when calculating PUSCH DMRS power scaling 2025-04-17 14:23:03 +02:00
Cedric Roux
b99fcdf289 fix IP address
The following error was appearing when running LTE UE:

    inet_pton(): cannot convert -64.-74.0.2 to IPv4 network address

The allocated address by the core actually is 192.182.0.2.

On my host "char" is signed, leading to the above error (192 and 182
are seen as signed).

Let's force "ip_addr" unsigned and everyone is happy.
2025-04-17 10:55:18 +02:00
Thomas Schlichter
1aa6aab120 NR UE: in nr_slot_fep() perform FO compensation in local tmp_dft_in array instead of global rxdata array
This avoids problems if nr_slot_fep() is called more than once for an OFDM symbol.
2025-04-16 17:42:11 +00:00
Thomas Schlichter
5f8aeaacc9 fix CI files for NTN LEO scenario 2025-04-16 17:00:36 +00:00
Guido Casati
3a449747de Update CN5G images tags to the latest release in all CI pipelines 2025-04-16 17:45:42 +02:00
Bartosz Podrygajlo
1ab8a58a2f Refactor TUN Interface Management and Move to SDAP Layer
This commit refactors the TUN interface management by moving its creation
and configuration from the PDCP layer to the SDAP layer for UE.

Key changes include:

- Introduced `tun_generate_ue_ifname` and `tun_destroy` functions for better
  TUN interface lifecycle management.
- Added support for creating and destroying UE-specific TUN interfaces in SDAP.
- Refactored `nr_pdcp_module_init` to remove TUN-related logic and moved it
  to SDAP.
- Updated NAS and SDAP layers to handle PDU session-specific TUN interface
  creation and configuration.
- Enhanced SDAP entity management to include TUN socket handling and thread
  lifecycle.
- Updated NAS message handling to initialize default PDU session TUN
  interfaces in NOS1 mode.
- Use a single SDAP thread function for gNB and UE
- Allow noS1 mode also in SA on gNB

These changes improve modularity by isolating TUN interface management within
the SDAP layer, aligning with the 3GPP architecture, and simplifying the PDCP
layer.

Co-Authored-By: Robert Schmidt <robert.schmidt@openairinterface.org>
2025-04-16 15:03:18 +02:00
Thomas Schlichter
5ac3f59d61 NR UE: fix and improve PHY layer debugging 2025-04-16 12:59:13 +00:00
Guido Casati
a19c786600 Add regression test for NAS Registration Accept decoding
This test verifies that a NAS Registration Accept message, as received
from the OAI CN5G, is correctly decoded and matches the expected output
structure. It ensures that future changes to the NAS decoder do not
break compatibility or correctness with existing decoding behavior.
2025-04-16 09:44:59 +02:00
Guido Casati
3fe601fa6b Add equality check to NAS Registration Accept library 2025-04-15 19:54:23 +02:00
Guido Casati
73b89726ad Remove harcoded Slice Differentiator (SD) in NAS decode_nssai_ie and update the processing logic
The SD stored in the allowed S-NSSAI list was hardcoded in the decoding
function, however this IE is not mandatory but optional, therefore
the check of the decoded message contents should take into account
this and check the stored value against the one from the UICC only when the field is present.
If no SD was received, consider the UICC SD a valid one.

Also, add free function to Registration Accept library and adopt in stack to free NAS
Registration Accept after use: heap memory is allocated for this message during decoding
and shall be free after processing.
2025-04-15 19:54:23 +02:00
Guido Casati
c6271a23e4 Add number of slices to decoding of NSSAI 2025-04-15 19:54:23 +02:00
Guido Casati
51661bd83c Cleanup and other fixes to decode_registration_accept
* adopt byte array
* add check on minimum buffer length
* improve comments
* remove call to LOG utility functions
* replace magic numbers with defines
* refined includes
2025-04-15 19:54:23 +02:00
Guido Casati
5c4595e699 Refactor 5GS registration result enc/dec functions
* adopt byte_array
* move enc/dec functions to Registration Accept library
* simplify code
* log result received in Registration Accept
2025-04-15 19:54:19 +02:00
Robert Schmidt
e30fe59489 increase RLC buffers for reduced losses 2025-04-15 16:19:14 +02:00
Robert Schmidt
8bd2d709cf Revert "Fix PMI condition: avoid division by zero"
This reverts commit 17e36029fa.
2025-04-15 16:19:05 +02:00
Raghavendra Dinavahi
bbcb31f64b Added description for do_SINR 2025-04-15 16:02:34 +02:00
Raghavendra Dinavahi
1666dced3e gNB changes- Extract SSB-SINR from received CSI report 2025-04-15 16:02:34 +02:00
Raghavendra Dinavahi
516a618816 UE changes- Generate SSB based SINR CSI report 2025-04-15 16:02:34 +02:00
Raghavendra Dinavahi
6e371b9e48 UE changes in PHY- Enable SSB based SINR measurement 2025-04-15 16:02:34 +02:00
Raghavendra Dinavahi
61778f3d55 gNB changes- Compute bitlen in case of SSB-SINR
compute SINR bitlen according to 38.212 table 6.3.1.1.2-6A
2025-04-15 16:02:34 +02:00
Raghavendra Dinavahi
2c164336bc gNB changes in RRC- Enable SSB-SINR based CSI reporting
3GPP 38.331 release 16 specifies that If the field reportQuantity-r16 is present, UE shall ignore reportQuantity (without suffix).
reportQuantity-r16 configures SSB based SINR as the reporting quantity.

set do_SINR = 1; in gNB params part of the config file to enable SSB based SINR reporting instead of the default RSRP based.
2025-04-15 16:02:34 +02:00
rmagueta
9e787a0ba2 Bugfix for number of PRBs in PUCCH format 2 2025-04-15 14:49:19 +01:00
Guido Casati
9b4245d921 Add generation function and handler for NAS Authentication Failure 2025-04-15 15:47:52 +02:00
Guido Casati
f5df7e17b0 Add NAS Authentication Failure enc/dec lib and unit tests 2025-04-15 15:47:51 +02:00
Guido Casati
a48e64f6f8 Adopt snprintf across the code in openair2/GNB_APP/gnb_config.c
Replaced `sprintf` with `snprintf` in gnb_config.c to enhance memory safety
by preventing potential buffer overflows. `sprintf` can cause buffer overflows
by not checking the destination buffer size. In contrast, `snprintf` allows
specifying a maximum buffer size, ensuring no overflow occurs by limiting
the number of characters written, including the null terminator.
2025-04-15 15:28:36 +02:00
Guido Casati
7ee6feac42 Use config module macros in openair2/E1AP/e1ap_setup.c 2025-04-15 15:28:36 +02:00
Guido Casati
e6da64b1a3 Refactor RCconfig_NR_NG
* use macros from config module
* cleanup irrelevant code
2025-04-15 15:28:36 +02:00
Guido Casati
bf6dff025b Cleanup obsolete code in gNB_app_task 2025-04-15 15:28:36 +02:00
Guido Casati
65e9ad7fdf Move get_node_type after init_gNB 2025-04-15 15:28:36 +02:00
Guido Casati
33ad0f917e Cleanup obsolete commented out code in gnb_config.h 2025-04-15 15:28:36 +02:00
Guido Casati
54990c2bc1 Refactor includes in executables/nr-gnb.c
* used IWYU tools + manual review
* output from IWYU:

The full include-list for /code/executables/nr-gnb.c:
/#include <PHY/NR_ESTIMATION/nr_ul_estimation.h>           // for dump_nr_I0_...
/#include <common/utils/LOG/log.h>  // lines 39-39
/#include <common/utils/system.h>                          // for threadCreate
/#include <fcntl.h>                                        // for SEEK_SET
/#include <openair1/PHY/NR_TRANSPORT/nr_dlsch.h>           // for dump_pdsch_...
/#include <openair1/PHY/NR_TRANSPORT/nr_ulsch.h>           // for dump_pusch_...
/#include <pthread.h>                                      // for pthread_join
/#include <stdint.h>                                       // for int64_t
/#include <stdio.h>                                        // for NULL, fclose
/#include <string.h>                                       // for memset
/#include <time.h>                                         // for clock_gettime
/#include <unistd.h>                                       // for sleep, size_t
/#include "NR_PHY_INTERFACE/NR_IF_Module.h"                // for NR_UL_IND_t
/#include "PHY/INIT/nr_phy_init.h"                         // for init_DLSCH_...
/#include "PHY/MODULATION/nr_modulation.h"                 // for apply_nr_ro...
/#include "PHY/NR_TRANSPORT/nr_transport_proto.h"          // for reset_activ...
/#include "PHY/TOOLS/tools_defs.h"                         // for c16_t
/#include "PHY/defs_RU.h"                                  // for RU_t, proce...
/#include "PHY/defs_common.h"                              // for wait_sync
/#include "PHY/defs_gNB.h"                                 // for PHY_VARS_gNB
/#include "PHY/defs_nr_common.h"                           // for NR_DL_FRAME...
/#include "PHY/impl_defs_nr.h"                             // for NR_MIXED_SLOT
/#include "SCHED_NR/fapi_nr_l1.h"                          // for nr_schedule...
/#include "SCHED_NR/phy_frame_config_nr.h"                 // for nr_slot_select
/#include "SCHED_NR/sched_nr.h"                            // for L1_nr_prach...
/#include "T.h"                                            // for T3, T_PUT_p...
/#include "assertions.h"                                   // for AssertFatal
/#include "common/ran_context.h"                           // for RAN_CONTEXT_t
/#include "common/utils/LOG/log.h"                         // for NR_PHY, LOG_D
/#include "executables/softmodem-common.h"                 // for get_softmod...
/#include "nfapi/oai_integration/vendor_ext.h"             // for NFAPI_MODE
/#include "nfapi_nr_interface_scf.h"                       // for nfapi_nr_co...
/#include "notified_fifo.h"                                // for initNotifie...
/#include "thread-pool.h"                                  // for abortTpool
/#include "time_meas.h"                                    // for print_meas_log
/#include "utils.h"                                        // for calloc_or_fail
2025-04-15 15:28:36 +02:00
Guido Casati
1893974d1d Set defint64val in long conf params 2025-04-15 15:28:36 +02:00
Guido Casati
7c0dc93087 Add function to set antenna ports in gNB config
* reduce redundant code
2025-04-15 15:28:36 +02:00
Guido Casati
2e7fa8e8b1 New function to set PLMN in gNB config
* reduce redundant code repeated in multiple places in the file
2025-04-15 15:28:36 +02:00
Guido Casati
1cdd684e24 Use plmn_id_t in RRC struct 2025-04-15 15:28:36 +02:00
Guido Casati
ac3f9f3e32 Introduce platform type plmn_id_t for consistency across the stack
* F1AP, NGAP can now use the same struct type
* this improves maintainability
2025-04-15 15:28:34 +02:00
Guido Casati
c1f225abc1 Add set_snssai_config to replace redundant code in gnb_config.c 2025-04-15 15:27:39 +02:00
Guido Casati
2ee056bf45 Add definition for maximum number of slices according to 3GPP specs 2025-04-15 15:27:39 +02:00
Guido Casati
34fc1bb254 Set num_nssai to uint16_t in NGAP for consistency with other definitions 2025-04-15 15:27:39 +02:00
Guido Casati
7731f5bd2d Introduce macros to get parameters in gnb_config.c
* this commit introduces macro to reduce redundant code in gNB configuration
2025-04-15 15:27:38 +02:00
Guido Casati
49b3e2ee69 Cleanup commented out code in gnb_config.c and other minor formatting 2025-04-15 15:25:53 +02:00
Robert Schmidt
f3eb713084 Merge branch 'integration_2025_w15' into 'develop'
Integration: `2025.w15`

Closes #901, #943, #944, #942, and #939

See merge request oai/openairinterface5g!3374

* !3358 RedCap InitialBWP
* !3364 NR UE: fix PRACH generation with frequency resource id not 0 when msg1-FDM > 1 in SIB1
* !3365 nr pdcp: 'count' is 32 bits, use explicit type instead of generic 'int'
* !3366 Fix typo in gNB_scheduler_uci.c
* !3370 Doc: add information on how to avoid a common asan bug
* !3275 NAS service reject
* !3312 NR UE: enable concurrent UL slot processing
* !3368 Encapsulate cmake asn1c call, suppress useless output
* !3336 Fix logging in nr_dlsim
* !3281 Add support for 'dl_min_mcs' and 'ul_min_mcs' configuration parameters
* !3355 NR UE: add support for continuous frequency offset compensation (in particular NTN LEO Doppler)
* !3375 CI CoreNetwork fixes
* !3184 NR SIB2
* !3348 CI: Replacing Devkit server with a Grace Hopper in Aerial pipeline
2025-04-15 05:54:26 +00:00
Robert Schmidt
b790fb235d Add SIB2 and SIB19 to NTN-LEO config 2025-04-14 21:29:34 +02:00
Robert Schmidt
e085fb5fee Merge remote-tracking branch 'origin/aerial_to_gh' into integration_2025_w15 (!3348)
CI: Replacing Devkit server with a Grace Hopper in Aerial pipeline

Switch servers on the Aerial pipeline from Gigabyte (AMD) to Grace
Hopper (ARM), and make the necessary changes:

- Update XML, YAML, and gnb.conf
- Change the argument passed to the L1 in aerial_l1_entrypoint.sh to be
  compatible with the GH
- Update the Aerial setup in TESTBench.md and Aerial_FAPI_Split_Tutorial.md docs
- Decrease the tested throughput due to an issue with the RU. Will open
  another MR to increase it once the problem is fixed.
2025-04-14 18:18:18 +02:00
Robert Schmidt
98d4dff509 Merge remote-tracking branch 'origin/NR_gNB_SIB2' into integration_2025_w15 (!3184)
NR SIB2

- Transmission of SIB2
- Fixes for transmission and reception of SIB19

Closes #901
2025-04-14 17:01:28 +02:00
Robert Schmidt
5c5dbdf2d3 Merge remote-tracking branch 'origin/ci-refactor-cn-fixes' into integration_2025_w15 (!3375)
CI CoreNetwork fixes

Some minor fixes after !3322
2025-04-14 17:00:59 +02:00
Robert Schmidt
07f8158378 Merge remote-tracking branch 'origin/ntn_leo_freq_comp' into integration_2025_w15 (!3355)
NR UE: add support for continuous frequency offset compensation (in particular NTN LEO Doppler)

- move function add_noise() to file
  openair1/SIMULATION/TOOLS/phase_noise.c
- refactor (co)sinus calculation out of phase_noise() into get_sin_cos()
  in nr_common.c
- NR UE: continuously estimate the frequency offset using PBCH DMRS
- NR UE: add command line parameter --initial-fo to specify known
  initial frequency offset
- NR UE: add support for continuous DL frequency offset compensation
  --cont-fo-comp
- NR UE: add support for continuous UL frequency offset
  pre-compensation. Depending on the main source of frequency offset,
  pre-compensate the UL frequency offset (FO) accordingly. Therefore
  modify the flag --cont-fo-comp to accept an integer value, where
  * 1 specifies, that the main FO contribution comes from the accuracy of the local oscillator (LO)
  * 2 specifies, that the main FO contribution comes from Doppler shift
- NR UE: add PI controller to continuous frequency offset compensation
- rfsimulator: enable and correct NTN LEO doppler simulation
- use SIMD to speed up nr_fo_compensation()
- Extend NTN LEO example in RUNMODEM.md to include continuous Doppler
  compensation
- NR UE: in nr_adjust_synch_ue() extend the peak search to +/- cyclic
  prefix size, esp. for LEO NTN scenarios the timing drifts during
  initial sync, which is mostly compensated with
  --ntn-initial-time-drift. But there might be a residual time offset,
  and by extending the peak search window we make this more tolerant.
- NR UE: remove unused nr_slot_tx_offset, it is unused since commit
  f3e60a14
- NR UE: remove now unnecessary local variable
  update_ntn_system_information, directly use
  UE->ntn_config_message->update instead
2025-04-14 16:59:27 +02:00
Reem Bahsoun
42a4292149 Modify ci_infra.yaml and XML to start CN from Grace Hopper 2025-04-14 11:39:13 +02:00
Reem Bahsoun
b3a1e3d2e8 Doc update
- Update the Aerial tutorial to include Grace Hopper server and add reference to Gigabyte server setup instructions.
- Update the Aerial setup in the TESTBench.md
2025-04-14 11:39:08 +02:00
francescomani
7c4eabdb6e fix for DLSCH DMRS reference point (regression at the OAI UE introduced when testing with OAI gNB for a missing implementation in OAI gNB) 2025-04-14 11:28:00 +02:00
Robert Schmidt
75b237fb90 Add 5G RFsim NTN LEO CI Test 2025-04-14 10:45:40 +02:00
Robert Schmidt
890a6c702e Remove unnecessary fields in NTN-LEO gNB config 2025-04-14 10:42:10 +02:00
francescomani
9185c29e33 change ss0 configuration to schedule multiple sibs in ntn config files with small bw 2025-04-14 10:15:50 +02:00
Robert Schmidt
f3724ec451 Add SIBs in configuration doc and feature set 2025-04-14 10:15:50 +02:00
Robert Schmidt
e73f1f6220 F1AP: Correctly encode DU configuration update acknowledge SI container
Fixes: b91e1b0a12 ("Add enc/dec lib for F1AP gNB-DU Configuration
Update Acknowledge (Interface Management)")
2025-04-14 10:15:50 +02:00
Robert Schmidt
463942d90e F1AP: correctly encode SI containers
- encode all SI containers the encoding function gets (it's not the
  encoding function's job to enforce semantics)
-

Fixes: 30628b820c ("Add encoding/decoding lib for F1AP Setup Response
(Interface Management)")
2025-04-14 10:15:50 +02:00
Robert Schmidt
7edf52ca5b Use cp_f1ap_() functions to properly copy F1 messages 2025-04-14 10:15:50 +02:00
francescomani
a9e9dfbd06 assertions for wrong node type SIB input 2025-04-14 10:15:50 +02:00
francescomani
3b22c4a566 Revert tentative fix for double sib1 decoding because it doesn't behave as expected. Instead a new pending_sib variable is used for the same goal.
This reverts commit 35e9d1e0c2.
2025-04-14 10:15:50 +02:00
francescomani
2228c3966f enabling configuration of transmitted SIBs in NTN config file 2025-04-14 10:15:50 +02:00
francescomani
08da0bd2cc improvements at UE to receive multiple instances of otherSIB
for example SIB2 and SIB19 which are scheduled in separate messages
2025-04-14 10:15:50 +02:00
francescomani
e4cb8be023 do not schedule reception of DLSCH associated with DCI for SIB1 if no SIB1 is scheduled for reception
in this scenario we proably were scheduling reception of otherSIB in the same slot as SIB1 was present
2025-04-14 10:15:50 +02:00
francescomani
97ca739be2 remove hardcoded window size for otherSI in UE 2025-04-14 10:15:50 +02:00
francescomani
5e8f649963 check multiple DCI candidates with same length if SIB RNTI 2025-04-14 10:15:50 +02:00
francescomani
c633fa5855 increase number of candidates for otherSIB 2025-04-14 10:15:50 +02:00
francescomani
6af70bd4b9 fix buggy TBS function for SIB and set additional candidate for common search space 2025-04-14 10:15:50 +02:00
francescomani
04213f2981 schedule SIBs other than 1 (including fixes for SIB19) 2025-04-14 10:15:50 +02:00
francescomani
535d8e7765 other SIBs scheduling configuration in SIB1 2025-04-14 10:15:45 +02:00
Robert Schmidt
556396e56e Ping: use cn name when checking for CN IP address 2025-04-12 11:17:22 +02:00
Robert Schmidt
135b522cf4 CoreNetwork: do not look up IP for CN name printing
In various places, e.g., during initialization (before deployment), we
use the name of the CN object, previously including the IP address.
However, the IP might not be available (because the CN is not deployed),
so we would get warnings at this stage. Avoid this by not looking up the
IP.

There is now one place where we have to look up the IP address
separately.

Also, the exception in initialization might be misleading if we used
{self}, because we complain about no node being present, but the {self}
would include a non-existing node name => do not use it.
2025-04-12 11:17:22 +02:00
Robert Schmidt
cb175569eb Merge remote-tracking branch 'origin/xl_min_mcs' into integration_2025_w15 (!3281)
Add support for 'dl_min_mcs' and 'ul_min_mcs' configuration parameters

Add support for 'dl_min_mcs' and 'ul_min_mcs' configuration parameters,
they will enforce the gNB scheduler to select always a MCS equal or
above its values

In addition to use a min value for MCS, this MR also enables the testing
of a specific MCS value with COTS UE, by setting

    xl_min_mcs = xl_max_mcs

example:

    dl_min_mcs: 22
    dl_max_mcs: 22
    ul_min_mcs: 7
    ul_max_mcs: 7

In the example above, the scheduler will use always MCS 22 for downlink
and MCS 7 for uplink.
2025-04-12 11:03:56 +02:00
Robert Schmidt
ec65c7cbaa Merge remote-tracking branch 'origin/nr_dlsim_improve_logging' into integration_2025_w15 (!3336)
Fix logging in nr_dlsim

Added Python helper script to plot buffer data
2025-04-12 11:03:25 +02:00
Robert Schmidt
e7b46342d5 Merge remote-tracking branch 'origin/asn1c-default-no-output' into integration_2025_w15 (!3368)
Encapsulate the asn1c call from cmake in a cmake function run_asn1c().
As a notable change to the previous manual add_custom_command()
invocation, in suppresses the output of asn1c by default [1] and stores
it in a log file. In case of asn1c4 error, the output will output on
stdout.

Use the new run_asn1c() in all occasions for code generation.

[1] it is quite verbose, with many warnings that we cannot influence nor
suppress, and lists all generated files which is verified by the build
system automatically, anyway.
2025-04-11 16:29:27 +02:00
Robert Schmidt
26dcb876f5 Merge remote-tracking branch 'origin/nr-ue-slot-tx-cleanup' into integration_2025_w15 (!3312)
NR UE: enable concurrent UL slot processing

This commit introduces support for concurrent UL slot processing
Key changes:

- Increased number of UL actors from 1 to 2
- fix several issues related to writing to global variables inside processSlotTX
- Ensure in-order execution of if_module calls by utilizing the preexisting dynamic_barrier structure.

Note: for NTN, concurrent UL slot processing does not work. A flag
`--num-ul-actors X` has been introduced that allows to fix the number of
UL actors to `X` (default is 2).
2025-04-11 16:26:41 +02:00
Robert Schmidt
bc5f2ec99e Merge remote-tracking branch 'origin/nr-ue-nas-service-reject' into integration_2025_w15 (!3275)
Add 5GMM Service Reject enc/dec library and unit test

- introduce the library for the NAS Service Reject enc/dec
- add relevant unit test
- add handler
2025-04-11 16:25:52 +02:00
Sakthivel Velumani
d334a75c8a Fix memory leak and possible crash
nr_dlsim allocates memory on every SNR iteration without freeing it.
This can lead to memory exhaustion. Fix this by allocating only once
and reuse memory. Also, free it before exit.
2025-04-11 09:46:55 -04:00
Sakthivel Velumani
4adadedeb9 Fix logging to matlab/bin file
Add Python script to plot logged buffers. Modified write_file_matlab()
to add .bin extension if binary format is selected.
2025-04-11 09:46:50 -04:00
francescomani
4b23c7ea65 F1 transmission from CU to DU of SIB2 2025-04-11 15:37:08 +02:00
Chieh-Chun Chen
49d302960c Fix: modify block_length to Kprime 2025-04-11 14:40:52 +02:00
Robert Schmidt
2ab747eaa6 CI CoreNetwork: define function getName()
Some functionality (e.g., in cls_oaicitest.py) uses cn.getName(). Define
that function to avoid assertions.
2025-04-11 14:16:49 +02:00
Robert Schmidt
4296bfe34f Merge remote-tracking branch 'origin/info-asan-bug' into integration_2025_w15 (!3370)
Doc: add information on how to avoid a common asan bug

Closes #943
2025-04-11 07:38:55 +02:00
Robert Schmidt
b381d7ffae Merge remote-tracking branch 'origin/944-typo-in-gnb_scheduler_uci-c' into integration_2025_w15 (!3366)
Fix typo in gNB_scheduler_uci.c

Closes #944
2025-04-11 07:38:29 +02:00
Robert Schmidt
b9f5746df4 Merge remote-tracking branch 'origin/fix-count-nr-pdcp' into integration_2025_w15 (!3365)
nr pdcp: 'count' is 32 bits, use explicit type instead of generic 'int'

fix #942
2025-04-11 07:38:02 +02:00
Robert Schmidt
9e4aefda6b Merge remote-tracking branch 'origin/issue-939' into integration_2025_w15 (!3364)
NR UE: fix PRACH generation with frequency resource id not 0 when msg1-FDM > 1 in SIB1

When msg1-FDM > 1 (2, 4 or 8) in SIB1, the frequency resource id of
PRACH could be not 0, current PRACH generation only considers frequency
resource id = 0. This MR fixes it, verified with 3rd-party gNB.

Closes #939
2025-04-11 07:37:33 +02:00
Robert Schmidt
8d294d71b8 Merge remote-tracking branch 'origin/RedCap_InitialBWP' into integration_2025_w15 (!3358)
RedCap InitialBWP

Prevent RedCap UEs to move to DedicatedBWP

  This allows the coexistence of RedCap UEs and non-RedCap UEs in the
  same cell by having an InitialBWP with 20MHz and a larger
  DedicatedBWP.

Update example RedCap configuration file to have 20 MHz InitialBWP and
40 MHz DedicatedBWP
2025-04-11 07:36:51 +02:00
Thomas Schlichter
67482f5d85 CI: add NR UE conf file including NTN LEO channel model 2025-04-10 14:36:01 +00:00
Thomas Schlichter
6e06c817f4 NR UE: remove now unnecessary local variable update_ntn_system_information
directly use `UE->ntn_config_message->update` instead
2025-04-10 13:56:20 +00:00
Thomas Schlichter
997790f656 NR UE: remove unused nr_slot_tx_offset
`nr_slot_tx_offset` is unused since commit f3e60a1417
2025-04-10 13:56:20 +00:00
Thomas Schlichter
a9132a2f79 NR UE: in nr_adjust_synch_ue() extend the peak search to +/- cyclic prefix size
esp. for LEO NTN scenarios the timing drifts during initial sync, which is mostly compensated with --ntn-initial-time-drift.
But there might be a residual time offset, and by extending the peak search window we make this more tolerant.
2025-04-10 13:56:20 +00:00
Thomas Schlichter
4e3a7ad56e Extend NTN LEO example in RUNMODEM.md to include continuous Doppler compensation 2025-04-10 13:56:20 +00:00
Thomas Schlichter
29ed144764 use SIMD to speed up nr_fo_compensation() 2025-04-10 13:56:20 +00:00
Thomas Schlichter
d6585f3750 rfsimulator: enable and correct NTN LEO doppler simulation 2025-04-10 13:56:20 +00:00
Thomas Schlichter
18469302d8 NR UE: add PI controller to continuous frequency offset compensation 2025-04-10 13:56:20 +00:00
Thomas Schlichter
84712f5f92 NR UE: add support for continuous UL frequency offset pre-compensation
Depending on the main source of frequency offset, pre-compensate the UL frequency offset (FO) accordingly.
Therefore modify the flag `--cont-fo-comp` to accept an integer value, where
 - `1` specifies, that the main FO contribution comes from the accuracy of the local oscillator (LO)
 - `2` specifies, that the main FO contribution comes from Doppler shift
2025-04-10 13:56:13 +00:00
Thomas Schlichter
aac4642910 NR UE: add support for continuous DL frequency offset compensation (--cont-fo-comp) 2025-04-10 13:54:59 +00:00
Thomas Schlichter
616568a79d NR UE: add command line parameter --initial-fo to specify known initial frequency offset 2025-04-10 13:54:50 +00:00
Guido Casati
312f296b60 Add NAS handler for Service Reject message 2025-04-10 15:35:59 +02:00
Guido Casati
2b9782caa1 Add unit test for Service Reject 2025-04-10 15:35:59 +02:00
Guido Casati
5af4b89203 Add enc/dec function for NAS Service Reject library 2025-04-10 15:35:55 +02:00
Thomas Schlichter
d16507055f NR UE: continuously estimate the frequency offset using PBCH DMRS 2025-04-10 12:37:19 +00:00
Thomas Schlichter
dd827c7bd8 refactor (co)sinus calculation out of phase_noise() into openair1/PHY/TOOLS/get_sin_cos.c 2025-04-10 12:37:19 +00:00
Thomas Schlichter
9e4df97d84 move function add_noise() to file openair1/SIMULATION/TOOLS/phase_noise.c 2025-04-10 12:36:30 +00:00
luis_pereira87
f1811b5934 Move the initialization of bler_stats to 'add_new_nr_ue()' function 2025-04-10 13:18:29 +01:00
Bartosz Podrygajlo
afd49e703c Workaround for issues with NTN and NR UE concurrent UL processing
- Allow setting number of used UL actors in NR UE
 - Disable the second UL actor in NTN GEO testcase
2025-04-10 13:11:00 +02:00
Bartosz Podrygajlo
2d35fc90ac NR UE: enable concurrent UL slot processing
This commit introduces support for concurrent UL slot processing

Key changes:
 - Increased number of UL actors from 1 to 2
 - fix several issues related to writing to global variables inside
   processSlotTX
 - Ensure in-order execution of if_module calls by utilizing the
   preexisting dynamic_barrier structure.
2025-04-10 12:47:54 +02:00
luis_pereira87
b421d6eaa9 Set 'min_mcs' in 'bler_stats' when initializing and when no activity is detected, instead of hardcode it to '9' 2025-04-10 11:20:59 +01:00
Guido Casati
25bc1bd89a Adopt eq_gprs_timer in eq_service_accept 2025-04-10 11:13:42 +02:00
Guido Casati
ab3bb36357 Add eq_gprs_timer to common 5gmm_lib 2025-04-10 11:13:42 +02:00
luis_pereira87
699afafc6f Add support for 'dl_min_mcs' and 'ul_min_mcs' configuration parameters, they will enforce the gNB scheduler to select always a MCS equal or above its values 2025-04-10 09:11:17 +01:00
luis_pereira87
96b0cae63e Drop 'min_grant_mcs' configuration parameter 2025-04-10 09:11:17 +01:00
Robert Schmidt
b9a6d93bfa Doc: add information on how to avoid a common asan bug 2025-04-10 09:06:57 +02:00
Robert Schmidt
05d393a399 Encapsulate cmake asn1c call, suppress useless output
Encapsulate the asn1c call from cmake in a cmake function run_asn1c().
As a notable change to the previous manual add_custom_command()
invocation, in suppresses the output of asn1c by default [1] and stores
it in a log file. In case of asn1c4 error, the output will output on
stdout.

Use the new run_asn1c() in all occasions for code generation.

[1] it is quite verbose, with many warnings that we cannot influence nor
suppress, and lists all generated files which is verified by the build
system automatically, anyway.
2025-04-09 14:35:29 +00:00
alexjiao
683670ed91 Fix PRACH generation with frequency resource id not 0 when msg1-FDM > 1 in SIB1 2025-04-09 20:06:41 +08:00
Reem Bahsoun
52f0bbc165 Modify files in ci-scripts/yaml_files/sa_gnb_aerial
- Update the L1 (cuBB) version in the docker-compose.yaml
- Change the argument for the L1 config file (cuphycontroller.yaml) in the aerial_l1_entrypoint.sh
2025-04-09 10:21:46 +02:00
Reem Bahsoun
8e253e3435 Modify XML and gnb.conf
- Update the N2 and N3 IP addresses to match the Grace Hopper's in the gnb.conf.
- Remove the test XML file for pulling images in the ARM image builder.
- Update the Aerial XML file to pull ARM images.
- Decrease tested throughput (temporarily) due to problems with Foxconn RU
2025-04-09 10:21:37 +02:00
francescomani
bc27d1e691 improvements in SIB2 message (info taken from commercial gNB) 2025-04-08 18:09:18 +02:00
Justin Garey
0f9220b5ef Fixed typo in gNB_schedyler_uci.c 2025-04-08 15:30:52 +00:00
Robert Schmidt
b5f7d22c02 Merge branch 'integration_2025_w14_p2' into 'develop'
Integration: `2025.w14` (part 2)

See merge request oai/openairinterface5g!3362

* !3255 Fixes for E1 and PDU session usage
* !3332 sched_ctrlCommon earlier
* !3356 Avoid accessing current_DL_BWP structure when scheduling DCI for other SIBs
* !3359 Fix inconsistent maxnoofPDUSessions definitions between NGAP and platform constants
* !3357 CI: update VVDN configuration file
* !3333 NR RLC improvements
* !3342 Fix bugs detected gcc
* !3347 feat(oran_fhlib_5g): O-RAN 7.2 FrontHaul Interface on Arm
* !3153 [E2 agent] RAN Control SM - support for REPORT Style 1 ("RRC Message" and "UE ID" RAN Parameter IDs)
* !3234 CI: minor tunings and improvements
* !3276 Optimization for unused symbols in NR UE
* !3317 Extend F1 Handover test
2025-04-08 12:20:05 +00:00
Robert Schmidt
469bf23666 Merge remote-tracking branch 'origin/extend-f1-ci-test' into integration_2025_w14_p2 (!3317)
Extend F1 Handover test

do 1 more handover in the same test to verify robustness

- This MR keeps a simple ping after the second handover since there are
  still issues due to scheduling starting too early, that is as soon as
  the UE context is added. This leads to retransmissions that could
  eventually lead to a test failure. The issue will be fixed in a future
  MR.

add check on connected DU to verify successful handover

- a new telnet function gets in input the UE ID and returns the ID of
  the connected DU

wait some time after deploying DU to mimic time for measurements
2025-04-08 10:06:06 +02:00
Robert Schmidt
b4f8c9c981 Merge remote-tracking branch 'origin/ifft-avoidance' into integration_2025_w14_p2 (!3276)
Optimization for unused symbols in NR UE

After processing TX frequency domain data skip IFFT call for symbols
that aren't used, the time domain buffer is memset instead.

Biggest benefit is when UE does not transmit PUSCH, or PUSCH is using <
14 symbols
2025-04-08 10:06:06 +02:00
Robert Schmidt
3bd2404eec Iperf_analyzeV2UDP(): variable is local 2025-04-08 10:06:06 +02:00
Robert Schmidt
d12e098736 Merge remote-tracking branch 'origin/ci-improvements' into integration_2025_w14_p2 (!3234)
CI: minor tunings and improvements
2025-04-08 10:06:06 +02:00
Robert Schmidt
748581293e Merge remote-tracking branch 'origin/RC_SM_RRC_Message_Copy' into integration_2025_w14_p2 (!3153)
[E2 agent] RAN Control SM - support for REPORT Style 1 ("RRC Message" and "UE ID" RAN Parameter IDs)

[Spring of Code 2024] contributions

Extended the RAN Control Service Model at E2 Agent to support all RC
REPORT Styles (1 - 5)
Implemented the following RAN Parameter IDs for REPORT Style 1:

1. "RRC Message": any DL-DCCH, and any UL-DCCH
2. "UE ID": as per spec, when the RRC Setup Complete or F1 UE Context
   Setup Request detected
2025-04-08 10:06:06 +02:00
Robert Schmidt
c3d80f8ac4 Merge remote-tracking branch 'origin/arm_fhi72' into integration_2025_w14_p2 (!3347)
feat(oran_fhlib_5g): O-RAN 7.2 FrontHaul Interface on Arm

This MR is enabling the 7.2 FHI on Arm systems.

Even though the performance are yet very bad (UE connection is very
difficult, 100Mbps DL, almost no UL), still I would like to merge this
now since the matter of making the FHI work is rather orthogonal to the
performance issues.

So merging this feature would provide a reliable settlement on top of
which we could then progressively enhance the porting of OAI to Arm.
Especially that would make our work easier by having less features to
rebase regularly on develop.

The main features this MR is made of are:

1. Make the xran patches dual

We provide patches for both E and F releases of xran that handles x86
targets as well as Arm targets. Both patches have been tested on both
types of machines (armix, broadbill).  Thanks to @brobert and @changy
for their work on xran.

2. Perform 9-bits BFP compression with ArmRAL

Since the BFP compression implementation provided with xran does rely
heavily on AVX512, we provide an alternative implementation that is
relying on Arm's RAN Acceleration Library (ArmRAL).

As of writing this commit description, only 9-bits compression is
supported. Other IQ width will be added.

This upcoming change does not prevent review to be performed since the
BFP compression functions of ArmRAL are identical except for the IQ
width. Adding further IQ width is therefore very straightforward.

3. Fixes in oran_fhlib_5g to support Arm

The library oran_fhlib_5g needed few changes to successfully compile and
run on Arm systems. Thanks to @brobert for his work on oran_fhlib_5g.
2025-04-08 10:06:06 +02:00
Robert Schmidt
83590bf1af Merge remote-tracking branch 'origin/fix-bugs-detected-gcc' into integration_2025_w14_p2 (!3342)
Fix bugs detected gcc
2025-04-08 10:06:06 +02:00
Robert Schmidt
8799adaca6 Merge remote-tracking branch 'origin/NR_RLC_rework' into integration_2025_w14_p2 (!3333)
NR RLC improvements

The goal of this MR is to reduce/eliminate the dependencies of NR RLC
from LTE RLC
2025-04-08 10:06:06 +02:00
Robert Schmidt
42a9dde691 Merge remote-tracking branch 'origin/ci-vvdn-update' into integration_2025_w14_p2 (!3357)
CI: update VVDN configuration file

- change frequency
- use MAC address of the new VVDN RU
2025-04-08 10:06:06 +02:00
Robert Schmidt
e4c9cb4125 Merge remote-tracking branch 'origin/fix-ngap-max-pdusession' into integration_2025_w14_p2 (!3359)
Fix inconsistent maxnoofPDUSessions definitions between NGAP and platform constants

There are 2 different definition of maxnoofPDUSessions (as per 3GPP TS
38.413), one in NGAP lib (set to 16) and one in platform_constants.h
(256 as per specs). The NGAP lib definition is removed in this commit
and replaced by the one compliant with the specs.

This is fixing the warning:

    In function 'fill_pdu_session_resource_failed_to_setup_item',
        inlined from 'rrc_gNB_send_NGAP_INITIAL_CONTEXT_SETUP_RESP' at /openair2/RRC/NR/rrc_gNB_NGAP.c:588:7:
    /openair2/RRC/NR/rrc_gNB_NGAP.c:451:12: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
      451 |   f->cause = cause;
          |   ~~~~~~~~~^~~~~~~
    In file included from /common/utils/ocp_itti/intertask_interface.h:235,
                     from /openair2/RRC/NR/rrc_gNB_NGAP.h:39,
                     from /openair2/RRC/NR/rrc_gNB_NGAP.c:31:
    /openair2/COMMON/ngap_messages_types.h: In function 'rrc_gNB_send_NGAP_INITIAL_CONTEXT_SETUP_RESP':
    /openair2/COMMON/ngap_messages_types.h:546:13: note: at offset [8724, 25769812488] into destination object 'gNB_ue_ngap_id' of size 4
      546 |   uint32_t  gNB_ue_ngap_id;
          |             ^~~~~~~~~~~~~~
2025-04-08 10:06:06 +02:00
Robert Schmidt
ec9b2bf7c9 Tune nFAPI 4x4 test case 2025-04-08 10:06:05 +02:00
Robert Schmidt
0cb22bd38f Merge remote-tracking branch 'origin/fix-null-ptr-access' into integration_2025_w14_p2 (!3356)
Avoid accessing current_DL_BWP structure when scheduling DCI for other SIBs

Avoid access to mac->current_DL_BWP structure when scheduling DCI for
SIBs other than 1. This is not needed and can cause NULL pointer access
which can happen if the UE has released MAC configuration or has not
started RA yet.
2025-04-08 10:06:05 +02:00
Robert Schmidt
ff50897905 Merge remote-tracking branch 'origin/sched_ctrlCommon-earlier' into integration_2025_w14_p2 (!3332)
sched_ctrlCommon earlier

This MR configures sched_ctrlCommon earlier, in RCconfig_nr_macrlc().

The objective of this MR is to solve the following Assert in the F1 test:

    19897952.126019 [NR_MAC] I Adding new UE context with RNTI 0x3269
    /oai-ran/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c:366:15: runtime error: member access within null pointer of type 'struct NR_UE_sched_ctrl_t'
    [INFO  tini (1)] Spawned child process '/opt/oai-gnb/bin/entrypoint.sh' with pid '7'
    [INFO  tini (1)] Main child exited normally (with status '1')
2025-04-08 10:06:05 +02:00
Cedric Roux
6504c038b2 nr pdcp: 'count' is 32 bits, use explicit type instead of generic 'int' 2025-04-08 09:41:36 +02:00
Guido Casati
67fd15b054 Add sleep after deploy of target DU in F1 handover CI test
Wait before triggering a handover. First, we send it very quickly after
deployment, which can make the DU crash (should be fixed in !3332). Second, a
UE would typically first measure neighbors. While we don't do this with OAI UE,
mimic this somewhat by giving more time.

See also !3332.
2025-04-07 18:51:14 +02:00
Guido Casati
9b3255f3cd Add check on UE connected to DU to verify successful handover in F1 CI test
* add CI function to fetch DU connected to input UE ID
* add to CI test
2025-04-07 18:51:13 +02:00
Guido Casati
a12e3a6e56 Extend F1 Handover test with 1 more handover
* the handover is followed by a sleep and an ping test

This MR keeps a simple ping after the second handover since there are still issues due to scheduling starting too early,
that is as soon as the UE context is added. This leads to retransmissions that could eventually lead to a test failure.
The issue will be fixed in a future MR.
2025-04-07 18:50:36 +02:00
Guido Casati
c12c5bb5b1 Add enc/dec library for E1 Bearer Context Modification Response 2025-04-07 12:34:52 +02:00
Guido Casati
489e2ba4a4 Use E1 Bearer Context Modification Request lib in stack 2025-04-07 12:29:47 +02:00
Guido Casati
248380b6a4 Refactor E1 Security Information decoding function
* adopt changes from 182b05bd
* add checks on optional IEs
* add checks on encoded buffer sizes
2025-04-07 12:29:23 +02:00
Guido Casati
673770d346 Bugfix in e1_decode_pdu_session_to_mod_item: missing check on allocation of optional pointer
The Bearer Context Modification Request test is adding 1 QoS Flow, therefore the encoding/decoding
is done and this bug does not show. The issue is there when no QoS Flow is mapped in the DRBnGRanModList,
therefore when no memory is allocated for the optional IE, and the member is accessed in the decoding
of the Flow Mapping Information.
2025-04-07 12:28:21 +02:00
Guido Casati
25a0934941 Fix missing deref on pointer types in Bearer Context Management lib
Note: the equality check macros are using a PRINT_ERROR function
that is enabled only when E1AP_LOG_ERRORS is defined.
2025-04-07 12:28:13 +02:00
Guido Casati
254e04357d Add function name to E1AP PRINT_ERROR macro 2025-04-07 12:28:13 +02:00
Guido Casati
e472bbdd1b Add missing stdint.h include in e1ap_bearer_context_management.c
The header was included via other headers, however since int types are
direcltly used in this file, the include is necessary.
2025-04-07 12:28:13 +02:00
ndomingues
f24a576d81 Update RedCap configuration file to have 20 MHz InitialBWP and 40 MHz DedicatedBWP 2025-04-04 21:43:19 +01:00
ndomingues
a59cfae18c Prevent RedCap UEs to move to dedicated BWP 2025-04-04 21:43:19 +01:00
Laurent THOMAS
54828f10d0 defined and not used variable 2025-04-04 16:05:46 +02:00
Laurent THOMAS
f9835e996a websrv useless if(), then string copy 2025-04-04 16:05:38 +02:00
Laurent THOMAS
990414572a error uint/int mixed in loops 2025-04-04 16:04:05 +02:00
Laurent THOMAS
5cabc74527 get_nr_prach_occasion_info_from_index() uses a uninitialzed value to make += operator 2025-04-04 16:02:56 +02:00
Miguel Fuentes
681da82228 Change FlexRIC submodule commit ID
Co-authored-by: Tano Bischoff <tano.bischoff@hhi.fraunhofer.de>
Co-authored-by: Khanh Toan Pham <khanh.toan.pham@hhi.fraunhofer.de>
Co-authored-by: Shrinish Donde <shrinish.donde@hhi.fraunhofer.de>
Co-authored-by: Theodoros Tsourdinis <theodoros.tsourdinis@sorbonne-universite.fr>
Co-authored-by: Teodora Vladic <teodora.vladic@openairinterface.org>
2025-04-04 15:32:05 +02:00
Khanh Toan Pham
12dfdb866c Add "RRC Message" and "UE ID" support in E2AP README
Co-authored-by: Tano Bischoff <tano.bischoff@hhi.fraunhofer.de>
Co-authored-by: Shrinish Donde <shrinish.donde@hhi.fraunhofer.de>
Co-authored-by: Theodoros Tsourdinis <theodoros.tsourdinis@sorbonne-universite.fr>
Co-authored-by: Miguel Fuentes <miguel.fuentes@i2cat.net>
Co-authored-by: Teodora Vladic <teodora.vladic@openairinterface.org>
2025-04-04 15:32:05 +02:00
Tano Bischoff
c612005d28 RAN Control REPORT Style 1: "UE ID" support
As per spec, UE ID shall be reported when the message event configured by
the Event Trigger Style 1 is set to “RRC Setup Complete" message (UE attach), or
“Xn/NG Handover Request” or “F1 UE Context Setup Request” (Intra gNB Handover).

In OAI RAN, Xn/NG Handover is not yet supported, and therefore not added as the trigger event
in this commit.

Additionally, as the Event Trigger Definition Format 1 is common for both "RRC Message" and "UE ID",
E2 node will report the “RRC Setup Complete" message which the xApp will decode and print.

Co-authored-by: Khanh Toan Pham <khanh.toan.pham@hhi.fraunhofer.de>
Co-authored-by: Shrinish Donde <shrinish.donde@hhi.fraunhofer.de>
Co-authored-by: Theodoros Tsourdinis <theodoros.tsourdinis@sorbonne-universite.fr>
Co-authored-by: Miguel Fuentes <miguel.fuentes@i2cat.net>
Co-authored-by: Teodora Vladic <teodora.vladic@openairinterface.org>
2025-04-04 15:32:05 +02:00
Robert Schmidt
8477de3571 Make function static: only used in rrc_gNB.c 2025-04-04 15:26:56 +02:00
Romain Beurdouche
fb3678bea4 feat(oran_fhlib_5g): Arm support information in documentation
Inform in O-RAN 7.2 documentation that DU execution on Arm is yet not fully supported and that 7.2 on Arm is only intended to enable experiments.
2025-04-04 13:26:01 +00:00
Romain Beurdouche
96a47821de feat(CI): Add FHI 7.2 build on native Arm build pipeline 2025-04-04 13:26:01 +00:00
Romain Beurdouche
09aec7f1d8 feat(oran_fhlib_5g): Documentation for Arm targets 2025-04-04 13:26:01 +00:00
Romain Beurdouche
e12bcc964d feat(oran_fhlib_5g): Make F release patch dual
Update the xran F release patch to work for Arm targets in addition to x86 targets.
2025-04-04 13:26:01 +00:00
Romain Beurdouche
54fd8ed9df feat(oran_fhlib_5g): BFP compression and decompression for Arm targets
The fronthaul library ships with BFP compression for AVX512 enabled targets.
This commit adds BFP compression for Arm targets by using the ArmRAL library.
2025-04-04 13:25:53 +00:00
Shrinish Donde
dfaf9dd630 RAN Control REPORT Style 1: "RRC Message" support
Send the copy of the following RRC messages to a xApp, if subscribed beforehand:
  - DL-DCCH -> any
  - UL-DCCH -> any

Co-authored-by: Tano Bischoff <tano.bischoff@hhi.fraunhofer.de>
Co-authored-by: Khanh Toan Pham <khanh.toan.pham@hhi.fraunhofer.de>
Co-authored-by: Theodoros Tsourdinis <theodoros.tsourdinis@sorbonne-universite.fr>
Co-authored-by: Miguel Fuentes <miguel.fuentes@i2cat.net>
Co-authored-by: Teodora Vladic <teodora.vladic@openairinterface.org>
Co-authored-by: Robert Schmidt <robert.schmidt@openairinterface.org>
2025-04-04 15:23:17 +02:00
Jaroslava Fiedlerova
a88f540081 CI: ping after reestablishment in sabox-b200 2025-04-04 11:55:39 +02:00
Jaroslava Fiedlerova
1e9e0b6dc7 CI: temporarily disable DRB integrity protection in B200 pipeline
Temporarily deactivate DRB integrity protection in SABOX-B200 E1 testcase
to avoid CI failure due to low measured throughput. Our investigation
suggests that the low throughput is likely due to limitation of the UE
(Quectel RM500Q), which appears to restrict the maximum data rate when
integrity protection is enabled. This limitation is not observed with
Quectel RM520N.
2025-04-04 11:55:39 +02:00
Jaroslava Fiedlerova
7417687f50 CI: update TESTBenches doc
- Cleanup and update of "Machines" table:
  - remove asterix - not used in CI
  - remove nokiabox - not used in CI
  - remove orion - not used in CI
  - update of "Lockable Resource" for individual machines - synch with
    https://jenkins-oai.eurecom.fr/lockable-resources/
  - remove column of "IP Address"
- Update information about build pipelines
2025-04-04 11:55:39 +02:00
Jaroslava Fiedlerova
955cad5741 CI: add warning log to HTML when service is restarted 2025-04-04 11:55:39 +02:00
Jaroslava Fiedlerova
b3328e96a4 CI: increase healthcheck interval for VNF-PNF deployment
The healthcheck interval sets when the first health check occurs after the
container starts. Increasing the healthcheck interval helps avoid marking
the container as "healthy" during the initialization phase of PNF. In
particular, USRP initialization of PNF service may take longer, and deployment
failures can occur even after the 10 seconds interval. Extending the healtcheck
interval provides more time for the service before assessing container health.
2025-04-04 11:55:39 +02:00
Jaroslava Fiedlerova
a4f9a7a6d4 CI: tuning gNB parameters of SABOX-B200 2025-04-04 11:55:34 +02:00
Bartosz Podrygajlo
3b174f685e Remove unnecessary memset of UE TX time domain samples array
Remove memset of the UE TX time domain samples array after trx_write in
RU_write()

This memset is unnecessary and can break openair0 libraries. Some
functionalities, e.g. usrp_lib write_thread expect the samples to be
present in the array after trx_write returns.

The array is always set before being sent either in idft or using memset
so there is no risk of sending the same data twice.
2025-04-04 11:14:09 +02:00
Bartosz Podrygajlo
0161a1c4fd Optimization for unused symbols in NR UE
After processing TX frequency domain data skip IFFT call for symbols that aren't
used, the time domain buffer is memset instead.
2025-04-04 11:12:48 +02:00
Jaroslava Fiedlerova
9207c74cba CI: enable 4 DL layers in VVDN FHI72 test
- increase tested throughput
- modify gNB config file to enable 4 DL layers
2025-04-04 09:45:39 +02:00
Jaroslava Fiedlerova
85b50925a4 doc: Update VVDN sample configuration files 2025-04-04 09:45:39 +02:00
Jaroslava Fiedlerova
683e982137 CI: more modifications for FHI72 VVDN test
- use Ubuntu image, instead of RHEL image - gNB fails with "Illegal
  instruction" during RA, when running with RHEL image
- init DPDK in VA mode
- increase number of cores Tpool
2025-04-04 09:45:39 +02:00
Jaroslava Fiedlerova
8412b94b8c CI: update VVDN configuration file
- change frequency
- use MAC address of new VVDN RU
2025-04-04 09:45:34 +02:00
Robert Schmidt
d13a0c9626 Merge remote-tracking branch 'origin/fix-e1-pdu-handling' into integration_2025_w14_p2 (!3255)
Fixes for E1 and PDU session usage

Fix a number of problems in E1 and PDU session handling:

- For multiple PDU session setup reqs, we send a bearer context setup
  each time; fix an assert that was triggered on the second bearer
  context setup message
- Add a log for E1 bearer context setup, as already done for
  modification and release
- If we get a PDU session setup for an existing PDU session, reject it
  as required by the spec [actually, it says to reject individual PDU
  sessions; keep it simple for now and reject the entire message, which
  might not be correct if there is one new PDU session that does not
  exist]
- Add a workaround to handle multiple PDU session setup requests that
  come in quick succession for different PDU sessions
2025-04-04 07:16:41 +02:00
Guido Casati
0065c6023a Remove unconsistent check in rrc_gNB_process_NGAP_PDUSESSION_RELEASE_COMMAND
Leading to clang error:
/oai-ran/openair2/RRC/NR/rrc_gNB_NGAP.c:1329:37: error: result of comparison of constant 256 with expression of type
'uint8_t' (aka 'unsigned char') is always false [-Werror,-Wtautological-constant-out-of-range-compare]

The value comes from the decoding of: ie->value.choice.PDUSessionResourceToReleaseListRelCmd.list.count
2025-04-03 22:30:29 +02:00
Robert Schmidt
23c909e28e Merge branch 'integration_2025_w14_p1' into 'develop'
Integration: `2025.w14` (part 1)

Closes #931

See merge request oai/openairinterface5g!3353

* !3247 Add enc/dec lib and unit test for 5GS NAS Service Accept
* !3316 Fix: Correctly Read PDU Address IE
* !3322 Refactor core network handling in CI, harmonize code
* !3327 NR UE fix for disable HARQ
* !3350 Cleanup NR PHY common definitions
* !3352 Turn off any Nagle-like algorithm for SCTP
2025-04-03 16:35:12 +00:00
Robert Schmidt
e45f429c35 Dummy nr_rlc_data_req() into nr-cuup.c 2025-04-03 17:34:54 +02:00
Guido Casati
5969ecc212 Use platform_constants.h definition NGAP_MAX_PDU_SESSION and remove NGAP lib definition
There are 2 different definition of maxnoofPDUSessions (as per 3GPP TS 38.413),
one in NGAP lib (set to 16) and one in platform_constants.h (256 as per specs).
The NGAP lib definition is removed in this commit and replaced by the one
compliant with the specs.

This is fixing the warning:

In function 'fill_pdu_session_resource_failed_to_setup_item',
    inlined from 'rrc_gNB_send_NGAP_INITIAL_CONTEXT_SETUP_RESP' at /openair2/RRC/NR/rrc_gNB_NGAP.c:588:7:
/openair2/RRC/NR/rrc_gNB_NGAP.c:451:12: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
  451 |   f->cause = cause;
      |   ~~~~~~~~~^~~~~~~
In file included from /common/utils/ocp_itti/intertask_interface.h:235,
                 from /openair2/RRC/NR/rrc_gNB_NGAP.h:39,
                 from /openair2/RRC/NR/rrc_gNB_NGAP.c:31:
/openair2/COMMON/ngap_messages_types.h: In function 'rrc_gNB_send_NGAP_INITIAL_CONTEXT_SETUP_RESP':
/openair2/COMMON/ngap_messages_types.h:546:13: note: at offset [8724, 25769812488] into destination object 'gNB_ue_ngap_id' of size 4
  546 |   uint32_t  gNB_ue_ngap_id;
      |             ^~~~~~~~~~~~~~
2025-04-03 15:40:14 +02:00
Robert Schmidt
42111e0203 Merge remote-tracking branch 'origin/sctp_nodelay' into integration_2025_w14_p1 (!3352)
Turn off any Nagle-like algorithm for SCTP

This means that packets will be sent as soon as possible and no
unnecessary delays are introduced, at the cost of more packets in the
network.

https://www.man7.org/linux/man-pages/man7/sctp.7.html
2025-04-03 10:14:07 +02:00
Robert Schmidt
83c8a5ac0e Merge remote-tracking branch 'origin/PHY_defs_common' into integration_2025_w14_p1 (!3350)
Cleanup NR PHY common definitions
2025-04-03 10:13:42 +02:00
Robert Schmidt
e8247afd17 Merge remote-tracking branch 'origin/fix_UE_disableharq' into integration_2025_w14_p1 (!3327)
NR UE fix for disable HARQ

Asserting on feedback time only if feedback is enabled
2025-04-03 10:13:14 +02:00
Robert Schmidt
1449bdd410 Merge remote-tracking branch 'origin/ci-refactor-core-handling' into integration_2025_w14_p1 (!3322)
Refactor core network handling in CI, harmonize code

Prior to change set, there is a highly heterogeneous situation for core
network management in CI code: some log collection is done from groovy
files (when it could be done in python, which is easier for local
development), there are multiple commands to start a CN from XML files,
the code for starting a CN is always different (no one unified way to
start "any" CN), Ping/Iperf require some support in ci_infra.yaml, ...

To help with the above, refactor the handling of core networks in the CI
code as follows:

- define all CNs in ci_infra.yaml (basically how to deploy, undeploy,
  collect logs, and on which node)
- make one Python class that reads from ci_infra.yaml and that allows to
  start/stop previously defined CNs (and add unit tests...)
- make one XML command for start/stop of CNs, leveraging above class
- leverage the CNs defined in ci_infra.yaml consistently in
  Ping()/Iperf()
- delete old code

Furthermore, the following supporting changes/bugfixes are done:

- repair Iperf2_Unidir() and add unit test
- fix a number of invalid escape sequence errors (there are some
  remaining, which I will do soon)
- various bug fixes
- remove unused XML steps
2025-04-03 10:10:58 +02:00
Robert Schmidt
30c6c23dc8 Merge remote-tracking branch 'origin/931-pdu-session-type-is-incorrectly-used' into integration_2025_w14_p1 (!3316)
Fix: Correctly Read PDU Address IE

The QoS Rules loop correctly moves msg pointer allowing the PDU Address
IE to be read correctly. The PDU Address IE is only processed if it is
provided, otherwise there is a warning.

Closes #931
2025-04-03 10:10:35 +02:00
Robert Schmidt
9fdfbae91d Merge remote-tracking branch 'origin/nr-ue-nas-service-accept' into integration_2025_w14_p1 (!3247)
Add enc/dec lib and unit test for 5GS NAS Service Accept

- add new files for Service Accept fgmm_service_accept.c/.h containing
  the enc/dec functions (8.2.17 3GPP TS 24.501)
- enabled compiling
- add unit test
- add handler in stack
2025-04-03 10:09:53 +02:00
Robert Schmidt
277f8da010 Workaround to delay multiple concurrent PDU session
This is a hack. With some UEs/CN combinations, PDU session requests
might come in quick succession. Since 38.331 asks us to only have one
reconfiguration at once, we need to delay a second, third, ... PDU
session request until the first has passed, to make one reconfiguration
at a time.
2025-04-03 09:06:31 +02:00
luis_pereira87
b6e06e8f47 Turn off any Nagle-like algorithm for SCTP
This means that packets will be sent as soon as possible and no unnecessary delays are introduced, at the cost of more packets in the network.
https://www.man7.org/linux/man-pages/man7/sctp.7.html
2025-04-02 21:50:39 +01:00
Robert Schmidt
ee3601df5d Fix invalid escape sequence errors in cls_cluster.py
The following cases are covered
- we have a regex whose escape sequences are not to be evaluated in the
  string, but given verbatim to the regex engine. Hence, mark them as
  raw strings.
- some are parameters for the cmd.run() call, but the parameters are
  wrong, so remove that
- there is a `\|` that is also to be passed verbatim

    /home/richie/w/ci-refactor-core-handling/ci-scripts/cls_cluster.py:97: SyntaxWarning: invalid escape sequence '\-'
      if re.search('buildconfig.build.openshift.io/[a-zA-Z\-0-9]+ created', ret.stdout) is not None:
    /home/richie/w/ci-refactor-core-handling/ci-scripts/cls_cluster.py:167: SyntaxWarning: invalid escape sequence '\-'
      result = re.search(f'pod/(?P<pod>[a-zA-Z0-9_\-]+) created', ret.stdout)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/cls_cluster.py:325: SyntaxWarning: invalid escape sequence '\$'
      self.cmd.run(f'oc get pods.metrics.k8s.io &>> cmake_targets/log/build-metrics.log', '\$', 10)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/cls_cluster.py:385: SyntaxWarning: invalid escape sequence '\$'
      self.cmd.run(f'oc get pods.metrics.k8s.io &>> cmake_targets/log/build-metrics.log', '\$', 10)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/cls_cluster.py:398: SyntaxWarning: invalid escape sequence '\$'
      self.cmd.run(f'oc get pods.metrics.k8s.io &>> cmake_targets/log/build-metrics.log', '\$', 10)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/cls_cluster.py:413: SyntaxWarning: invalid escape sequence '\$'
      self.cmd.run(f'oc get pods.metrics.k8s.io &>> cmake_targets/log/build-metrics.log', '\$', 10)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/cls_cluster.py:429: SyntaxWarning: invalid escape sequence '\|'
      grep_exp = "\|".join(attemptedImages)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/cls_cluster.py:431: SyntaxWarning: invalid escape sequence '\$'
      self.cmd.run(f'for pod in $(oc get pods | tail -n +2 | awk \'{{print $1}}\'); do oc get pod $pod -o json &>> cmake_targets/log/build_pod_summary.log; done', '\$', 60)
2025-04-02 14:24:21 +02:00
Robert Schmidt
1fa0b501c6 Fix invalid escape sequence errors in args_parse.py
As parent. Fix these warnings:

    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:55: SyntaxWarning: invalid escape sequence '\-'
      if re.match('^\-\-help$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:58: SyntaxWarning: invalid escape sequence '\-'
      if re.match('^\-\-local$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:63: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-Apply=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:64: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-Apply=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:74: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-mode=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:75: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-mode=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:77: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNBRepository=(.+)$|^\-\-ranRepository(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:78: SyntaxWarning: invalid escape sequence '\-'
      if re.match('^\-\-eNBRepository=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:79: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNBRepository=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:81: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-ranRepository=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:89: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNB_AllowMerge=(.+)$|^\-\-ranAllowMerge=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:90: SyntaxWarning: invalid escape sequence '\-'
      if re.match('^\-\-eNB_AllowMerge=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:91: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNB_AllowMerge=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:93: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-ranAllowMerge=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:103: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNBBranch=(.+)$|^\-\-ranBranch=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:104: SyntaxWarning: invalid escape sequence '\-'
      if re.match('^\-\-eNBBranch=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:105: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNBBranch=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:107: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-ranBranch=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:115: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNBCommitID=(.*)$|^\-\-ranCommitID=(.*)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:116: SyntaxWarning: invalid escape sequence '\-'
      if re.match('^\-\-eNBCommitID=(.*)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:117: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNBCommitID=(.*)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:119: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-ranCommitID=(.*)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:127: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNBTargetBranch=(.*)$|^\-\-ranTargetBranch=(.*)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:128: SyntaxWarning: invalid escape sequence '\-'
      if re.match('^\-\-eNBTargetBranch=(.*)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:129: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNBTargetBranch=(.*)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:131: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-ranTargetBranch=(.*)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:139: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNBIPAddress=(.+)$|^\-\-eNB[1-2]IPAddress=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:140: SyntaxWarning: invalid escape sequence '\-'
      if re.match('^\-\-eNBIPAddress=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:141: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNBIPAddress=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:147: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNB1IPAddress=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:148: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNB1IPAddress=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:151: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNB2IPAddress=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:152: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNB2IPAddress=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:155: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNBUserName=(.+)$|^\-\-eNB[1-2]UserName=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:156: SyntaxWarning: invalid escape sequence '\-'
      if re.match('^\-\-eNBUserName=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:157: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNBUserName=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:163: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNB1UserName=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:164: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNB1UserName=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:167: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNB2UserName=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:168: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNB2UserName=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:171: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNBPassword=(.+)$|^\-\-eNB[1-2]Password=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:172: SyntaxWarning: invalid escape sequence '\-'
      if re.match('^\-\-eNBPassword=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:173: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNBPassword=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:179: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNB1Password=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:180: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNB1Password=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:183: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNB2Password=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:184: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNB2Password=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:187: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNBSourceCodePath=(.+)$|^\-\-eNB[1-2]SourceCodePath=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:188: SyntaxWarning: invalid escape sequence '\-'
      if re.match('^\-\-eNBSourceCodePath=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:189: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNBSourceCodePath=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:195: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNB1SourceCodePath=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:196: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNB1SourceCodePath=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:199: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-eNB2SourceCodePath=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:200: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-eNB2SourceCodePath=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:203: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-EPCIPAddress=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:205: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-EPCUserName=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:207: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-EPCPassword=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:209: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-EPCSourceCodePath=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:211: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-EPCType=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:213: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-EPCContainerPrefix=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:215: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:216: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-XMLTestFile=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:220: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-UEIPAddress=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:221: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-UEIPAddress=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:223: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-UEUserName=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:224: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-UEUserName=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:226: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-UEPassword=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:227: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-UEPassword=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:229: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-UESourceCodePath=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:230: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-UESourceCodePath=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:232: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-finalStatus=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:233: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-finalStatus=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:237: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-OCUserName=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:238: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-OCUserName=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:241: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-OCPassword=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:242: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-OCPassword=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:245: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-OCProjectName=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:246: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-OCProjectName=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:249: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-OCUrl=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:250: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-OCUrl=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:252: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-OCRegistry=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:253: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-OCRegistry=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:255: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-BuildId=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:256: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-BuildId=(.+)$', myArgv, re.IGNORECASE)
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:258: SyntaxWarning: invalid escape sequence '\-'
      elif re.match('^\-\-FlexRicTag=(.+)$', myArgv, re.IGNORECASE):
    /home/richie/w/ci-refactor-core-handling/ci-scripts/args_parse.py:259: SyntaxWarning: invalid escape sequence '\-'
      matchReg = re.match('^\-\-FlexRicTag=(.+)$', myArgv, re.IGNORECASE)
2025-04-02 14:24:09 +02:00
Robert Schmidt
87f0f64fe7 Fix invalid escape sequence errors in cls_module.py
As parent. The second change has no escape sequence, but since it's also
a regex, mark it as raw for uniformity (it doesn't hurt either).

    ci-scripts/cls_module.py:165: SyntaxWarning: invalid escape sequence '\.'
      result = re.search('inet (?P<ip>[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)', output.stdout)
2025-04-02 14:24:09 +02:00
Robert Schmidt
000ae3dfad Fix invalid escape sequence errors in cls_oaicitest.py
In all these cases, we have a regex whose escape sequences are not to be
evaluated in the string, but given verbatim to the regex engine. Hence,
mark them as raw strings.

    ci-scripts/cls_oaicitest.py:55: SyntaxWarning: invalid escape sequence '\s'
      result = re.search('-b\s*(?P<iperf_bandwidth>[0-9\.]+)(?P<unit>[KMG])', str(args))
    ci-scripts/cls_oaicitest.py:81: SyntaxWarning: invalid escape sequence '\s'
      result = re.search('-t\s*(?P<iperf_time>\d+)', str(args))
    ci-scripts/cls_oaicitest.py:373: SyntaxWarning: invalid escape sequence '\d'
      ping_time = re.findall("-c *(\d+)",str(self.ping_args))
    ci-scripts/cls_oaicitest.py:404: SyntaxWarning: invalid escape sequence '\.'
      result = re.search(', (?P<packetloss>[0-9\.]+)% packet loss, time [0-9\.]+ms', ping_output)
    ci-scripts/cls_oaicitest.py:409: SyntaxWarning: invalid escape sequence '\/'
      result = re.search('rtt min\/avg\/max\/mdev = (?P<rtt_min>[0-9\.]+)\/(?P<rtt_avg>[0-9\.]+)\/(?P<rtt_max>[0-9\.]+)\/[0-9\.]+ ms', ping_output)
    ci-scripts/cls_oaicitest.py:691: SyntaxWarning: invalid escape sequence '\d'
      result = re.search("MIB Information => ([a-zA-Z]{1,10}), ([a-zA-Z]{1,10}), NidCell (?P<nidcell>\d{1,3}), N_RB_DL (?P<n_rb_dl>\d{1,3}), PHICH DURATION (?P<phich_duration>\d), PHICH RESOURCE (?P<phich_resource>.{1,4}), TX_ANT (?P<tx_ant>\d)", str(line))
    ci-scripts/cls_oaicitest.py:724: SyntaxWarning: invalid escape sequence '\d'
      result = re.search("PLMN MCC (?P<mcc>\d{1,3}), MNC (?P<mnc>\d{1,3}), TAC", str(line))
    ci-scripts/cls_oaicitest.py:733: SyntaxWarning: invalid escape sequence '\w'
      result = re.search("Found (?P<operator>[\w,\s]{1,15}) \(name from internal table\)", str(line))
    ci-scripts/cls_oaicitest.py:749: SyntaxWarning: invalid escape sequence '\-'
      result = re.search("DL Carrier Frequency/ARFCN : \-*(?P<carrier_frequency>\d{1,15}/\d{1,4})", str(line))
    ci-scripts/cls_oaicitest.py:759: SyntaxWarning: invalid escape sequence '\d'
      result = re.search("AllowedMeasBandwidth : (?P<allowed_bandwidth>\d{1,7})", str(line))
2025-04-02 14:24:09 +02:00
Robert Schmidt
1037f4ddd9 Remove epc.py and use from python files
All core networks have been migrated to a file-based configuration.
References to epc.py are not needed anymore. Remove all unused XML
steps.
2025-04-02 14:24:09 +02:00
Robert Schmidt
e37ffc63f1 Jenkinsfiles: clean up EPC options, not used anymore 2025-04-02 14:24:09 +02:00
Robert Schmidt
b8020204a9 Remove LogCollectIperf option: not used 2025-04-02 14:24:09 +02:00
Robert Schmidt
ed3f02bb64 Remove LogCollectPing option: not used 2025-04-02 14:24:09 +02:00
Robert Schmidt
96e20b1399 Remove LogCollectUE options: not used 2025-04-02 14:24:09 +02:00
Robert Schmidt
6172550492 CI: Remove %cn_ip%/hardcoded IPs from ping test options
With the server object to be passed into ping test, it's not necessary
to either hardcode an IP address or provide a template. Instead, always
fill the IP address, which simplies the Ping() code.

Verify that we don't have an IP address/hardcoded by throwing an
assertion.
2025-04-02 14:23:32 +02:00
Robert Schmidt
59575b9cde Handle PDU session resource setup for existing PDU session
38.413 section 8.2.1.4 says that if PDU session resource setup req
contains an existing PDU session, that one should be reported as failed.
That is rather complicated for us to do; simply reject all PDU sessions
and let the core deal with that.
2025-04-02 08:03:17 +02:00
Robert Schmidt
5625bc63d1 Add PDU session add log in E1 handler
bearer context modification and release print a message, so do the same
here as well.
2025-04-02 08:03:17 +02:00
Robert Schmidt
7e1c3e4213 Fix double-E1 bearer context setup req in E1 handler
If two PDU sessions are to be setup, the CU-CP sends two bearer context
setup requests. When running only the CU-UP, we inconditionally tried to
set up the CU-UP UE ID identifiers upon reception of the bearer context
setup request, leading to an assert. Check if the IDs are not already
set up, to avoid assertions in that case.
2025-04-02 08:03:03 +02:00
Theodoros Tsourdinis
e6797a0b0e Prepare RAN Control to support multiple REPORT Styles
The REPORT service was hardcoded to only style 4, and therefore not easily extendable.
This commit moves the support for style 4 in a separate function.

Delete duplicated enum structs for RAN Parameter IDs for all the REPORT styles.
They are already defined in "openair2/E2AP/flexric/src/sm/rc_sm/ie/rc_data_ie.h".

Co-authored-by: Tano Bischoff <tano.bischoff@hhi.fraunhofer.de>
Co-authored-by: Khanh Toan Pham <khanh.toan.pham@hhi.fraunhofer.de>
Co-authored-by: Shrinish Donde <shrinish.donde@hhi.fraunhofer.de>
Co-authored-by: Miguel Fuentes <miguel.fuentes@i2cat.net>
Co-authored-by: Teodora Vladic <teodora.vladic@openairinterface.org>
2025-04-01 20:35:51 +02:00
Teodora
bf6012084c Fill Event Trigger Condition ID in the Indication Header
- it is optional, but xApp must somehow know for which trigger event
    an E2 node sent the Indication Message
2025-04-01 20:35:51 +02:00
Teodora
e9be8bc233 Use the enum struct for RRC State defined in FlexRIC 2025-04-01 20:35:51 +02:00
francescomani
3c571d0e7a license missing in common_sim.h 2025-04-01 19:15:08 +02:00
francescomani
331325b0f3 move init_delay_table to nr_phy_common 2025-04-01 19:15:08 +02:00
francescomani
c6ccda2998 remove unused definitions in defs_nr_common 2025-04-01 19:15:08 +02:00
francescomani
606048cb00 move simde functions from nr_common to nr_phy_common 2025-04-01 19:15:08 +02:00
francescomani
cea4412b3b do not include LTE defs_common into 5G code 2025-04-01 18:53:09 +02:00
francescomani
0a95bbcfd3 move NR_NUMBER_OF_SYMBOLS_PER_SLOT into an NR file 2025-04-01 18:47:04 +02:00
Romain Beurdouche
047e80f070 feat(oran_fhlib_5g): Make E release patch dual
Update the xran E release patch to work for Arm targets in addition to x86 targets.

Co-authored-by: Yi-Hung Chang <Yi-Hung.Chang@eurecom.fr>
Co-authored-by: brobert <brobert@valiha.com>
2025-04-01 12:23:03 +00:00
brobert
db27b09b7c enabling ARM and INTEL memory alignment 2025-04-01 12:23:03 +00:00
brobert
a0f16e7e83 fix(oran_fhlib_5g): Do not include immintrin.h for Arm targets
Remove include of immintrin.h in radio/fhi_72/oaioran.c when compiling for a Arm target.
2025-04-01 12:23:03 +00:00
robert
ebde2f3698 fix(oran_fhlib_5g): Build error due to SIMDE header for Neon
Remove include of SIMDE Neon header sse_intrinsic.h to compile on ARM. Otherwise the error below is issued.

```
/usr/include/simde/arm/neon/get_lane.h:279:5: error: incompatible type for argument 1 of ‘vget_lane_f16’
 279 |     SIMDE_CONSTIFY_8_(vget_lane_f16, r, (HEDLEY_UNREACHABLE(), SIMDE_FLOAT16_VALUE(0.0)), lane, v);
 removed the inclusion of neon.h
```
2025-04-01 12:23:03 +00:00
Thomas Schlichter
0d01efa00b NR UE: don't activate HARQ process for PUCCH transmission if feedback is disabled
Currently we still activated the DL HARQ process for PUCCH transmission,
and only at the time of the scheduled PUCCH transmission, we actually skip sending the ACK.
This is not only unnecessary, it is at least misleading and strange that
DL HARQ processes can be reused in the meantime, even though they are active...

Therefore simply don't activate the DL HARQ process by skipping the call to set_harq_status() if feedback for it is disabled.
2025-04-01 10:00:46 +00:00
francescomani
3ec3c88b9e compute assertion on feedback time only if feedback is enabled 2025-04-01 09:58:28 +00:00
rmagueta
4fef7e9cca Configure sched_ctrlCommon earlier, in nr_mac_config_scc 2025-04-01 10:52:03 +01:00
francescomani
c8e5fcc585 minor formatting 2025-04-01 11:46:58 +02:00
francescomani
83ab5831c5 NR specific rlc_module_init function 2025-04-01 11:46:58 +02:00
francescomani
87b8d112f7 remove NR PDCP dummy functions (LTE dependencies not there anymore) 2025-04-01 11:46:58 +02:00
francescomani
70fba0e73c NR specific enqueue_rlc_data_req function and some cleanup in NR PDCP 2025-04-01 11:46:58 +02:00
francescomani
d4631845ec remove other RLC functions not used in NR 2025-04-01 11:46:58 +02:00
francescomani
bdb3555825 NR specific mac_rlc_status_ind function 2025-04-01 11:46:58 +02:00
francescomani
5a1d7a75dc NR specific mac_rlc_data_req function 2025-04-01 11:46:58 +02:00
francescomani
4321a2710a NR specific mac_rlc_data_ind function 2025-04-01 11:46:58 +02:00
francescomani
f2d02398fb removing unnecessary dummy rrc_rlc_config_asn1_req 2025-04-01 11:46:58 +02:00
francescomani
66f044d2d8 rlc.h cleanup 2025-04-01 11:46:58 +02:00
Robert Schmidt
98ac540d57 CI: use svr_id for Ping in RFsim-based tests
This is not really used as of now, because most IPs are hardcoded. See
one of the next commits for the use of this.

To make sure that we have the correct IP, there is some code that
verifies that a hardcoded IP and the CN IP would be the same.

Note: need two separate ci_infra.yaml entries, because
- for FlexRIC, the container name is different (is the tutorial CN)
- for RFsim5G E1, we don't have ext-dn => ping UPF
2025-03-31 16:38:13 +02:00
Robert Schmidt
a51190a7c5 CI: deploy Magme-MME OAI EPC through CoreNetwork, use in Ping/Iperf
- call scripts for magma MME-based deployment of OAI 5GC in
  ci_infra.yaml
- implement the existing python code through scripts (which does the same)
- save the cql file in the repo, which was previously downloaded every
  time
- use for porcepix-cn4g and nano-cn4g (un)deployment, ping, perf, in XML
  files
2025-03-31 16:38:13 +02:00
Robert Schmidt
586e51227e CI: deploy docker-based OAI 5GC through CoreNetwork, use in Ping/Iperf
- issue OAI 5GC docker commands/scripts from ci_infra.yaml
- use for matix-cn5g (un)deployment, ping, iperf in all XML files
2025-03-31 16:38:13 +02:00
Robert Schmidt
5db684fc52 CI: deploy ltebox EPC through CoreNetwork, use in Ping/Iperf
- issue ltebox commands from ci_infra.yaml
- use for ltebox-nano, ltebox-nepes (un)deployment, ping, iperf in all
  relevant XML files
2025-03-31 16:38:13 +02:00
Robert Schmidt
8c4a55ab1c Remove unused/unsupported EPC types "OAI-Rel14-CUPS" and "OAI" 2025-03-31 16:38:13 +02:00
Robert Schmidt
bd2b833c58 CI: deploy OpenShift-based 5GC through CoreNetwork, use in Ping/Iperf
- Use scripts to deploy OpenShift-based 5GC in ci_infra.yaml
- Use for oc-cn5g, oc-cn5g-20897, and oc-cn5g-20897-aerial2
  for (un)deployment, ping, iperf in relevant XML files
- Convert hardcoded IP addresses to %cn_ip%
2025-03-31 16:38:13 +02:00
Robert Schmidt
5f3f837021 CI: deploy sabox 5GC through cls_core.py, use in Ping/Iperf
- issue sabox commands from ci_infra.yaml
- use for sabox-nepes (un)deployment, ping, iperf in all XML files
2025-03-31 16:38:13 +02:00
Robert Schmidt
246ad2dda3 Add (Un)deployCoreNetwork in test framework 2025-03-31 16:38:13 +02:00
Robert Schmidt
6bd96f1b5f CI Ping, Iperf: remove UE/CN logging, is done automatically 2025-03-31 16:38:13 +02:00
Robert Schmidt
d1f58d1430 Use new core network class in Iperf()/Iperf2_Unidir()/Ping()
Use the core network class to configure one "end" of these tests. This
will make the tests more generic and predictable, as they are explicitly
configured through two ci_infra.yaml "entities", instead of some
implicit "EPC" IP address given in configuration.

As of this commit, no XML passes this info into the framework, so no XML
step will work. As it is many changes, the following commits will add
the necessary info one by one.
2025-03-31 16:38:12 +02:00
Robert Schmidt
dc694475d0 Add helper class for core network handling in CI
This adds a helper class to manage various core networks in the CI
testing framework. Specifically, it reads from a YAML file information
such as a node, (un-)deployment script (file), log collection
instructions, etc., in order to allow a common interface to be used to
deploy and undeploy various core network implementations.

This commit adds the class (in cls_corenetwork.py) as well as tests for
this class.
2025-03-31 16:38:12 +02:00
Guido Casati
a092e7ff3f Handle NAS Service Accept in stack
* also, add function to process GPRS timer
2025-03-31 10:05:35 +02:00
Guido Casati
35fd18a090 Add test for NAS Service Accept enc/dec library 2025-03-31 10:05:35 +02:00
Guido Casati
052491adde Add enc/dec/eq/free functions for 5GS NAS Service Accept lib
* add new files for Service Accept enc/dec fgmm_service_accept.c/.h
* add to CMakeLists.txt
2025-03-31 10:05:31 +02:00
Robert Schmidt
703bf07c81 Remove EPC from InitializeNB()/TerminateeNB()
These two functions use the EPC class to potentially fill in
EPC/5GC-related information, or start a packet tracer (tshark). The only
pipeline that uses these functions is RAN-gNB-N300-Timing-Phytest-LDPC,
which does not use a core network. This functionality is not used, and
can therefore be removed.
2025-03-28 14:34:03 +01:00
Robert Schmidt
f55c1a7a4f Correct UE interface for fembms test 2025-03-28 14:34:03 +01:00
Robert Schmidt
c8534a0b51 CI: Correct Iperf2_Unidir(): only status code required 2025-03-28 14:34:01 +01:00
Robert Schmidt
e5d8c25084 Add configurable infra for Iperf2_Unidir, test, fixes
Add a possibility to use an "infrastructure YAML file" to configure both
ends of the iperf2 call through a file.

Fix bugs in Iperf2: at least on my machine, iperf2 start time is logged
at 0.00 not 0.0, so update the regex to match both. Do not overwrite
results if the matched regex (otherwise, the result might be None at the
end) and suppress server output.

Add a unit test to test that this function actually works (on my
machine, with iperf v2.2.1), as well as a unit test for analysis.
2025-03-28 14:31:28 +01:00
Robert Schmidt
ac6b296616 Iperf: Redirect server output to NULL
It's not needed/used anywhere, and some CI pipelines have a lot of
useless output.

On this occasion, also remove the unused nohup.
2025-03-28 14:31:19 +01:00
Justin Garey
f18c6c9804 If the PDU Address IE is provided (checked through length), then the PDU Session Address is processed 2025-03-25 13:03:56 -04:00
Guido Casati
31f1402790 Add common definitions to new fgmm_lib.c/.h files
The 5GMM library in openair3/NAS/NR_UE/5GS/5GMM/ contains the
all the definitions necessary to do the enc/dec of 5GMM IEs.
5GMM messages can share the same IEs, therefore they can use
common definitions and enc/dec functions.

The goal of this commit is to add common definitions to new shared
5GMM library files. The consumers of fgmm_lib are the functions
defined in the openair3/NAS/NR_UE/5GS/5GMM/ library.
2025-03-25 16:29:25 +01:00
Guido Casati
e11a09b674 Add include for stdio.h in fgs_nas_utils.h (fprintf) 2025-03-25 16:29:25 +01:00
Robert Schmidt
19932b10f6 Configurable infrastructure file for Ping and Iperf()
- Make configurable to override (to be used later in extended tests with
  new core class)
- Move ping-iperf test infra to tests/ directory
2025-03-21 16:51:56 +01:00
Robert Schmidt
4a9bb6dbe4 Ping from correct UE 2025-03-21 16:51:56 +01:00
Robert Schmidt
60094de81f Remove two unused/duplicate steps 2025-03-21 16:51:56 +01:00
Robert Schmidt
083765f7a7 Remove outdated/unused XML files 2025-03-21 16:51:56 +01:00
Robert Schmidt
b29b60cdf8 Remove unused functions in epc.py 2025-03-20 10:30:31 +01:00
Robert Schmidt
32cd3a03e6 Remove porcepix-cn5g, there is no 5GC on that machine 2025-03-20 10:30:13 +01:00
Robert Schmidt
67ffa02416 Improve logging in cls_module.Module_UE: prints the same 2025-03-20 08:55:41 +01:00
Robert Schmidt
c3e9e62f71 cls_cmd: printed commands are debug 2025-03-19 14:57:14 +01:00
Robert Schmidt
7f55a11045 Fix: when calling unknown test case class, fail pipeline 2025-03-19 14:49:22 +01:00
Justin Garey
9edf06f5ce PDU session establishment uses required IE for session type and QoS Rules loop correctly moves msg pointer 2025-03-18 15:19:10 +00:00
709 changed files with 39959 additions and 24815 deletions

View File

@@ -108,6 +108,7 @@ add_list_string_option(CMAKE_BUILD_TYPE "RelWithDebInfo" "Choose the type of bui
# -so to avoid AVX512 instructions generation by gcc
if(EXISTS "/proc/cpuinfo" AND NOT CROSS_COMPILE)
file(STRINGS "/proc/cpuinfo" CPUFLAGS REGEX flags LIMIT_COUNT 1)
file(STRINGS "/proc/cpuinfo" CPUPART REGEX "CPU part" LIMIT_COUNT 1)
else()
message(WARNING "did not find /proc/cpuinfo -- not setting any x86-specific compilation variables")
endif()
@@ -146,9 +147,20 @@ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -DSIMDE_X86_SSSE3_NATIVE")
endif()
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -mfloat-abi=hard -mfpu=neon -lgcc -lrt")
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -mfloat-abi=hard -mfpu=neon -lgcc -lrt")
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -lgcc -lrt")
# Neoverse CPU part codes available at https://github.com/util-linux/util-linux/blob/master/sys-utils/lscpu-arm.c
if (CPUPART MATCHES "0xd40") # Neoverse-V1
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -mcpu=neoverse-v1 -lgcc -lrt")
elseif (CPUPART MATCHES "0xd4f") # Neoverse-V2
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -mcpu=neoverse-v2 -ftree-vectorize -lgcc -lrt")
elseif (CPUPART MATCHES "0xd0c") # Neoverse-N1
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -mcpu=neoverse-n1 -lgcc -lrt")
elseif (CPUPART MATCHES "0xd49") # Neoverse-N2
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -mcpu=neoverse-n2 -ftree-vectorize -lgcc -lrt")
else ()
set(C_FLAGS_PROCESSOR "${C_FLAGS_PROCESSOR} -gdwarf-2 -mcpu=native -lgcc -lrt")
endif()
else()
message(FATAL_ERROR "compile for CPU architecture ${CPUARCH}, CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR}")
endif()
@@ -453,6 +465,9 @@ target_include_directories(f1ap PUBLIC F1AP_DIR)
target_link_libraries(f1ap PUBLIC asn1_f1ap GTPV1U)
target_link_libraries(f1ap PRIVATE ngap nr_rrc HASHTABLE f1ap_lib)
target_include_directories(f1ap PRIVATE ${F1AP_DIR}/lib)
if(E2_AGENT)
target_compile_definitions(f1ap PRIVATE E2_AGENT)
endif()
# LPP
##############
@@ -809,17 +824,14 @@ set(PHY_SRC_COMMON
${OPENAIR1_DIR}/PHY/CODING/viterbi_lte.c
${OPENAIR1_DIR}/PHY/INIT/init_top.c
${OPENAIR1_DIR}/PHY/INIT/lte_parms.c
${OPENAIR1_DIR}/PHY/TOOLS/cadd_vv.c
${OPENAIR1_DIR}/PHY/TOOLS/dfts_load.c
${OPENAIR1_DIR}/PHY/TOOLS/log2_approx.c
${OPENAIR1_DIR}/PHY/TOOLS/cmult_sv.c
${OPENAIR1_DIR}/PHY/TOOLS/cmult_vv.c
${OPENAIR1_DIR}/PHY/TOOLS/cdot_prod.c
${OPENAIR1_DIR}/PHY/TOOLS/signal_energy.c
${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c
${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c
${OPENAIR1_DIR}/PHY/TOOLS/lut.c
${OPENAIR1_DIR}/PHY/TOOLS/simde_operations.c
${OPENAIR1_DIR}/PHY/TOOLS/get_sin_cos.c
${OPENAIR1_DIR}/PHY/TOOLS/oai_arith_operations.c
)
set(PHY_SRC
@@ -939,21 +951,16 @@ set(PHY_SRC_UE
${OPENAIR1_DIR}/PHY/NR_REFSIG/nr_gen_mod_table.c
${OPENAIR1_DIR}/PHY/NR_REFSIG/dmrs_nr.c
${OPENAIR1_DIR}/PHY/NR_REFSIG/ptrs_nr.c
${OPENAIR1_DIR}/PHY/NR_TRANSPORT/nr_csi_rs.c
${OPENAIR1_DIR}/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
${OPENAIR1_DIR}/PHY/NR_ESTIMATION/nr_freq_equalization.c
${OPENAIR1_DIR}/PHY/NR_ESTIMATION/nr_measurements_gNB.c
${OPENAIR1_DIR}/PHY/TOOLS/file_output.c
${OPENAIR1_DIR}/PHY/TOOLS/cadd_vv.c
${OPENAIR1_DIR}/PHY/TOOLS/log2_approx.c
${OPENAIR1_DIR}/PHY/TOOLS/cmult_sv.c
${OPENAIR1_DIR}/PHY/TOOLS/cmult_vv.c
${OPENAIR1_DIR}/PHY/TOOLS/cdot_prod.c
${OPENAIR1_DIR}/PHY/TOOLS/signal_energy.c
${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c
${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c
${OPENAIR1_DIR}/PHY/TOOLS/lut.c
${OPENAIR1_DIR}/PHY/TOOLS/simde_operations.c
${OPENAIR1_DIR}/PHY/TOOLS/oai_arith_operations.c
${PHY_POLARSRC}
${PHY_SMALLBLOCKSRC}
${PHY_NRLDPC_CODINGIF}
@@ -997,16 +1004,12 @@ set(PHY_SRC_UE
${OPENAIR1_DIR}/PHY/NR_UE_ESTIMATION/nr_ue_measurements.c
${OPENAIR1_DIR}/PHY/NR_UE_ESTIMATION/nr_adjust_gain.c
${OPENAIR1_DIR}/PHY/TOOLS/file_output.c
${OPENAIR1_DIR}/PHY/TOOLS/cadd_vv.c
${OPENAIR1_DIR}/PHY/TOOLS/log2_approx.c
${OPENAIR1_DIR}/PHY/TOOLS/cmult_sv.c
${OPENAIR1_DIR}/PHY/TOOLS/cmult_vv.c
${OPENAIR1_DIR}/PHY/TOOLS/cdot_prod.c
${OPENAIR1_DIR}/PHY/TOOLS/signal_energy.c
${OPENAIR1_DIR}/PHY/TOOLS/dB_routines.c
${OPENAIR1_DIR}/PHY/TOOLS/sqrt.c
${OPENAIR1_DIR}/PHY/TOOLS/lut.c
${OPENAIR1_DIR}/PHY/TOOLS/simde_operations.c
${OPENAIR1_DIR}/PHY/TOOLS/oai_arith_operations.c
${OPENAIR1_DIR}/PHY/INIT/nr_init_ue.c
${PHY_POLARSRC}
${PHY_SMALLBLOCKSRC}
@@ -1146,8 +1149,6 @@ set(L2_NR_SRC
${NR_RRC_DIR}/mac_rrc_dl_f1ap.c
${NR_RRC_DIR}/nr_rrc_config.c
${NR_RRC_DIR}/rrc_gNB_nsa.c
${NR_RRC_DIR}/rrc_gNB_internode.c
${NR_RRC_DIR}/rrc_gNB_reconfig.c
${NR_RRC_DIR}/rrc_gNB_UE_context.c
${NR_RRC_DIR}/rrc_gNB_NGAP.c
${NR_RRC_DIR}/rrc_gNB_radio_bearers.c
@@ -1374,7 +1375,6 @@ include_directories("${OPENAIR1_DIR}/SCHED_NR_UE")
##########################
add_library (GTPV1U
${NR_RRC_DIR}/rrc_gNB_GTPV1U.c
${RRC_DIR}/rrc_eNB_GTPV1U.c
${OPENAIR3_DIR}/ocp-gtpu/gtp_itf.cpp
)
@@ -1831,6 +1831,7 @@ target_link_libraries(nr-softmodem PRIVATE
ITTI ${NAS_UE_LIB} lte_rrc nr_rrc
ngap s1ap L2_LTE_NR L2_NR MAC_NR_COMMON NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB SIMU
x2ap f1ap m2ap m3ap e1ap shlib_loader
time_management
-Wl,--end-group z dl)
target_link_libraries(nr-softmodem PRIVATE pthread m CONFIG_LIB rt sctp)
@@ -1863,6 +1864,7 @@ add_executable(nr-cuup
target_link_libraries(nr-cuup PRIVATE
CONFIG_LIB ITTI SCTP_CLIENT
GTPV1U e1ap f1ap
time_management
z sctp dl pthread shlib_loader ${T_LIB})
target_link_libraries(nr-cuup PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs)
if(E2_AGENT)
@@ -1894,6 +1896,7 @@ target_link_libraries(nr-uesoftmodem PRIVATE
nr_rrc SECURITY UTIL HASHTABLE SCHED_RU_LIB SCHED_NR_UE_LIB
PHY_COMMON PHY_NR_COMMON PHY_NR_UE NR_L2_UE MAC_NR_COMMON NFAPI_LIB
ITTI SIMU shlib_loader
time_management
-Wl,--end-group z dl)
target_link_libraries(nr-uesoftmodem PRIVATE pthread m CONFIG_LIB rt nr_ue_phy_meas)
@@ -2060,6 +2063,7 @@ foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim pr
pthread m rt CONFIG_LIB ${T_LIB} dl shlib_loader
)
target_link_libraries(${myExe} PRIVATE asn1_lte_rrc_hdrs)
add_dependencies(${myExe} coding)
endforeach(myExe)
@@ -2112,12 +2116,18 @@ include(${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/CMakeLists.txt)
set(ENABLE_TESTS OFF CACHE STRING "Activate build of tests")
set_property(CACHE ENABLE_TESTS PROPERTY TYPE BOOL)
if(ENABLE_TESTS)
# activates globally adding tests such that they can be run using ctest
enable_testing()
set(ENABLE_PHYSIM_TESTS OFF CACHE STRING "Activate build of physim tests")
set_property(CACHE ENABLE_PHYSIM_TESTS PROPERTY TYPE BOOL)
if(ENABLE_TESTS OR ENABLE_PHYSIM_TESTS)
# meta-target: each test is supposed to add_dependencies(tests ${NEWTEST})
# then, it is possible to build and execute all tests using "ninja tests && ctest"
add_custom_target(tests)
# activates globally adding tests such that they can be run using ctest
enable_testing()
endif()
if(ENABLE_TESTS)
find_package(GTest)
if (NOT GTest_FOUND)
message(STATUS "GTest package not found, will download googletest automatically. To prevent that install google test on your system (libgtest-dev)")

View File

@@ -4,10 +4,9 @@
<p align="center">
<a href="https://gitlab.eurecom.fr/oai/openairinterface5g/-/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-OAI--Public--V1.1-blue" alt="License"></a>
<a href="https://releases.ubuntu.com/20.04/"><img src="https://img.shields.io/badge/OS-Ubuntu20-Green" alt="Supported OS Ubuntu 20"></a>
<a href="https://releases.ubuntu.com/22.04/"><img src="https://img.shields.io/badge/OS-Ubuntu22-Green" alt="Supported OS Ubuntu 22"></a>
<a href="https://releases.ubuntu.com/24.04/"><img src="https://img.shields.io/badge/OS-Ubuntu24-Green" alt="Supported OS Ubuntu 24"></a>
<a href="https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux"><img src="https://img.shields.io/badge/OS-RHEL9-Green" alt="Supported OS RELH9"></a>
<a href="https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux"><img src="https://img.shields.io/badge/OS-RHEL9-Green" alt="Supported OS RHEL9"></a>
<a href="https://getfedora.org/en/workstation/"><img src="https://img.shields.io/badge/OS-Fedore41-Green" alt="Supported OS Fedora 41"></a>
</p>
@@ -16,7 +15,9 @@
</p>
<p align="center">
<a href="https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/"><img src="https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fjenkins-oai.eurecom.fr%2Fjob%2FRAN-Container-Parent%2F&label=build%20Images"></a>
<a href="https://jenkins-oai.eurecom.fr/job/RAN-Ubuntu18-Image-Builder/"><img src="https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fjenkins-oai.eurecom.fr%2Fjob%2FRAN-Ubuntu18-Image-Builder%2F&label=build-Ubuntu-x86%20Images"></a>
<a href="https://jenkins-oai.eurecom.fr/job/RAN-RHEL8-Cluster-Image-Builder/"><img src="https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fjenkins-oai.eurecom.fr%2Fjob%2FRAN-RHEL8-Cluster-Image-Builder%2F&label=build-UBI-x86%20Images"></a>
<a href="https://jenkins-oai.eurecom.fr/job/RAN-Ubuntu-ARM-Image-Builder/"><img src="https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fjenkins-oai.eurecom.fr%2Fjob%2FRAN-Ubuntu-ARM-Image-Builder%2F&label=build-Ubuntu-ARM%20Images"></a>
</p>
<p align="center">

View File

@@ -1,6 +1,6 @@
apiVersion: v1
name: oai-ulsim
description: A Helm subchart for ulsim network function
name: oai-physims-4g
description: A Helm subchart for 4G physims network function
# A chart can be either an 'application' or a 'library' chart.
#
@@ -24,7 +24,6 @@ appVersion: v1
keywords:
- Physical Simulator
- ulsim
- RAN
- 4G

View File

@@ -2,7 +2,7 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-polartest.name" -}}
{{- define "oai-physims-4g.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
@@ -11,7 +11,7 @@ Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-polartest.fullname" -}}
{{- define "oai-physims-4g.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
@@ -27,16 +27,16 @@ If release name contains chart name it will be used as a full name.
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-polartest.chart" -}}
{{- define "oai-physims-4g.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-polartest.labels" -}}
helm.sh/chart: {{ include "oai-polartest.chart" . }}
{{ include "oai-polartest.selectorLabels" . }}
{{- define "oai-physims-4g.labels" -}}
helm.sh/chart: {{ include "oai-physims-4g.chart" . }}
{{ include "oai-physims-4g.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
@@ -46,17 +46,17 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
{{/*
Selector labels
*/}}
{{- define "oai-polartest.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-polartest.name" . }}
{{- define "oai-physims-4g.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-physims-4g.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-polartest.serviceAccountName" -}}
{{- define "oai-physims-4g.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-polartest.fullname" .) .Values.serviceAccount.name }}
{{ default (include "oai-physims-4g.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}

View File

@@ -31,8 +31,9 @@ spec:
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_dlsim.basic" -d bin/ &&
echo "FINISHED" && sleep infinity
ctest -R 4g --show-only=json-v1 >> physims-4g-tests.json &&
ctest -R 4g -j$(nproc) --output-junit physims-4g-run.xml --test-output-size-passed 100000 --test-output-size-failed 100000 ;
echo "FINISHED" && sleep 15
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
@@ -43,5 +44,5 @@ spec:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrdlsimbasic }}
nodeName: {{ .Values.global.nodeName.physims5g }}
{{- end }}

View File

@@ -1,4 +1,4 @@
# Default values for oai-ulsim.
# Default values for oai-physims-4g
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
@@ -20,7 +20,7 @@ serviceAccount:
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-ulsim-sa"
name: "oai-physims-4g"
podSecurityContext:
runAsUser: 0

View File

@@ -6,7 +6,7 @@ global:
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran/oai-physim
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-core-for-ci-ran/oai-physim
version: TAG
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always

View File

@@ -1,6 +1,6 @@
apiVersion: v1
name: oai-polartest
description: A Helm subchart for polartest network function
name: oai-physim
description: A Helm chart for physical simulators network function
# A chart can be either an 'application' or a 'library' chart.
#
@@ -16,17 +16,17 @@ icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_fin
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
version: 1.0.0
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- polartest
- Physical Simulators
- RAN
- 4G
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g

View File

@@ -1,6 +1,6 @@
apiVersion: v1
name: oai-ldpctest
description: A Helm subchart for ldpctest network function
name: oai-physims-5g
description: A Helm subchart for 5G physims network function
# A chart can be either an 'application' or a 'library' chart.
#
@@ -24,7 +24,6 @@ appVersion: v1
keywords:
- Physical Simulator
- ldpctest
- RAN
- 5G

View File

@@ -2,7 +2,7 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-ulsim.name" -}}
{{- define "oai-physims-5g.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
@@ -11,7 +11,7 @@ Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-ulsim.fullname" -}}
{{- define "oai-physims-5g.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
@@ -27,16 +27,16 @@ If release name contains chart name it will be used as a full name.
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-ulsim.chart" -}}
{{- define "oai-physims-5g.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-ulsim.labels" -}}
helm.sh/chart: {{ include "oai-ulsim.chart" . }}
{{ include "oai-ulsim.selectorLabels" . }}
{{- define "oai-physims-5g.labels" -}}
helm.sh/chart: {{ include "oai-physims-5g.chart" . }}
{{ include "oai-physims-5g.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
@@ -46,17 +46,17 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
{{/*
Selector labels
*/}}
{{- define "oai-ulsim.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-ulsim.name" . }}
{{- define "oai-physims-5g.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-physims-5g.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-ulsim.serviceAccountName" -}}
{{- define "oai-physims-5g.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-ulsim.fullname" .) .Values.serviceAccount.name }}
{{ default (include "oai-physims-5g.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}

View File

@@ -31,8 +31,9 @@ spec:
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "ldpctest" -d bin/ &&
echo "FINISHED" && sleep infinity
ctest -R 5g --show-only=json-v1 >> physims-5g-tests.json &&
ctest -R 5g -j$(nproc) --output-junit physims-5g-run.xml --test-output-size-passed 100000 --test-output-size-failed 100000 ;
echo "FINISHED" && sleep 20
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
@@ -43,5 +44,5 @@ spec:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.ldpctest }}
nodeName: {{ .Values.global.nodeName.physims5g }}
{{- end }}

View File

@@ -1,4 +1,4 @@
# Default values for oai-ldpctest.
# Default values for oai-physims-5g
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
@@ -20,7 +20,7 @@ serviceAccount:
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-ldpctest-sa"
name: "oai-physims-5g"
podSecurityContext:
runAsUser: 0

View File

@@ -0,0 +1,26 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ .Chart.Name }}-{{ .Release.Namespace }}-role
rules:
- apiGroups:
- security.openshift.io
resourceNames:
- anyuid
resources:
- securitycontextconstraints
verbs:
- use
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ .Chart.Name }}-{{ .Release.Namespace }}-binding
subjects:
- kind: ServiceAccount
name: {{ .Values.global.serviceAccountName }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: Role
name: {{ .Chart.Name }}-{{ .Release.Namespace }}-role
apiGroup: rbac.authorization.k8s.io

View File

@@ -0,0 +1,4 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: oai-physim-sa #{{ .Values.global.serviceAccountName }}

View File

@@ -0,0 +1,21 @@
# Default values for oai-physim.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
global:
serviceAccountName: oai-physim-sa
namespace: "OAICICD_PROJECT"
image:
registry: local
repository: image-registry.openshift-image-registry.svc:5000/oaicicd-core-for-ci-ran/oai-physim
version: TAG
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
# removing the node selector
# will place on two nodes intel 3rd gen and 5th gen with RT kernel
nodeSelector:
type: ran
nodeName: ''
resources:
define: false
requests:
cpu: 1.5

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-dlsim-100rb-tm2
description: A Helm subchart for dlsim network function ("100rb+tm2" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- dlsim
- RAN
- 4G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-dlsim-100rb-tm2.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-dlsim-100rb-tm2.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-dlsim-100rb-tm2.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-dlsim-100rb-tm2.labels" -}}
helm.sh/chart: {{ include "oai-dlsim-100rb-tm2.chart" . }}
{{ include "oai-dlsim-100rb-tm2.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-dlsim-100rb-tm2.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-dlsim-100rb-tm2.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-dlsim-100rb-tm2.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-dlsim-100rb-tm2.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "dlsim.100rb+tm2" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.dlsim100rbtm2 }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-dlsim-100rb+tm2
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-dlsim-100rb-tm2"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-dlsim-basic
description: A Helm subchart for dlsim network function ("basic" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- dlsim
- RAN
- 4G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-dlsim-basic.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-dlsim-basic.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-dlsim-basic.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-dlsim-basic.labels" -}}
helm.sh/chart: {{ include "oai-dlsim-basic.chart" . }}
{{ include "oai-dlsim-basic.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-dlsim-basic.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-dlsim-basic.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-dlsim-basic.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-dlsim-basic.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "dlsim.basic" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.dlsimbasic }}
{{- end }}

View File

@@ -1,44 +0,0 @@
# Default values for oai-dlsim-basic
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-dlsim-basic"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources:
limits:
cpu: 100m
memory: 128Mi
requests:
cpu: 100m
memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-ldpctest.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-ldpctest.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-ldpctest.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-ldpctest.labels" -}}
helm.sh/chart: {{ include "oai-ldpctest.chart" . }}
{{ include "oai-ldpctest.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-ldpctest.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-ldpctest.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-ldpctest.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-ldpctest.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-dlschsim
description: A Helm subchart for nr-dlschsim network function
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-dlschsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-dlschsim.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-dlschsim.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-dlschsim.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-dlschsim.labels" -}}
helm.sh/chart: {{ include "oai-nr-dlschsim.chart" . }}
{{ include "oai-nr-dlschsim.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-dlschsim.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-dlschsim.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-dlschsim.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-dlschsim.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_dlschsim" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrdlschsim }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-dlschsim.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-dlschsim-sa"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-dlsim-basic
description: A Helm subchart for nr-dlsim network function ("basic" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-dlsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-dlsim-basic.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-dlsim-basic.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-dlsim-basic.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-dlsim-basic.labels" -}}
helm.sh/chart: {{ include "oai-nr-dlsim-basic.chart" . }}
{{ include "oai-nr-dlsim-basic.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-dlsim-basic.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-dlsim-basic.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-dlsim-basic.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-dlsim-basic.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-dlsim-basic
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-dlsim-basic"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-dlsim-dmrs-ptrs
description: A Helm subchart for nr-dlsim network function ("dmrs+ptrs" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-dlsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-dlsim-dmrs-ptrs.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-dlsim-dmrs-ptrs.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-dlsim-dmrs-ptrs.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-dlsim-dmrs-ptrs.labels" -}}
helm.sh/chart: {{ include "oai-nr-dlsim-dmrs-ptrs.chart" . }}
{{ include "oai-nr-dlsim-dmrs-ptrs.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-dlsim-dmrs-ptrs.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-dlsim-dmrs-ptrs.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-dlsim-dmrs-ptrs.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-dlsim-dmrs-ptrs.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_dlsim.dmrs+ptrs" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrdlsimdmrsptrs }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-dlsim-dmrs+ptrs
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-dlsim-dmrs-ptrs"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-dlsim-mcs-mimo
description: A Helm subchart for nr-dlsim network function ("mcs+mimo" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-dlsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-dlsim-mcs-mimo.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-dlsim-mcs-mimo.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-dlsim-mcs-mimo.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-dlsim-mcs-mimo.labels" -}}
helm.sh/chart: {{ include "oai-nr-dlsim-mcs-mimo.chart" . }}
{{ include "oai-nr-dlsim-mcs-mimo.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-dlsim-mcs-mimo.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-dlsim-mcs-mimo.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-dlsim-mcs-mimo.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-dlsim-mcs-mimo.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_dlsim.mcs+mimo" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrdlsimmcsmimo }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-dlsim-mcs-mimo
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-dlsim-mcs-mimo"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-dlsim-offset
description: A Helm subchart for nr-dlsim network function ("offset" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-dlsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-dlsim-offset.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-dlsim-offset.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-dlsim-offset.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-dlsim-offset.labels" -}}
helm.sh/chart: {{ include "oai-nr-dlsim-offset.chart" . }}
{{ include "oai-nr-dlsim-offset.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-dlsim-offset.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-dlsim-offset.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-dlsim-offset.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-dlsim-offset.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_dlsim.offset" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrdlsimoffset }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-dlsim-offset
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-dlsim-offset"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-pbchsim-106rb
description: A Helm subchart for nr-pbchsim network function ("106rb" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-pbchsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-pbchsim-106rb.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-pbchsim-106rb.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-pbchsim-106rb.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-pbchsim-106rb.labels" -}}
helm.sh/chart: {{ include "oai-nr-pbchsim-106rb.chart" . }}
{{ include "oai-nr-pbchsim-106rb.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-pbchsim-106rb.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-pbchsim-106rb.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-pbchsim-106rb.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-pbchsim-106rb.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_pbchsim.106rb" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrpbschsim106rb }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-pbchsim-106rb
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-pbchsim-106rb"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-pbchsim-217rb
description: A Helm subchart for nr-pbchsim network function ("217rb" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-pbchsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-pbchsim-217rb.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-pbchsim-217rb.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-pbchsim-217rb.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-pbchsim-217rb.labels" -}}
helm.sh/chart: {{ include "oai-nr-pbchsim-217rb.chart" . }}
{{ include "oai-nr-pbchsim-217rb.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-pbchsim-217rb.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-pbchsim-217rb.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-pbchsim-217rb.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-pbchsim-217rb.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_pbchsim.217rb" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrpbchsim217rb }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-pbchsim-217rb
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-pbchsim-217rb"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-pbchsim-273rb
description: A Helm subchart for nr-pbchsim network function ("273rb" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-pbchsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-pbchsim-273rb.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-pbchsim-273rb.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-pbchsim-273rb.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-pbchsim-273rb.labels" -}}
helm.sh/chart: {{ include "oai-nr-pbchsim-273rb.chart" . }}
{{ include "oai-nr-pbchsim-273rb.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-pbchsim-273rb.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-pbchsim-273rb.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-pbchsim-273rb.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-pbchsim-273rb.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_pbchsim.273rb" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrpbchsim273rb }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-pbchsim-273rb
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-pbchsim-273rb"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-pbchsim-scs
description: A Helm subchart for nr-pbchsim network function ("Other SCS" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-pbchsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-pbchsim-scs.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-pbchsim-scs.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-pbchsim-scs.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-pbchsim-scs.labels" -}}
helm.sh/chart: {{ include "oai-nr-pbchsim-scs.chart" . }}
{{ include "oai-nr-pbchsim-scs.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-pbchsim-scs.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-pbchsim-scs.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-pbchsim-scs.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-pbchsim-scs.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_pbchsim.otherSCS" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrpbchsim273rb }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-pbchsim-scs
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-pbchsim-scs"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-prachsim
description: A Helm subchart for nr-prachsim network function
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-prachsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-prachsim.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-prachsim.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-prachsim.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-prachsim.labels" -}}
helm.sh/chart: {{ include "oai-nr-prachsim.chart" . }}
{{ include "oai-nr-prachsim.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-prachsim.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-prachsim.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-prachsim.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-prachsim.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_prachsim" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrprachsim }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-prachsim.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-prachsim-sa"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-psbchsim
description: A Helm subchart for nr-psbchsim network function
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-psbchsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-psbchsim.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-psbchsim.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-psbchsim.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-psbchsim.labels" -}}
helm.sh/chart: {{ include "oai-nr-psbchsim.chart" . }}
{{ include "oai-nr-psbchsim.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-psbchsim.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-psbchsim.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-psbchsim.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-psbchsim.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_psbchsim" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrpsbchsim }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-psbchsim
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-psbchsim"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-pucchsim
description: A Helm subchart for nr-pucchsim network function
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-pucchsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-pucchsim.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-pucchsim.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-pucchsim.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-pucchsim.labels" -}}
helm.sh/chart: {{ include "oai-nr-pucchsim.chart" . }}
{{ include "oai-nr-pucchsim.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-pucchsim.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-pucchsim.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-pucchsim.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-pucchsim.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_pucchsim" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrpucchsim }}
{{- end }}

View File

@@ -1,52 +0,0 @@
# Default values for oai-nr-pucchsim.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-pucchsim-sa"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
service:
type: ClusterIP
port: 80
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-ulschsim
description: A Helm subchart for nr-ulschsim network function
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-ulschsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-ulschsim.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-ulschsim.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-ulschsim.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-ulschsim.labels" -}}
helm.sh/chart: {{ include "oai-nr-ulschsim.chart" . }}
{{ include "oai-nr-ulschsim.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-ulschsim.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-ulschsim.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-ulschsim.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-ulschsim.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_ulschsim" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrulschsim }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-ulschsim.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-ulschsim-sa"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-ulsim-3gpp
description: A Helm subchart for nr-ulsim network function ("3gpp" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-ulsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-ulsim-3gpp.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-ulsim-3gpp.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-ulsim-3gpp.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-ulsim-3gpp.labels" -}}
helm.sh/chart: {{ include "oai-nr-ulsim-3gpp.chart" . }}
{{ include "oai-nr-ulsim-3gpp.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-ulsim-3gpp.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-ulsim-3gpp.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-ulsim-3gpp.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-ulsim.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_ulsim.3gpp" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrulsim3gpp }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-ulsim-3gpp
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-ulsim-3gpp"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-ulsim-mimo
description: A Helm subchart for nr-ulsim network function ("mimo" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-ulsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-ulsim-mimo.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-ulsim-mimo.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-ulsim-mimo.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-ulsim-mimo.labels" -}}
helm.sh/chart: {{ include "oai-nr-ulsim-mimo.chart" . }}
{{ include "oai-nr-ulsim-mimo.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-ulsim-mimo.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-ulsim-mimo.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-ulsim-mimo.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-ulsim.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_ulsim.mimo" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrulsimmimo }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-ulsim-mimo
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-ulsim-mimo"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-ulsim-misc
description: A Helm subchart for nr-ulsim network function ("misc" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-ulsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-ulsim-misc.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-ulsim-misc.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-ulsim-misc.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-ulsim-misc.labels" -}}
helm.sh/chart: {{ include "oai-nr-ulsim-misc.chart" . }}
{{ include "oai-nr-ulsim-misc.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-ulsim-misc.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-ulsim-misc.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-ulsim-misc.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-ulsim.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_ulsim.misc" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrulsimmisc }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-ulsim-misc
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-ulsim-misc"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-nr-ulsim-sc-fdma
description: A Helm subchart for nr-ulsim network function ("sc-fdma" tests)
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- nr-ulsim
- RAN
- 5G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-nr-ulsim-sc-fdma.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-nr-ulsim-sc-fdma.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-nr-ulsim-sc-fdma.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-nr-ulsim-sc-fdma.labels" -}}
helm.sh/chart: {{ include "oai-nr-ulsim-sc-fdma.chart" . }}
{{ include "oai-nr-ulsim-sc-fdma.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-nr-ulsim-sc-fdma.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-nr-ulsim-sc-fdma.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-nr-ulsim-sc-fdma.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-nr-ulsim.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,49 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
ports:
- containerPort: 80
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "nr_ulsim.sc-fdma" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.nrulsimscfdma }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-nr-ulsim-sc-fdma
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-nr-ulsim-sc-fdma"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "polartest" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.polartest }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-polartest.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-polartest-sa"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

View File

@@ -1,36 +0,0 @@
apiVersion: v1
name: oai-smallblocktest
description: A Helm subchart for smallblocktest network function
# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application
icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
version: 0.1.1
# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application.
appVersion: v1
keywords:
- Physical Simulator
- smallblocktest
- RAN
- 4G
sources:
- https://gitlab.eurecom.fr/oai/openairinterface5g
maintainers:
- name: OPENAIRINTERFACE
email: contact@openairinterface.org

View File

@@ -1,63 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "oai-smallblocktest.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "oai-smallblocktest.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "oai-smallblocktest.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "oai-smallblocktest.labels" -}}
helm.sh/chart: {{ include "oai-smallblocktest.chart" . }}
{{ include "oai-smallblocktest.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{/*
Selector labels
*/}}
{{- define "oai-smallblocktest.selectorLabels" -}}
app.kubernetes.io/name: {{ include "oai-smallblocktest.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "oai-smallblocktest.serviceAccountName" -}}
{{- if .Values.serviceAccount.create -}}
{{ default (include "oai-smallblocktest.fullname" .) .Values.serviceAccount.name }}
{{- else -}}
{{ default "default" .Values.serviceAccount.name }}
{{- end -}}
{{- end -}}

View File

@@ -1,47 +0,0 @@
apiVersion: batch/v1
kind: Job
metadata:
name: {{ .Chart.Name }}
spec:
template:
metadata:
labels:
app: physim
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: physim
image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- if .Values.global.resources.define}}
resources:
requests:
cpu: {{ .Values.global.resources.requests.cpu | quote }}
{{- end}}
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
env:
- name: OPENAIR_DIR
value: /opt/oai-physim
command: ["/bin/sh", "-c"]
args:
- >
cmake_targets/autotests/run_exec_autotests.bash -g "smallblocktest" -d bin/ &&
echo "FINISHED" && sleep infinity
dnsPolicy: ClusterFirst
restartPolicy: Never
schedulerName: default-scheduler
serviceAccountName: {{ .Values.global.serviceAccountName }}
terminationGracePeriodSeconds: 30
{{- if .Values.global.nodeSelector}}
nodeSelector:
{{- toYaml .Values.global.nodeSelector | nindent 12 }}
{{- end }}
{{- if .Values.global.nodeName}}
nodeName: {{ .Values.global.nodeName.smallblocktest }}
{{- end }}

View File

@@ -1,48 +0,0 @@
# Default values for oai-smallblocktest.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount: 1
image:
# pullPolicy: IfNotPresent or Never or Always
pullPolicy: Always
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
# Specifies whether a service account should be created
create: true
# Annotations to add to the service account
annotations: {}
# The name of the service account to use.
# If not set and create is true, a name is generated using the fullname template
name: "oai-smallblocktest-sa"
podSecurityContext:
runAsUser: 0
runAsGroup: 0
securityContext:
privileged: false
resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
# resources, such as Minikube. If you do want to specify resources, uncomment the following
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
nodeSelector: {}
tolerations: []
affinity: {}

Some files were not shown because too many files have changed in this diff Show More