Compare commits

...

2176 Commits

Author SHA1 Message Date
El Mghazli Yacine
51ce2fb17f setParam$ 2022-04-27 19:13:21 +02:00
El Mghazli Yacine
4ca7dafb64 setParam$ 2022-04-26 19:28:05 +02:00
El Mghazli Yacine
a3b05f0bd6 confirm button ok 2022-04-26 19:03:21 +02:00
El Mghazli Yacine
61dab4c7fd height 80% display 2022-04-26 18:56:07 +02:00
El Mghazli Yacine
afb85855a9 table OK 2022-04-26 18:55:43 +02:00
El Mghazli Yacine
eb68baaaa6 Merge branch 'websrv' of gitlab.eurecom.fr:oai/openairinterface5g into websrv 2022-04-26 16:28:34 +02:00
El Mghazli Yacine
b4e0280228 display fix 2022-04-26 16:27:35 +02:00
frtabu
16fc6028f9 fix empty array format 2022-04-26 15:27:10 +02:00
frtabu
2051e652fb fix new IRespCmd json format in backend 2022-04-26 13:06:03 +02:00
El Mghazli Yacine
6dc9440bd1 confirm dialog 2022-04-26 11:04:23 +02:00
frtabu
51f2a75bac table response implementation fix (backend) 2022-04-25 20:05:46 +02:00
El Mghazli Yacine
1fadb0c11e dynamic table WIP 2022-04-25 18:28:17 +02:00
El Mghazli Yacine
9d2b747586 Merge branch 'websrv-table' into websrv 2022-04-25 17:32:59 +02:00
frtabu
12099a910e Table Response implementation in backend 2022-04-23 01:13:36 +02:00
frtabu
9cca19e2b4 Merge branch 'websrv' of https://gitlab.eurecom.fr/oai/openairinterface5g into websrv 2022-04-22 20:01:04 +02:00
frtabu
698e7fee1f display array fix 2022-04-22 20:00:13 +02:00
El Mghazli Yacine
857094e95c Merge branch 'websrv' of gitlab.eurecom.fr:oai/openairinterface5g into websrv 2022-04-22 19:59:33 +02:00
El Mghazli Yacine
39a8aa3455 confirm dialog before sending cmd 2022-04-22 19:59:30 +02:00
frtabu
291533dd71 more commands implementation in backend 2022-04-22 19:11:17 +02:00
El Mghazli Yacine
e18753db6e "prod": "ng serve --configuration=production" 2022-04-22 17:52:29 +02:00
El Mghazli Yacine
4cfa385ae0 table display 2022-04-22 17:36:10 +02:00
El Mghazli Yacine
2761d013d7 cleanup rowCtrl 2022-04-22 17:32:27 +02:00
El Mghazli Yacine
b112ed2c6b dynamic tables 2022-04-22 17:30:41 +02:00
El Mghazli Yacine
abb59447b3 Merge branch 'websrv' of gitlab.eurecom.fr:oai/openairinterface5g into websrv 2022-04-22 15:57:37 +02:00
El Mghazli Yacine
e3d38b5cbe tables and new API with IColumn and IRow 2022-04-22 15:57:28 +02:00
frtabu
3b282d7fb9 fix json format in log response 2022-04-22 09:40:01 +02:00
frtabu
80bf03581d test table reslt with log command 2022-04-21 00:02:50 +02:00
frtabu
86f36e8098 implementation of log command 2022-04-19 19:26:16 +02:00
El Mghazli Yacine
273ce8cb49 Merge branch 'websrv' of gitlab.eurecom.fr:oai/openairinterface5g into websrv 2022-04-15 18:52:57 +02:00
El Mghazli Yacine
93126750ea details 2022-04-15 18:47:37 +02:00
frtabu
7a7b2ff48a Adapt command response structure 2022-04-15 18:04:09 +02:00
El Mghazli Yacine
dac3bc1af5 ilogs 2022-04-15 17:13:47 +02:00
frtabu
32e49924b0 implement mechanism for simple string response 2022-04-15 00:47:51 +02:00
El Mghazli Yacine
b203d4aebc openDialog 2022-04-14 19:48:16 +02:00
frtabu
dfa7579857 command processing implementation 2022-04-14 18:18:34 +02:00
frtabu
f2af6c26fa better variable type processing 2022-04-11 19:02:04 +02:00
frtabu
c4cf67f04b modify telnet server structure to support command execution from the webserver 2022-04-08 19:27:31 +02:00
frtabu
9dbcab30c8 json boolean fix 2022-04-07 14:51:35 +02:00
frtabu
24e878148e fix backend commands response body 2022-04-07 11:49:57 +02:00
frtabu
8d74ea3809 backend implementation of variable modifications 2022-04-06 19:24:12 +02:00
frtabu
a3ac83a1bf Add OPTIONS http method support, used before POST by frontend. 2022-04-06 01:04:36 +02:00
frtabu
5ef05129e1 change endpoint registration mechanism 2022-04-05 19:47:30 +02:00
El Mghazli Yacine
8de026f86e Merge branch 'websrv' of gitlab.eurecom.fr:oai/openairinterface5g into websrv 2022-04-05 19:26:15 +02:00
El Mghazli Yacine
3127898899 fixed cmds display 2022-04-05 19:25:55 +02:00
frtabu
3c6b21e9c0 More debug messages in backend 2022-04-05 19:22:38 +02:00
El Mghazli Yacine
2afae81592 fixed API variables calls 2022-04-05 18:39:46 +02:00
El Mghazli Yacine
fa03569f1f APIv2.2 2022-04-05 18:16:03 +02:00
El Mghazli Yacine
108d9a965e Merge branch 'websrv' of gitlab.eurecom.fr:oai/openairinterface5g into websrv 2022-04-05 11:52:39 +02:00
El Mghazli Yacine
6686076f06 yacine s'adapte grace a sa flaxibilité legendaire 2022-04-05 11:43:20 +02:00
Raymond Knopp
afdbca2a48 Adapt to new frontend interface 2022-04-05 11:31:34 +02:00
El Mghazli Yacine
a3b64c4a7e APIv2.2 2022-04-04 17:49:01 +02:00
El Mghazli Yacine
564bcde637 Merge branch 'websrv' of gitlab.eurecom.fr:oai/openairinterface5g into websrv 2022-04-04 16:51:31 +02:00
El Mghazli Yacine
2027d77b18 APIv2.1 2022-04-04 16:51:28 +02:00
frtabu
28f1035e27 config module fixes and websrv modif 2022-04-01 18:50:46 +02:00
El Mghazli Yacine
6e3f09a35d webserv APIv2 (frontend part) 2022-04-01 18:03:34 +02:00
El Mghazli Yacine
9ca2d78f2e working with first API version 2022-04-01 17:41:30 +02:00
frtabu
14321bfe6f fix config file generation to sip command line only options 2022-04-01 01:22:43 +02:00
frtabu
1fee616d62 config module enhancement,step 2 2022-04-01 00:47:19 +02:00
frtabu
1eb79272a1 config module enhancement, next step 2022-03-30 18:53:32 +02:00
frtabu
79b8586432 config module enhancement (dump of running config): start implem. 2022-03-29 20:06:41 +02:00
Raymond Knopp
9301d8a7f0 add websrv as optional lib and frontend as independant target in oai build 2022-03-22 19:10:42 +01:00
frtabu
8ad4c7b75c websrv backend implementation next step 2022-03-21 20:05:22 +01:00
frtabu
36e1715f18 json format sync with frontend 2022-03-18 19:46:10 +01:00
El Mghazli Yacine
310245ef78 backend env 2022-03-17 18:05:14 +01:00
El Mghazli Yacine
64e33694ef Merge branch 'websrv' of gitlab.eurecom.fr:oai/openairinterface5g into websrv 2022-03-17 17:57:56 +01:00
El Mghazli Yacine
8c355a08a7 api first test 2022-03-17 17:57:44 +01:00
frtabu
b575a95144 Merge branch 'websrv' of https://gitlab.eurecom.fr/oai/openairinterface5g into websrv 2022-03-17 16:55:07 +01:00
frtabu
c239d99f1c Tested init with front end 2022-03-17 16:53:02 +01:00
El Mghazli Yacine
fc3319c9dc display ok 2022-03-17 16:09:05 +01:00
El Mghazli Yacine
f1e87cab8f Merge branch 'websrv' of gitlab.eurecom.fr:oai/openairinterface5g into websrv 2022-03-17 11:33:30 +01:00
frtabu
e5a96b5d01 Add https support and front-end url support 2022-03-17 11:24:15 +01:00
El Mghazli Yacine
77b4022bbf rudiments ok 2022-03-17 11:21:26 +01:00
frtabu
d007295a34 Add https support and front-end url support 2022-03-16 21:03:48 +01:00
El Mghazli Yacine
6bcd3006b0 ng build OK 2022-03-16 19:55:31 +01:00
El Mghazli Yacine
7acc5e967b Merge remote-tracking branch 'origin/websrv' into websrv-front 2022-03-15 18:07:40 +01:00
El Mghazli Yacine
426b99211d updated tslib 2022-03-15 18:03:11 +01:00
frtabu
c7b2c19f0c go on websrv implem 2022-03-15 11:13:21 +01:00
frtabu
317559806a Initial implem web interface for telnet server 2022-03-14 19:53:33 +01:00
El Mghazli Yacine
51362d9c6c initial commit 2022-03-14 18:18:52 +01:00
El Mghazli Yacine
8ead6ae767 cleanup 2022-03-14 15:36:09 +01:00
El Mghazli Yacine
6e915cd64e updated angular successfully 2022-03-14 15:34:11 +01:00
El Mghazli Yacine
190f90e35d ng update 2022-03-14 15:24:03 +01:00
El Mghazli Yacine
7f19b9453e ng update 2022-03-14 14:09:35 +01:00
El Mghazli Yacine
5861a7019b ngx initial commit before upgrade 2022-03-14 14:07:22 +01:00
Robert Schmidt
a981291ba8 Merge branch 'integration_2022_wk09_b' into 'develop'
Integration 2022 wk09 b

See merge request oai/openairinterface5g!1483
2022-03-06 18:14:42 +00:00
Robert Schmidt
07e6ea7edd Merge remote-tracking branch 'origin/fix-nrofHARQ' into integration_2022_wk09_b 2022-03-05 13:35:06 +01:00
Robert Schmidt
cadbf67f67 Merge remote-tracking branch 'origin/tx-thread-stats-fix' into integration_2022_wk09_b 2022-03-05 13:34:15 +01:00
Robert Schmidt
0220f4a6e9 Merge remote-tracking branch 'origin/NR_RRC_256QAM_DL' into integration_2022_wk09_b 2022-03-05 13:33:18 +01:00
Robert Schmidt
9ea4b3cdb0 Merge remote-tracking branch 'origin/ci_fix_log_rotation' into integration_2022_wk09_b 2022-03-04 17:55:15 +01:00
hardy
ce9229a1d2 change log rotation concept for module UE 2022-03-04 14:58:57 +01:00
Robert Schmidt
a45bbd4022 Merge branch 'integration_2022_wk09' into 'develop'
Integration 2022 wk09

See merge request oai/openairinterface5g!1477
2022-03-04 12:57:53 +00:00
Robert Schmidt
bc2246a566 Remove usage of MSC library after last merge 2022-03-04 09:21:02 +01:00
Robert Schmidt
807e5dd71c Merge remote-tracking branch 'origin/NR_SA_pdu_session_modify_release' into integration_2022_wk09 2022-03-03 18:05:27 +01:00
Robert Schmidt
29fa474673 Correctly reconfigure nrofHARQ processes 2022-03-03 16:38:16 +01:00
hardy
3a55cff770 bugfix indexing for rt stats detection 2022-03-02 15:14:23 +01:00
Robert Schmidt
48f26086d3 Merge remote-tracking branch 'origin/x2-release-req-no-sctp' into integration_2022_wk09 2022-03-01 18:52:52 +01:00
Robert Schmidt
7857522d95 Merge remote-tracking branch 'origin/ci_improve_reporting_xnb' into integration_2022_wk09 2022-03-01 18:52:42 +01:00
Robert Schmidt
d6dc279439 Merge remote-tracking branch 'origin/NR_UE_CSIRS_scheduling' into integration_2022_wk09 2022-03-01 18:52:33 +01:00
Robert Schmidt
6146f44b80 CI: log to see why RT stats checking fails 2022-03-01 18:50:53 +01:00
Robert Schmidt
98a684d157 Tpool: no measurements (no trials) if not measured 2022-03-01 08:57:32 +01:00
Robert Schmidt
261c80d659 Tpool: don't override positive performanceFlag 2022-03-01 08:49:38 +01:00
Robert Schmidt
17a956067a Fix HTML 2022-03-01 08:33:28 +01:00
Robert Schmidt
37e09d1ca8 Merge remote-tracking branch 'origin/NR_SA_10MHz' into integration_2022_wk09 2022-02-28 23:43:10 +01:00
Robert Schmidt
bf70a3bfb4 Merge branch 'integration_2022_wk08_b' into 'develop'
integration_2022_wk08_b

See merge request oai/openairinterface5g!1469
2022-02-28 20:39:22 +00:00
Robert Schmidt
f2ffe3f9b0 Fix CI code 2022-02-28 16:58:11 +01:00
hardy
1fc6d12aef Add retx checkers to make CI test fail on retx thresholds 2022-02-28 16:44:08 +01:00
hardy
8d871c3c3b add Detected UL Failure marker 2022-02-28 16:42:19 +01:00
Robert Schmidt
63dea20c64 Address review comments 2022-02-28 14:35:18 +01:00
Robert Schmidt
d90f9d8d6f CI: show correct Tx Processing in HTML, add processing count number 2022-02-28 14:13:01 +01:00
Robert Schmidt
2adf56b08a Lower logging in handle_nr_ulsch() 2022-02-26 16:10:03 +01:00
Robert Schmidt
6d165912f5 Merge remote-tracking branch 'origin/episys-ul-info-cleanup' into integration_2022_wk08_b 2022-02-26 16:10:03 +01:00
Robert Schmidt
2736d0fe16 Merge remote-tracking branch 'origin/repair-f1-5g' into integration_2022_wk08_b 2022-02-25 23:54:04 +01:00
Robert Schmidt
48df6e0ebb Merge remote-tracking branch 'origin/ci_run_sanitize_and_debug' into integration_2022_wk08_b 2022-02-25 23:53:40 +01:00
Robert Schmidt
17675e5989 Merge remote-tracking branch 'origin/fix-Nid_cell-different_from_0' into integration_2022_wk08_b 2022-02-25 23:37:38 +01:00
Robert Schmidt
af0048c86c Merge remote-tracking branch 'origin/bugfix-nr-rlc-2022-w08' into integration_2022_wk08_b 2022-02-25 23:37:29 +01:00
Robert Schmidt
823aaa70dd Fix warning in lte UE scope and ocp-enb 2022-02-25 18:06:04 +01:00
Robert Schmidt
26d0d65747 get execution time_stats_t from Tpool job 2022-02-25 17:55:27 +01:00
Robert Schmidt
211b6feadf Use (portable) rdtsc_oai() in tpool 2022-02-25 17:55:27 +01:00
Robert Schmidt
c6ac88ffa6 Remove deprecated ocp-gnb 2022-02-25 17:55:27 +01:00
Robert Schmidt
cf815ffbce Fix compilation error in ocp-enb 2022-02-25 17:55:27 +01:00
Robert Schmidt
7d70d45d13 Remove dead code 2022-02-25 17:27:02 +01:00
Robert Schmidt
8419166fc4 Move time_meas.{c,h} to common/utils/ 2022-02-25 17:27:02 +01:00
Robert Schmidt
9ead3d7ad2 Clean up CMakeLists.txt (no functional changes) 2022-02-25 17:27:02 +01:00
Robert Schmidt
76d609f7fa Delete unused code 2022-02-25 17:27:02 +01:00
Robert Schmidt
d20ff45fc6 Remove logging module dependency from Tpool 2022-02-25 17:22:02 +01:00
Robert Schmidt
b742717fb8 Remove timing functions from logging module 2022-02-25 17:22:01 +01:00
Robert Schmidt
a0ac75a45b Delete unused files 2022-02-25 17:21:17 +01:00
Robert Schmidt
8a43a0306f fix nr_ulsim 2022-02-25 17:21:17 +01:00
Robert Schmidt
b9b2eb007a Fix for nr_dlsim 2022-02-25 17:21:17 +01:00
Sakthivel Velumani
57c480a8a3 Merged the two thread stats into a global one 2022-02-25 17:21:17 +01:00
Sakthivel Velumani
866311ac15 enabled second tx thread stats 2022-02-25 17:21:17 +01:00
Thomas Schlichter
05d61a0828 fix scrambling initialization in nr_dlsim and nr_ulsim 2022-02-25 12:57:17 +01:00
Thomas Schlichter
8cfb8b6a3b Fix correlation calculation in nr_dlsch_channel_compensation() 2022-02-25 12:40:50 +01:00
Robert Schmidt
8b526c3cb7 Address review comment 2022-02-24 20:52:43 +01:00
francescomani
50d4d3e8aa addressing review comments 2022-02-24 17:05:59 +01:00
Panos Matzakos
1858418fb8 Update TESTING_5GSA_setup.md for CU/DU instructions 2022-02-24 14:57:11 +00:00
Robert Schmidt
f19ea82f8e Drop an sgNB release request if no SCTP endpoint available 2022-02-24 12:54:04 +01:00
Robert Schmidt
61e608adb5 Support reconfiguration of number of HARQ processes
In F1, the time until the serving cell config comes from CU can be
longer than when we want to schedule a particular UE. Then, if we don't
configure the default number of HARQ processes, we can have a segfault.

In this commit, we initially configure 8 HARQ processes. When we get the
right number from RRC, we reconfigure.
2022-02-23 21:54:03 +01:00
Robert Schmidt
048b539050 Correctly initialize PDCP in F1 mode 2022-02-23 21:21:54 +01:00
Laurent THOMAS
22d2e9a38f fix warnings and race cond in polar codec 2022-02-23 18:02:55 +01:00
Melissa Elkadi
4398630da7 Merge branch 'eurecom-develop' into episys-ul-info-cleanup 2022-02-23 08:55:10 -08:00
Laurent THOMAS
11441023db fix polar race condition 2022-02-23 17:19:02 +01:00
Robert Schmidt
ae803b5370 Prevent heap buffer overflow in nr_dlsch_channel_compensation()
The TX correlation calculation incremented the pointer over the outer
TX antenna inside the inner TX antenna loop.  Incrementing the pointer
in the outer loop instead prevents overflowing.
2022-02-23 16:58:25 +01:00
francescomani
5c56bb21ce Merge remote-tracking branch 'origin/develop' into NR_SA_10MHz 2022-02-23 15:08:52 +01:00
francescomani
ddfb131f68 Merge remote-tracking branch 'origin/develop' into NR_UE_CSIRS_scheduling 2022-02-23 14:55:33 +01:00
Robert Schmidt
34edc9c04c Increase CI physim time limit 2022-02-23 12:33:23 +01:00
francescomani
c61a0dd223 Merge remote-tracking branch 'origin/develop' into NR_RRC_256QAM_DL 2022-02-23 10:11:04 +01:00
Robert Schmidt
6fbfa3b066 Merge branch 'integration_2022_wk08' into 'develop'
Integration 2022 wk08

See merge request oai/openairinterface5g!1459
2022-02-23 07:19:58 +00:00
Robert Schmidt
70ba0cda0e Free rx_ind if dl_indication not called 2022-02-22 19:42:50 +01:00
Robert Schmidt
7b73a9e14e Build phy sims with optimizations
As of this commit, the CI would take too much time to process dl_sim.
This commit activate optimizations to be within the CI time limits.
2022-02-22 19:33:49 +01:00
Laurent THOMAS
efcac39c76 simplify polar codec interface 2022-02-22 18:30:44 +01:00
Melissa Elkadi
abbcbe6aa5 Adding fixes for MR from review
These include:
- Simplifying VNF code.
- Adding comments to several areas of the code.
- Using free_and_zero macros
- Fixing spelling errors
2022-02-22 09:16:59 -08:00
Robert Schmidt
04e2d4f6f8 Fix polar encoder memory leaks 2022-02-21 22:38:22 +01:00
Robert Schmidt
ec00d84299 Prevent memory leak of rx_ind message 2022-02-21 22:35:22 +01:00
Robert Schmidt
9656d646db reallocarray -> realloc since CI env has no reallocarray 2022-02-21 20:08:42 +01:00
Robert Schmidt
27aa036f0e Merge remote-tracking branch 'origin/iqreplay_bugfix' into integration_2022_wk08 2022-02-21 20:07:21 +01:00
Robert Schmidt
a5fd5c3e6b Merge remote-tracking branch 'origin/multiple-ues-min-prbs-bug-fix' into integration_2022_wk08 2022-02-21 20:06:55 +01:00
Robert Schmidt
d5280c679f Merge remote-tracking branch 'origin/ci-improve-rfsim-test' into integration_2022_wk08 2022-02-21 20:05:03 +01:00
Robert Schmidt
719f82870d Don't redirect stack trace to file 2022-02-21 19:47:14 +01:00
Robert Schmidt
b112282e2b Suppress warning, print stacktrace to stdout 2022-02-21 19:42:45 +01:00
Raphael Defosseux
8981b53f83 fix(ci): changes after code review.
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-21 16:39:38 +01:00
Raphael Defosseux
4c76eb6c00 fix(ci): display state of container even when successful
recover the full MAGMA-MME log

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-21 16:36:34 +01:00
Raphael Defosseux
519dea7780 fix(ci): correct services in scenario files
fix(doc): updated the Tutorial with only MAGMA-MME references and logs

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-21 16:36:34 +01:00
Raphael Defosseux
2728ce02c8 feat(ci): switching from OAI-MME to MAGMA-MME for RF sim testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-21 16:36:34 +01:00
Raphael Defosseux
0b7be7466e fix(ci): display state of container when failure, better tshark filtering, auto-undeploy if deploy went wrong
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-21 16:36:34 +01:00
Melissa Elkadi
7fb509511d Merge branch 'eurecom-develop' into episys-ul-info-cleanup 2022-02-21 06:19:54 -08:00
Laurent THOMAS
9aba6d722b fix bugs in polar encode, when len+crc_len>64 2022-02-21 13:37:32 +01:00
Thomas Schlichter
e8278de15c fix for 5G NR UL transform precoding
get_index_for_dmrs_lowpapr_seq() was accessing the array dmrs_ul_allocated_res[] out of bounds.
2022-02-21 13:37:32 +01:00
Robert Schmidt
0ad3faaf2a Disable ASAN on ulsim 2022-02-21 13:37:32 +01:00
Robert Schmidt
32824030f4 Fix cmake command target CMakeLists.txt 2022-02-21 13:37:32 +01:00
Robert Schmidt
f51590b546 Don't leak check in {nr_,}{d,u}lsim, fix buffer overflows in dlsim 2022-02-21 13:37:32 +01:00
Robert Schmidt
990385eea0 Move CMake macro definitions to separate file 2022-02-21 13:37:32 +01:00
Robert Schmidt
52fdca3141 Do not create CMakeLists.txt; new build_oai option -d 2022-02-21 13:37:30 +01:00
Robert Schmidt
cdea2899bc Remove memory leaks from ldpctest
except for:
- config module
2022-02-21 13:36:41 +01:00
Robert Schmidt
fe61216a66 Correctly free memory in nr_pbchsim
Except for:
- polar code
2022-02-21 13:36:41 +01:00
Robert Schmidt
3f4fa05c74 nr_pucchsim: correctly free SR PDU 2022-02-21 13:36:41 +01:00
Robert Schmidt
d601209036 Fix nr_ulschsim: correct size for N_RB_UL 2022-02-21 13:36:41 +01:00
Robert Schmidt
2251453cbd Fix nr_dlschsim: correct size for N_RB_DL
Fix warning, drop undefined function
2022-02-21 13:36:41 +01:00
Robert Schmidt
65c6456472 Resolve buffer overflows polartest 2022-02-21 13:36:41 +01:00
Laurent THOMAS
3e2c9af134 with polar structures delete and better cpu performance 2022-02-21 13:36:41 +01:00
Laurent THOMAS
be314a9770 remove usage of undefined var in polar and memory leaks 2022-02-21 13:36:41 +01:00
Robert Schmidt
51625f3c8f Resolve memory issues in nr_prachsim
Except for config module and dlopen()
2022-02-21 13:36:41 +01:00
Robert Schmidt
dcae857463 Fix memory problems in nr_pucchsim
except:
- from dlopen()
- from configuration module
- uninitialized value
2022-02-21 13:36:41 +01:00
Robert Schmidt
81537701b2 Fix: channel chF large enough for 5G 2022-02-21 13:36:39 +01:00
Robert Schmidt
b4dbf46dde Provide term_freq_channel() to free memory in abstraction.c 2022-02-21 13:35:36 +01:00
Robert Schmidt
32c7795aad Fixes for 0bdb1b9f402c5315a591b1fbc4310dbc62fc820d 2022-02-21 13:35:36 +01:00
Robert Schmidt
0827b2f5b8 Fix leaks & unitialized memory in nr_ulschsim 2022-02-21 13:35:35 +01:00
Robert Schmidt
399e6d78f7 new_nr_ue_ulsch(): no abstraction_flag, add term_nr_ue_transport() 2022-02-21 13:35:35 +01:00
Robert Schmidt
20a8704c98 unitialized jump dlschsim 2022-02-21 13:35:35 +01:00
Robert Schmidt
e66e9eef7d UL Ref Sig Seq: initialize only once, free and reset to NULL 2022-02-21 13:35:35 +01:00
Robert Schmidt
7638e65379 Free memory in nr_dlschsim 2022-02-21 13:35:35 +01:00
Robert Schmidt
338019601c new_nr_ue_dlsch(): remove abstraction_flag 2022-02-21 13:35:35 +01:00
Robert Schmidt
20e13db86b Implement logTerm() to close logging subsystem 2022-02-21 13:35:35 +01:00
Robert Schmidt
d2523bfa44 Remove unused SI and RA DLSCH from nr_dlschsim 2022-02-21 13:35:35 +01:00
Robert Schmidt
efd62d14a7 Implement term_nr_ue_signal(), remove abstraction_flag from init_nr_ue_signal()
term_nr_ue_signal() frees all memory, except for dfts lib load
2022-02-21 13:35:34 +01:00
Robert Schmidt
5794c07c94 Correctly implement phy_free_nr_gNB()
Frees all allocated memory, except for library loading related, and ul
reference signal sequences, which are allocated in static variables
2022-02-21 13:34:40 +01:00
Laurent THOMAS
06dd706df7 fix undefined vars in pbchsim.c 2022-02-21 13:34:40 +01:00
Robert Schmidt
331575ebab Fix memory leaks in nr_ulschsim 2022-02-21 13:34:40 +01:00
Robert Schmidt
136cc93aa9 Fix memory leaks in nr_dlschsim 2022-02-21 13:34:40 +01:00
Robert Schmidt
ac0af5a84e Fix shlib loaded: free memory, handle lib reload
- introduce loader_reset() that frees all memory
- resolve memory leak in loader_format_shlibpath()
- correctly handle library reload: check if a function has been
  retrieved already. Don't leak memory (strdup()), and handle multiple
  reloads of different functions from the same SO
2022-02-21 13:34:40 +01:00
Robert Schmidt
923edebd3c Enable Address Sanitizer on physical simulators
- install libasan in physim containers
- run physim containers with SYS_CAP_PTRACE capability
- remove static-libasan: not available in RHEL8:

  The physims are tested in a container environment on top of RHEL8. To
  my knowledge, no package provides the static ASan library there.
  Therefore, remove it here to be able to run these tests.
2022-02-21 13:34:39 +01:00
Laurent Thomas
7ee3bacc34 Merge branch 'integration_2022_wk08' of https://gitlab.eurecom.fr/oai/openairinterface5g into integration_2022_wk08 2022-02-21 10:29:30 +01:00
Laurent Thomas
67b299e341 fix a warning in assertions.h, appear only with some gcc versions 2022-02-21 10:29:06 +01:00
francescomani
7bb7c4d290 Merge remote-tracking branch 'origin/develop' into NR_RRC_256QAM_DL 2022-02-21 09:24:07 +01:00
francescomani
3b7430a745 Merge remote-tracking branch 'origin/develop' into NR_SA_10MHz 2022-02-21 09:12:21 +01:00
Robert Schmidt
86c4882245 Merge remote-tracking branch 'origin/NR_2port_CSIRS' into integration_2022_wk08 2022-02-20 19:48:34 +01:00
Cedric Roux
78f0c8ff29 nr rlc: harmonize computation of sn_count
Functions generate_missing() and missing_size() had different
computations of sn_count. Not sure if it is a problem or not,
but let's do the same in both functions.

Hopefully the computation is correct.
2022-02-20 16:00:54 +01:00
Cedric Roux
7c652df820 nr rlc: bugfix - so_end was used instead of sn_end 2022-02-20 15:56:56 +01:00
Robert Schmidt
72a4ed80da Merge remote-tracking branch 'origin/msc-removal' into integration_2022_wk08 2022-02-19 19:43:11 +01:00
Robert Schmidt
21f862641c Merge remote-tracking branch 'origin/cleanup-20220125' into integration_2022_wk08 2022-02-19 19:34:01 +01:00
Robert Schmidt
454aae1d96 Merge branch 'integration_2022_wk07_c' into 'develop'
integration_2022_wk07_c

See merge request oai/openairinterface5g!1451

This merges the following MRs:
- MR !1436 fairRR LTE scheduler fixes: should make the connection more stable, less UL retransmissions
- MR !1386 phy sync improvements: the 5G NR UE should sync better
- MR !1361 FDD support (no traffic): adds FDD support for the scheduler, but heavy traffic has not been tested
- MR !1447 using uid for PUCCH RRC conf: use the RRC UID to decide on PUCCH resources, should in particular avoid the "PUCCH straddles DC carrier" assert
- fix for 5G F1 RFsim test fail
2022-02-19 16:28:53 +00:00
Francois TABURET
cffb27b086 Update iqrecordplayer_usage.md 2022-02-18 17:46:08 +00:00
alblf
3d577aa0fc doc update 2022-02-18 18:40:56 +01:00
francescomani
c4547c7afd fixing wrong interpretation of support for 256qam table 2022-02-18 18:38:51 +01:00
alblf
a1aae82925 Fix duplicated memory allocation when replaying using mmap,
add use_mmap parameter for the record player device
fix assertion when replaying without using mmap
2022-02-18 18:22:14 +01:00
francescomani
d0228cf18a Merge branch 'NR_2port_CSIRS' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_2port_CSIRS 2022-02-18 13:39:02 +01:00
francescomani
0a59bffbb1 fix phy-test check 2022-02-18 13:38:45 +01:00
Robert Schmidt
6569fd7614 Do not prematurely overwrite scheduler information
Overwriting sched_pusch information at that stage would in particular
lose information on the current frame/slot. Overwriting sched_pusch with
the retInfo structure is already done at the end of
allocate_ul_retransmission(), and is therefore not necessary at this
stage.
2022-02-18 12:52:59 +01:00
Robert Schmidt
9b302d0432 Fix DU default config, increase 5G F1 RFsim throughput requirements 2022-02-18 12:20:06 +01:00
Robert Schmidt
63989e8a69 Fix for F1 RFsim fail
We compute the preferred DL TDAs when receiving the cellGroup from the
RRC. However, in F1 and the RFsim, it seems that the scheduler tries to
access the preferred DL TDAs before they have been set after receiving
the cellGroup. In this commit, add a simple check to verify the
preferred TDA has been set up.
2022-02-18 12:16:08 +01:00
francescomani
9f02206b8a error message if no uecap in fill_default_secondaryCellGroup 2022-02-17 17:43:24 +01:00
Robert Schmidt
e890cee31c Reduce max_num_ue after successful PUCCH alloc 2022-02-17 13:58:27 +01:00
Robert Schmidt
fd40aa2666 Make nr_find_nb_rb() take minimum RBsize
Fixes a bug when scheduling multiple UEs
2022-02-17 13:58:24 +01:00
Robert Schmidt
ff0fb53056 Merge remote-tracking branch 'origin/nr-fdd-scheduling' into integration_2022_wk07_c 2022-02-17 09:32:44 +01:00
Robert Schmidt
b97d26cb86 Merge remote-tracking branch 'origin/NR_SA_UID' into integration_2022_wk07_c 2022-02-17 09:02:16 +01:00
hardy
d8dccbad59 update of sa tests requirements aligned with 256qam 2022-02-16 17:14:01 +01:00
hardy
298008677c fix rfsim test + update html reporting 2022-02-16 12:27:03 +01:00
Robert Schmidt
9a7154f3d4 Merge remote-tracking branch 'origin/fairRR-sched-debug' into integration_2022_wk07_c 2022-02-16 10:34:36 +01:00
Robert Schmidt
cfa3b0caf0 Merge remote-tracking branch 'origin/ue-phy-sync-improvements' into integration_2022_wk07_c 2022-02-16 10:08:59 +01:00
hardy
87a840c5b5 fix bash script syntax error, preventing test from running 2022-02-16 09:48:29 +01:00
francescomani
b7408c842a modifying the 24PRB CI test case 2022-02-16 08:27:54 +01:00
hardy
a9844b773c add rfsim sa test 24PRB 2022-02-16 08:16:43 +01:00
rmagueta
9691946845 Fix Nid_cell in PUSCH dmrs and scrambling 2022-02-16 00:52:57 +00:00
Melissa Elkadi
679816c3c1 Added comment around asn1cCalloc memory leak 2022-02-15 15:05:04 -08:00
Robert Schmidt
af6836d9f1 Merge branch 'integration_2022_wk07_b' into 'develop'
integration_2022_wk07_b

See merge request oai/openairinterface5g!1448
2022-02-15 21:18:48 +00:00
rmagueta
ff8c47d3aa Fix scramblingID and gold sequence for PDCCH and PDSCH 2022-02-15 17:04:50 +00:00
Melissa Elkadi
39d9febc0c Hardcoding TI and UL_CQI in stub function.
Also, the allocation of the eNB measurement
report keeps getting commented out becasue
the compiler throws an error. I have un-commented
the allocation of memory (becasue it breaks NSA
mode) and added a memset to ensure we are using
the allocated memory. This gets rid of the
warning and ensures NSA mode still works.
2022-02-15 08:39:55 -08:00
francescomani
50b0abc18d testing highest mcs for 256qam 2022-02-15 15:29:48 +01:00
Robert Schmidt
6af9ac6c9c Fix SA OAIUE N310 test's USRP IP address 2022-02-15 09:30:21 +01:00
hardy
71c33bec45 Merge remote-tracking branch 'origin/ue-rfsim-fix' into integration_2022_wk07_b 2022-02-15 09:26:01 +01:00
hardy
d4ce61c595 Merge remote-tracking branch 'origin/fix-macpdu2wireshark-2022-w06' into integration_2022_wk07_b 2022-02-15 09:25:38 +01:00
hardy
9cd1a06115 relaxing ping test acceptance threshold 2022-02-15 09:25:14 +01:00
hardy
d61c097e98 Merge remote-tracking branch 'origin/ci_fix_bidir_develop' into integration_2022_wk07_b 2022-02-15 09:23:57 +01:00
hardy
3a27fb6259 Merge remote-tracking branch 'origin/ci_162prb_conf_file' into integration_2022_wk07_b 2022-02-15 09:23:42 +01:00
Melissa Elkadi
e461ab51a1 Merge branch 'eurecom-develop' into episys-ul-info-cleanup 2022-02-14 16:16:43 -08:00
Melissa Elkadi
6de93fbb59 Only assigning harq_pid in emulated L1 mode. 2022-02-14 16:15:39 -08:00
francescomani
c645c12db4 using uid also in SA 2022-02-14 20:28:05 +01:00
francescomani
f1260a09e6 some fixes for phy-test mode 2022-02-14 17:40:57 +01:00
hardy
a427a20186 add tcp bidir to nsa 2x2 2022-02-14 16:25:54 +01:00
hardy
ca1afb4aae fix bidir test for ltebox 2022-02-14 16:04:50 +01:00
hardy
1d9bb72a1c Merge remote-tracking branch 'origin/ci_162prb_conf_file' into ci_fix_bidir_develop 2022-02-14 15:05:54 +01:00
luis_pereira87
bfc34f329e Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements
# Conflicts:
#	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
2022-02-14 09:50:58 +00:00
francescomani
4329051120 Merge remote-tracking branch 'origin/develop' into NR_RRC_256QAM_DL 2022-02-14 09:20:22 +01:00
francescomani
de88c3f45c Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2022-02-14 08:57:52 +01:00
Robert Schmidt
141b9d2c0f Merge branch 'integration_2022_wk06_a' into 'develop'
integration_2022_wk06_a

See merge request oai/openairinterface5g!1438
2022-02-12 19:55:52 +00:00
hardy
c159ca13de update thread_pool_size for NSA 2x2 and SA 2x2 2022-02-11 15:10:46 +01:00
hardy
9fa3760c09 update nrmodule2 logrotation threshold 2022-02-11 15:10:46 +01:00
hardy
a296a4ebbe improve BIDIR if client log is present yet empty 2022-02-11 15:10:46 +01:00
Cedric Roux
52d75940be fix macpdu2wireshark
Somehow this file was in a bad state...
2022-02-11 10:36:00 +01:00
luis_pereira87
fc783110da Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements
# Conflicts:
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
2022-02-10 23:19:52 +00:00
Robert Schmidt
7e92d44fc2 Merge remote-tracking branch 'origin/oai-ue-time-meas' into integration_2022_wk06_a 2022-02-10 18:57:28 +01:00
Robert Schmidt
48fc337a26 Merge remote-tracking branch 'origin/fix-t-tracer-nr-ue' into integration_2022_wk06_a 2022-02-10 18:52:06 +01:00
Robert Schmidt
11d80b93a9 Increase LTE 2x2 ping test threshold to 40ms 2022-02-10 15:55:26 +01:00
Raphael Defosseux
92a021a159 fix(docker): SA FDD template file not generated; cosmetics changes on the CI side
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-10 15:45:44 +01:00
hardy
9f30ff6cc8 improve iperf client file retrieval 2022-02-10 10:42:32 +01:00
Robert Schmidt
1252899592 Merge remote-tracking branch 'origin/ci-use-5g-t-tracer' into integration_2022_wk06_a 2022-02-09 18:39:46 +01:00
Robert Schmidt
e979e06527 Merge remote-tracking branch 'origin/nr_dlsim_fix' into integration_2022_wk06_a 2022-02-09 18:38:54 +01:00
hardy
d87d22567a review and fix SA 162PRBconf file 2022-02-09 10:44:01 +01:00
Cedric Roux
1409e3bcb4 nr-ue: fix T tracer
T tracer was not functional anymore. because init_tpools() was called
before T_Config_Init().

The problem was that init_tpools() creates some threads and T_Config_Init()
does call fork() and the child process (which is the one running the
softmodem, the parent process is used to monitor it, this is the design
of the T tracer, maybe to change at some point, it's too complicated) has
no thread after the fork(). The threads created by init_tpools() are gone.
Game over.

In conclusion: T_Config_Init() has to be called very early in the life of
the softmodem, at least before init_tpools().
2022-02-09 10:22:01 +01:00
Melissa Elkadi
b897287d1f Changes made to gNB cause emulated-L1 mode not to work for multiple UEs.
It seems that the RA procedure in the gNB was modified so
the RAR is sent in a single tx_data_req. The emualted mode
was not previously handling this. We now only process the
PDU in the rx_ind that has a matching preamble. If any
other PDUs exist, we ignore them and only build Msg3 based
on this single matching RAR PDU.

Also, two bug fixes applied here in the emulate-l1 mode.
2022-02-08 11:59:04 -08:00
Melissa Elkadi
f518b9d61f Merge branch 'eurecom-develop' into episys-ul-info-cleanup 2022-02-08 09:39:13 -08:00
Robert Schmidt
a36555b254 Merge remote-tracking branch 'origin/develop-SRS' into integration_2022_wk06_a 2022-02-08 18:06:53 +01:00
francescomani
9ff39f0d92 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2022-02-08 16:48:20 +01:00
francescomani
37a517edb7 Merge remote-tracking branch 'origin/develop' into NR_SA_10MHz 2022-02-08 16:18:27 +01:00
francescomani
46ca8cc2d0 Merge remote-tracking branch 'origin/develop' into NR_RRC_256QAM_DL 2022-02-08 16:01:59 +01:00
Robert Schmidt
1ed58f65b7 Merge branch 'integration_2022_wk06' into 'develop'
integration_2022_wk06

See merge request oai/openairinterface5g!1433
2022-02-08 14:11:17 +00:00
Robert Schmidt
8e6e4d8237 Log inactivity timer 2022-02-08 14:45:05 +01:00
Robert Schmidt
5bdaeb5718 Stop scheduling DL on UL failure or out of sync 2022-02-08 14:45:05 +01:00
Robert Schmidt
388cfafea8 Stop scheduling in UL after ul_failure_timer 2022-02-08 14:45:05 +01:00
Robert Schmidt
759314a125 Enrich assert in ULSCH decoding 2022-02-08 14:45:05 +01:00
Robert Schmidt
eca14f6ec9 Schedule UL 5 RBs at MCS 10 on inactivity 2022-02-08 14:45:00 +01:00
Raphael Defosseux
ae7e68baea fix(ci): fix CN5G deployment with latest images
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-08 11:06:25 +01:00
rmagueta
e8657ec854 Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2022-02-08 09:31:32 +00:00
francescomani
90bc226ac0 Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2022-02-08 08:48:04 +01:00
Melissa Elkadi
8b4ae5ef2b Remove the new UL_INFO local variable in the VNF.
This struct is used to store the uplink 5G nFAPI
messages between the proxy and the gNB MAC layer.
The original OAI implementation utilizes a similarly
named variable (UL_info) to store the uplink 5G nFAPI
messages between the PHY and MAC layer. This commit
will utilize the original UL_info variable prior to
calling the handle functions. These changes allow us
to make minimal changes to the nFAPI handle functions
and modifies the NR_UL_Indication parent function instead.
2022-02-07 15:14:22 -08:00
Laurent THOMAS
ef2fedfc5b fix existing bug in pucchsim.c and in random_channel.c 2022-02-07 23:50:01 +01:00
Robert Schmidt
a03847a26d Merge remote-tracking branch 'origin/lte-ue-fix-EpsNetworkFeatureSupport' into integration_2022_wk06 2022-02-07 18:49:39 +01:00
Robert Schmidt
9594e422bc Merge remote-tracking branch 'origin/NR_pdcch_improvements' into integration_2022_wk06 2022-02-07 18:48:52 +01:00
Robert Schmidt
40ee6374cf Merge branch 'integration_2022_wk05_b' into 'develop'
Integration 2022 wk05 b

See merge request oai/openairinterface5g!1430
2022-02-07 17:41:28 +00:00
Robert Schmidt
997f8f9f48 SA stage2 test numbers to not overwrite logs in ZIP 2022-02-07 14:54:09 +01:00
Robert Schmidt
b06b21d1ed Perform log analysis from textlog only if T_stdout 0 2022-02-07 14:53:58 +01:00
Robert Schmidt
5e57b66cfc CI: Run T tracer in SA test 2022-02-07 14:52:52 +01:00
francescomani
f471316394 fix TRUE FALSE 2022-02-07 14:27:33 +01:00
Robert Schmidt
ce9d1bd7c5 Always schedule PUCCH to prevent stale PUCCH config 2022-02-07 14:23:17 +01:00
Robert Schmidt
b13ea677a2 Give warning when UL Failure on NR link 2022-02-07 14:23:17 +01:00
rmagueta
c1dd5da155 Fix update_ps flag for PDSCH and PUSCH 2022-02-07 12:45:14 +00:00
francescomani
8dcf0d011d two bugfixes: local pdcch_pdu in ul and wrong initialization place in find_candidate 2022-02-07 13:40:15 +01:00
Laurent THOMAS
00483797b4 code review comment 2022-02-07 10:02:08 +01:00
francescomani
9056bfa926 flag to update ps structure 2022-02-07 09:19:51 +01:00
francescomani
e27ce4db1e fix in max mcs for table1 2022-02-06 12:04:36 +01:00
Robert Schmidt
3a902ad0d1 (Partially) revert "minor changes in dlschsim, still doesn't work :-("
This partially reverts commit bac8bc569c
and fixes nr_dlschsim, which did not compile without this commit.
2022-02-05 14:24:57 +01:00
hardy
da6b91d832 updating SA testcases (162PRB + testcase id) 2022-02-04 21:40:57 +01:00
Robert Schmidt
c14d9a3c2a Merge remote-tracking branch 'origin/thread_pool_size' into integration_2022_wk05_b 2022-02-04 19:13:48 +01:00
Robert Schmidt
66137d2bf9 Merge remote-tracking branch 'origin/bler_txoptim' into integration_2022_wk05_b 2022-02-04 19:11:33 +01:00
Robert Schmidt
f92cfbaf12 LTE 2x2 TM2: DL 1Mbps, modulation not optimized 2022-02-04 19:07:09 +01:00
Robert Schmidt
0b39690044 Merge remote-tracking branch 'origin/episys-remove-log-minimal' into integration_2022_wk05_b 2022-02-04 19:07:09 +01:00
Robert Schmidt
49df71ddaa Merge remote-tracking branch 'origin/episys-nfapi-p5-bug-fixes' into integration_2022_wk05_b 2022-02-04 19:07:09 +01:00
Cedric Roux
92c5115f13 lte: fixes in EpsNetworkFeatureSupport.c
We have to eat all the bytes, not only one.
We have to get the bit we want from the right buffer position.

Note: only one bit is supported from this "EPS network feature support",
not sure how to properly deal with it, so let's keep the code as it is.

This commit was made because the MAGMA MME sends "EPS network feature
support" to the UE in the NAS message "Attach Accept". OAI MME does not
send this. So the bug about size was not seen.
2022-02-04 16:32:49 +01:00
francescomani
2b4ae3c4ce fix in nr_get_csi_payload 2022-02-04 10:47:34 +01:00
francescomani
434ee15ba0 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2022-02-03 11:38:14 +01:00
Masayuki Harada
66d2a3761f Add a comment. 2022-02-03 14:44:50 +09:00
Robert Schmidt
cb3b17eaa5 Merge remote-tracking branch 'origin/tx-thread-fix' into integration_2022_wk05_b 2022-02-02 19:10:45 +01:00
francescomani
2408f82ace Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2022-02-02 18:13:46 +01:00
francescomani
220aeacbd2 bugfix for ilbrm 2022-02-02 17:37:56 +01:00
Raphael Defosseux
8564ed55ab fix(ci): dummy commit to retrigger CI after ubuntu access issues
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-02-02 15:11:20 +01:00
francescomani
dc5cdd4e10 fix in xlsch bytes for memory allocation 2022-02-02 15:03:43 +01:00
Robert Schmidt
b65f31a3fa Merge branch 'integration_2022_wk05' into 'develop'
integration_2022_wk05

See merge request oai/openairinterface5g!1427
2022-02-02 09:24:26 +00:00
Robert Schmidt
01f2b5a16c Reset B200 device before a new run 2022-02-02 10:23:01 +01:00
francescomani
19bb8fd537 tentative fix for RRC reconfiguration after UE capabilities 2022-02-01 15:27:20 +01:00
hardy
24653fe0cb Merge remote-tracking branch 'origin/ci_support_tcp_bidir' into integration_2022_wk05 2022-02-01 14:54:19 +01:00
Melissa Elkadi
5e182c4e50 Adding a few more LOG_A's for critical milestones 2022-02-01 05:41:24 -08:00
Melissa
af6d95a348 Update rtusage.md 2022-02-01 13:37:06 +00:00
Melissa
cfa636ce5f Update rtusage.md 2022-02-01 13:36:30 +00:00
Melissa
761d154fe7 Update addconsoletrace.md 2022-02-01 13:33:17 +00:00
Robert Schmidt
0a8c037735 Set default log level to info 2022-02-01 13:17:26 +01:00
Robert Schmidt
5edcbc91fc Write first color code, enable function name only 2022-02-01 13:17:26 +01:00
Robert Schmidt
57c77a4781 Update log level colors after adding analysis level
Analysis level is green.
2022-02-01 13:17:10 +01:00
Masayuki Harada
d937e6e2c0 Fix some problems. 2022-02-01 19:06:51 +09:00
hardy
c4a3f56965 fix stats logs concatenation 2022-02-01 09:42:39 +01:00
hardy
50e7f379d0 fix results HTML conf file to see OAIUE results 2022-02-01 09:42:39 +01:00
hardy
8f5171edc5 Merge remote-tracking branch 'origin/ci_stats_for_multiple_tests' into integration_2022_wk05 2022-02-01 09:42:39 +01:00
Masayuki Harada
9cd14735de Fix compile error and remove warning. 2022-02-01 17:22:58 +09:00
francescomani
10da153332 Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2022-02-01 09:14:16 +01:00
Robert Schmidt
284734ba86 Add 5G FDD RFsim test 2022-02-01 08:41:04 +01:00
Masayuki Harada
db303c3beb Merge remote-tracking branch 'remotes/oai/develop' into NR_SA_pdu_session_modify_release 2022-02-01 15:44:34 +09:00
francescomani
e346608b04 bugfix after nr_set_pdsch_semi_static 2022-01-31 19:28:08 +01:00
francescomani
e4acf7e21d bugfix for pdu_index in sib1 sched function 2022-01-31 19:21:06 +01:00
Sakthivel Velumani
e7441d5a03 Merge branch 'tx-thread-fix' of https://gitlab.eurecom.fr/oai/openairinterface5g into tx-thread-fix 2022-01-31 22:44:26 +05:30
Sakthivel Velumani
d1836d0656 Merge branch 'develop' into tx-thread-fix 2022-01-31 22:28:30 +05:30
Sakthivel Velumani
d263f19935 Making Tx thread count to 2 2022-01-31 22:27:47 +05:30
Sakthivel Velumani
f211d26d6f Code cleanup 2022-01-31 22:27:27 +05:30
Melissa Elkadi
a2b0f455cd Updating config file for min_rxtxtime 2022-01-31 07:18:46 -08:00
hardy
3c1c6e3cb1 adding tcp bidir option to CI tests 2022-01-31 14:00:23 +01:00
Sakthivel Velumani
9934aed3cf Fix PUSCH/PDSCH parallel proc bug 2022-01-31 18:23:23 +05:30
hardy
6e00afa307 Merge remote-tracking branch 'origin/ci-migrating-vm-tests-to-container-tests' into integration_2022_wk05 2022-01-31 10:30:09 +01:00
hardy
5b87e319fd Merge remote-tracking branch 'origin/fix_building_with_address_sanitizer' into integration_2022_wk05 2022-01-31 10:29:29 +01:00
hardy
b48bae761f add stats for multiple tests + fix stat files concatenation 2022-01-29 12:42:53 +01:00
hardy
7fd8f6f605 Merge remote-tracking branch 'origin/tx-thread-fix' into integration_2022_wk05 2022-01-28 16:58:51 +01:00
hardy
27ac95f5e0 Merge remote-tracking branch 'origin/nr-fix-harq-round' into integration_2022_wk05 2022-01-28 16:58:15 +01:00
hardy
5ea65c2620 Merge remote-tracking branch 'origin/nr-ue-fix-security-2022-w04' into integration_2022_wk05 2022-01-28 16:57:28 +01:00
hardy
d9d4d82d06 Merge remote-tracking branch 'origin/ci_clean_aws' into integration_2022_wk05 2022-01-28 16:57:07 +01:00
Robert Schmidt
d7e7954cde Remove commented code 2022-01-28 16:20:06 +01:00
Robert Schmidt
c1b73e2d48 Harmonize DLSCH/ULSCH unscrambling in gNB/nrUE
Uses optimized scrambling if not UCI on PUSCH, or unoptimized to put
placeholder bits otherwise.
2022-01-28 16:10:50 +01:00
Robert Schmidt
b01b20129b Harmonize DLSCH/ULSCH unscrambling in gNB/nrUE 2022-01-28 16:10:50 +01:00
mjoang
9a36c36249 No need to pass dlsch_parallel into nr_ue_dlsch_procedures() as it is not needed inside nr_dlsch_decoding() 2022-01-28 16:10:50 +01:00
Robert Schmidt
b9a216d79a Take timing measurements for UL DLSCH decoding steps
- Measure time of deinterleaving, rate unmatching, and LDPC decoding of
  DLSCH decoding
- Add merge_meas() function to merge measurements into one
- Rename time meas variables with "turbo" to "ldpc"
2022-01-28 16:10:50 +01:00
Robert Schmidt
4289a21f35 Add thread to periodically print L1 UE stats to file 2022-01-28 16:10:50 +01:00
Robert Schmidt
71619bb7b4 Add measurement stats for rx_pdsch and ul_indication 2022-01-28 16:10:50 +01:00
Robert Schmidt
100ba1019e Delete commented code in phy_procedures_nrUE_RX() and indent 2022-01-28 16:10:50 +01:00
Robert Schmidt
4b04b463e0 Fix: start phy_proc_rx measurement 2022-01-28 16:10:50 +01:00
Robert Schmidt
92dbbd9f57 Delete commented code in nr_ue_pdcch_procedures() 2022-01-28 16:10:49 +01:00
Robert Schmidt
d9eb6ec5d6 Fix start of dlsch_rx_pdcch_stats measurement 2022-01-28 16:10:49 +01:00
Robert Schmidt
52e478d6a3 Include rotation in phy_proc_tx meas 2022-01-28 16:10:48 +01:00
Laurent THOMAS
0f2adea417 Merge branch 'tx-thread-fix' of https://gitlab.eurecom.fr/oai/openairinterface5g into tx-thread-fix 2022-01-28 10:40:05 +01:00
Sakthivel Velumani
f43a69c5dc Removed reuse of txdataF buffer on 2 slot basis 2022-01-28 10:39:44 +01:00
Sakthivel Velumani
a3123aae29 Removed global variables 2022-01-28 10:39:44 +01:00
hardy
c77a4eb767 create aws clean function to get rid of closed MR results 2022-01-27 15:14:49 +01:00
francescomani
2cad62ad54 fix for 256qam in initialDownlinkBWP 2022-01-27 14:36:44 +01:00
Raphael Defosseux
a3d9d50eb9 fix(ci): Updating the 5G RF simulator tutorial with CN5G v1.3.0 release
Also remove an obsolete sub-pipeline

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-01-27 14:23:47 +01:00
francescomani
aec56c9a86 additional review comments 2022-01-27 12:22:03 +01:00
Laurent THOMAS
aa47fa4c41 remove F1-U protobuf implementation 2022-01-27 11:57:19 +01:00
Robert Schmidt
8c5059214e Remove log verbosity level from all conf files: it is not used 2022-01-27 10:53:07 +01:00
Robert Schmidt
a1520aacd1 Remove useless MSCGEN macro 2022-01-27 10:53:07 +01:00
Robert Schmidt
00e058537d Remove MSC library, it is not used anywhere 2022-01-27 10:53:07 +01:00
Laurent THOMAS
3e7c22e7c6 gtp-u old code delete 2022-01-26 11:27:02 +01:00
francescomani
5eb9e1f421 compute Y every time 2022-01-26 10:31:10 +01:00
Melissa Elkadi
4c4d317822 Removing commented code that causes SEG_FAULT in NSA mode 2022-01-25 16:57:58 +01:00
Melissa Elkadi
fd54f2cf76 This commit includes several nfapi bug fixes
-cell_config.phy_cell_id is a uint16 and was being push/pulled
as a uint8_t
-several members of the p5 message we not push/pulled
-the second member of the ssb_mask_list is causing invalid tag length
-the error code of the push response was push8 when it should have
been a push32
-packing vendor extension causes invalid tag id(0x000)
2022-01-25 16:57:44 +01:00
Melissa Elkadi
918862475c Removing log_minimal and adding new run-time logging opts 2022-01-25 05:53:41 -08:00
luis_pereira87
0e159f8b6b Merge remote-tracking branch 'origin/develop' into bler_txoptim
# Conflicts:
#	openair1/SCHED_NR/fapi_nr_l1.c
2022-01-25 08:49:16 +00:00
francescomani
e7f544e139 Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2022-01-24 19:08:21 +01:00
Cedric Roux
fe4c988c97 nr ue: fix security setting of DRB
Maybe this fix won't work for non-openair gNB. We use the same keys and
algorithms as for SRBs, which is what openair gNB does.

(I hope I'm right there.)

To be changed if needed.
2022-01-24 15:56:45 +01:00
Laurent THOMAS
504c529c20 small optimisation in build_oai script 2022-01-24 15:27:08 +01:00
Laurent THOMAS
13a16bc29f remove separate dir from phy_simulators binaries and compile options 2022-01-24 14:59:12 +01:00
luis_pereira87
d0bbcaef50 Merge remote-tracking branch 'origin/develop' into thread_pool_size
# Conflicts:
#	ci-scripts/conf_files/gNB_SA_n78_106PRB.2x2_usrpn310.conf
#	ci-scripts/conf_files/gNB_SA_n78_133PRB.2x2_usrpn310.conf
#	openair2/GNB_APP/L1_nr_paramdef.h
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/du_gnb.conf
2022-01-24 11:13:38 +00:00
Remi Hardy
4d1bda01c6 integration_2022_wk04_a
MR !1353: L1 Tx threading update 
Removed active waiting loop which could block threads. Instead a separate thread to reorder the finished job is used.
 
MR !1404: \[CI\] rtmon per test
so far we had 1 default cfg file for real time processing check (html table).  
now we can have a specific file per test, the yaml config file has to be specified in the xml
2022-01-24 10:55:04 +00:00
Remi Hardy
9b15707f81 Merge branch 'fix-mcs-lte' into 'develop'
Revert changes in cqi_to_mcs

See merge request oai/openairinterface5g!1403
2022-01-24 10:53:24 +00:00
francescomani
9b9d0d6f06 addressing review comments 2022-01-24 11:51:38 +01:00
hardy
cb06ce6a3b fix conf file for LTE 2x2 TM2 2022-01-24 10:53:22 +01:00
hardy
ecdb8ee05f clean/remove unused tests from scheduled tests (2x2) sequence 2022-01-22 09:07:46 +01:00
hardy
08c9d4ae4c Merge remote-tracking branch 'origin/tx-thread-update' into integration_2022_wk04_a 2022-01-21 16:39:24 +01:00
hardy
94074849ae Merge remote-tracking branch 'origin/ci_rtmon_per_test' into integration_2022_wk04_a 2022-01-21 16:38:55 +01:00
Sofia Pison
4fb330e4cc Modified CMakeLists to enable the run with address sanitizer without specifying LD_LIBRARY_PATH 2022-01-21 15:13:53 +01:00
Remi Hardy
ded914f5ca Merge branch 'ci_fix_gitpost' into 'develop'
[CI] fix gitpost issue

See merge request oai/openairinterface5g!1408
2022-01-21 11:14:07 +00:00
hardy
70b93d0901 fix git post in one block for NSA test seq 2022-01-21 11:56:09 +01:00
luis_pereira87
b4e34d5e6b Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements 2022-01-21 10:53:05 +00:00
luis_pereira87
34409bacc0 Address review comments 2022-01-21 10:52:39 +00:00
Raphael Defosseux
b2b95bb9ff feat(ci): adding more 4G RF sim tests -- currently TDD not working
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-01-21 11:49:55 +01:00
hardy
a859c8810f make real time monitor cfg PER test (called in xml) + update 2x2 tests requirements 2022-01-21 11:46:54 +01:00
Remi Hardy
36cc54e2d1 Merge branch 'ci_lte_2x2_tm2' into 'develop'
[CI] add lte 2x2 tm2

See merge request oai/openairinterface5g!1407
2022-01-21 10:07:26 +00:00
hardy
6aa7eea09f update lte 2x2 for tm2 2022-01-21 11:00:09 +01:00
francescomani
0717a7c562 Merge remote-tracking branch 'origin/develop' into NR_RRC_256QAM_DL 2022-01-21 10:31:58 +01:00
Remi Hardy
7910babdc4 integration_2022_wk03_b
MR !1371: NR UE capabilities
-Capabilities for OAI UE from xml file (for now copy-pasted from a COTS UE, to be modified in the framework of harmonization of RRC configuration at gNB).
-For phy-test and do-ra mode, the gNB directly reads the xml file.

MR !1397: fix issue created from fix int8 overflow (int8 overflox is small)
-ptrs computation was making uint8 overflow, i fixed it, but then, as the overflow is negative, it became a very high positive number (uint8 0-1 is "only" 255)

MR !1390: ci-improvements
-store executables with which core dumps have been created for better analysis 
-do not capture GTP, bloating PCAPs 
-complete + order build_oai help 
-build all libraries in containers (e.g., nrscope, telnet, ...) 
-increase (containerized, 5G) RFsim throughput and tentatively analyze
2022-01-21 09:00:24 +00:00
luis_pereira87
86096894a0 Fix build warning after merge with develop 2022-01-20 11:53:17 +00:00
luis_pereira87
7355cb454f Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements
# Conflicts:
#	openair1/PHY/LTE_UE_TRANSPORT/pcfich_ue.c
2022-01-20 11:43:24 +00:00
Robert Schmidt
f157b06a01 Revert changes in cqi_to_mcs
Revert the changes to the cqi_to_mcs table introduced in
9fa09f530f. Also, take out cqi_to_mcs form
NR UE, as it is not used in there.
2022-01-19 18:34:42 +01:00
Laurent Thomas
1eb1c17f0c merge develo 2022-01-19 16:46:46 +01:00
Raphael Defosseux
3d504eb7f8 feat(ci): disabling obsolete pipelines; splitting the RF sim test into a 4G and a 5G pipelines
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-01-19 15:47:39 +01:00
hardy
5c74bca5b5 Merge remote-tracking branch 'origin/ci-improvements' into integration_2022_wk03_b 2022-01-19 15:42:09 +01:00
hardy
c9a8b466fb Merge remote-tracking branch 'origin/fix-ptr-regression' into integration_2022_wk03_b 2022-01-19 15:41:35 +01:00
francescomani
27599b0b08 fix for phy-simulators compilation 2022-01-19 15:41:18 +01:00
hardy
bbe79b5b3a Merge remote-tracking branch 'origin/NR_UE_Capabilities' into integration_2022_wk03_b 2022-01-19 15:40:43 +01:00
Thomas Schlichter
df98bdb372 move nr_rv_round_map from gNB_scheduler_phytest.c to gNB_scheduler.c 2022-01-19 15:17:26 +01:00
Thomas Schlichter
eb14a6a45f consistently make nr_rv_round_map[4] = {0, 2, 3, 1} 2022-01-19 14:43:01 +01:00
Raphael Defosseux
425bb14900 fix(ci): better shutdown of container when using USRP
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-01-19 14:42:51 +01:00
Raphael Defosseux
edb876460f feat(ci): adding RAN containers analysis
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-01-19 14:38:57 +01:00
hardy
b0d462e0ef bugfix for Git Post (incorrect var init) 2022-01-19 07:40:37 +01:00
Remi Hardy
5c43e3d432 Merge branch 'ci_improve_gitlab_post' into 'develop'
[CI] improve gitlab post

See merge request oai/openairinterface5g!1401
2022-01-18 20:02:18 +00:00
hardy
1f0c2f890c new git post finalized, to be tested 2022-01-18 20:49:57 +01:00
luis_pereira87
38d5b38910 Revert ulsch scheduler min_rb to 5 2022-01-18 18:02:07 +00:00
Thomas Schlichter
7ef0da0143 remove unused array nr_rv_round_map_ue 2022-01-18 18:58:58 +01:00
Thomas Schlichter
ca5512594b refactor open-coded conversion of rv_index to HARQ round into new function nr_rv_to_round() 2022-01-18 18:55:23 +01:00
luis_pereira87
978b4a1728 Merge remote-tracking branch 'origin/develop' into bler_txoptim
# Conflicts:
#	openair1/PHY/LTE_UE_TRANSPORT/pcfich_ue.c
2022-01-18 17:44:30 +00:00
rmagueta
6d053f7272 Merge remote-tracking branch 'origin/develop' into develop-SRS 2022-01-18 15:57:56 +00:00
hardy
c555d3968f update nsa b200 tests 2022-01-18 10:50:58 +01:00
francescomani
e62dd069dd Merge remote-tracking branch 'origin/develop' into NR_RRC_256QAM_DL 2022-01-18 09:32:53 +01:00
hardy
064ed744b3 testing variable names 2022-01-17 22:49:00 +01:00
francescomani
2ded9658b8 including uecap option in runmodem.md and some other improvements in that file 2022-01-17 17:07:53 +01:00
rmagueta
ef021c23e0 Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	openair1/PHY/LTE_UE_TRANSPORT/pcfich_ue.c
2022-01-17 15:46:27 +00:00
Robert Schmidt
64058d84b3 Don't execute ls on files to analyze (is useless) 2022-01-17 16:02:48 +01:00
Robert Schmidt
b0e3867a5f Fix: Right RFsim CU/DU filename 2022-01-17 16:02:48 +01:00
Remi Hardy
0d1b4fe23a Merge branch 'ci_update_nsa_tests' into 'develop'
[CI] update nsa b200 tests

See merge request oai/openairinterface5g!1399
2022-01-17 14:48:26 +00:00
francescomani
533897605f Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2022-01-17 15:36:55 +01:00
hardy
9ab5927dc8 update nsa b200 tests 2022-01-17 14:25:14 +01:00
Raphael Defosseux
6ab196d03b fix(ci): no history also for single ssh commands
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-01-17 13:26:15 +01:00
hardy
e62844bfef debug : change gitpost method 2022-01-17 12:47:15 +01:00
Remi Hardy
355063b5fa Merge branch 'cleaning-2022w1' into 'develop'
cleaning after big merge

See merge request oai/openairinterface5g!1392
2022-01-17 08:11:47 +00:00
rmagueta
62c2775017 Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	openair1/PHY/LTE_UE_TRANSPORT/pcfich_ue.c
#	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
#	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
2022-01-15 17:29:13 +00:00
Laurent THOMAS
a5c5264ef3 merge develop 2022-01-14 21:09:02 +01:00
Laurent THOMAS
55d1f1bd11 fix issue created from fix int8 overflow (int8 overflox is small) 2022-01-14 19:27:05 +01:00
Robert Schmidt
5dae0096f0 CI: Rename SA OAIUE x300 test cases to not overwrite N300 results 2022-01-14 18:34:40 +01:00
Robert Schmidt
a8041b6794 CI: Correct file path of logging results 2022-01-14 18:34:40 +01:00
Robert Schmidt
63a5a09732 Complete build_oai -t options 2022-01-14 18:34:40 +01:00
Robert Schmidt
396fcd435e CI: force rebuild of ran_base if build_oai/build_helper/Dockerfile change 2022-01-14 18:34:40 +01:00
Robert Schmidt
4e0548328d CI: delete old stats_monitor files 2022-01-14 18:34:40 +01:00
Robert Schmidt
76411447ab CI: Continuously collect RAN logging file output 2022-01-14 18:34:40 +01:00
Robert Schmidt
74a4c2f6ef CI: Log repo cloning/merging instructions 2022-01-14 18:34:40 +01:00
Robert Schmidt
06bbea7f10 CI: Check for correct files 2022-01-14 18:34:40 +01:00
Robert Schmidt
d02a65c824 Tentatively analyze log files of RFsims 2022-01-14 18:34:40 +01:00
Robert Schmidt
ac9ee8e206 Increase 5G/SA/RFsimulator throughput test 2022-01-14 18:34:40 +01:00
Robert Schmidt
bd08a828cf Give container image delete some time 2022-01-14 18:34:39 +01:00
Robert Schmidt
2a4d4d9cbd Add readline library: telnetsrv depends on it 2022-01-14 18:34:00 +01:00
Robert Schmidt
8c38dc0fbf Include telnet SOs in container images 2022-01-14 18:34:00 +01:00
Robert Schmidt
0c9c716fbc Build all libraries in Ubuntu/RHEL containers 2022-01-14 18:34:00 +01:00
Robert Schmidt
9240d51774 Complete build_oai usage 2022-01-14 18:34:00 +01:00
Robert Schmidt
f5d949742e CI: refine tshark capture filters
The CI pcaps are too large if we have large data traffic, as they
include all the GTP capture (they contain basically the data that we
send in the tests). This commit reduces this:
- in the RAN: capture only S1AP (port 36412), X2AP (36422), NGAP (38412)
  traffic
- in the CN: exclude GTP traffic (port 2152)
2022-01-14 18:34:00 +01:00
Robert Schmidt
bcc68d6597 CI: store both core dump and executable in zip 2022-01-14 18:34:00 +01:00
Raphael Defosseux
a2e0da258c fix(ci): hot fix, to clean container volumes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-01-14 17:15:34 +01:00
luis_pereira87
a2755610fa Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements
# Conflicts:
#	openair1/PHY/LTE_UE_TRANSPORT/pcfich_ue.c
2022-01-14 13:49:16 +00:00
Remi Hardy
8125d77641 integration_2022_wk02
MR !1391: T tracer: add option to have both T traces and regular console logs
Use --T_stdout 2 to have both.
--T_stdout 0 is still the way to have only T traces and no console logs.

MR !1387: nr ue: fix rlc and pdcp tick generation
Ticks have to come every millisecond. The code was calling tick only for DL slots.
(This whole logic will change at some point, this tick mechanism is not good. But in the meantime, let's fix anyway.)

MR !1384: Rfsim chan mod bug
infinite loop in function uniformrandom() if randominit() has not been called before

MR !1334: Fixes, MR 1257 1225 followup
Fixes after MR 1257 1225: sanitize address error introduced in ldpctest when using alternative ldpc libraries and LOG flooding introduced in nrUE. Also improved openCL ldpc library build.
2022-01-14 12:59:32 +00:00
Thomas Schlichter
9e2b05a0aa gNB: fix PUSCH HARQ round calculation 2022-01-14 11:39:06 +01:00
Thomas Schlichter
26ce5a7236 NR_UE: fix PDSCH HARQ round calculation 2022-01-14 11:39:06 +01:00
hardy
39f5863280 update jenkinsfile to provide git post with commit id 2022-01-13 21:40:45 +01:00
hardy
ea0cf9e227 workout a more readable and compact test results note 2022-01-13 21:40:45 +01:00
francescomani
eb56a40d11 bugfix in msg2 frame and slot re-selection 2022-01-13 17:43:53 +01:00
Laurent THOMAS
a484678ad7 Merge branch 'cleaning-2022w1' of https://gitlab.eurecom.fr/oai/openairinterface5g into cleaning-2022w1 2022-01-13 16:04:41 +01:00
Laurent THOMAS
3f2dd17191 code review comments + re-test 2022-01-13 16:04:16 +01:00
Laurent THOMAS
b1beb0918a fix regression in merge develop and some warnings 2022-01-13 14:43:13 +01:00
Laurent THOMAS
2ccc7188e5 fix regression in merge develop and some warnings 2022-01-13 14:39:56 +01:00
Raphael Defosseux
83ab3ea39f fix(docker): phySim image was always built on the latest of develop branch and not current code for merge requests
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-01-13 13:57:50 +01:00
luis_pereira87
24ebf98ebf Add descriptive help string for CONFIG_STRING_L1_THREAD_POOL_SIZE 2022-01-13 09:55:11 +00:00
luis_pereira87
d318f09142 Fix L1s indentation in config files 2022-01-13 09:37:53 +00:00
luis_pereira87
07f31c6465 Merge remote-tracking branch 'origin/develop' into thread_pool_size 2022-01-13 09:19:31 +00:00
Laurent THOMAS
d751568689 fix a bug in call to realloc inside a function 2022-01-12 16:12:36 +01:00
Laurent THOMAS
d108d9c651 fix loop on wrong array size in 4G dlsim 2022-01-12 15:22:10 +01:00
rmagueta
1c3310f955 Activate SRS in some CI tests 2022-01-12 13:52:00 +00:00
rmagueta
fa216870f3 Update documentation with SRS 2022-01-12 13:34:54 +00:00
hardy
ec286386dc Merge remote-tracking branch 'origin/NR-LogsSanAddrFix' into integration_2022_wk02 2022-01-12 14:27:00 +01:00
hardy
6029248937 Merge remote-tracking branch 'origin/rfsim-chan-mod-bug' into integration_2022_wk02 2022-01-12 14:26:14 +01:00
hardy
55a2f99676 Merge remote-tracking branch 'origin/bugfix-nr-ue-tick' into integration_2022_wk02 2022-01-12 14:25:40 +01:00
hardy
d81c4bede5 Merge remote-tracking branch 'origin/t-tracer-and-console' into integration_2022_wk02 2022-01-12 14:25:13 +01:00
rmagueta
7b2ec0f369 Merge remote-tracking branch 'origin/develop' into develop-SRS 2022-01-12 13:11:40 +00:00
Laurent THOMAS
2f6fbe7710 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into tx-thread-update 2022-01-12 13:22:43 +01:00
Laurent THOMAS
586b91b461 fix dlsim regression 2022-01-12 11:35:49 +01:00
Raphael Defosseux
2ac6a30cff fix(ci): forcing USRP N3xx reboot on caracal; creating a real dummy scenario
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-01-12 11:27:50 +01:00
Sakthivel Velumani
391a5eee71 Removed reuse of txdataF buffer on 2 slot basis 2022-01-12 14:50:33 +05:30
Laurent THOMAS
d7ddc60500 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into cleaning-2022w1 2022-01-12 09:23:32 +01:00
Laurent THOMAS
2dc8406554 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into tx-thread-update 2022-01-12 09:12:10 +01:00
rmagueta
729eee0685 Merge remote-tracking branch 'origin/develop' into develop-SRS 2022-01-11 10:44:43 +00:00
rmagueta
30ae13a279 Replace hardcoded 8 by sizeof(uint64_t) related to memory alignment of 8 bytes 2022-01-11 10:44:23 +00:00
rmagueta
5a34801a94 SRS channel interpolation improved for comb_size 4 2022-01-11 10:32:48 +00:00
Cedric Roux
de72d53c21 nr ue: fix rlc and pdcp tick generation
Ticks have to come every millisecond. The code was calling tick
only for DL slots.

(This whole logic will change at some point, this tick mechanism is not
good. But in the meantime, let's fix anyway.)
2022-01-11 11:04:48 +01:00
Cedric Roux
fe81d31ea3 compilation warnings fixes
The previous commit created two new warnings:

    warning: 'avgs' may be used uninitialized in this function
    warning: 'seq_index' may be used uninitialized in this function

This commit removes them.

Maybe it's not the correct solution. To be fixed if needed.
2022-01-11 11:04:00 +01:00
Cedric Roux
0806734254 T tracer: add option to have both T traces and regular console logs
Use --T_stdout 2 to have both.

--T_stdout 0 is still the way to have only T traces and no console logs.
2022-01-11 11:04:00 +01:00
luis_pereira87
f3399d5dde Merge remote-tracking branch 'origin/develop' into bler_txoptim 2022-01-11 09:09:33 +00:00
Sakthivel Velumani
6c7b71bbd4 Removed global variables 2022-01-11 14:15:53 +05:30
Sakthivel Velumani
23b3a18fe8 Removed conflict header and fixed dlsim 2022-01-11 14:14:44 +05:30
Remi Hardy
93f15bc99a Merge branch 'ci_improve_iperf_pass_fail' into 'develop'
[CI] improve iperf pass fail

See merge request oai/openairinterface5g!1373
2022-01-11 07:04:30 +00:00
rmagueta
d14d36747d SRS channel interpolation improved for comb_size 2 2022-01-10 19:08:08 +00:00
francescomani
49cf701a4a Merge branch 'nr-fdd-scheduling' of https://gitlab.eurecom.fr/oai/openairinterface5g into nr-fdd-scheduling 2022-01-10 16:29:42 +01:00
francescomani
52b05b8fe0 review changes 2022-01-10 16:20:05 +01:00
luis_pereira87
fb7795a0f4 Fix build warning after merge with develop 2022-01-10 14:20:41 +00:00
Guido Casati
0e0b7a34f7 Restored check on pattern1.ext1 2022-01-10 15:07:12 +01:00
luis_pereira87
015e360d42 Merge remote-tracking branch 'origin/develop' into bler_txoptim
# Conflicts:
#	ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf
#	ci-scripts/conf_files/gnb.band78.sa.fr1.162PRB.2x2.usrpn310.conf
#	openair1/SCHED_NR/fapi_nr_l1.c
2022-01-10 14:03:55 +00:00
Guido Casati
ef6c93b842 Updating IF configuration description in RUNMODE file 2022-01-10 14:29:21 +01:00
Guido Casati
1efef96e64 Using ASN_STRUCT_FREE instead of free 2022-01-10 14:28:17 +01:00
francescomani
42bf576596 review fixes 2022-01-10 14:09:21 +01:00
Laurent THOMAS
b4b457345d merge develop 2022-01-10 12:49:47 +01:00
Guido Casati
2c289c45d1 Minor fixes after code review 2022-01-10 12:18:25 +01:00
hardy
efcc3f55de Merge remote-tracking branch 'origin/develop' into ci_improve_iperf_pass_fail 2022-01-10 11:50:29 +01:00
Laurent THOMAS
bc05bd882d cleaning after big merge 2022-01-10 11:44:45 +01:00
luis_pereira87
46d629aede Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements
# Conflicts:
#	ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf
#	ci-scripts/conf_files/gnb.band78.sa.fr1.162PRB.2x2.usrpn310.conf
2022-01-10 10:21:07 +00:00
francescomani
8202180a18 Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2022-01-10 10:39:44 +01:00
francescomani
98e8b74331 Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2022-01-10 10:13:18 +01:00
francescomani
7b490f330c Merge remote-tracking branch 'origin/develop' into NR_UE_Capabilities 2022-01-10 10:11:55 +01:00
rmagueta
af56207fdf Fix after merge 2022-01-08 13:19:41 +00:00
rmagueta
cf8f6fdeed Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf
#	ci-scripts/conf_files/gnb.band78.sa.fr1.162PRB.2x2.usrpn310.conf
#	openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
#	openair2/RRC/NR/L2_nr_interface.c
2022-01-08 12:11:56 +00:00
Remi Hardy
8d1c9894c2 integration_2021_wk51_d_2 (done on 2022_wk01)
MR !1274 : L2 Emulator for NSA Mode
This merge request will incorporate the NSA UE with the L2 Emulator (bypassing of layer 1). 
These changes include the following features:

-NSA Interface between LTE and NR UE is properly established. These include the following steps: 
 First UE capability enquiry is sent to NR UE 
 NR UE updates and fills first capability enquiry
 eNB request for a measurement report
 Measurement request is sent to NR UE
 Measurement report is filled in NR UE
 Measurement report is received in eNB
 Request for second UE capability enquiry
 Send second enquiry to NR UE
 Second capability information is filled by NR UE
 Second capability information is sent to eNB
 NR UE capability information is received in gNB
 Periodic measurement report received in gNB
 RRCReconfigurationRequest is sent to NR UE
 RRCReconfigurationComplete is sent from NR UE
 RACH is received in the gNB
 RAR is received in NR UE
 Msg 3 is generated and sent to gNB
 CFRA procedure is complete

-A single NSA UE is able to ping an external source
-UE-to-UE traffic is still in work
-The gNB is crashing regularly and is still in work

MR !1265 : F1 split for 5G 
documentation in doc/f1.md 
Use new gtp-u for also 4G (no legacy code cleanup, will be done after this MR) 
Some various fixes in the existing code when we face issues 4G F1 behavior will also change
2022-01-07 20:09:13 +00:00
luis_pereira87
f6c735f560 Revert to timing adjustment based on cyclic prefix and improves it 2022-01-07 18:54:31 +00:00
luis_pereira87
ef298dc36c Add ffo compensation based on SSS 2022-01-07 18:02:24 +00:00
francescomani
d4d7173265 dynamic mcs selection for msg3 2022-01-07 16:58:53 +01:00
francescomani
3606c38145 uecap file from command line at gnb for phytest and dora mode 2022-01-07 14:48:09 +01:00
hardy
8e9f7d9477 Revert "Change obelix N300 IP addresses"
This reverts commit f34d5e2f1b.
2022-01-07 09:49:01 +01:00
luis_pereira87
395c211e6d Fix indentation 2022-01-06 16:18:55 +00:00
Robert Schmidt
00e49309d2 Revert "Change obelix N300 IP addresses"
This reverts commit d74180cabb.
2022-01-06 17:17:27 +01:00
Laurent THOMAS
370af7bc10 remove L1_tx_free queue pair of threads for a single one 2022-01-06 16:20:16 +01:00
Laurent THOMAS
c0dd344eb2 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into tx-thread-update 2022-01-06 15:52:49 +01:00
luis_pereira87
b8daf747bd Increase nr_pbchsim test requirements to pass in CI 2022-01-06 14:39:31 +00:00
francescomani
10e4ce2dce dynamic mcs selection for msg4 2022-01-06 15:04:42 +01:00
francescomani
7f20ad6c6e dynamic mcs selection for msg2 2022-01-06 14:40:52 +01:00
rmagueta
3da125fa06 Merge remote-tracking branch 'origin/develop' into develop-SRS 2022-01-06 12:37:22 +00:00
luis_pereira87
9077848b1d Merge remote-tracking branch 'origin/develop' into bler_txoptim 2022-01-06 12:35:23 +00:00
Remi Hardy
e807d5182b Merge branch 'hot-fix-for-dlsch-coding' into 'develop'
Hot fix for dlsch coding

See merge request oai/openairinterface5g!1385
2022-01-06 10:56:51 +00:00
rmagueta
56714b2c82 Fix warnings after merge with develop 2022-01-06 10:17:10 +00:00
Robert Schmidt
513eebee1e Add nr_pbchsim option to select random number seed 2022-01-06 11:05:26 +01:00
Robert Schmidt
b6b79d555e Clean up nr_pbchsim program options 2022-01-06 11:05:26 +01:00
francescomani
d385c2126b fixes for TDA in case of double symbol pdcch 2022-01-06 09:30:42 +01:00
hardy
33f93804c6 bugfix ping analysis 2022-01-06 08:31:17 +01:00
hardy
42d25bcad8 test purpose : change ping acceptance threshold for SA test 2022-01-05 18:28:05 +01:00
francescomani
a15f1947d8 remove limitation for first symbol with data in dlsch 2022-01-05 16:51:39 +01:00
hardy
5afec8db57 fix ping analysis if no threshold defined + escape if scp fails 2022-01-05 16:05:51 +01:00
hardy
6ccc419dfa fix autoterminate 2022-01-05 15:31:57 +01:00
luis_pereira87
f8add0916f Fix memset input parameters 2022-01-05 14:14:09 +00:00
luis_pereira87
d1db83caab Rename min_rxtxtime in config files after merge 2022-01-05 14:12:20 +00:00
luis_pereira87
ddfd22d0fd Fix memset input parameters 2022-01-05 14:10:12 +00:00
luis_pereira87
d4f4080626 Revert "Revert "Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements""
This reverts commit 29268d0a66.
2022-01-05 14:00:09 +00:00
Laurent THOMAS
0ec9d171d7 fix bug in rfsimulator channel simulation model change 2022-01-05 13:26:07 +01:00
Laurent THOMAS
154f9b6acd fix bug in rfsimulator channel simulation model change 2022-01-05 13:19:52 +01:00
Luis Pereira
345c9e38e4 Revert "Rename pusch_proc_threads to thread_pool_size"
This reverts commit daf8b950e1
2022-01-05 09:27:43 +00:00
Luis Pereira
602ecd1c3e Revert "Cleanup config files where thread_pool_size is equal to the default value"
This reverts commit bf0c694178
2022-01-05 09:27:20 +00:00
Luis Pereira
1e3bef7a09 Revert "Fix and uniformization of indentation"
This reverts commit 692c68e4be
2022-01-05 09:26:59 +00:00
hardy
02a1b883a6 fix copy of ping graph 2022-01-04 22:23:12 +01:00
frtabu
a7b6c4bcb0 fix a warning. fix openCL regression after rebase 2022-01-04 19:06:38 +01:00
hardy
87a26948cf Merge remote-tracking branch 'origin/develop' into ci_improve_iperf_pass_fail 2022-01-04 16:41:46 +01:00
frtabu
1dc47e5db1 Switch loglvl to ARNING by default as for other simulators 2022-01-04 16:22:52 +01:00
Raymond Knopp
4f5ea3bb6f phy simulators remove measurments printf and check/allow log level config 2022-01-04 16:22:52 +01:00
frtabu
88f67ded26 Fix time measurment LOGS in phy_procedures_nr_UE.c 2022-01-04 16:21:14 +01:00
Raymond Knopp
a631bb2a58 phy simulators remove measurments printf and check/allow log level config 2022-01-04 16:21:14 +01:00
frtabu
6f13d453bf Fix time measurment LOGS in phy_procedures_nr_UE.c 2022-01-04 16:21:14 +01:00
Raymond Knopp
9159e20002 phy simulators remove measurments printf and check/allow log level config 2022-01-04 16:21:14 +01:00
frtabu
aed13183fb Fix time measurment LOGS in phy_procedures_nr_UE.c 2022-01-04 16:19:56 +01:00
Raymond Knopp
6d2672d7ba phy simulators remove measurments printf and check/allow log level config 2022-01-04 16:17:20 +01:00
frtabu
add1293e9b Fix time measurment LOGS in phy_procedures_nr_UE.c 2022-01-04 16:11:34 +01:00
Raymond Knopp
379d17a5d9 phy simulators remove measurments printf and check/allow log level config 2022-01-04 16:08:17 +01:00
frtabu
12a3910e69 Fix time measurment LOGS in phy_procedures_nr_UE.c 2022-01-04 16:05:45 +01:00
Robert Schmidt
f34d5e2f1b Change obelix N300 IP addresses
We suspected a faulty N310 on obelix. It has been replaced with another
N300 with the same .10.2 addr, but the mgmt_addr changed to .18.16,
corrected in this commit.
2022-01-04 16:05:31 +01:00
Raymond Knopp
9cd976d6f7 phy simulators remove measurments printf and check/allow log level config 2022-01-04 16:02:46 +01:00
frtabu
87bb0ffab0 Fix time measurment LOGS in phy_procedures_nr_UE.c 2022-01-04 15:55:19 +01:00
frtabu
712f85760b fix measurment flag enforced in nr_dlsch_decoding.c 2022-01-04 15:48:54 +01:00
Raymond Knopp
4f7936565a phy simulators remove measurments printf and check/allow log level config 2022-01-04 15:46:51 +01:00
frtabu
caf4035286 Fix time measurment LOGS in phy_procedures_nr_UE.c 2022-01-04 15:41:46 +01:00
frtabu
52fc3ff5a5 Switch loglvl to ARNING by default as for other simulators 2022-01-04 15:35:25 +01:00
Raymond Knopp
883964c7da remove remaining printf under PHYSIM build option 2022-01-04 15:34:03 +01:00
Raymond Knopp
fefa42c889 phy simulators remove measurments printf and check/allow log level config 2022-01-04 15:34:03 +01:00
frtabu
683072f413 Fix time measurment LOGS in phy_procedures_nr_UE.c 2022-01-04 15:23:48 +01:00
hardy
ada154f852 add ping png to artifacts 2022-01-04 15:15:28 +01:00
frtabu
25e20db71f ldpc openCL doc update 2022-01-04 15:15:09 +01:00
frtabu
e4d3bf9f41 Fixes after MR 1257 1225: sanitize address error introduced in ldpctest when using alternatives ldpc libraries and LOG flooding introduced in nrUE. Also improved openCL ldpc library build 2022-01-04 15:15:09 +01:00
Raphael Defosseux
1a2a6606ce feat(ci): migrating 5G-NR phytest from old Jenkins server to new one
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2022-01-04 14:54:26 +01:00
francescomani
a54c1f239e passing the file name on top of the path for uecap 2022-01-04 14:11:21 +01:00
luis_pereira87
8a428d734e Fix nr_pbchsim to avoid multiple ffo compensations for each trial on input samples 2022-01-04 11:52:16 +00:00
hardy
af554f66ed fix matplotlib logging level 2022-01-04 10:54:34 +01:00
hardy
a0fd26e8df fix matplotlib numpy lib import 2022-01-04 08:50:49 +01:00
hardy
4a263215ad add ping events graph into artifacts as png 2022-01-03 23:27:04 +01:00
Laurent THOMAS
2615a6722a fix get_nr_table_idx to make same as develop branch 2022-01-03 19:32:47 +01:00
hardy
76f0990352 add/fix autoterminate when a node does not start (gnb in nsa for ex) 2022-01-03 17:46:38 +01:00
luis_pereira87
1be69de2e6 Code cleanup 2022-01-03 15:37:39 +00:00
hardy
535cc3de21 fixing ping analysis (extra stats) for module UE 2022-01-03 16:15:04 +01:00
francescomani
9b70a994c0 bugfix for non-interleaved 2022-01-03 12:11:13 +01:00
francescomani
e5ee24c1ff fixes in demapping and deinterleaving at OAI UE 2022-01-03 11:56:56 +01:00
hardy
c26d6fd685 fix test status depending on results ; cosmetic fix on assertions text 2022-01-03 11:55:26 +01:00
Laurent Thomas
9b0e6ea71a fix merge issue in ocp-enb 2022-01-02 23:39:10 +01:00
Laurent Thomas
b57a40496d fix ocp-enb memory init 2022-01-02 21:17:43 +01:00
francescomani
37a2d7af57 changes to allow pdsch typeb in sib1 2021-12-31 12:00:28 +01:00
francescomani
0ddb872bea config file for 10MHz SA 2021-12-31 11:59:17 +01:00
Laurent THOMAS
f20d280426 add clean log+exit when radio board can't start 2021-12-31 11:44:49 +01:00
Laurent THOMAS
2ecb1a626f remove false detection of lte-uesoftmodem "segv" 2021-12-30 23:03:12 +01:00
Laurent THOMAS
473105a7ba remove false detection of SEGV in CI 2021-12-30 21:51:25 +01:00
francescomani
562013fa32 Merge remote-tracking branch 'origin/develop' into NR_UE_Capabilities 2021-12-30 14:59:50 +01:00
francescomani
f3874a21ad some tentative fixes in config files 2021-12-30 14:45:09 +01:00
Laurent THOMAS
6be158b664 add gtp-u echo reply implementation, and ci trace improvement 2021-12-30 12:50:32 +01:00
francescomani
0d3ee346bf uecap file path from command line at UE 2021-12-30 12:17:11 +01:00
francescomani
6f38108635 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-12-30 10:58:37 +01:00
francescomani
f76aac6582 bugfix in setting ue tdd settings 2021-12-30 10:27:02 +01:00
Laurent THOMAS
5ead416cd0 remove volonatry process maximum life time of 600sec (episys?) 2021-12-28 16:58:23 +01:00
Laurent THOMAS
723e272e84 fix 4G ue release context cleaning 2021-12-28 15:50:55 +01:00
Laurent THOMAS
88a63e35bc fix un-initialized var 2021-12-28 12:07:48 +01:00
Laurent THOMAS
2d105be71e fix CU assert and bugs discovered after 2021-12-28 11:29:26 +01:00
francescomani
b4c78a9c5b fix compilation issues after merge 2021-12-28 11:05:52 +01:00
francescomani
3a78c66e00 add 256qam test case to dlsim 2021-12-28 10:40:19 +01:00
Robert Schmidt
aaf51e688b CI: add line number and function for logging in all NSA tests 2021-12-27 17:40:15 +01:00
Laurent THOMAS
61fb99c73f cleanup nr_band function 2021-12-27 17:21:10 +01:00
Laurent THOMAS
31d9da3f73 cleanup nr_band() function 2021-12-27 17:10:19 +01:00
Robert Schmidt
768f14a9da CI: more logging with time and no color codes 2021-12-27 16:33:57 +01:00
Robert Schmidt
850efd197c Fix: mark rach_ind PDUs as handled in L1 mode 2021-12-27 14:00:03 +01:00
Robert Schmidt
1ebcd1ed32 Print LOG time as uptime 2021-12-27 12:24:24 +01:00
Robert Schmidt
a54323bc8f CI: logging with time and no color codes 2021-12-27 12:17:56 +01:00
Laurent THOMAS
dc6a5d284c add more workaround with LOG_E() in UE ptrs 2021-12-27 11:42:06 +01:00
Laurent THOMAS
7019aa96d8 workaround bug in set_ptrs_symb_idx() + log of the error 2021-12-27 11:09:21 +01:00
Laurent THOMAS
799463994a merge NR_F1C_F1U_extensions 2021-12-27 10:32:53 +01:00
Robert Schmidt
ecd1574e3e fiif does not exist in bash 2021-12-26 23:59:23 +01:00
Robert Schmidt
206043e5ca Rename file to name expected in CI scripts 2021-12-26 23:46:38 +01:00
Laurent THOMAS
e83e70eeb0 perfect use of not initialized variable: random assert 2021-12-26 18:12:13 +01:00
Laurent THOMAS
97cfa995b0 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-12-26 17:05:22 +01:00
Laurent THOMAS
764ec5a234 improve log header 2021-12-26 15:44:10 +01:00
Robert Schmidt
d74180cabb Change obelix N300 IP addresses
We suspected a faulty N310 on obelix. It has been replaced with another
N300 with the same .10.2 addr, but the mgmt_addr changed to .18.16,
corrected in this commit.
2021-12-26 00:40:40 +01:00
francescomani
4f773ce594 some tentative fixes in config files 2021-12-26 00:40:32 +01:00
Laurent THOMAS
bd8c2013de fix typo 2021-12-25 12:29:02 +01:00
luis_pereira87
692c68e4be Fix and uniformization of indentation 2021-12-24 18:44:33 +00:00
luis_pereira87
bf0c694178 Cleanup config files where thread_pool_size is equal to the default value 2021-12-24 18:44:29 +00:00
luis_pereira87
4a17e1ec61 Fix and uniformization of indentation 2021-12-24 18:43:39 +00:00
luis_pereira87
ba3c2f59cd Cleanup config files where thread_pool_size is equal to the default value 2021-12-24 18:28:19 +00:00
luis_pereira87
c1bec3e5bd Rename pusch_proc_threads to thread_pool_size 2021-12-24 18:24:57 +00:00
luis_pereira87
daf8b950e1 Rename pusch_proc_threads to thread_pool_size 2021-12-24 18:20:17 +00:00
rmagueta
624b307355 Fix warnings after merge with develop 2021-12-24 17:21:55 +00:00
luis_pereira87
366e7bdb51 Merge remote-tracking branch 'origin/develop' into bler_txoptim
# Conflicts:
#	cmake_targets/CMakeLists.txt
#	openair1/PHY/CODING/crc_byte.c
#	openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim.c
#	openair1/PHY/CODING/nrLDPC_encoder/ldpc_encoder_optim8segmulti.c
#	openair1/PHY/NR_TRANSPORT/nr_dlsch.c
#	openair1/PHY/NR_TRANSPORT/nr_dlsch_coding.c
#	openair1/SIMULATION/NR_PHY/dlschsim.c
2021-12-24 17:07:40 +00:00
Laurent THOMAS
280533da10 merge develop 2021-12-24 16:23:51 +01:00
luis_pereira87
e1d88d6fc5 Change log level 2021-12-24 13:49:56 +00:00
luis_pereira87
799e52745f Adjust sync based on PSS improvements 2021-12-24 13:47:47 +00:00
Luis Pereira
29268d0a66 Revert "Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements"
This reverts commit 96554bef51
2021-12-24 13:12:30 +00:00
rmagueta
b7a27219ac Fix warnings after merge with develop 2021-12-24 12:24:35 +00:00
rmagueta
97962f4635 Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	common/utils/nr/nr_common.h
#	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
#	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
#	openair2/GNB_APP/gnb_paramdef.h
#	openair2/RRC/NR/rrc_gNB.c
#	openair2/RRC/NR/rrc_gNB_nsa.c
2021-12-24 11:53:25 +00:00
Robert Schmidt
b7141b0568 Suppress warning in RLC
Cedric is not sure whether this is a problem, suppress this for the time
being.
2021-12-24 12:07:28 +01:00
Robert Schmidt
3521b636d8 Restore original logging format 2021-12-24 12:00:42 +01:00
luis_pereira87
96554bef51 Merge remote-tracking branch 'origin/develop' into ue-phy-sync-improvements
# Conflicts:
#	openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c
#	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
2021-12-24 10:32:06 +00:00
luis_pereira87
22754562cf Adjust sync based on PSS 2021-12-24 10:26:52 +00:00
Robert Schmidt
6c823168fe Merge remote-tracking branch 'origin/episys-merge-nsa' into integration_2021_wk51_d 2021-12-24 10:13:27 +01:00
francescomani
2593a82147 Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2021-12-24 09:42:43 +01:00
francescomani
3aa0c8654d Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2021-12-24 09:33:51 +01:00
Robert Schmidt
f1c7cdd48c Merge remote-tracking branch 'origin/NR_F1C_F1U_extensions' into integration_2021_wk51_d 2021-12-24 09:03:46 +01:00
Remi Hardy
264e829922 [CI] fix SA test for 162prb config
-rename xml files for 162prb sa test 
-new sa 162prb conf file
2021-12-24 07:34:04 +00:00
hardy
6f57dd2e33 fix SA test for 162prb config 2021-12-24 08:27:16 +01:00
Laurent THOMAS
792b6b4e0b merge develop 2021-12-23 22:52:36 +01:00
Remi Hardy
e230fb502c integration_2021_wk51_c
MR !1300 : Tx proc optim
new optimizations of NR TX path to bring TX processing below 500us for up to 162 PRBs, 2x2 MIMO
-ldpc-encode and parallelization (L. Thomas)
-resource element mapping (SIMD + loop optimization for symbols with no PTRS or DMRS)
integration of Intel SIMD-based CRC computations, 24-bit A/B, (from github.com/intel/soft-crc)  

MR !1374 : oaiue x300  
updated CI files after connecting X300+N300 on eNB/OAIUE server 
prepared CI files for SA 60MHz BW

MR !1355 : NR RRC harmonization: TDA for DL and UL
Functions to automatically create TDA for DL and UL according to config file and TDD/FDD scenario. 
Accordingly, TDA configurations removed from config file.
(startin effort in harmonizing the RRC configuration)
2021-12-23 18:26:30 +00:00
luis_pereira87
f508d8c80d Improve frequency offset correction in two consecutive frames for SA 2021-12-23 17:14:46 +00:00
francescomani
25bd60a96a fixes in case of no uecap file found 2021-12-23 18:02:30 +01:00
francescomani
62e540e6e6 fix in case uecap is null 2021-12-23 14:47:41 +01:00
francescomani
a33457aa62 fix in allocation of mcs_table in bwp structure 2021-12-23 14:27:49 +01:00
hardy
478f67e47d fix type conversion for comparison operation 2021-12-23 11:58:21 +01:00
luis_pereira87
a2014a5249 Increase SSS phase hypothesis resolution 2021-12-23 10:36:58 +00:00
hardy
0b4d3d92a2 Merge remote-tracking branch 'origin/NR_RRC_configuration_functions' into integration_2021_wk51_c 2021-12-23 10:44:42 +01:00
luis_pereira87
b830090a5a Perform frequency offset correction in two consecutive frames for SA 2021-12-22 18:27:26 +00:00
francescomani
c713d499f4 bugfix 2021-12-22 17:40:08 +01:00
francescomani
9e8c0c97f7 Merge remote-tracking branch 'origin/develop' into NR_RRC_configuration_functions 2021-12-22 15:09:24 +01:00
rmagueta
ad37d8ae5f Change LOG levels 2021-12-22 13:26:52 +00:00
francescomani
a8d5595272 calling set mcs table function 2021-12-22 13:58:32 +01:00
hardy
f4ab24a5a5 Merge remote-tracking branch 'origin/ci_oaiue_x300' into integration_2021_wk51_b 2021-12-22 11:41:12 +01:00
francescomani
dfc5304967 passing UECAP structure to RRC reconfiguration functions 2021-12-22 10:43:08 +01:00
hardy
44fee9e124 update lte2x2 and nsa2x2 usrp addressing due to testbench change 2021-12-22 10:14:42 +01:00
francescomani
36ffa3ff6c Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2021-12-22 09:31:55 +01:00
francescomani
fc4a76a836 temporary increasing k2 for pusch 2021-12-21 18:14:04 +01:00
hardy
984338e991 update 2x2 tests with new iperf pass fail criteria 2021-12-21 16:29:04 +01:00
hardy
90f150a4a8 improve iperf pass fail checker 2021-12-21 16:12:37 +01:00
Melissa Elkadi
0ea0965a35 Modifying new changes from develop to exclude emulated L1 mode 2021-12-21 06:08:24 -08:00
Melissa Elkadi
e7ef264226 Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-12-21 06:02:40 -08:00
Melissa Elkadi
30c14c2f5a nFAPI bug fix. Not properly packing/unpacking PUCCH PDU 2021-12-21 05:51:25 -08:00
francescomani
ae29f64419 adapting function for dl 256 qam 2021-12-21 10:57:35 +01:00
francescomani
5e3e1e42a5 remove softmodem param for 256 qam 2021-12-20 16:31:49 +01:00
francescomani
d0b43673cd Merge remote-tracking branch 'origin/NR_UE_Capabilities' into NR_RRC_256QAM 2021-12-20 16:07:06 +01:00
francescomani
6947202c80 sched_pdcch not a pointer in structures 2021-12-20 15:53:53 +01:00
rmagueta
65ebd0a8a7 Merge remote-tracking branch 'origin/develop' into develop-SRS 2021-12-20 11:48:39 +00:00
rmagueta
91ec80e3bb Fix after merge 2021-12-20 11:41:56 +00:00
rmagueta
06ec8b597e Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
#	openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
2021-12-20 11:06:34 +00:00
francescomani
bc04d7209b some improvements from review 2021-12-20 11:54:57 +01:00
Raphael Defosseux
3ea34db9a7 fix(ci): build on the correct image tag
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-12-20 11:53:44 +01:00
Raphael Defosseux
a1dd7347a0 Merge remote-tracking branch 'origin/ci-fix-docker-build' into integration_2021_wk51_b 2021-12-20 10:41:32 +01:00
Raphael Defosseux
da0b480092 fix(docker): adding missing libs to run uhd_find_devices in RHEL8 containers
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-12-20 10:36:32 +01:00
Raphael Defosseux
bfd3a1264c fix(ci): remove intermediate build images
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-12-20 10:32:13 +01:00
Raphael Defosseux
38cb4554d0 fix(ci): proper value of RF 5G Sim conf file; remove useless define
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-12-20 10:09:14 +01:00
Laurent THOMAS
a5ca7c4bc6 merge develop 2021-12-20 09:55:18 +01:00
francescomani
510a9d15dd Merge remote-tracking branch 'origin/develop' into NR_UE_CSIRS_scheduling 2021-12-20 09:36:05 +01:00
Laurent THOMAS
d73ec04635 merge develop 2021-12-20 09:29:52 +01:00
francescomani
fcfcc6050b fix in ue capability size 2021-12-20 09:13:01 +01:00
Remi Hardy
b04731d756 integration_2021_wk51_a
MR !1352 : Build all targets in a single container before creating per-target containers 
Builds all per-target containers in three steps
-Base image with all dependencies installed (`ran-base`, was `ran-build`)
-Image with all targets compiled (`ran-build`, did not exist before)
-Copy

 
MR !1344 : Fix a race condition in UE where PUSCH could not be sent when UE sends PUCCH and PUSCH at the same slot  
-This MR fixes the race on ULSCH processing in UE where PUSCH is not sent occasionally when UE sends PUCCH and PUSCH at the same slot.

MR !1368 : \[CI\] improve Ping pass fail checkers
-count # lines with LLL
-ping checker if avgrtt value > target  

MR !1369 : \[CI\] git post (note) for scheduled test results
-write a note to MR, when test is completed (valid for 2x2 scheduled tests)
2021-12-19 19:32:55 +00:00
hardy
f355eb080c Merge remote-tracking branch 'origin/ci_test_res_per_mr_improve' into integration_2021_wk51_a 2021-12-19 14:26:57 +01:00
hardy
306172dcd7 Merge remote-tracking branch 'origin/ci_improve_pass_fail' into integration_2021_wk51_a 2021-12-19 14:26:15 +01:00
hardy
2baa297765 Merge remote-tracking branch 'origin/nr_pucch_pusch_sameslot' into integration_2021_wk51_a 2021-12-19 14:25:49 +01:00
hardy
9cda11721b Merge remote-tracking branch 'origin/ci_build_common_container_images' into integration_2021_wk51_a 2021-12-19 14:24:50 +01:00
Laurent THOMAS
3fde37a28d fix after merge and a ci bug (containers) 2021-12-17 21:57:00 +01:00
mjoang
619a2c7d3a fix compilation warning. 2021-12-17 14:44:14 -05:00
mjoang
43eb8e40ac enable running thread in parallel for RFSIM. 2021-12-17 14:09:00 -05:00
Laurent THOMAS
0f00e57148 merge develop 2021-12-17 16:29:53 +01:00
francescomani
9f87b9dd15 bugfix, thanks to Cedric 2021-12-17 12:03:44 +01:00
hardy
cd4208dfb9 updating SA tests 2021-12-17 11:02:23 +01:00
rmagueta
5567306d49 Memory allocation optimization 2021-12-17 09:53:44 +00:00
hardy
902c8d1ae3 update lte2x2 and nsa tests with new pass/fail criteria 2021-12-17 10:22:14 +01:00
hardy
16b2bfab89 updating checker for real time issue and ping rttavg 2021-12-17 09:49:58 +01:00
francescomani
64b7741c16 Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2021-12-17 09:18:17 +01:00
rmagueta
c2640db144 Fix memset that was deleting other variables 2021-12-16 20:22:06 +00:00
luis_pereira87
74ea4e5b5b Refactor name of two variables 2021-12-16 18:24:10 +00:00
luis_pereira87
13116299e7 Merge remote-tracking branch 'origin/develop-SRS' into develop-SRS
# Conflicts:
#	openair1/PHY/NR_ESTIMATION/nr_ul_channel_estimation.c
2021-12-16 17:44:36 +00:00
luis_pereira87
00904bc2a0 Real-time performance optimization 2021-12-16 17:43:31 +00:00
luis_pereira87
ebc33e4b3e Real-time performance optimization 2021-12-16 17:39:49 +00:00
luis_pereira87
6010aaeffc Add SRS resource allocation in fill_ul_rb_mask 2021-12-16 16:48:05 +00:00
francescomani
f3bf2cf2e7 Merge remote-tracking branch 'origin/develop' into NR_UE_Capabilities 2021-12-16 17:23:55 +01:00
Laurent THOMAS
e0776377c4 fix phy simulators with updated threads synchro 2021-12-16 17:18:50 +01:00
francescomani
220e568c81 xml file that works, thanks to Cedric 2021-12-16 17:18:20 +01:00
Laurent THOMAS
b2b3dd1331 gNBthread flow update 2021-12-16 12:59:17 +01:00
Laurent THOMAS
2ef4c61908 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into tx-thread-update 2021-12-16 12:48:36 +01:00
rmagueta
ec8ec353b6 Merge remote-tracking branch 'origin/develop' into develop-SRS 2021-12-16 10:10:53 +00:00
luis_pereira87
34342ce719 Merge remote-tracking branch 'origin/develop' into bler_txoptim 2021-12-16 09:36:57 +00:00
francescomani
842a4bbf40 Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2021-12-16 09:29:16 +01:00
Remi Hardy
ee3a256b8a integration_2021_wk50_a
MR !1354 : Fix msg4 segfault
- Fix segmentation fault that happens after an uplink failure timeout (gNB removes the UE) and when UE tries to use the same (old) RNTI.

MR !1347 : nr pdcp: introduce a thread to do pdcp_data_ind
- Before this commit, pdcp_data_ind is done in the realtime PHY/MAC thread, and this may have an impact on realtime performances.
- introduce a new thread to do the job, freeing the realtime PHY/MAC logic.

MR !1360 : Scope telnet fixes
-no need for form.h header in telnet 
-enable double buffering in scope 
-freeze gNB scope while updating graphs

MR !1363 : CI: a few fixes
-Increased some timeout 
-Added missing gNB log file from artifact
2021-12-16 08:22:20 +00:00
rmagueta
d2c6d66588 SRS Tracer improvements 2021-12-15 18:47:00 +00:00
rmagueta
8aac96062a Add UL time channel estimation based on SRS 2021-12-15 17:02:57 +00:00
hardy
17f30c07db remove 5 tentatives of nsa test 2021-12-15 16:09:50 +01:00
rmagueta
ecd09b3068 Change variable name 2021-12-15 14:39:31 +00:00
hardy
cf12f1ad4b addind xml test files for SA 60MHz 162PRB 2021-12-15 15:32:13 +01:00
hardy
6fb09151ea xml fix (html tabs) 2021-12-15 15:22:11 +01:00
rmagueta
d31db3dd7e Change variable name 2021-12-15 14:16:30 +00:00
hardy
9a5520f4c2 update trigger jenkinsfile to include oaiue x300 2021-12-15 15:14:36 +01:00
hardy
1b8f8731bb add x300 to OAIUE SA test 2021-12-15 15:06:28 +01:00
francescomani
bdf5d26b82 changing the name of a function 2021-12-15 08:44:53 +01:00
hardy
64216210d7 bugfix : use the instance attribute correctly 2021-12-15 08:02:01 +01:00
Melissa Elkadi
f32244136a Demoting more logs to log_D 2021-12-14 12:19:10 -08:00
rmagueta
096869e07f SRS tracer improvements 2021-12-14 20:11:41 +00:00
Melissa Elkadi
acb5db8ecd Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-12-14 12:03:04 -08:00
Melissa Elkadi
d61bcb2113 Demoting several PHY logs 2021-12-14 10:27:23 -08:00
rmagueta
351b74205b Increase SRS periodicity to get higher bitrate in NSA 2021-12-14 18:07:41 +00:00
rmagueta
edb6b9b422 Increase SRS periodicity to get higher bitrate 2021-12-14 18:00:55 +00:00
Melissa Elkadi
60e39af311 Updating min_txtxtime_pdsch and dl_harq_pid fix 2021-12-14 09:56:02 -08:00
francescomani
196c757293 workaround to avoid segfault (setting back dlsch length to 12 symbols) 2021-12-14 18:08:11 +01:00
francescomani
9ad38c421a removing tda from other config files 2021-12-14 17:48:09 +01:00
Laurent THOMAS
4106717a9c Merge branch 'tx-thread-update' of https://gitlab.eurecom.fr/oai/openairinterface5g into tx-thread-update 2021-12-14 17:35:40 +01:00
Laurent THOMAS
f3fb44f703 add sw graph 2021-12-14 17:35:19 +01:00
Thomas Laurent
f522cf2b4e Update SW_archi.md 2021-12-14 16:30:18 +00:00
Laurent THOMAS
b1b6c18624 add doc 2021-12-14 17:28:27 +01:00
rmagueta
9e2ab1a36a Delete min_rxtxtime_pdsch from config file gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf to get 0 errors in iperf with COTS 2021-12-14 13:57:45 +00:00
hardy
a315ffed2c fix when build is not a listed mr 2021-12-14 14:46:40 +01:00
hardy
97fa6e33b1 Merge remote-tracking branch 'origin/ci-little-fixes-dec-2021' into integration_2021_wk50_a 2021-12-14 14:23:01 +01:00
hardy
ef94dd39e0 Merge remote-tracking branch 'origin/scope-telnet-fixes' into integration_2021_wk50_a 2021-12-14 14:22:53 +01:00
hardy
31531cb19f Merge remote-tracking branch 'origin/nr-pdcp-data-ind-thread' into integration_2021_wk50_a 2021-12-14 14:22:43 +01:00
hardy
579cf1d966 Merge remote-tracking branch 'origin/Fix_Msg4_segfault' into integration_2021_wk50_a 2021-12-14 14:22:35 +01:00
Raphael Defosseux
0dce51b22e fix(ci): adding missing gNB log when running on multiple servers
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-12-14 13:57:58 +01:00
Raphael Defosseux
aa772c806b fix(ci): increased a few command timeouts for RF sim failure cases
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-12-14 13:55:24 +01:00
Laurent THOMAS
c33c8aa836 merge develop, some minor code review updates 2021-12-14 12:52:22 +01:00
Laurent THOMAS
0977b3f711 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into tx-thread-update 2021-12-14 12:49:54 +01:00
luis_pereira87
a3cb841b6f Add config file for 162PRBs (60MHz BW) 2021-12-14 09:54:14 +00:00
luis_pereira87
c4b2271f71 Merge remote-tracking branch 'origin/Fix_Msg4_segfault' into bler_txoptim 2021-12-14 09:16:01 +00:00
francescomani
9f9fdb95eb fix in config file 2021-12-13 16:12:10 +01:00
francescomani
5e52210f5d Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2021-12-13 15:52:53 +01:00
francescomani
29599ab91f fixes for FDD 2021-12-13 15:52:46 +01:00
francescomani
81bd1d0034 Merge remote-tracking branch 'origin/develop' into NR_RRC_configuration_functions 2021-12-13 15:12:37 +01:00
Cedric Roux
d67b46a1a5 nr pdcp: introduce a thread to do pdcp_data_ind
Before this commit, pdcp_data_ind is done in the realtime PHY/MAC
thread, and this may have an impact on realtime performances.

Let's introduce a new thread to do the job, freeing the realtime
PHY/MAC logic.

This is not a minor change. It may have positive and/or negative
effects. To be tested carefully.
2021-12-13 15:00:45 +01:00
luis_pereira87
d667a4df97 Merge remote-tracking branch 'origin/develop' into bler_txoptim
# Conflicts:
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2021-12-13 13:14:23 +00:00
rmagueta
b4e108e46c Code formatting improvements 2021-12-13 13:09:13 +00:00
rmagueta
cb1cc0a243 Merge remote-tracking branch 'origin/develop-SRS' into develop-SRS-Tracer 2021-12-13 11:33:50 +00:00
rmagueta
1341646ba4 Call on_off for GNB_PHY_UL_CHANNEL_ESTIMATE 2021-12-13 11:33:31 +00:00
rmagueta
1dfb9b07ce Merge remote-tracking branch 'origin/develop' into develop-SRS 2021-12-13 11:15:44 +00:00
rmagueta
a2842e953d Add GNB_PHY_UL_CHANNEL_ESTIMATE for Tracer 2021-12-13 10:58:57 +00:00
Remi Hardy
e19460a9d1 integration_2021_wk49_b
MR !1333: Docker: reduce the number of layers in target images. 
 
MR !1345: small fixes for nr rlc
-trigger status report when t-reassembly expires
-reduce "buffer full" log
2021-12-13 06:44:37 +00:00
rmagueta
2ad5045efe Tracer for UL estimated channel based on SRS 2021-12-10 20:02:39 +00:00
francescomani
0f48386133 improvements in handling tdd structure 2021-12-10 17:44:46 +01:00
rmagueta
74e962653b Add OAI logo and prev/next UE buttons 2021-12-10 15:40:02 +00:00
Eurecom
cfbced8b5f Remove wrong abort call for the case of affinity!= -1 2021-12-10 13:18:58 +01:00
Laurent THOMAS
d2171abc62 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into tx-thread-update 2021-12-10 11:29:28 +01:00
francescomani
38326c280f bugfix in dci reception for UL at UE 2021-12-10 10:35:03 +01:00
francescomani
4d689e8073 another attempt to fix phy simulators 2021-12-10 09:37:10 +01:00
Melissa Elkadi
f028f8e209 Added new conf file for NR UE 2021-12-09 10:45:58 -08:00
rmagueta
0f62e37e22 Add do_SRS parameter also for NSA 2021-12-09 17:39:39 +00:00
rmagueta
6fa17e2d29 Add do_SRS parameter in some config files 2021-12-09 16:59:57 +00:00
rmagueta
80853a0f6f Create do_SRS parameter to enable the periodic SRS 2021-12-09 16:54:16 +00:00
Laurent THOMAS
64c7e41d07 fix one more bug in #if for carryless mul 2021-12-09 16:58:03 +01:00
rmagueta
39eb4ded16 Add min_rxtxtime_pdsch in some config files 2021-12-09 15:50:57 +00:00
Laurent THOMAS
3751b14972 fix bug #if versus #ifdef 2021-12-09 16:46:01 +01:00
Laurent THOMAS
301a008cef change runtime to compilation time detection of carryless mul 2021-12-09 16:08:34 +01:00
Robert Schmidt
917d9a7a58 Freeze gNB scope form before making updates 2021-12-09 15:35:08 +01:00
Robert Schmidt
ac11642451 Enable double buffering in NR scope 2021-12-09 15:29:50 +01:00
Robert Schmidt
dc294a8b63 Drop unneeded form.h include from telnet 2021-12-09 15:29:37 +01:00
francescomani
d93cc63a1e fix for phy-simulators 2021-12-09 14:58:32 +01:00
hardy
465c1f4747 change git post appearance 2021-12-09 14:26:43 +01:00
francescomani
20c30c46b0 Merge remote-tracking branch 'origin/develop' into NR_pdcch_improvements 2021-12-09 13:28:19 +01:00
francescomani
d6dedc1f49 handling multiple pdcch pdu at fapi and phy 2021-12-09 13:14:19 +01:00
Robert Schmidt
28da113c0f Clean up RHEL 8.2 docker files 2021-12-09 12:12:35 +01:00
Robert Schmidt
bf11d345c9 Clean up of Ubuntu 18 Docker files 2021-12-09 12:12:35 +01:00
Robert Schmidt
11727f9d6a Docker documentation update 2021-12-09 12:12:35 +01:00
Robert Schmidt
42c2fe5b75 CI: build intermediary compilation image
Change the python script such that we first build the ran-base image
(renamed from ran-build, as it does not build anything), followed by the
ran-build image compiling all dependencies, and the generate the
independent target container images.
2021-12-09 12:12:35 +01:00
francescomani
a8a431b955 fix for fr2 msg3 2021-12-09 10:37:22 +01:00
mjoang
ae5b65efa7 handle the boundary case when tx_req_body->pdu_length > 0 2021-12-08 22:27:46 -05:00
hardy
3166289ef5 add dbhost conditional statement for test results 2021-12-08 20:27:47 +01:00
hardy
f2f2f6e13f improve post to git 2021-12-08 19:35:06 +01:00
hardy
4cebb0e229 fix incorrect variable name 2021-12-08 18:23:22 +01:00
hardy
953029ac5c improve test results post to git 2021-12-08 17:16:56 +01:00
Robert Schmidt
cffa73bf45 RHEL8.2 dockerfiles: create intermediary build image
This commit creates an intermediary build image for all eNB, gNB, UE,
nrUE, RU targets (ran-build) after the image containing all RAN
compilation dependencies (ran-base). Then, the corresponding target
container images are just copied from the ran-build.

The only exception is phySim, which is still compiled independently, as
the build_oai would otherwise put all compiled files into
phy_simulators/build instead of ran_build/build. We do this at this
state to avoid any inconsistencies.
2021-12-08 17:03:41 +01:00
Robert Schmidt
48493ed125 Ubuntu18 dockerfiles: create intermediary build image
This commit creates an intermediary build image for all eNB, gNB, UE,
nrUE, RU targets (ran-build) after the image containing all RAN
compilation dependencies (ran-base). Then, the corresponding target
container images are just copied from the ran-build.
2021-12-08 17:02:09 +01:00
Laurent Thomas
8ab33355ed Clean up build_oai and CMakeLists.txt
- Remove useless RU and PHYSIM variables
- provide function to trigger ASN.1 file generation
2021-12-08 16:51:49 +01:00
Laurent THOMAS
951d1242d7 remove async ru_tx_func and simplify 2021-12-08 16:40:46 +01:00
hardy
5109fc66d6 disable OAIUE B200 for the moment 2021-12-08 15:14:52 +01:00
hardy
f691b8a517 Merge remote-tracking branch 'origin/nr-rlc-small-fixes' into integration_2021_wk49_b 2021-12-08 14:58:59 +01:00
hardy
8e31d4ca90 Merge remote-tracking branch 'origin/docker-2021-nov-improvements' into integration_2021_wk49_b 2021-12-08 14:58:17 +01:00
Melissa Elkadi
932f8b385f Reverting changes to ue_test_sfr (SIM) conf file for NSA mode 2021-12-08 05:38:29 -08:00
luis_pereira87
158c309cbc Add some comments on the code and update documentation 2021-12-08 12:21:20 +00:00
francescomani
72b0fac74a Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-12-08 12:09:52 +01:00
francescomani
c0a3855b3f fix for RA in assertion and config file merge issue 2021-12-08 10:21:28 +01:00
hardy
c3d63606a6 fix resource lock syntax 2021-12-08 09:19:39 +01:00
hardy
8325c36c50 fix bug in aws link to test results 2021-12-08 09:11:46 +01:00
hardy
08affe9712 update jenkinsfile for lockable resource3 2021-12-08 09:04:55 +01:00
hardy
bc6a4b92dc change agent for boto3 2021-12-08 09:04:55 +01:00
hardy
e462d321c9 test result per MR + post to git 2021-12-07 21:50:28 +01:00
luis_pereira87
e0944aa24b Fix Msg4 segmentation fault when UE_id is invalid and reset ul_failure when UE reconnects using C-RNTI 2021-12-07 11:40:24 +00:00
Cedric Roux
a764c7c932 nr rlc: trigger status report when t-reassembly expires
and update tests that fail because of the new logic
2021-12-07 11:46:18 +01:00
Cedric Roux
f64d2c58cb nr rlc: reduce "buffer full" log 2021-12-07 11:46:18 +01:00
rmagueta
ce967780e1 Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2021-12-07 10:07:02 +00:00
Luis Pereira
1c4549aa1e Revert "Schedule PUCCH even when ul_failure, otherwise COTS UE cannot use Msg3 to transfer DCCH messages"
This reverts commit c9007ee7be
2021-12-07 09:08:36 +00:00
francescomani
7e1ebc3653 Merge remote-tracking branch 'origin/develop' into nr-fdd-scheduling 2021-12-07 10:07:40 +01:00
francescomani
8138ad486e include indication of min_rxtxtime in UE assertions 2021-12-07 09:44:33 +01:00
francescomani
018ac0616b Merge remote-tracking branch 'origin/develop' into NR_RRC_configuration_functions 2021-12-07 09:27:27 +01:00
francescomani
0421171de0 Merge remote-tracking branch 'origin/develop' into NR_UE_CSIRS_scheduling 2021-12-07 09:23:42 +01:00
Melissa Elkadi
118bd8b36f Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-12-06 13:23:21 -08:00
luis_pereira87
c9007ee7be Schedule PUCCH even when ul_failure, otherwise COTS UE cannot use Msg3 to transfer DCCH messages 2021-12-06 21:11:52 +00:00
luis_pereira87
d4e3118375 Merge remote-tracking branch 'origin/develop' into Fix_Msg4_segfault 2021-12-06 20:39:17 +00:00
Laurent THOMAS
9f81391642 remove a dead line of code, to re(trigger CI, seems last run failed 2021-12-06 21:27:38 +01:00
Remi Hardy
142451e741 integration_2021_wk49_a
MR !1336 : Handle Msg3 carrying a DCCH or DTCH message
This MR implements the procedures for gNB to handle a Msg3 carrying a DCCH or DTCH message. 
For example, when a new RA happens and the UE is already known by the network.

MR !1337 : Fix build warning
Fix a build warning in develop related with a comparison between ‘X2AP_ResetRequest_IEs__value_PR’ {aka ‘enum X2AP_ResetRequest_IEs__value_PR’} and ‘enum X2AP_Cause_PR’

MR !1330 : nr rlc: speedup buffer status computation
TX and ReTX should be faster now (for RLC AM, UM and TM).
RLC AM Status (function nr_rlc_entity_am.c:status_size()) was not modified, so its CPU usage is the same as before

MR !1276 : NR ACKNACK improvements
This MR improves acknack_scheduling, includes in config file min delay for acknack feedback and fixes bugs in acknack procedures at UE
2021-12-06 20:10:57 +00:00
luis_pereira87
27c68b2b60 Fix Msg4 segmentation fault when UE_id is invalid 2021-12-06 16:40:45 +00:00
luis_pereira87
a12ff84c8d Merge remote-tracking branch 'origin/handling-Msg4-Ack-failure' into Fix_Msg4_segfault 2021-12-06 16:39:14 +00:00
hardy
d51b2f3a1d missing sa oaiue n310 test xml 2021-12-06 16:37:42 +01:00
hardy
4ef2f3be52 missing sa oaiue n310 test xml 2021-12-06 16:35:59 +01:00
hardy
a3e0f32f00 adding SA OAIUE N310 to test suite and dashboard 2021-12-06 15:13:47 +01:00
hardy
fb3680107e remove thread-pool for gnb + oai ue test update 2021-12-06 15:01:40 +01:00
francescomani
82dc3430f7 function for bitmap from start symbol and length 2021-12-06 11:20:51 +01:00
Sakthivel Velumani
348c4ed36f Changing a log msg to debug 2021-12-05 20:26:24 +05:30
Sakthivel Velumani
1af5a89dd1 Removed active waiting loop
which could block threads. Instead used a separate thread to reorder the finished the job messages
2021-12-05 17:48:32 +05:30
francescomani
a7d72715cf addressing review comments and some other changes 2021-12-04 17:09:55 +01:00
francescomani
5f0a9fba89 reworking handling pdcch at mac, including support for multiple pdcch pdu 2021-12-04 15:49:33 +01:00
rmagueta
5301e0a110 Fix SRS mapping above PRB 53 to work with COTS 2021-12-04 13:58:57 +00:00
hardy
04af3780bc fix link to jenkins job in dashboard config file 2021-12-04 09:50:59 +01:00
hardy
1ff2dc9de0 fix jenkins job name in dashboard config, so that it can be properly retrieved 2021-12-04 09:35:32 +01:00
rmagueta
a41b131f21 Fix first SRS reception at gNB 2021-12-03 18:07:33 +00:00
hardy
c458577a88 fix typo in epc undeploy (deleted char) 2021-12-03 17:39:06 +01:00
hardy
cc39ff6a03 fix OAI UE test description 2021-12-03 17:32:27 +01:00
hardy
574a3fe3bd Merge remote-tracking branch 'origin/ci_update_triggered_test_suite' into integration_2021_wk49_a 2021-12-03 17:24:51 +01:00
hardy
dcce1b51f2 Merge remote-tracking branch 'origin/ci_sa_oaiue_test' into integration_2021_wk49_a 2021-12-03 17:24:25 +01:00
hardy
06dbe47364 Merge remote-tracking branch 'origin/NR_UE_acknack' into integration_2021_wk49_a 2021-12-03 17:23:33 +01:00
rmagueta
75057be8ef Add missing configuration for NSA 2021-12-03 16:17:20 +00:00
mjoang
1dc78a8a98 remove unused structure per review request. 2021-12-03 11:08:12 -05:00
luis_pereira87
222ff5c11d Fix segmentation fault when exporting packets to wireshark with high MCS 2021-12-03 15:12:09 +00:00
Laurent Thomas
1d08851c30 code review comment, compile error 2021-12-03 15:35:30 +01:00
Melissa Elkadi
fd2f61debc Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-12-03 05:44:34 -08:00
Raphael Defosseux
b2d440645f perf(docker): limiting the number of layers on target images
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-12-03 09:24:33 +01:00
hardy
f93c975ba0 updating test suite + dashboard for new OAIUE test 2021-12-03 08:24:30 +01:00
Laurent Thomas
f70e38737b merge develop and fix CI cross compilation issue 2021-12-02 14:43:28 +01:00
Laurent Thomas
1f1f85c7bc Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into tx-proc-optim 2021-12-02 14:17:49 +01:00
Laurent Thomas
6080e4154a merge develop 2021-12-02 14:14:18 +01:00
matzakos
1da693dd78 Merge remote-tracking branch 'origin/develop' into NR_F1C_F1U_extensions 2021-12-02 13:54:08 +01:00
Laurent Thomas
13d6147e03 fix code review and cross compilation issue 2021-12-02 13:31:15 +01:00
rmagueta
4b79dbc377 Merge remote-tracking branch 'origin/develop' into develop-SRS 2021-12-02 11:01:19 +00:00
rmagueta
e013208451 Remove temporary xer_fprint 2021-12-02 11:01:01 +00:00
francescomani
3d10b9fc41 symbol-wise vrb map occupation for dl 2021-12-02 10:08:55 +01:00
francescomani
b765b02129 Merge remote-tracking branch 'origin/develop' into NR_UE_acknack 2021-12-02 09:23:27 +01:00
hardy
3dac845c56 update PUSCH decoding RT reference 2021-12-02 08:31:01 +01:00
hardy
0a6c2e187b Merge remote-tracking branch 'origin/speedup-nr-rlc-buffer-status' into integration_2021_wk49_a 2021-12-02 08:28:46 +01:00
hardy
1e343f6052 Merge remote-tracking branch 'origin/handling-Msg4-Ack-failure' into integration_2021_wk49_a 2021-12-02 08:28:21 +01:00
hardy
20649abc11 Merge remote-tracking branch 'origin/develop-fix-build-warning' into integration_2021_wk49_a 2021-12-02 08:27:56 +01:00
Remi Hardy
0ac69fb164 integration_2021_wk48
branch : integration_2021_wk48_d

MR !1308 : Nr add ue improvements-

MR !1310 : parallelization of LDPC decoding on UE side
-fixes the issue of parallelization of LDPC decoding on UE side

MR !1331 : T tracer: trace MAC DL retransmission PDUs in the gnb
-trace MAC DL retransmission PDUs in the gnb
-adapt macpdu2wireshark to deal with them

MR !1306 : fix for harq value in fapi indication according to scf
-We were using harq value in the wrong way. According to SCF it is 0 for pass and 1 for fail


CI fixes : 
proper way to address B200 serial number for eNB/gNB
missing library when running uhd_find_devices in container
2021-12-02 07:09:13 +00:00
rmagueta
3d00d78af8 Power noise estimation based on SRS 2021-12-02 01:30:06 +00:00
Laurent Thomas
242828dd29 hardcode instruction set usage: Carry-less Multiplication on intel/AMD 2021-12-01 15:59:16 +01:00
hardy
d5c379380c fix syntax for gnb docker compose options 2021-12-01 15:53:55 +01:00
rmagueta
340508ffe0 Extension of the channel interpolation implementation for the case NR_SRS_Resource__transmissionComb_PR_n4 2021-12-01 14:43:04 +00:00
hardy
9ad85b4fe9 pusch_proc_thread = 4 for SA 2021-12-01 12:52:06 +01:00
Raphael Defosseux
714ae2bd9a fix(ci): CI runs won't leave commands in CI servers' history
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-12-01 12:48:23 +01:00
hardy
498be51358 Merge remote-tracking branch 'origin/ci-fix-proper-way-to-address-serial-number' into integration_2021_wk48_d 2021-12-01 12:35:32 +01:00
hardy
8757c17d9c Merge remote-tracking branch 'origin/Fix_harq_value_scf' into integration_2021_wk48_d 2021-12-01 12:32:38 +01:00
hardy
94702d9e60 Merge remote-tracking branch 'origin/t-tracer-retx-dl' into integration_2021_wk48_d 2021-12-01 12:32:11 +01:00
hardy
4be0407bd9 Merge remote-tracking branch 'origin/nr_ldpc_dlsch_decoding_parallel' into integration_2021_wk48_d 2021-12-01 12:31:50 +01:00
hardy
6a5208ad33 Merge remote-tracking branch 'origin/NR_add_ue_improvements' into integration_2021_wk48_d 2021-12-01 12:31:32 +01:00
hardy
3f278d6f81 remove --dlsch-parallel 2021-12-01 12:30:53 +01:00
Raphael Defosseux
dc39157fb4 fix(build): removing the march=native option for portability
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-12-01 12:27:25 +01:00
rmagueta
d7af1269b7 Fix LOG 2021-12-01 11:13:45 +00:00
rmagueta
dbba6c6518 Perform channel interpolation for SRS at gNB 2021-12-01 01:50:58 +00:00
rmagueta
3a983dbf9c LS channel estimation based on SRS at gNB 2021-11-30 18:24:51 +00:00
Raphael Defosseux
28c78852ec fix(ci): missing library when running uhd_find_devices in container
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-30 11:56:18 +01:00
francescomani
99250c9524 fix for Y 2021-11-30 09:27:07 +01:00
Melissa Elkadi
3fac8bd2e1 Merge branch 'episys/master-nsa' into eurecom-episys-merge-nsa 2021-11-29 14:40:21 -08:00
Melissa Elkadi
4f9c2bd869 Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-11-29 14:33:23 -08:00
Melissa Elkadi
67df305219 Merge branch 'eurecom-develop' into episys/master-nsa 2021-11-29 10:59:20 -08:00
rmagueta
0ae0c9ac56 Do not perform ULSCH scheduling on slots where there is SRS scheduling 2021-11-29 17:37:50 +00:00
Melissa
85047dd70c Merge branch 'episys/master-nsa-LOG_A' into 'episys/master-nsa'
Change some LOG_I's to LOG_A's

See merge request aburger/openairinterface5g!88
2021-11-29 17:12:55 +00:00
francescomani
df9e492d02 removing bwp from pdcch_pdu_idx and cce_list 2021-11-29 16:39:05 +01:00
mjoang
31f12b62e0 fix the race condition in UE where PUSCH could not be sent when UE sends PUCCH and PUSCH at the same slot. 2021-11-29 10:15:02 -05:00
Raphael Defosseux
f001b0ac20 fix(ci): proper way to address B200 serial number for eNB/gNB
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-29 11:32:10 +01:00
francescomani
9a863691a2 Merge remote-tracking branch 'origin/develop' into NR_RRC_configuration_functions 2021-11-29 09:47:27 +01:00
francescomani
4a26745919 Merge remote-tracking branch 'origin/develop' into NR_UE_CSIRS_scheduling 2021-11-29 09:34:57 +01:00
francescomani
eb61034de1 fix in msg3 tbs 2021-11-28 17:07:40 +01:00
francescomani
90fb3282f9 fix in dmrs config type at ue 2021-11-28 14:50:09 +01:00
hardy
9ea6f5716d tentative to fix 2x b200 plugged on the same server 2021-11-28 10:00:05 +01:00
Raphael Defosseux
e46737e7e7 fix(ci): CI runs won't leave commands in CI servers' history
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-28 09:59:58 +01:00
rmagueta
ed38681ab5 gNB schedules different SRS resources for different UEs 2021-11-28 02:00:53 +00:00
rmagueta
fff3477811 Fix SRS mapping at UE 2021-11-28 01:18:44 +00:00
rmagueta
a9d474193b Fix BWP start in SRS 2021-11-26 18:28:35 +00:00
rmagueta
3259303690 Add gNB support for multiple UEs for SRS on PHY 2021-11-26 18:03:56 +00:00
Michael Cook
589033f4b4 Change some LOG_I's to LOG_A's
Our proxy_testscript.py expects these specific log messages to be
logged as LOG_A
2021-11-26 09:16:38 -08:00
hardy
e8227e162b some delay to let oaiue stabilize 2021-11-26 18:10:58 +01:00
hardy
be3d5da14e fix bugs 2021-11-26 16:59:41 +01:00
Raphael Defosseux
47f11f079e fix(ci): waiver for intel new files; removed one since it's a duplicate
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-26 15:31:42 +01:00
Raphael Defosseux
37cc53cffc fix(ci): wrong image tag to deploy CU/DU containers
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-26 12:15:07 +01:00
hardy
5d66f8cf9c oaiue runs from ran_build/build 2021-11-26 11:47:23 +01:00
francescomani
fa2ce6e680 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-11-26 11:34:22 +01:00
luis_pereira87
c8ed1a21a2 Minor cosmetic improvements 2021-11-26 09:38:57 +00:00
luis_pereira87
b9ecbbc677 Improve if condition when msg3_dcch_dtch 2021-11-26 09:22:16 +00:00
hardy
311af7788b ue conf file into repo 2021-11-25 21:23:59 +01:00
hardy
98cd63e0dc fix ue air interface 2021-11-25 20:57:43 +01:00
hardy
8cc639f8a9 new xml for sa + oaiue test 2021-11-25 20:31:59 +01:00
Raymond Knopp
853257b52c nothing. just to trigger CI 2021-11-25 18:13:26 +01:00
luis_pereira87
cf1349266d Delete a duplicate "remove" of retrans_dl_harq 2021-11-25 16:24:37 +00:00
luis_pereira87
a4f3ec5b0f Fix CI regex due to a rnti format changed in log 2021-11-25 15:49:04 +00:00
Cedric Roux
d4c4fdf7f3 T tracer: add harq pid in nr ul/dl/dl retx traces 2021-11-25 15:59:40 +01:00
Laurent THOMAS
1d0abb9077 merge develop, fix a existing memory overlap 2021-11-25 15:53:04 +01:00
rmagueta
b26fc6e1d6 Fix build warning 2021-11-25 14:06:21 +00:00
francescomani
b9dd8d3f28 function for rrc ul tda (removed from config files) 2021-11-25 14:44:22 +01:00
Laurent THOMAS
4876c7a33d fix bug in WORKER_DISABLE 2021-11-25 14:06:08 +01:00
luis_pereira87
d0861b6dfd Merge remote-tracking branch 'origin/develop' into handling-Msg4-Ack-failure 2021-11-25 12:46:05 +00:00
rmagueta
6847a1969b Fix build warning 2021-11-25 11:54:05 +00:00
Raymond Knopp
6c2146f8d0 Merge remote-tracking branch 'origin/develop' into tx-proc-optim 2021-11-25 12:23:44 +01:00
rmagueta
fbc45b3571 Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	nfapi/open-nFAPI/nfapi/src/nfapi_p7.c
2021-11-25 11:09:20 +00:00
rmagueta
03393ddc89 Minor fixes for multiple antennas scenario 2021-11-25 11:01:54 +00:00
Cedric Roux
1495a6b01f nr rlc: speedup buffer status computation
TX and ReTX should be faster now (for RLC AM, UM and TM).

RLC AM Status (function nr_rlc_entity_am.c:status_size()) was not modified,
so its CPU usage is the same as before. (It's more complicated to change
than for TX and ReTX.)
2021-11-25 11:27:49 +01:00
Cedric Roux
b65b0e2eaf T tracer: trace MAC DL retransmission PDUs in the gnb
and adapt macpdu2wireshark to deal with them
2021-11-25 11:27:17 +01:00
Remi Hardy
a9c03e32bf integration_2021_wk47_b
MR !1318 : Remove ratematching assertion
- Using LOG_E and returning instead of assertion in case of error in rate matching function

MR !1281 : open-nFAPI: Remove carriage returns
- Remove the problematic carriage returns from three nfapi source files.

MR !1203 : addition of AW2S OAIORI interface
- addition of AW2S OAIORI interface, -w AW2SORI target added to build_oai and generation of libthirdparty_transpro.so build rules in CMakelists.txt

MR !1323 : NR RSRP report fix
- Some fixes in handling RSRP report, including print on screen of average RSRP

MR !1324 : NR SA MSG4 rtx bugfix


CI HSS fix : sometimes the HSS is not properly stopped. Making sure it is killed before starting it again

CI Physim logs fix : retrieve the physim logs in the pods and make them available for artifact 

CI USRP B200 fix : selecting the B200 by its serial number in the test scenarios
2021-11-25 09:46:23 +00:00
Mario Joa-Ng
d47f127602 fix the problem in nr_dlschsim where init_dlsch_tpool() is missing. 2021-11-24 15:10:20 -05:00
Raphael Defosseux
89c7250546 Merge remote-tracking branch 'origin/ci-fix-physim-cluster-log' into integration_2021_wk47_b 2021-11-24 20:49:33 +01:00
Raphael Defosseux
09f84bde73 fix(ci): forcing usage of one USRP B200 in scenarios
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-24 20:46:43 +01:00
Raphael Defosseux
f210392ffb fix(ci): retrieve the physim logs in the pods and make them available for artifact
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-24 20:33:05 +01:00
luis_pereira87
b00c4f3674 Handle Msg3 carrying a DCCH or DTCH message 2021-11-24 17:52:30 +00:00
Melissa Elkadi
df72429b04 Merge branch 'eurecom-episys-merge-nsa' into episys/master-nsa 2021-11-24 08:54:14 -08:00
francescomani
83e1b2f850 function for rrc dl tda (removed from config files) 2021-11-24 13:44:18 +01:00
Francesco Mani
ff4a26373a code review 2021-11-24 09:37:18 +00:00
Raphael Defosseux
3d5610f5e1 fix(ci): sometimes the HSS is not properly stopped. Making sure it is killed before starting it again
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-24 09:45:41 +01:00
hardy
53692ff57a Merge remote-tracking branch 'origin/nfapi-carriage-returns' into integration_2021_wk47_b 2021-11-24 09:43:12 +01:00
hardy
dc4d243b6c Merge remote-tracking branch 'origin/develop-aw2sori' into integration_2021_wk47_b 2021-11-24 09:42:56 +01:00
hardy
bde67173d5 Merge remote-tracking branch 'origin/NR_rsrp_meas_report_fix' into integration_2021_wk47_b 2021-11-24 09:42:36 +01:00
hardy
adcccec0cb Merge remote-tracking branch 'origin/NR_msg4_rtx_fix' into integration_2021_wk47_b 2021-11-24 09:42:23 +01:00
hardy
49f1fc368e Merge remote-tracking branch 'origin/remove_ratematching_assertion' into integration_2021_wk47_b 2021-11-24 09:42:08 +01:00
Melissa Elkadi
92ef60d07f This commit does the following:
1. Reverts GTPU_need_ITTI back to develop
2. Removed gdb helper and co files
3. Reverts changes to logging mechanism
4. Reverts changes to assert that were unnecessary
5. Reverts changes to VNF that occured from a bad merge
6. Removes unnecessary else() in gNB softmodem
2021-11-23 15:49:47 -08:00
Melissa
ba5fa308e2 Merge branch 'episys/david/multi_ue_sa' into 'episys/master-nsa'
Updated for multiple UEs CBRA procedure.

See merge request aburger/openairinterface5g!86
2021-11-23 22:32:07 +00:00
Melissa Elkadi
d7b23238da Removing unnecessary filtering in NRUE MAC layer 2021-11-23 14:12:45 -08:00
Melissa Elkadi
cf9686f787 Setting ctxt by mod_id instead of instance in gNB
This change allows multiple UEs to have a tunnel interface
brought up when connecting to the 5GCN

Also, adding two new config files for mutltiple UEs
to connect to the 5GCN
2021-11-23 14:01:20 -08:00
Melissa Elkadi
dd891537a7 Checking for pointers to be NULL before allocating memory 2021-11-23 12:37:22 -08:00
rmagueta
b3e5b83b8b Fix build warning 2021-11-23 19:17:13 +00:00
rmagueta
71c64e023d Merge remote-tracking branch 'origin/develop' into develop-SRS 2021-11-23 19:02:33 +00:00
rmagueta
01a260f1f9 gNB is receiving the SRS signal 2021-11-23 18:55:29 +00:00
rmagueta
37950f470b Fix in nfapi_nr_srs_pdu_t 2021-11-23 16:51:03 +00:00
Melissa Elkadi
efdd06584f Merge branch 'episys/master-nsa' into episys/david/multi_ue_sa 2021-11-23 08:13:18 -08:00
Melissa Elkadi
94d146e80b Renaming queue.h in PHY_INTERFACE layer to queue_t.h
There are two queue.h files in this repository.
2021-11-23 08:05:58 -08:00
Melissa Elkadi
97eda100c7 Removed logic around CALLOCs
When we check if the pointer is NULL before CALLOCing,
then the gNB will crash. It seems that we are mostlikely
leaking memeory since the gNB only crashes with the old
change. By reverting these changes, the gNB does not crash.
We are seeing UE-to-UE IP traffic on this commit when
the tunnel interfaces are established (~50% of the time).
2021-11-23 07:33:31 -08:00
Melissa Elkadi
8688f8ad83 Merge branch 'episys/master-nsa' into episys/david/multi_ue_sa 2021-11-23 06:47:37 -08:00
Melissa Elkadi
8e18afec55 Merge branch 'episys/master-nsa' into eurecom-episys-merge-nsa 2021-11-23 06:25:07 -08:00
Melissa Elkadi
c08b0c2b56 Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-11-23 06:24:33 -08:00
luis_pereira87
9fc0da267a Fix build warnings 2021-11-23 12:26:25 +00:00
luis_pereira87
6f27e74e82 Merge remote-tracking branch 'origin/develop' into bler_txoptim 2021-11-23 11:34:56 +00:00
Cedric Roux
2fb5ec3a5f T tracer: trace MAC DL retransmission PDUs in the gnb
and adapt macpdu2wireshark to deal with them
2021-11-23 11:28:20 +00:00
luis_pereira87
b8e81a15fd Revert "Add T support for GNB_MAC_RETRANSMISSION_DL_PDU_WITH_DATA"
This reverts commit 0b88c16427.
2021-11-23 11:26:08 +00:00
luis_pereira87
d33315db3f Merge remote-tracking branch 'origin/develop' into handling-Msg4-Ack-failure 2021-11-23 11:17:50 +00:00
francescomani
a3e921ca55 Merge remote-tracking branch 'origin/develop' into NR_rsrp_meas_report_fix 2021-11-23 11:19:57 +01:00
francescomani
58cc35c97c function to create dl harq lists 2021-11-23 10:55:13 +01:00
francescomani
caaaba51c1 code review 2021-11-23 09:58:23 +01:00
Melissa Elkadi
23582a4483 Adding more error checking 2021-11-22 16:31:47 -08:00
Melissa Elkadi
eaa5782579 Merge branch 'episys/master-nsa' into episys/david/multi_ue_sa 2021-11-22 14:29:58 -08:00
Melissa
543570a1ac Merge branch 'episys/5gcn_traffic_testing' into 'episys/master-nsa'
5G IP Traffic for SA mode

See merge request aburger/openairinterface5g!85
2021-11-22 22:29:08 +00:00
Melissa Elkadi
8d94b36349 Adding assertFatals and code cleanup for MR 2021-11-22 14:24:06 -08:00
Melissa Elkadi
6d556607d4 Reverting incorrect CALLOC 2021-11-22 12:34:18 -08:00
Remi Hardy
5319d22039 integration_2021_wk46_c
MR !1317 : Change variable types in statistics
When running gNB for a long time and transferring high amount of data, statistics become negative (and later in an arithmetic overflow) because they are too short for such amount of bytes. Example: UE 0: ulsch_total_bytes_scheduled -1804219593, ulsch_total_bytes_received -1804223769

MR !1315 : Using rnti to assign different pucch resource to different UE
This MR is to assign different pucch resource to different UE using rnti

MR !1305 : Fix various issues on ULSCH processing on UE
-add mutex to protect ul_config_pdu against race condition with multiple threads. Otherwise UE will crash as parameter of subsequent thread will be overwritten: Assertion (Nl>0) failed!In nr_get_E() openairinterface5g/openair1/PHY/NR_TRANSPORT/nr_tbs_tools.c:47
-Fix a logical error that sends obsolete buffer erroneously on UL and causes crash in gNB. In nr_process_mac_pdu: residual UL MAC PDU in 736.19 with length < 0!, pdu_len -69
-Fix a logical error that if FAPI_NR_UL_CONFIG_TYPE_PUSCH pdu is not of index 0 in ul_config->ul_config_list, the packet is not sent out.


MR !1321 : CI automatic un-deployment of RAN containers + fixes
-in main container pipeline, the post section in the docker-hub-push stage was incorrectly placed 
-when building images on develop pushes, the ran-build image was not built 
-iptables check is correct now (could not detect if in not ACCEPT 
-something is wrong, automatic un-deployment of RAN containers 
-added a "dummy" undeploy scenario just to be sure. 
-4g/5g RF simulation tests may fail due to lost socket on ue container. Repeat in case of failure

ci_bring_test_results_to_dashboard:
-RAN Status and Tests dashboards

cherry pick : nsa conf files, ulsch_max_frame_inactivity = 1;
-to reduce ping time
2021-11-22 19:53:26 +00:00
rmagueta
cce7ed5483 Remove obsolete code and fix build warnings 2021-11-22 18:35:52 +00:00
rmagueta
c2d948a055 Implementation of the remaining procedures until call the new PHY function nr_get_srs_signal at gNB 2021-11-22 17:46:48 +00:00
francescomani
2a1c6c0543 improve readability in pucchsim 2021-11-22 16:47:34 +01:00
Melissa Elkadi
fc140b2007 Allocating for the number of DCIs and changing pdu_idx check 2021-11-22 07:40:36 -08:00
Raphael Defosseux
d377c63dd1 fix(gNB): lower verbosity level when could not find pdsch_to_harq_feedback
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-22 16:33:33 +01:00
francescomani
1f75a9780d scheduling of csi for im 2021-11-22 16:27:42 +01:00
Melissa Elkadi
37c1f1ec1d Unnecessary filtering/changes to OAI MAC layer
The filtering added in the nrue_procedures.c file
are already happening in the stub function so we
should be duplicating them in the NRUE MAC layer.
2021-11-22 07:24:39 -08:00
Melissa Elkadi
8d1196a9cd Merge branch 'episys/5gcn_traffic_testing' into episys/david/multi_ue_sa 2021-11-22 07:15:59 -08:00
rmagueta
9551cf4a82 Implementation of get_nr_srs_offset function to remove the hardcoded offset sl40 2021-11-22 14:27:22 +00:00
rmagueta
5697860db1 Fill NFAPI of SRS pdu 2021-11-22 13:56:18 +00:00
rmagueta
d70b52a76c Compute frame/slot at gNB to receive the SRS 2021-11-22 11:53:07 +00:00
luis_pereira87
780314d32b Change some printf with rnti values in dec to hex 2021-11-22 07:13:56 +00:00
francescomani
b04c6d2390 fix for msg4 rtx 2021-11-22 05:32:31 +00:00
luis_pereira87
1c49bdec1a Update SA default configuration files 2021-11-22 05:22:15 +00:00
luis_pereira87
f81cec7215 Merge remote-tracking branch 'origin/develop' into handling-Msg4-Ack-failure 2021-11-22 04:59:35 +00:00
Raymond Knopp
c1bcff9570 Merge branch 'bler_txoptim' of https://gitlab.eurecom.fr/oai/openairinterface5g into bler_txoptim 2021-11-21 09:59:38 +01:00
Raymond Knopp
32f090c298 minor changes for testing 2021-11-21 09:59:19 +01:00
David Kim
c974609c2f Updated the execution condition for pdcp_run. 2021-11-19 14:31:41 -08:00
Melissa Elkadi
32cca25075 Modifying how we handle the UCI multiplexing.
In this commit, we changed the UCI handling.
When the UL_TTI_REQ arrives at the NRUE it
has info related to how many UCIs we should
pull from the queue and send to the gNB. If
we do not have that many UCIs available (likely
becasue a DL_TTI_REQ is late), then we will
requeue the UL_TTI_REQ and wait until we have
all the UCI indications before multiplexing.
This change makes it easier to handle multiple
UCIs becasue previously we would send what we
had and then try again later which made keeping
track of the UL_TTI_REQ and second UCI more
difficult.
2021-11-19 14:14:21 -08:00
David Kim
6ef81fd4b8 Updated for formatting. 2021-11-19 13:53:26 -08:00
David Kim
202862bce1 Updated for multiple UEs CBRA procedure.
1. Added rnti filter for multiple UEs.
2. Adjusted mode offset for SA mode.
2021-11-19 13:42:34 -08:00
Melissa Elkadi
e1d50ead74 Removing incorrect setting of num_pdus to 0 2021-11-19 11:37:02 -08:00
Melissa Elkadi
7f7bda5421 The number of active harqs is included in the UL_TTI_REQ
Also, we had two heap-buffer-overflow crashes while
filling the CRC_IND and RX_IND. The corrected CALLOC
command is included in this commit as well.

Lastly, we included a better fix for handling late
DL_TTI_REQs. If the number of active harqs is larger
than the number of UCIs we have built, this is a good
indicator that the DL_TTI_REQ is late. To mitigate
problems, we will requeue the UL_TTI_REQ to when the
late DL_TTI_REQ comes in, we can handle the late
UCI that is built from it.
2021-11-19 11:23:47 -08:00
rmagueta
86f306ee25 Create the rrc_get_max_nr_csrs function to get a configuration for SRS which fills the entire UL BWP 2021-11-19 17:51:41 +00:00
francescomani
79be6685fd changes in ue fapi handling to include csi-rs pdu 2021-11-19 17:42:24 +01:00
Melissa Elkadi
87097d9767 Adding assertFatal to UCI multiplexing 2021-11-19 07:55:03 -08:00
rmagueta
67c2ddb742 Fix SRS mapping at UE for a number of PRBs higher than 53 2021-11-19 15:43:56 +00:00
francescomani
f80ba3e4db nzp csi-rs scheduling function 2021-11-19 15:48:07 +01:00
rmagueta
10ecfcda40 Fix phi_M_ZC_6 2021-11-19 11:51:23 +00:00
rmagueta
2aeee0534b Fix phi_M_ZC_12 2021-11-19 11:42:04 +00:00
rmagueta
2c35192416 Fix phi_M_ZC_18 2021-11-19 11:31:03 +00:00
Raphael Defosseux
f61e93fde0 fix(ci): same as previous commit
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-19 09:37:11 +01:00
Raphael Defosseux
1f42e2b2d9 fix(ci): proper log collection on eNB/gNB runs
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-19 09:36:58 +01:00
hardy
e43f007965 add SA DL stages test + fix dashboard descr 2021-11-19 09:29:14 +01:00
hardy
49d1427379 nsa conf files, ulsch_max_frame_inactivity = 1; 2021-11-19 09:29:05 +01:00
hardy
99e9d338f5 Merge remote-tracking branch 'origin/ci_bring_test_results_to_dashboard' into integration_2021_wk46_c 2021-11-19 09:28:43 +01:00
hardy
04aea2042a Merge remote-tracking branch 'origin/ci-fix-b200-container-pipeline' into integration_2021_wk46_c 2021-11-19 09:28:19 +01:00
hardy
79117d4c67 Merge remote-tracking branch 'origin/NR_ULSCH_decoding' into integration_2021_wk46_c 2021-11-19 09:28:01 +01:00
hardy
e8ce9a73ba Merge remote-tracking branch 'origin/nr_multiple_ue_pucch_resource' into integration_2021_wk46_c 2021-11-19 09:27:47 +01:00
Melissa Elkadi
a279503db0 Fixing formatting for if statement 2021-11-18 11:51:03 -08:00
rmagueta
d8dc5baf3c Fix phi_M_ZC_24 2021-11-18 19:50:53 +00:00
Melissa Elkadi
6f69e836a8 This commit allows IP traffic to work for 2 UEs in NSA mode
The nr_rrc_ue_process_RadioBearerConfig() function
call in the RRC layer of the NRUE was removed when
it should not have been for NSA mode. This is now
added back in for NSA mode. Also, the call to
pdcp_run should only be when were NOT in NOS1 mode
and ARE in SA mode. This was fixed as well.

Ue-to-Ue IP traffic in NSA works, but eventually
the NSA UE will crash due to an incorrect PDCCH
configuration. This is a bug we will need to look
into. It doesnt always crash, only about 40% of
the time. And even when the NRUE does crash, it
happens towards the end of the simulation.
2021-11-18 11:45:47 -08:00
Melissa Elkadi
16d82de9cf Only call pdcp_run for SA 5GCN mode, not NSA mode 2021-11-18 11:08:53 -08:00
Melissa Elkadi
2205d6472d Adding AssertFatal to check for array indicies 2021-11-18 10:43:15 -08:00
Melissa Elkadi
2da73cfed7 Merge branch 'episys/master-nsa' into episys/5gcn_traffic_testing 2021-11-18 08:29:36 -08:00
Melissa Elkadi
c008c8e60d IP TRAFFIC IS WORKING WITH ONE NR UE IN SA MODE
This commit includes a hack fix that has allowed
the Ip traffic to work in SA mode. Furthermore,
NSA mode (without the EPC) works in this commit
as well with up to 4 NSA UEs. We will need to
understand better the issue with the UL_DCI
handling in the NRUE that was causing the gNB
to crash.

The AssertFatal in the gNB when the gNB runs out
of downlink HARQ PIDs is caused by the NRUE
receiving a UL_DCI and then building BOTH a UCI
and a CRC/RX pair. So we are essentially sending
a UL and DL DCI to the gNB in this case which
results in an unexpected HARQ PID being received
in the gNB. The filtering in this commit stops
the UCI being built in the NRUE when a UL_DCI
is recevied.
2021-11-18 08:26:12 -08:00
Melissa Elkadi
99a75d6fbb Merge branch 'eurecom-episys-merge-nsa' into episys/master-nsa 2021-11-18 05:36:04 -08:00
Melissa Elkadi
6c49b7c799 Fixing AssertFatal command 2021-11-18 05:35:34 -08:00
francescomani
18459a5e87 fix for msg4 rtx 2021-11-18 14:08:47 +01:00
Masayuki Harada
aba84b06cb Merge remote-tracking branch 'remotes/oai/develop' into NR_SA_pdu_session_modify_release 2021-11-18 09:27:37 +09:00
Melissa Elkadi
bb4db86d61 Do not handle multiplexing of UCIs if nothing is in UCI queue 2021-11-17 15:39:07 -08:00
Melissa Elkadi
236f980ba0 Merge branch 'episys/master-nsa' into episys/5gcn_traffic_testing 2021-11-17 15:12:59 -08:00
Melissa Elkadi
8241eb8e90 Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-11-17 14:34:51 -08:00
Melissa Elkadi
40e213dd9d Merge branch 'eurecom-develop' into episys/master-nsa 2021-11-17 14:31:30 -08:00
Melissa Elkadi
638b32bbb2 Merge branch 'episys/master-nsa' into eurecom-episys-merge-nsa 2021-11-17 13:31:16 -08:00
Melissa
c92323fb13 Merge branch 'episys/david/nsa_integrated_RA' into 'episys/master-nsa'
Integrated ra procedure for both nsa and sa.

See merge request aburger/openairinterface5g!83
2021-11-17 21:13:37 +00:00
Deokseong "David" Kim
efc797f35d Integrated ra procedure for both nsa and sa. 2021-11-17 21:13:36 +00:00
Raphael Defosseux
4ccc1c722d fix(ci): one last missing parameter in CU conf file
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-17 20:42:11 +01:00
Melissa Elkadi
d28deb3c34 Handling multiplexing of UCI indications
The IP traffic of a single NRUE works most
of the time in this commit. There seems to
be a bug in the gNB and it will occassionally
crash with a heap-buffer-overflow. This will
be looked at in the next commit.

The changes in this commit include gathering
all of the UCI indications in the queue that
have the same scheduled sfn_slot and sending
them as one aggregated UCI when the scheduled
sfn_slot matches the received ul_tti_request.
2021-11-17 11:33:05 -08:00
rmagueta
f05ede7fed UE is transmitting the SRS periodically 2021-11-17 19:10:21 +00:00
matzakos
55313184ea Update DU configuration file for CI 2021-11-17 17:15:37 +01:00
francescomani
710b24968e move rsrp stats to evaluate_rsrp_report 2021-11-17 14:33:45 +01:00
francescomani
72f6489f67 minor log improvement 2021-11-17 12:17:47 +01:00
Raphael Defosseux
1ee7b96d64 fix(ci): 4g/5g RF simulation tests may fail due to lost socket on ue container. Repeat in case of failure
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-17 09:49:53 +01:00
mjoang
483b552a23 change response fifo from static to lcoal variable to make dlsch decoding function reentrant. 2021-11-16 19:31:43 -05:00
Laurent THOMAS
a38e368be2 fix gtp-u address between NSA and SA modes 2021-11-16 22:03:27 +01:00
rmagueta
dfec275b1c Send srs_config_pdu from MAC to PHY 2021-11-16 18:12:57 +00:00
francescomani
6e7c061586 fix rsrp meas report on screen 2021-11-16 18:31:45 +01:00
mjoang
1c225d278d Remove the global variables harq_process->processedSegments and phy_vars_ue->nbDecode so that it will not be an issue in concurrent slot decoding. 2021-11-16 11:03:49 -05:00
hardy
b16d5a6f10 update test description in test dashboard 2021-11-16 15:57:54 +01:00
Raphael Defosseux
ce1bc7cefb fix(ci): implement proper automatic un-deploy of RAN containers
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-16 15:03:01 +01:00
francescomani
59e727049d bugfix in dmrs_ports handling at UE for pdsch 2021-11-16 12:04:00 +01:00
francescomani
b4acb02807 change return of nr_generate_pdsch 2021-11-16 09:14:21 +01:00
Francesco Mani
094b9bcfe8 change in log level 2021-11-16 08:07:09 +00:00
mjoang
41e2b21d08 Change missing mutex init per review. 2021-11-15 13:58:25 -05:00
rmagueta
8c20f69aeb Compute slot and frame for SRS transmission at UE 2021-11-15 17:27:42 +00:00
luis_pereira87
43e224292c Change variable types in statistics to accommodate more bytes and to avoid negative values 2021-11-15 17:08:57 +00:00
luis_pereira87
cfbfd90fca Revert "Change variable types in statistics to accommodate more bytes and to avoid negative values"
This reverts commit eca68ea84a.
2021-11-15 17:08:43 +00:00
francescomani
8e092d52a6 change rxtxtime name in cofig files 2021-11-15 18:01:06 +01:00
francescomani
3311a9ead9 Merge remote-tracking branch 'origin/NR_UE_acknack' into NR_RRC_configuration_functions 2021-11-15 17:58:12 +01:00
francescomani
11ed0f5ede change name of minRXTXTIME 2021-11-15 17:40:38 +01:00
luis_pereira87
0b88c16427 Add T support for GNB_MAC_RETRANSMISSION_DL_PDU_WITH_DATA 2021-11-15 16:39:36 +00:00
luis_pereira87
bd9b730383 Change variable types in statistics to accommodate more bytes and to avoid negative values 2021-11-15 16:36:34 +00:00
francescomani
0e3aa93ed6 Merge remote-tracking branch 'origin/develop' into Fix_harq_value_scf 2021-11-15 17:18:21 +01:00
francescomani
174ee99d3c fix in dlsim 2021-11-15 16:47:56 +01:00
Raphael Defosseux
4ab1c44172 fix(ci): fix the iptables check
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-15 16:16:38 +01:00
Guido Casati
12700a1727 Updated band 78 conf file for SA mode 2021-11-15 16:13:15 +01:00
Guido Casati
7c941435ad Bugfix wrong configuration of initial ack nack timing in FDD mode 2021-11-15 16:13:15 +01:00
Guido Casati
0466281380 Update conf file for band 66 according to default SA mode scenario
- conf file now takes into account the basic SA scenario with gNB and CN in the same PC
- Network parameters and gNB interfaces have been updated accordingly
2021-11-15 16:13:15 +01:00
Raphael Defosseux
c29da837bd fix(ci): fix typo in main pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-15 15:36:14 +01:00
francescomani
0f41a3e394 removing unused functions 2021-11-15 14:53:12 +01:00
luis_pereira87
dd1f8fbaee Update SA default configuration files 2021-11-15 11:59:21 +00:00
rmagueta
dd018928b1 Merge remote-tracking branch 'origin/develop' into develop-SRS 2021-11-15 11:42:35 +00:00
rmagueta
4f783e83b6 Set SRS as periodic 2021-11-15 11:41:10 +00:00
francescomani
7c469da2ad handle tdd period in max ulsch inactivity 2021-11-15 12:35:24 +01:00
rmagueta
55d753bb8e Revert "Create gNB_scheduler_SRS.c"
This reverts commit 68e968e556.
2021-11-15 11:10:55 +00:00
francescomani
b218f55a82 setting max mcs to the one reported by CSI 2021-11-15 11:27:17 +01:00
francescomani
83e203476f Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-11-15 10:51:09 +01:00
francescomani
658ba851ea Merge remote-tracking branch 'origin/develop' into remove_ratematching_assertion 2021-11-15 10:31:06 +01:00
francescomani
d0c98fa4de handle error in coding functions 2021-11-15 10:31:00 +01:00
Laurent THOMAS
66073d50fc merge develop 2021-11-15 10:25:52 +01:00
luis_pereira87
eca68ea84a Change variable types in statistics to accommodate more bytes and to avoid negative values 2021-11-15 09:10:51 +00:00
luis_pereira87
bc9eeef2f8 Put back a pthread_mutex_lock for UL_INFO_mutex 2021-11-15 08:21:53 +00:00
luis_pereira87
260eb84633 Schedule ulsch in all slots for SA 2021-11-15 08:00:40 +00:00
luis_pereira87
7738462b0c Add missing stats after merge 2021-11-15 07:44:54 +00:00
luis_pereira87
1e96501286 Merge remote-tracking branch 'origin/develop' into bler_txoptim
# Conflicts:
#	executables/nr-gnb.c
#	openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
#	openair2/LAYER2/NR_MAC_gNB/main.c
2021-11-15 07:16:06 +00:00
Raymond Knopp
3d454a45a3 allow max_ul_frame_inactivity=0. This means 1/2 frame. 2021-11-14 20:09:21 +01:00
Raphael Defosseux
300af2c5ab fix(ci): proper usage of flag for merge request
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-14 17:36:21 +01:00
Raymond Knopp
c2fbcbcabc Merge branch 'bler_txoptim' of https://gitlab.eurecom.fr/oai/openairinterface5g into bler_txoptim 2021-11-14 17:28:56 +01:00
Raymond Knopp
02b17c79d6 commit before merge. minor changes for testing 2021-11-14 17:28:24 +01:00
Michael Cook
afeb5f4de2 Fix warning about unused variable off
It's used only if LOG_M is enabled.
2021-11-14 06:29:24 -08:00
Raymond Knopp
654279f91f warning in ulsim.c 2021-11-14 12:23:10 +01:00
Raymond Knopp
c8d9adca58 Merge remote-tracking branch 'origin/develop' into tx-proc-optim 2021-11-14 11:22:04 +01:00
Raymond Knopp
66d9f83cd0 nr_ulsim working again 2021-11-14 11:21:33 +01:00
Remi Hardy
76d299f127 Integration_2021_wk45_c
MR !1307: WIP: [CI] real time stats and monitoring update
-MR !1280 (closed) : MAC statistics in separate thread
-log X1AP-PDU messages for eNB
-update real time stats collection (from stats logs file instead of stdout)
-update runtime monitoring (conf file, pages)

MR !1301: Fix for blocked process in FR2

MR !1312: CI: adding NSA-B200 sanity check pipeline to automatic regression test-suite
-Validate that all required routes are present 
-Copy the image from a "build" server to a "test" server 
-fixes for the log collection on the CoreNetwork components

MR !1282 : Add MCS from HARQ BLER
-Estimates correct MCS using EMA, kept between target thresholds dl_bler_target_upper and dl_bler_target_lower (conf options) for 1st retx and below dl_rd2_bler_threshold for 2nd retx 
-Maximum MCS configurable 
-on 3rd retx, reduce MCS by 5

Other commits in the integration branch:
-push DL traffic to 60Mb
-solve long ping time in SA
2021-11-14 08:28:57 +00:00
rmagueta
68e968e556 Create gNB_scheduler_SRS.c 2021-11-13 17:10:07 +00:00
Melissa Elkadi
e928ef991a Merge branch 'episys/david/nsa_integrated_RA' into eurecom-episys-merge-nsa 2021-11-12 10:52:27 -08:00
David Kim
27163417a0 Fixed id mismatch problem for pdcp tun interface in enm. 2021-11-12 10:25:49 -08:00
Melissa Elkadi
368977b3bb The NRUE and gNB are connected to the 5GCN!
When IP traffic is started on the NRUE, the
gNB immediately crashes
2021-11-12 09:03:47 -08:00
luis_pereira87
32e7b7b83f Update SA default configuration files 2021-11-12 16:39:16 +00:00
francescomani
c830f78f8a UE capabilities directly from file for phy-test and do-ra 2021-11-12 16:42:03 +01:00
matzakos
a8bfb20121 Update du config file after update with develop 2021-11-12 16:16:33 +01:00
matzakos
c8f76a2469 Increase size of RRC container carrying cellGroupConfig info for F1 initial UL RRC message transfer
-Fixing issue with decoding cellGroupConfig later
2021-11-12 15:29:44 +01:00
rmagueta
6c767458e8 Fill fapi_nr_ul_config_srs_pdu struct 2021-11-12 14:23:08 +00:00
francescomani
8849a5e20d fix for numDmrsCdmGrpsNoData in SA 2021-11-12 09:55:58 +01:00
Melissa Elkadi
36250e72f2 Merge branch 'episys/david/nsa_integrated_RA' into eurecom-episys-merge-nsa 2021-11-11 18:58:14 -08:00
Melissa Elkadi
04d0004e4d Merge branch 'episys/david/nsa_integrated_RA' into eurecom-episys-merge-nsa 2021-11-11 13:59:42 -08:00
David Kim
01c2f79f9e Fixed build error in eNB ocp. 2021-11-11 12:43:26 -08:00
Roberto Louro Magueta
7c899fd147 Revert "Init SRS parameters at gNB"
This reverts commit 6aea63a0eb
2021-11-11 17:58:11 +00:00
rmagueta
6aea63a0eb Init SRS parameters at gNB 2021-11-11 16:46:43 +00:00
francescomani
2eac9f53c7 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-11-11 16:35:46 +01:00
rmagueta
7e8dd29828 Add SRS debug 2021-11-11 15:13:34 +00:00
hardy
0de1ebde81 push DL traffic to 60M in SA 2021-11-11 12:13:13 +01:00
Raymond Knopp
88e0c12f25 some adjustments after merge with develop 2021-11-11 08:43:10 +01:00
Raymond Knopp
95343c6658 Merge remote-tracking branch 'origin/develop' into tx-proc-optim
Conflicts:
	common/utils/nr/nr_common.h
	openair1/PHY/NR_TRANSPORT/pucch_rx.c
2021-11-11 08:34:06 +01:00
Raymond Knopp
07d735f93c step-by-step merging from tx-proc-optim-lts. Everything except NR_TRANSPORT merged. Some issues with 64QAM modulation 2021-11-11 08:28:10 +01:00
Raymond Knopp
dee9bbb119 dlschsim fixed 2021-11-11 07:54:23 +01:00
David Kim
d118cbfadc Consolidated two 'if' condition in ra procedures for nsa and sa. 2021-11-10 18:18:12 -08:00
Raymond Knopp
2d6990e68a PTRS modulation is ok 2021-11-10 23:59:16 +01:00
Melissa Elkadi
5fcea85427 Getting rid of duplicate if statement contents 2021-11-10 14:41:54 -08:00
David Kim
1803b1fb34 Integrated ra procedure for both nsa and sa. 2021-11-10 13:52:29 -08:00
mjoang
d0488b5d51 small change on adding mutex to protect ul_config_pdu against race condition. 2021-11-10 15:39:06 -05:00
hardy
0586af8b5a solve (long) ping time issue in SA 2021-11-10 20:50:41 +01:00
hardy
032ec1cdad Merge remote-tracking branch 'origin/NR_MCS_BLER' into integration_2021_wk45_c 2021-11-10 20:44:32 +01:00
rmagueta
dc59ed65bd Creating the empty functions required for the NR-SRS 2021-11-10 19:24:32 +00:00
rmagueta
f91017e2f0 Change LOG levels 2021-11-10 17:31:49 +00:00
Melissa Elkadi
c5ad7d89fe Removing white space 2021-11-10 08:59:46 -08:00
rmagueta
4acc0f05ac Update config files for SA 2021-11-10 16:57:36 +00:00
francescomani
26a541e2b0 removing unnecessary free tdd_UL_DL_ConfigurationCommon 2021-11-10 16:24:05 +01:00
Raphael Defosseux
36066ac796 fix(ci): fix the physim image push to cluster; one single TAC in mme.conf
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-10 15:52:01 +01:00
francescomani
bf8a191370 fixing msg2 scheduler 2021-11-10 15:24:08 +01:00
Melissa Elkadi
046258f1ba Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-11-09 15:17:58 -08:00
Raymond Knopp
bf2e231c60 shuted 128-bit SIMD for the moment in nr_pdsch.c resource mapping, because of alignment issues. Use 64-bit SIMD instead for now. To be updated. 2021-11-10 00:04:11 +01:00
Melissa
9fb044588d Merge branch 'episys/david/nsa_ci_debug_for_sa' into 'episys/master-nsa'
NSA CI debug update for SA mode

See merge request aburger/openairinterface5g!82
2021-11-09 23:00:14 +00:00
Raymond Knopp
0cde0ce268 resource mapping bugfix 2021-11-09 22:19:44 +01:00
David Kim
0429f7e872 Merge remote-tracking branch 'origin/episys/master-nsa' into episys/david/nsa_ci_debug_for_sa 2021-11-09 11:10:40 -08:00
Mario Joa-Ng
b965cbbb0a Using rnti to assign different pucch resource to different UE. 2021-11-09 13:24:26 -05:00
Melissa
dfd428672b Merge branch 'episys/mel/sa_development_init' into 'episys/master-nsa'
CBRA Procedure Working for SA Mode

See merge request aburger/openairinterface5g!81
2021-11-09 17:46:07 +00:00
Melissa Elkadi
83f8d71233 Fixing indentation in if statement and adding conf file 2021-11-09 09:44:48 -08:00
francescomani
47847f1701 bugfix in ul preprocessor 2021-11-09 15:57:31 +01:00
Raphael Defosseux
adcad3d9d5 fix(ci): increased some timeout values
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-09 15:55:41 +01:00
francescomani
6087030c78 adding min_rxtxtime_pdsch to fdd config file 2021-11-09 13:53:58 +01:00
rmagueta
70d3c7973c Merge remote-tracking branch 'origin/develop' into bler_txoptim 2021-11-09 10:39:49 +00:00
Raymond Knopp
bac8bc569c minor changes in dlschsim, still doesn't work :-( 2021-11-09 10:51:00 +01:00
hardy
47b22314d4 Merge remote-tracking branch 'origin/ci-adding-route-checks' into integration_2021_wk45_c 2021-11-09 10:19:49 +01:00
hardy
ffba98cadf Merge remote-tracking branch 'origin/thread-blocking-fix' into integration_2021_wk45_c 2021-11-09 10:19:29 +01:00
hardy
4b9f7ec404 Merge remote-tracking branch 'origin/ci-test-newstats' into integration_2021_wk45_c 2021-11-09 10:19:10 +01:00
francescomani
1624e81141 fixes in UL scheduler at UE 2021-11-09 10:18:39 +01:00
Raphael Defosseux
6e5527e0c6 fix(build): new version of RHEL8 to support
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-09 09:51:30 +01:00
Remi Hardy
1b3a124ba1 Integration 2021 wk45 b
MR !1279 : Improvements to support other NR bands
Minor improvements and small bug fixes to support other MR bands

MR !1294 : code cleanup, no feature
Remove legacy code, not used and not usable anymore and fix a issue in PDCP NETLINK initialization

MR !1298 : 5G NR timing fixes

MR !1295 : NR UE PDCCH fixes
Removing some hardcoding and bugs in dci detection at UE, mostly for SIB1 and RA

MR !1303 : fix bug in GNB MAC nr_store_dlsch_buffer() to handle multipe UEs correctly.
2021-11-09 07:33:26 +00:00
David Kim
3613485749 Added new config file for gNB in SA test. 2021-11-08 21:30:35 -08:00
David Kim
d564d8f94d Updated to emulate_l1 instead of nsa in gNB indication. 2021-11-08 21:27:55 -08:00
David Kim
e5ac73a552 Merge remote-tracking branch 'origin/episys/mel/sa_development_init' into episys/david/nsa_ci_debug_for_sa 2021-11-08 21:21:44 -08:00
David Kim
b13fce5385 Removed NSA mode further in nrUE codes and fixed format. 2021-11-08 16:04:39 -08:00
Melissa Elkadi
dbf2aba843 Reverting white space change 2021-11-08 14:41:51 -08:00
Raphael Defosseux
c40130ecf7 fix(ci): fix some typos
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-08 20:33:18 +01:00
Melissa Elkadi
dbacbfd0cd Removing more unnecessary filtering in NRUE
Got rid of unnecessary mac->scc check as well
2021-11-08 11:28:41 -08:00
Melissa Elkadi
fa4617c0bf Fixing MR based on OAI feedback
The following was changed in this commit:
 - A new struct in the mac instance was created
   for all emulated L1 fields.
 - NR UE RRC state bug was fixed
 - Checking the RAR rnti based on the MAC instance
   ra.ra_rnti and not hardcoding to 0x10b
 - Modified the name of the new emulate_l2 flag
   to make sense: emulate_l1
2021-11-08 10:59:28 -08:00
francescomani
911b38776f to avoid unnecessary error message for mixed slot in fdd 2021-11-08 18:07:38 +01:00
Mario Joa-Ng
30bfd72920 fix parallelization of LDPC decoding in dlsim 2021-11-08 11:59:17 -05:00
francescomani
bde7e3a378 fixing initialization of UL_tti_req_ahead 2021-11-08 17:39:58 +01:00
Raphael Defosseux
1e810c08f5 fix(ci): forcing no colour on grep commands
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-08 16:53:08 +01:00
francescomani
6ce5f98c62 some fixes 2021-11-08 16:52:00 +01:00
francescomani
c9f2f54df3 using minRXTXTIMEpdsch in acknack scheduling (for common case) 2021-11-08 15:18:05 +01:00
hardy
88fd5df1f0 Merge remote-tracking branch 'origin/nr_multiple_ue' into integration_2021_wk45_b 2021-11-08 13:13:56 +01:00
hardy
cf41f0ccda Merge remote-tracking branch 'origin/NR_debug_sib1_reception' into integration_2021_wk45_b 2021-11-08 13:13:35 +01:00
hardy
c3955ec7b8 Merge remote-tracking branch 'origin/nr_timing_fixes' into integration_2021_wk45_b 2021-11-08 13:13:12 +01:00
hardy
4c2c7f92a5 Merge remote-tracking branch 'origin/code-cleanup-2021oct24' into integration_2021_wk45_b 2021-11-08 13:12:52 +01:00
hardy
9c1336157e Merge remote-tracking branch 'origin/NR_SA_band_96' into integration_2021_wk45_b 2021-11-08 13:12:28 +01:00
francescomani
3808937231 Merge remote-tracking branch 'origin/NR_UE_acknack' into nr-fdd-scheduling 2021-11-08 11:53:50 +01:00
francescomani
30cc2b764f removing min_fb_time from acknack scheduling 2021-11-08 11:00:59 +01:00
Raphael Defosseux
9f811c0659 feat(ci): display TAU request count from EPC/CN5G point of view. Also display the image tag/creation date
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-08 10:35:10 +01:00
francescomani
3fcbfdadad Minimum value of DL to ACK 2021-11-08 10:26:14 +01:00
francescomani
6784eac3f5 runmodem update for sa 2021-11-08 09:52:43 +01:00
francescomani
d872a9bc95 runmodem update for IF frequency 2021-11-08 09:52:29 +01:00
francescomani
6413a67485 adding assertion in case of reconfiguration of nb of harq processes 2021-11-08 09:34:52 +01:00
Mario Joa-Ng
33927d85a8 handle the case where dl_harq lists have been created. 2021-11-08 09:11:26 +01:00
hardy
4106a3a091 fix rt stats bug for enb (skip) 2021-11-07 18:30:26 +01:00
mjoang
4a9c74f41b rebase to develop 2021-11-05 22:46:09 -04:00
Melissa Elkadi
85e066054f Checking for emulate_l2 instead of NSA flag 2021-11-05 15:45:48 -07:00
Melissa Elkadi
f536682367 Fixing formatting and added AssertFatal 2021-11-05 14:59:00 -07:00
David Kim
d51314f57d Updated coding format in unified way. 2021-11-05 14:42:39 -07:00
David Kim
6420c3166b Removed unrequired comments. 2021-11-05 14:34:18 -07:00
David Kim
fa6aa31559 Changed log level from I to D in PUSCH detection. 2021-11-05 14:25:09 -07:00
David Kim
8d6b112c17 Removed unrequired nsa conditions. 2021-11-05 12:35:15 -07:00
Melissa Elkadi
fbd791d4a4 Removing unnecessary DCI filtering.
The DCIs are filtered already in the NRUE when
the NFAPI messages are handled.
2021-11-05 12:22:00 -07:00
Melissa Elkadi
a2a823d54b Removing log 2021-11-05 11:56:28 -07:00
Melissa Elkadi
3569ba630c Reverted log level and gNB_RA_sched for NSA mode 2021-11-05 11:49:34 -07:00
Melissa Elkadi
f04f8e7d7b Setting ra_state breaks RA Procedure for NSA mode
Also, changed some if statement formatting.
2021-11-05 11:29:45 -07:00
David Kim
fc1815170e Fixed a bug on setting the number of pdus. 2021-11-05 09:48:48 -07:00
Raphael Defosseux
864df49dc9 fix(ci): proper collection of logs for Core Network
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-05 16:13:31 +01:00
Guido Casati
565fb88342 Simplified set_tdd_config_nr_ue function
- reviewed redundant code
- removed unnecessary return
2021-11-05 16:05:10 +01:00
Guido Casati
9d9bc0e718 Conf file for band 66 in SA mode 2021-11-05 16:05:10 +01:00
Guido Casati
755c8d5055 Fixed calculation of num dmrs per prb at gnb side
- the param was hardcoded to 12 at gNB side
  while it was computed at UE side
- the same function used at UE side has been moved to the common file
- now the computation at gNB side is consistent with the UE
2021-11-05 16:05:10 +01:00
Guido Casati
a5f18dbb20 Enhancements to the overall MAC logging
- updating to NR_MAC tag
- minor cleanups
- added more relavant info for debugging purposes
2021-11-05 16:05:10 +01:00
Guido Casati
0286138f33 Adaptations of the MAC scheduling to support FDD
- removed calls to the TDD UL/DL configuration common in FDD mode
- bugfix in the generation of prach info from index
- initial adaptation of gNB schedulers
- adapted PUCCH ack/nack scheduling by taking into account 6 slots min
  delay in FDD mode (to be integrated with latest development of PUCCH)
- made the use of nr_slots_per_frame more consistent
2021-11-05 16:05:01 +01:00
mjoang
1b2d5b0c96 minor change to clear ul_config_list array 2021-11-05 09:38:28 -04:00
hardy
0165719a3b fix target IP address for pings with CN5G 2021-11-05 14:27:14 +01:00
hardy
2b36b1f32e redefine monitor conf file + paged graphs 2021-11-05 12:01:49 +01:00
hardy
90e84c01d4 test : add some rt stats to the monitor (graph) 2021-11-05 12:01:49 +01:00
francescomani
3a58b398c8 use of 1st active bwp in add ue function 2021-11-05 11:47:23 +01:00
matzakos
24cd2887d2 Change size parameter in encoding function for initial cellgroupconfig 2021-11-05 11:20:44 +01:00
francescomani
72f40d6fb1 fix for SA nr of dl harq 2021-11-05 11:05:39 +01:00
Melissa Elkadi
bf8a37f878 CBRA and CFRA procedure complete!! 2021-11-04 18:27:26 -07:00
Melissa Elkadi
954a64a1c0 SA mode SIB processing
In SA mode, we will not be able to process the SIB if
we change for mac->scc_SIB == NULL : return;

So we change the statement for NSA mode
2021-11-04 17:58:01 -07:00
Melissa Elkadi
7c484fba33 Changing how we filter DCI's fixes NSA mode
It will likely break SA mode because it will
filter out Msg3. I will come back to this and
fix it for Msg3.
2021-11-04 17:17:55 -07:00
mjoang
834cd841d5 fix a a bug to handle tx_req_body if the number is > 1. Merge 2021-11-04 19:41:30 -04:00
Melissa Elkadi
f9b8461548 Reverting more changing that were unnecessary for SA 2021-11-04 16:40:44 -07:00
Melissa Elkadi
59458c9690 Reverting changes that did not fix SA mode 2021-11-04 16:36:50 -07:00
mjoang
03dda0a942 fix a a bug to handle tx_req_body if the number is > 1 2021-11-04 19:35:07 -04:00
David Kim
ae8e0ea3da Reverted unncessary changes. 2021-11-04 13:46:24 -07:00
mjoang
698b75eba7 fix a bug from review on memsetting the complete structure (including the mutex). 2021-11-04 16:39:54 -04:00
Melissa Elkadi
479784a064 Calling proper nr_ue_get_rach function
Also, reverted a DCI filtering change to exist again.
2021-11-04 13:15:58 -07:00
Melissa Elkadi
e0991d3cec Reverting log changes for MR 2021-11-04 12:44:30 -07:00
Melissa Elkadi
2f7378d125 Update conf files to match master-nsa and made new SA mode gNB. 2021-11-04 12:30:53 -07:00
Melissa Elkadi
7e10b4a106 Reverting nr-uesoftmodem to match master and added SA mode 2021-11-04 12:16:39 -07:00
Melissa Elkadi
f4448023df Merge branch 'episys/master-nsa' into episys/mel/sa_development_init 2021-11-04 11:48:34 -07:00
Melissa Elkadi
10dec919ce Temp fix to try to get CBRA procdeure complete
Need to review this with Raymond.
2021-11-04 11:11:13 -07:00
David Kim
d2ecd40fbd Removed unused debug log. 2021-11-04 10:34:06 -07:00
David Kim
4fb67cbd9c Resolved conflict in Merge remote-tracking branch 'origin/episys/master-nsa' into episys/david/nsa_ci_debug_for_sa 2021-11-04 10:24:48 -07:00
hardy
9374eda06e fix typo in file handlers 2021-11-04 18:09:15 +01:00
Melissa Elkadi
7dc523355d Return 0 is not a fail, so changing to -1 2021-11-04 10:07:25 -07:00
David Kim
f4049a9fe2 Code cleanup 2021-11-04 09:31:42 -07:00
Melissa Elkadi
d7b4adb006 Only filtering DCIs in MAC layer after RA is complete. 2021-11-04 09:17:16 -07:00
hardy
60a91cc207 Merge remote-tracking branch 'origin/NR_MAC_statisticsthread' into ci-test-newstats 2021-11-04 17:00:34 +01:00
hardy
5b9de9c1e3 moved source for rt stats analysis : from stdout to stat log files 2021-11-04 16:51:47 +01:00
francescomani
7ffb689aee remove rate matching assertion 2021-11-04 14:22:52 +01:00
Raphael Defosseux
d818101c8c feat(ci): triggering NSA B200 Container Sanity Check from parent pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-04 13:15:16 +01:00
Laurent THOMAS
0ec15e8cfc Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-11-04 12:53:29 +01:00
Laurent THOMAS
9d1fe78e2e merge develop, no working yet 2021-11-04 12:53:01 +01:00
luis_pereira87
29eca46833 Merge remote-tracking branch 'origin/develop' into bler_txoptim
# Conflicts:
#	openair1/PHY/NR_TRANSPORT/pucch_rx.c
#	openair2/GNB_APP/gnb_config.c
2021-11-04 11:32:03 +00:00
Sakthivel Velumani
3799aeb86b Merge branch 'develop' into NR_MAC_statisticsthread 2021-11-04 15:54:37 +05:30
Raphael Defosseux
e8719f80b8 fix(ci): typo on image tags
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-04 11:05:25 +01:00
hardy
f64b884ef8 add X2AP-PDU msg cnt to HTML 2021-11-04 10:48:17 +01:00
francescomani
c64872924b fix for harq value in fapi indication according to scf 2021-11-04 10:02:29 +01:00
Raphael Defosseux
c5f92226f9 Merge remote-tracking branch 'origin/develop' into ci-adding-route-checks 2021-11-04 09:55:23 +01:00
Raphael Defosseux
8b21ecc3a7 fix(ci): post stages in pipeline are empty when it is a PUSH
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-04 09:39:24 +01:00
francescomani
469afd05f8 feature set update 2021-11-04 08:42:40 +01:00
David Kim
c7f083b14a Updated gNB part to handle CI test 2021-11-03 22:30:28 -07:00
Melissa Elkadi
81716e4c77 Filtering for multiple UEs in MAC excluding SIB and RAR
For multiple UEs, we need to be able to filter the rx'd messages by
the RNTI. However, we do not have the RNTI value until the CFRA (NSA)
or CBRA (SA) procedure is complete. The check below will handle this.
Also, depending on the RNTI value, we can have a SIB (0xffff), RAR (0x10b),
Msg3 (TC_RNTI) or an actual DCI message (CRNTI). When we get Msg3, the
MAC instance of the UE still has a CRNTI = 0. Only once the RA procedure
succeeds is the CRNTI value updated to the TC_RNTI.
2021-11-03 16:28:42 -07:00
Melissa Elkadi
edd710f6a9 Removing bad log and changing RA state when we get prach 2021-11-03 15:52:49 -07:00
mjoang
764da1379e protect ul_config_pdu against race condition 2021-11-03 14:39:25 -04:00
mjoang
0e8d5798fe Fix a logical error that sends obsolete buffer erroneously on UL and causes crash in gNB. 2021-11-03 14:38:49 -04:00
mjoang
f150e37deb Fix a logical error that sends obsolete buffer erroneously on UL and causes crash in gNB. 2021-11-03 14:38:26 -04:00
mjoang
ed84d40f72 add mutex to protect ul_config_pdu against race condition. 2021-11-03 14:30:42 -04:00
Melissa Elkadi
54a894e534 Updated the following for SA development:
1. The preamble index in the NRUE is random for SA.
   Using the preamble index from the mac->ra is
   correct.

2. The dl_pathloss calculated is from L1. We should
   shunt this feature out for our emulated mode. If
   we add the abstraction later, we can model the
   pathloss in the proxy and update it in the RA
   procedure of the NRUE.

3. Checking that the crnti != t_crnti is not valid
   for SA mode. And may only be needed for multi-UE
   in NSA mode. We might be able to delete it all
   together. For now, we only use for NSA mode.

4. Checking the RAR based on rnti = 10b and not the
   RA_STATE is better.
2021-11-03 10:54:33 -07:00
Laurent THOMAS
d49165f07a merge develop 2021-11-03 17:28:06 +01:00
Melissa Elkadi
c87141fbcf Updating gNB RA PROC to match develop branch 2021-11-03 09:14:40 -07:00
Melissa Elkadi
b8444ecbc1 Merge branch 'eurecom-develop' into episys/mel/sa_development_init 2021-11-03 08:54:06 -07:00
Mario Joa-Ng
b64f9f379f fix bug in GNB MAC nr_store_dlsch_buffer() to handle multipe UEs correctly. 2021-11-03 11:34:47 -04:00
Raphael Defosseux
7dee6f27c4 feat(ci): adding python method to copy built image to test server
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-03 15:50:49 +01:00
hardy
70d1e10fcf fix tests description 2021-11-03 14:44:25 +01:00
Melissa Elkadi
e8f965d010 Merge branch 'eurecom-develop' into eurecom-episys-merge-nsa 2021-11-03 06:32:38 -07:00
Raphael Defosseux
ac1ada1cd9 fix(ci): when the shared image dockerfile is being modified, force its build
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-03 14:12:34 +01:00
Raphael Defosseux
9682881c5b fix(build): proper UHD install from PPA
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-03 14:12:34 +01:00
Raphael Defosseux
4b0633cf47 fix(build): enable build from source on a given version of UHD. For the moment, in all docker images, v3.15.0.0 is used
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-11-03 14:12:34 +01:00
francescomani
59195807cc Merge remote-tracking branch 'origin/develop' into NR_MCS_BLER 2021-11-03 14:03:01 +01:00
francescomani
d55158eb14 temporarily remove conditions on 2nd and 3rd rtx and increase max mcs to 28 2021-11-03 14:01:17 +01:00
Remi Hardy
1b742fbe13 integration_2021_wk44
MR !1233 : NR gNB MAC scheduler BWP start issue fix
This branch fix incorrect use of BWP start at gNB MAC scheduler (in DLSCH and ULSCH allocation and VRB map filling)

MR !1232 : SR/BSR support for NR UE
-added the support of scheduling request in NR UE. 
-added the support of regular, periodic and padding BSR in NR UE. 
-removed memcpy call in nr_ue_get_sdu(). 
-called mac_rlc_status_ind only for existing bearers. 
-Moved NR_LONG_BSR_TABLE and NR_SHORT_BSR_TABLE to nr_mac_common.c

MR !1239 : NR SDAP gNB - Transparent Mode

MR !1257 : Nr ldpc cuda softmodem
Move ldpc decoder accelerated in cuda GPU in a shared lib compatible with oai loader. 
libldpc_cuda.so is built as a ldpctest, nr-sotmodem, nr-uesoftmoden and ocp-gnb targets when cuda development environment is detected. 
At runtime --loader.ldcp.shlibversion _cuda option can be used to select the cuda accelerated ldcp library, except for the ldpctest exec where the -G option has been preserved. Also start implementing an opencl version of the ldpc decoder, starting "translating" the cuda version.

MR !1296 : Apply the NSA t_Reordering value also for SA
Apply the NSA t_Reordering value also for SA to improve the iperf downlink bitrate. The same iperf performance is expected at both NSA and SA

MR !1293 : hotfix SEGV and divide by 0
With latest develop, two bugs appear as long as we don't hide them with gcc -O2 optimisations

MR !1259 : gNB nrUE SA: improve security
Improves security and addition security in nrUE side

MR !1260 : NR CSET0 BWP Start fixes
Fixes a bug in selecting the start of BWP for Coreset0

Use Magma MME in CI tests
Update NSA 2x2 test
2021-11-03 12:51:50 +00:00
hardy
cc18013320 Merge remote-tracking branch 'origin/NR_cset_bwp_fixes' into integration_2021_wk44 2021-11-03 13:38:55 +01:00
hardy
cb9defc629 Merge remote-tracking branch 'origin/develop-NR_SA_nrUE_security_update' into integration_2021_wk44 2021-11-03 13:38:33 +01:00
hardy
cd28e3fbd7 Merge remote-tracking branch 'origin/crash-gcc-O0' into integration_2021_wk44 2021-11-03 13:38:10 +01:00
Melissa Elkadi
ceda62cde8 Merge branch 'eurecom-episys-merge-nsa' into episys/master-nsa 2021-11-02 15:53:36 -07:00
Melissa
09ed3720a6 Merge branch 'episys/mel/merge_bw_testing_abs' into 'episys/master-nsa'
Merge NFAPI changes to new SA master branch

See merge request aburger/openairinterface5g!79
2021-11-02 21:41:30 +00:00
Melissa Elkadi
b29fd449d0 Changed ul_tti_req queueing mechanism:
Instead of resetting queue when full,
take last item out.
2021-11-02 14:35:32 -07:00
Melissa Elkadi
554e7db1d9 Updated the nr_ue_get_rach() function to match develop
Also, in the nr_rrc_mac_config_req_ue(), we should
only be configuring L1 if we are not in the L2 emul
mode. We are crashing due to the RRC state in the NRUE
not being set/checked properly.
2021-11-02 13:21:42 -07:00
luis_pereira87
12e8818bed Remove duplicate validation 2021-11-02 17:49:52 +00:00
luis_pereira87
cd2f704163 Fix segmentation fault when exporting packets to wireshark with high MCS 2021-11-02 17:24:10 +00:00
hardy
9d246a012d update NSA 2x2 testcase 2021-11-02 17:22:55 +01:00
David Kim
bb21c02d2c updated for CI debug in nrUE side. 2021-11-02 08:56:06 -07:00
Sakthivel Velumani
b749ebcf11 Fix for blocked process in FR2 2021-11-02 14:39:27 +05:30
luis_pereira87
72e188935f Minor updates in default SA configuration files 2021-11-02 08:47:20 +00:00
Melissa Elkadi
7825350905 Fixing merge request comments 2021-11-01 16:24:59 -07:00
Raymond Knopp
1263074f59 log removal 2021-11-01 23:16:01 +01:00
David Kim
7b619c5439 updated for CI debug from crash. 2021-11-01 14:34:10 -07:00
Raymond Knopp
179075c210 removed >>8 on intel 24-bit CRC result (it is done outside). 2021-11-01 22:12:26 +01:00
Raymond Knopp
b58a8c6241 Merge remote-tracking branch 'origin/tx-proc-optim' into bler_txoptim 2021-11-01 21:19:23 +01:00
Raymond Knopp
5a25fdc681 Merge branch 'NR_MCS_BLER' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_MCS_BLER
Conflicts:
	ci-scripts/conf_files/enb.band38.nsa_2x2.100PRB.usrpn310.conf
2021-11-01 21:18:42 +01:00
Melissa Elkadi
e635b90fda Decoding MIB and SIB1 in NR UE
In this commit, we changed the stub function of the NRUE
to handle the MIB and SIB1, which arrive in a single
DL_TTI_REQ. If we have not received the MIB, we first
call the scheduler, then we handle any received NFAPI
messages. The NFAPI message handler will then call
the nr_ue_dl_indication() again, which will process
first the MIB, then SIB1. It seems that we are not
properly sending the SIB1 response back to the gNB so
the NRUE eventually crashes. We are however, properly
decoding the MIB and SIB which is a step in the right
direction!
2021-11-01 12:42:01 -07:00
David Kim
d62599b34e updated RRC_UE.c in nsa mode. 2021-11-01 10:21:49 -07:00
Raymond Knopp
bdea7f464e missing .h file for intel crc 2021-11-01 17:57:04 +01:00
Raymond Knopp
97a1c0d91a added .h files for intel crc 2021-11-01 17:28:02 +01:00
Eurecom
afe2f1ed71 integration of Intel SIMD CRC routines for CRC24A/B 2021-11-01 17:26:31 +01:00
Masayuki Harada
010f64db50 Merge remote-tracking branch 'remotes/oai/develop' into NR_SA_pdu_session_modify_release 2021-11-01 14:45:52 +09:00
Raymond Knopp
64e610361f merge from Laurent's TX-optimization-lts (cherry-picked dlsch_encoding component) 2021-10-31 22:43:20 +01:00
Raymond Knopp
2f30123fc2 testing up to mcs 28 2021-10-31 07:44:25 +01:00
David Kim
e303b1be6b Fixing ra procedures sync problem by checking rnti value. 2021-10-29 17:48:30 -07:00
David Kim
95202fba91 updated for CI sa test 2021-10-29 14:47:56 -07:00
Melissa Elkadi
04251e84be Removing name from log and demoting log 2021-10-29 13:51:58 -07:00
Melissa Elkadi
1dec9dd9f6 First attempt at receiving MIB and SIB in SA mode 2021-10-29 13:49:56 -07:00
francescomani
3c39f09df8 Merge remote-tracking branch 'origin/develop' into NR_MCS_BLER 2021-10-29 18:39:41 +02:00
hardy
9468442ff9 fix HTML rendering 2021-10-29 16:51:20 +02:00
Raphael Defosseux
c89f2dbd0b fix(ci): some typos on the container name of MME
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-10-29 16:11:08 +02:00
Raphael Defosseux
a443a5b45e feat(ci): adding support to deploy a MAGMA-MME-based container-based EPC
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-10-29 15:33:39 +02:00
hardy
3963f2fe66 Merge remote-tracking branch 'origin/develop-improve-SA-config' into integration_2021_wk44 2021-10-29 15:26:22 +02:00
hardy
b1e14c2c43 push DL to 60Mb in NSA 2021-10-29 15:15:40 +02:00
hardy
96b6054514 add attach-detach testcase for NSA 2021-10-29 15:01:23 +02:00
Raphael Defosseux
0238f49baf feat(ci): adding a MAGMA-MME-based EPC deployment
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-10-29 14:52:47 +02:00
hardy
03599d3d75 change eNB ID to prevent TAU issue 2021-10-29 14:43:08 +02:00
francescomani
facf3aa6ac min_rxtxtime_pdsch for OAI UE in ci files 2021-10-29 11:05:52 +02:00
Melissa Elkadi
733279689f Fixing white space and added a TODO comment 2021-10-28 15:02:14 -07:00
David Kim
44a13ef81e Removed initial segment fault by adding nsa mode. 2021-10-28 13:59:57 -07:00
Melissa Elkadi
26ddb9eabe Only do LTE channel modelling in LTE mode, not NSA 2021-10-28 11:58:01 -07:00
Melissa Elkadi
3007550150 Updating DCI configuration to avoid seg fault 2021-10-28 11:14:47 -07:00
Melissa Elkadi
cfb49c17d2 Added a seprate queue for chan_params 2021-10-28 10:32:28 -07:00
Melissa Elkadi
fa810fab70 Accounting for wrap in slot comparison in gNB 2021-10-28 08:58:36 -07:00
Melissa Elkadi
66144698c7 Reverting log and white space changes for MR 2021-10-28 08:51:09 -07:00
Melissa Elkadi
455e3d8343 This commit gets rid of sfn_slot sleep
In the previous commit, the NRUE would record
the time it received a slot and compare this
rx time to the next slot. If the next slot
came in before it had been 500us, the NRUE
would sleep a delta amount to make the duration
between the two slot indications 500 us. This
change complicated the code and did not
improve the performance so it was removed.
Furthermore, this commit removes the old
queueing mechanism of the slot indications and
uses calloc rather than an array.
2021-10-28 08:14:20 -07:00
Melissa Elkadi
3ec5210652 Merge branch 'episys/master-sa' into episys/mel/merge_bw_testing_abs 2021-10-28 06:36:43 -07:00
hardy
707a8000db google sheet dashboard is deprecated, replaced by Html dashboard hosted on AWS S3 2021-10-28 11:37:03 +02:00
Laurent THOMAS
2d3bfb9b67 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into crash-gcc-O0 2021-10-28 11:03:42 +02:00
Melissa
f9ad8dbd9d Merge branch 'origin-episys-merge-nsa' into 'episys/master-nsa'
Instead of removing the frees we allocated from heap.

See merge request aburger/openairinterface5g!78
2021-10-27 22:37:14 +00:00
Melissa
957c79e5eb Update README.txt for NSA mode 2021-10-27 22:36:33 +00:00
Melissa
534a8bbf10 Update README.txt for LTE L2 Emulator 2021-10-27 22:28:25 +00:00
Melissa Elkadi
916c30054f Merge branch 'episys/master-nsa' into origin-episys-merge-nsa 2021-10-27 15:08:32 -07:00
Melissa Elkadi
4eb0aceab6 Merge remote-tracking branch 'eurecom/develop' into episys/master-nsa 2021-10-27 15:05:05 -07:00
Thomas Schlichter
94bc375f82 NR_UE: enable timing synchronization logging 2021-10-27 17:30:05 +02:00
Thomas Schlichter
209d5f1131 NR_UE: reset max_pos_fil in timing synchronization whenever we add/remove a sample 2021-10-27 17:30:05 +02:00
Thomas Schlichter
2c2ba26553 NR_UE: fix bug in timing adjustment 2021-10-27 17:30:05 +02:00
Thomas Schlichter
107f20ad29 fix rounding in TA calculation 2021-10-27 17:30:05 +02:00
Melissa Elkadi
18aaa88517 Merge branch 'eurecom-develop' into episys/mel/merge_bw_testing_abs 2021-10-27 08:05:26 -07:00
Melissa Elkadi
f816f8df8d Merge branch 'episys/master-nsa' into origin-episys-merge-nsa 2021-10-27 07:39:52 -07:00
Melissa Elkadi
639d85dded Merge branch 'eurecom-episys-merge-nsa' into origin-episys-merge-nsa 2021-10-27 07:31:59 -07:00
Melissa Elkadi
bf4bf813dd Merge remote-tracking branch 'eurecom/develop' into eurecom-episys-merge-nsa 2021-10-27 07:31:35 -07:00
hardy
6a5d8b869e Merge remote-tracking branch 'origin/NR_ldpc_cuda_softmodem' into integration_2021_wk44 2021-10-27 16:22:21 +02:00
frtabu
8dd5346e2c fixes after rebase 2021-10-27 16:13:53 +02:00
hardy
9aab2b73b2 tentative : change eNB ID again 2021-10-27 16:05:18 +02:00
frtabu
68d415fd85 go on with openCL implementation 2021-10-27 15:08:10 +02:00
hardy
af7d9cd920 Merge remote-tracking branch 'origin/nr_sdap_gnb' into integration_2021_wk44 2021-10-27 15:07:53 +02:00
frtabu
2e8013546b documentation update 2021-10-27 15:02:49 +02:00
frtabu
03ed2c35c4 Update licensing comments 2021-10-27 15:02:49 +02:00
frtabu
1cd4c87052 Add -v option in ldpctest to select ldpc shared lib version
going on with openCL ldpc implem
2021-10-27 15:00:31 +02:00
Raymond Knopp
3586e83fde start translating cuda ldpc sources to opencl 2021-10-27 14:57:46 +02:00
frtabu
4345d42ec6 opencl implementation of ldpc decoder (platform query) 2021-10-27 14:57:46 +02:00
hardy
de801af6c1 Merge remote-tracking branch 'origin/nr_ue_mac_pdu_fixes_sr_bsr' into integration_2021_wk44 2021-10-27 14:51:49 +02:00
hardy
604e6e063e Merge remote-tracking branch 'origin/NR_BWP_fixes' into integration_2021_wk44 2021-10-27 14:48:58 +02:00
frtabu
d31ac5805e add openCL board detection 2021-10-27 14:42:12 +02:00
Raymond Knopp
29c7a3aa19 Add dummy open CL ldpc library 2021-10-27 14:42:12 +02:00
frtabu
00ea49b859 revert cuda compil flags and init code to initial version 2021-10-27 14:42:12 +02:00
frtabu
a6dd62a50f Enhance loader to allow library version selection for executables, as ldcptest which do not use the config module. 2021-10-27 14:42:12 +02:00
frtabu
41ba9a5afb Fix rebasing problems 2021-10-27 14:42:12 +02:00
frtabu
46a1b0725b adapt ldcp calls to spport new interface required by cuda decoder in shared lib 2021-10-27 14:42:12 +02:00
frtabu
9fcda4500a Move cuda ldpc code in a shared lib 2021-10-27 14:37:52 +02:00
frtabu
0cccbced28 Move cuda ldpc code in a shared lib 2021-10-27 14:37:52 +02:00
francescomani
4d21ec23df Merge remote-tracking branch 'origin/develop' into NR_SA_band_96 2021-10-27 14:21:02 +02:00
francescomani
d4c4f092b4 Merge remote-tracking branch 'origin/develop' into NR_cset_bwp_fixes 2021-10-27 14:06:25 +02:00
luis_pereira87
c1843c2649 Merge remote-tracking branch 'origin/develop' into handling-Msg4-Ack-failure 2021-10-27 12:39:57 +01:00
francescomani
b214d1afd1 Merge remote-tracking branch 'origin/develop' into NR_UE_acknack 2021-10-27 13:33:22 +02:00
luis_pereira87
e333a53bdd Merge branch 'develop' into develop-improve-SA-config 2021-10-27 12:09:46 +01:00
francescomani
35c4623bf2 fixes in uecap function 2021-10-27 12:16:03 +02:00
hardy
ac31ef5622 push DL to 60Mb in NSA 2021-10-27 10:51:09 +02:00
hardy
69b79efe50 change eNB ID for the different test config 2021-10-27 10:21:59 +02:00
hardy
7cf75d1ffc change eNB ID for the different test config 2021-10-27 10:19:53 +02:00
Melissa Elkadi
16b5da25a2 Merge branch 'episys/master-nsa' into episys/mel/merge_bw_testing_abs 2021-10-26 16:18:21 -07:00
Melissa Elkadi
cb8ecc6053 Merge branch 'eurecom-episys-merge-nsa' into origin-episys-merge-nsa 2021-10-26 16:03:48 -07:00
Melissa Elkadi
0fd35a229a Instead of removing the frees we allocated from heap.
In SA mode, there were DCI_INDs and RX_INDS that
were allocated on the stack and were assigned to
pointers used in the MAC instance. In NSA mode we
allocated these members on the heap so we free'd
them once we were done. In SA mode, they were not
allocated on the heap so this free call caused an
a free() error. We have now allocated these pointers
on the heap to avoid this error and ensure the
pointers are correct.
2021-10-26 15:48:03 -07:00
luis_pereira87
68fef91816 Apply the NSA t_Reordering value also for SA 2021-10-26 19:04:03 +01:00
Melissa Elkadi
0f1723a485 Properly calling init_tun and nas_conf for SA and NSA 2021-10-26 09:56:09 -07:00
Melissa Elkadi
99183b1761 Freeing memory that wasnt allocated on heap in SA mode 2021-10-26 09:19:41 -07:00
francescomani
3556423cf0 read uecap file in nr_rrc_ue_process_ueCapabilityEnquiry 2021-10-26 13:55:29 +02:00
Melissa
265c88749e Merge branch 'episys/david/checking_valid_spCellConfig' into 'episys/master-nsa'
Added one more condition for valid cell config

See merge request aburger/openairinterface5g!75
2021-10-25 21:46:27 +00:00
Deokseong "David" Kim
a13ed80cb7 Added one more condition for valid cell config 2021-10-25 21:46:27 +00:00
Melissa
d08eed8f3a Merge branch 'origin-episys-merge-nsa' into 'episys/master-nsa'
Merge from Eurecom/develop into Eurecom/episys-merge-nsa

See merge request aburger/openairinterface5g!76
2021-10-25 21:10:46 +00:00
Melissa
7d6212bb44 Upload New File 2021-10-25 19:31:15 +00:00
Melissa
7fcaee0961 Upload New File 2021-10-25 19:30:59 +00:00
Melissa
f70058a460 Upload New File 2021-10-25 19:30:46 +00:00
Melissa
c18f57d389 Upload New File 2021-10-25 19:30:31 +00:00
Melissa Elkadi
6b551e81b7 Adding documentation for NSA and LTE L2 emulator 2021-10-25 12:28:58 -07:00
Melissa Elkadi
8a56d146cc Merge branch 'episys/master-nsa' into episys/mel/merge_bw_testing_abs 2021-10-25 11:07:59 -07:00
Melissa Elkadi
e4ad4a6b17 Merge branch 'episys/master-nsa' into origin-episys-merge-nsa 2021-10-25 10:46:36 -07:00
Melissa Elkadi
74b2dbe73a Merge branch 'origin-episys-merge-nsa' into eurecom-episys-merge-nsa 2021-10-25 10:34:53 -07:00
Melissa Elkadi
b56c8ac3ce Merge remote-tracking branch 'eurecom/develop' into origin-episys-merge-nsa 2021-10-25 10:27:11 -07:00
Melissa Elkadi
2edfdb20a4 Merge remote-tracking branch 'eurecom/develop' into episys/mel/merge_bw_testing_abs 2021-10-25 09:52:23 -07:00
Melissa Elkadi
b7ec8ae21e Merge remote-tracking branch 'eurecom/develop' into eurecom-nfapi-carriage-returns 2021-10-25 09:23:21 -07:00
francescomani
0033e5cf89 fixes for RA proceduere at OAI UE 2021-10-25 18:08:25 +02:00
Raphael Defosseux
31544a99c1 fix(ci): disabling TAU in MME
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-10-25 18:06:42 +02:00
mjoang
f0c98e2b74 encapsulate mac_ce related logic into separate functionsin nr_ue_get_sdu. 2021-10-25 09:37:20 -04:00
francescomani
f1d1db0280 fixes for pdcch reception not in symbol 0 2021-10-25 14:05:44 +02:00
Laurent THOMAS
8b195c6cf0 minor modif to trigger CI 2021-10-24 18:42:53 +02:00
Laurent THOMAS
e3f9fd6b01 code cleanup, no feature 2021-10-24 14:47:24 +02:00
Laurent Thomas
eef2a58282 fix bug introduced by thisbranch 2021-10-24 14:31:42 +02:00
francescomani
f25fb602d9 using pdcch start symbol for sib1 detection 2021-10-22 18:11:12 +02:00
Francesco Mani
7efbf24485 Reducing the MCS drop in case of 3rd retransmission 2021-10-22 12:41:58 +00:00
Laurent THOMAS
b69c446543 hotfix SEGV and divide by 0 2021-10-22 14:22:51 +02:00
Raphael Defosseux
e5c4a07f38 feat(ci): adding ip route check on the ci bench server for container-based tests
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-10-22 13:43:09 +02:00
francescomani
54c90078a1 mcs logs 2021-10-22 12:00:23 +02:00
francescomani
2db3e842fd Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-10-22 11:09:51 +02:00
francescomani
7c95b1eb83 Merge remote-tracking branch 'origin/develop' into NR_SA_band_96 2021-10-22 09:12:07 +02:00
Laurent THOMAS
71d2414ced merge develop 2021-10-21 18:31:52 +02:00
francescomani
137e81970e Merge remote-tracking branch 'origin/develop' into NR_MCS_BLER 2021-10-21 15:55:15 +02:00
rmagueta
5ec960f5da Fix warning 2021-10-21 13:11:14 +01:00
rmagueta
bc282f39b9 Merge remote-tracking branch 'origin/develop' into handling-Msg4-Ack-failure 2021-10-21 12:51:37 +01:00
Masayuki Harada
30b40a0d5f Merge remote-tracking branch 'remotes/oai/develop' into NR_SA_pdu_session_modify_release 2021-10-21 19:49:26 +09:00
Masayuki Harada
772e873720 Add some comment and logs. 2021-10-21 19:45:42 +09:00
francescomani
b8c1de3ca0 Merge remote-tracking branch 'origin/develop' into NR_cset_bwp_fixes 2021-10-21 10:37:08 +02:00
Mario Joa-Ng
d483410e2a Merge develop. 2021-10-20 21:06:16 -04:00
Mario Joa-Ng
b84ef41159 Merge remote-tracking branch 'origin/develop' into nr_ue_mac_pdu_fixes_sr_bsr 2021-10-20 20:13:59 -04:00
francescomani
43a831f951 Merge remote-tracking branch 'origin/develop' into NR_UE_acknack 2021-10-20 17:10:24 +02:00
francescomani
0760409d04 Merge branch 'NR_UE_acknack' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_UE_acknack 2021-10-20 16:38:05 +02:00
francescomani
9e34bf015d Merge remote-tracking branch 'origin/develop' into NR_BWP_fixes 2021-10-20 16:34:38 +02:00
francescomani
2bff9862f3 Merge remote-tracking branch 'origin/develop' into NR_UE_Capabilities 2021-10-20 14:01:57 +02:00
Melissa Elkadi
f1cb957c04 Merge branch 'episys/master-nsa' of gitlab.int-episci.com:aburger/openairinterface5g into episys/master-nsa 2021-10-19 14:58:32 -07:00
Melissa Elkadi
7ccf745ddb Merge remote-tracking branch 'eurecom/episys-merge-nsa' into episys/master-nsa 2021-10-19 14:57:47 -07:00
Melissa Elkadi
7665f397a6 Only calling init_pdcp for NSA mode in gNB executable
Also, reverted some init_pdcp logic to match
the develop branch and added NSA mode. Lastly,
added additional error checking for cellConfig
to avoid crash in MAC layer.
2021-10-19 14:52:41 -07:00
Melissa
b4d8de2761 Merge branch 'revert-e630bf1c' into 'episys/master-nsa'
Revert "tx_data_request len field is a uint16_t"

See merge request aburger/openairinterface5g!74
2021-10-19 21:08:33 +00:00
Melissa
bcca4aad81 Revert "tx_data_request len field is a uint16_t"
This reverts commit e630bf1c52
2021-10-19 21:08:14 +00:00
Masayuki Harada
4ff836fe52 Merge remote-tracking branch 'remotes/origin/oai_develop' into NR_SA_pdu_session_modify_release 2021-10-20 00:42:05 +09:00
Melissa Elkadi
58eb8d2af4 Creating new queue for ul_ttis if dl_tti is late
Also, this commit changes the len argument in the
pusharray32 to match the actual field type (uint16_t).
There is also simple name change from sf -> slot.
The new queueing system is not a permanent solution.
It was simply a way for us to try to handle late
dl_tti_requests. If we queue every single ul_tti_req
that we get, the queue gets full very quickly becasue
we only remove ul_ttis from the queue when a uci has
been populated with a matching sfn/sf. Because of this,
we only queue ul_ttis if we have a uci_indication
prepared already. Rarely, a dl_tti_req will arrive at
the NRUE too late, and the NRUE does not have time
to create the uci_ind so we dont process the corresponding
ul_tti. A seprate queue was made to hold all other ul_ttis
the arrive in the NRUE (this queue will continuously
get full and then emptied) but will occasionally hold
a ul_tti that corresponds to a uci that hasnt
been populated yet.
2021-10-19 07:59:55 -07:00
francescomani
a6d9d8a2d1 ue capabilities xml file in SA conf files 2021-10-19 16:56:25 +02:00
luis_pereira87
832b8df6a8 Handling Msg3 when transferred through DCCH 2021-10-19 10:09:47 +01:00
Melissa Elkadi
e630bf1c52 tx_data_request len field is a uint16_t
In the pusharray32, used exclusively by the
    tx_data_request, the len argument passed in
    is defined as a uint32_t. This update fixes
    the passed in argument to be defined as a
    uint16_t instead.
2021-10-18 18:50:12 -07:00
Melissa Elkadi
09a90a4838 Merge remote-tracking branch 'origin/episys/master-nsa' into eurecom-episys-merge-nsa 2021-10-18 18:36:44 -07:00
Melissa
09e1b98f87 Merge branch 'episys/david/sctp_update' into 'episys/master-nsa'
Adding NSA mode for calling rlc_module_init  and SCTP_TASK

See merge request aburger/openairinterface5g!72
2021-10-19 01:36:08 +00:00
Deokseong "David" Kim
a30e27cb11 Adding NSA mode for calling rlc_module_init and SCTP_TASK 2021-10-19 01:36:07 +00:00
Melissa
d1787a605e Merge branch 'episys/master-nsa+alarm' into 'episys/master-nsa'
Set alarm

See merge request aburger/openairinterface5g!71
2021-10-18 22:04:20 +00:00
Michael Cook
69fc902b52 Set alarm 2021-10-18 22:04:19 +00:00
Thomas Schlichter
7b54ee312e Another review fix 2021-10-18 09:46:00 +00:00
Francesco Mani
1e99bbdc6e fix review 2021-10-18 09:42:09 +00:00
Thomas Schlichter
0141ae6137 review improvement 2021-10-18 08:51:35 +00:00
Melissa Elkadi
fe78d8a08f Only calling rlc_module_init for NSA mode
In develop, this function call was commented out.
It is necessary for NSA mode so we have modified
the logic for this case.
2021-10-15 09:13:36 -07:00
hardy
d2dff05c8c fix column shift for the test results 2021-10-15 16:03:51 +02:00
hardy
72a2fc67f3 fix key error in data model 2021-10-15 15:40:41 +02:00
hardy
64850ccfc2 fix empty columns count 2021-10-15 15:17:33 +02:00
hardy
4b7de39450 add last_pass 2021-10-15 15:11:45 +02:00
hardy
8ccb745d42 add delay to overcome google api quota 2021-10-15 11:21:03 +02:00
Masayuki Harada
cceed0341f Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into oai_develop 2021-10-15 15:30:04 +09:00
hardy
90f3e9e231 fix missing bracket 2021-10-14 08:45:00 +02:00
hardy
8dd7e58977 change to specific run dir 2021-10-14 08:42:30 +02:00
Melissa Elkadi
dbe23abcf3 Merge remote-tracking branch 'origin/episys/master-nsa' into eurecom-episys-merge-nsa 2021-10-13 09:57:54 -07:00
Melissa Elkadi
966a4d1d46 Merge remote-tracking branch 'origin/episys/master-nsa' into eurecom-episys-merge-nsa 2021-10-13 09:57:33 -07:00
Melissa
2800fbe0d5 Merge branch 'episys/david/fixing_nr_xlsim_build' into 'episys/master-nsa'
Fixed nr_dlsim and nr_ulsim build errors.

See merge request aburger/openairinterface5g!69
2021-10-13 16:27:13 +00:00
Deokseong "David" Kim
a5d23a0e08 Fixed nr_dlsim and nr_ulsim build errors. 2021-10-13 16:27:13 +00:00
Melissa
cb1344274f Merge branch 'origin-episys-merge-nsa' into 'episys/master-nsa'
Merge changes to episys-merge-nsa to episys/master-nsa

See merge request aburger/openairinterface5g!70
2021-10-13 15:44:21 +00:00
Melissa Elkadi
c751b594f1 Merge remote-tracking branch 'eurecom/develop' into eurecom-episys-merge-nsa 2021-10-13 07:03:11 -07:00
Melissa Elkadi
09cec7c72e Merge remote-tracking branch 'eurecom/develop' into origin-episys-merge-nsa 2021-10-13 07:01:27 -07:00
Melissa Elkadi
28391dad6a Updating pdcp init functions to maintain SA behavior 2021-10-13 06:52:15 -07:00
Melissa Elkadi
ea2495ea0a Attemping to stop filling UL_TTI_REQ queue
This is sort of hacky, but it stops the gNB
from crashing for 2 UEs with the proxy and
4 UEs with our internal proxy.
2021-10-12 17:06:00 -07:00
Melissa Elkadi
b17a5189b7 Adding timing informtion to rx'd slot indictions
Ensuring in the NRUE that the slot indications we
process are 500us apart.
2021-10-12 10:27:15 -07:00
hardy
d4e135960b major update / refactoring for ran dashboard, including mysql db and test results table 2021-10-10 22:12:13 +02:00
hardy
0aa0674297 get test results into dahsboard : part 1 formatting 2021-10-10 22:12:13 +02:00
mjoang
5e50a8cc1d remove newlines, add space after comma, fix identation 2021-10-09 14:37:45 -04:00
mjoang
1fac8d6963 Revert "run astyle to change format"
This reverts commit 721594102a.
2021-10-09 13:07:23 -04:00
Melissa Elkadi
f37264e676 Avoiding unnecessary casting and fixed bug in ul_tti handling 2021-10-08 15:45:28 -07:00
Melissa Elkadi
b3145dec04 Removing commented code 2021-10-08 08:53:49 -07:00
Melissa Elkadi
4b8a15fa14 Allocating NR nFAPI messages on the heap prior to queueing
This commit is properly allocating the NR nFAPI
messages on the heap; however, when we do this,
it makes the NR UE behind the gNB even more and
casuses us to not finish the CFRA procedure. This
is because the RAR is recevied in the NR UE, but
the slot indications are too far in advance, so
the CRC/RX pair (msg3) is never sent because
the scheduled ul_slot and ul_frame already was
received prior to getting the RAR.
Need to fix this!!
2021-10-07 18:37:20 -07:00
Melissa Elkadi
9355495ad1 Unqueueing UL_TTI_REQs based on active harq sfn sf
Also fixed some silly spelling errors.
2021-10-07 16:46:10 -07:00
David Kim
39563f3cd5 Restored the original NAS configuration file. 2021-10-07 10:11:21 -07:00
Melissa Elkadi
5552d53b08 gNB and NRUE slots not matching is what happens in LTE
This commit allows us to call the scheduler for
every slot indication we get to ensure we properly
configure the DCI. Also, we are sure to process the
DCI only when we have both the config (dl_tti) and
the payload (tx_req). Lastly, removed the hack
to the slot indication (we do not shift the slot
indication by -6 anymore). We are passing up to 4
NSA UEs, but sometimes one will not complete the CFRA
procedure.
2021-10-07 10:06:40 -07:00
francescomani
4e70fe17a3 Merge remote-tracking branch 'origin/develop' into NR_BWP_fixes 2021-10-07 17:11:02 +02:00
francescomani
c6d668b0db fix in dlsch allocation mask 2021-10-07 17:10:54 +02:00
Raphael Defosseux
4c5a693a14 feat(ci): old L2 simulator test is now disabled in VM pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-10-07 16:48:26 +02:00
Raphael Defosseux
efeef1cf01 Merge remote-tracking branch 'origin/develop' into NR_F1C_F1U_extensions 2021-10-07 10:11:44 +02:00
Masayuki Harada
1aeba1764b Merge remote-tracking branch 'remotes/oai/develop' into develop-NR_SA_nrUE_security_update 2021-10-07 10:38:00 +09:00
Melissa Elkadi
10432a3fbc Merge branch 'episys-merge-nsa' of https://gitlab.eurecom.fr/oai/openairinterface5g into eurecom-episys-merge-nsa 2021-10-06 18:31:29 -07:00
Melissa Elkadi
aa9a9e7a41 Merge branch 'episys/master-nsa' into eurecom-episys-merge-nsa 2021-10-06 18:25:32 -07:00
Melissa
42bed9b5ed Merge branch 'episys/david/restoring_original_NSA_config' into 'episys/master-nsa'
Restored the original NAS configuration file.

See merge request aburger/openairinterface5g!68
2021-10-07 01:24:49 +00:00
Melissa Elkadi
746d074646 Queuing all nFAPI messages and handling after slot ind
This commit changes the stub functionality entirely.
We are now queueing any received NR nFAPI message
and handling it only after we recevie a slot ind
that corresponds with the nFAPI message's sfn/slot
value. When doing this, an existing issue has been
brought to light. The gNB and NR UE are not in sync
when it comes to their slot indications. Generally,
the NR UE seems to be ahead of the gNB by around 6-7
slots. This commit has a hack... when we receive a
slot indication at the moment, we decrament it by 6
to try to keep the NRUE from being ahead of the gNB.
This will be fixed shortly... This was a temporary
fix..
2021-10-06 18:13:13 -07:00
David Kim
49f2a2ad2b Restored the original NAS configuration file. 2021-10-06 11:52:49 -07:00
Melissa Elkadi
98bc149e98 Reverting change that that forces DCI config before handling
By reverting this change, we will see the NRUE2 crash
because the DCI wont be configured before handling.
This will get fixed in the next commit by adding
queues for the nFAPI messages, therefore forcing
us to handle the nfapi messages only after we have
processes the corresponding slot indication.
2021-10-06 09:47:19 -07:00
Panos Matzakos
67e91af2f1 Update TESTING_5GSA_setup.md 2021-10-06 13:55:21 +00:00
Panos Matzakos
4349e436ba Update README.md for CU/DU split deployment option 2021-10-06 13:20:27 +00:00
matzakos
3105a23248 Address two remaining review comments 2021-10-06 13:39:29 +02:00
Raphael Defosseux
df36de9b49 fix(ci): better handling of wrong exit during iperf/ping tests; adding PCAP capture
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-10-06 10:03:39 +02:00
Robert Schmidt
41dff7b190 Add MCS from HARQ BLER
- Estimates correct MCS using EMA, kept between target thresholds
  dl_bler_target_upper and dl_bler_target_lower (conf options) for 1st
  retx and below dl_rd2_bler_threshold for 2nd retx
- Maximum MCS configurable
- on 3rd retx, reduce MCS by 5
2021-10-06 08:38:21 +02:00
Melissa Elkadi
47e96132f6 Handling multiple DCIs in a single DL_TTI and TX_REQ 2021-10-05 16:09:52 -07:00
Melissa Elkadi
1b2d8b5288 def_dci_pdu_rel15 fix.
In this commit we were trying to understand why
the memset of the def_dci_pdu_rel15 array in the NRUE
was casuing the NR UE to crash. This was happening
becuase some of the members of the def_dci_pdu_rel15
array canont be zero in NSA mode. This was happening
because sometimes, we would recevied two DCI indications
in a row, after the first one, we would be memesetting
the array to all 0s and then try to process the second
DCI. The fix we have implemnted is to call the configure_dci()
prior to processing ANY DCI, to ensure we have properly
configured the UE to handle these DCIs.

Also, in the gNB, it was not able to find the UL scheduled
slot for the feedback harq because it was not accounting for
the slot wrapping.
2021-10-05 11:40:40 -07:00
Raphael Defosseux
52367f2701 fix(ci): fixing docker-compose for F1 RF split following the v1.2.0 release of OAI-CN5G
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-10-05 11:57:51 +02:00
Raphael Defosseux
64ad04b552 doc(release): Updating the 5F RF simulator documentation and docker-compose following the v1.2.0 release of OAI-CN5G
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-10-05 11:49:34 +02:00
francescomani
97d114e0ed bugfix 2021-10-04 17:11:41 +02:00
Raphael Defosseux
05f0206cf0 style(MAC): lowering one log line to match previous behavior
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-10-04 16:44:18 +02:00
Raphael Defosseux
ef5f43707e fix(docker): proper formatting for docker image generation
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-10-04 16:28:24 +02:00
matzakos
cbd6a2ff1b Remove typo in 5G CU config. file used from the CI 2021-10-04 11:35:31 +02:00
Laurent Thomas
f9bb4150cb astyle only 2021-10-03 22:04:17 +02:00
Michael Cook
6b5bfed9b8 open-nFAPI: Remove carriage returns
Remove the problematic carriage returns from three nfapi source
files.

Only whitespace changes in this commit.

```
dos2unix open-nFAPI/*/src/*.c
```
2021-10-03 06:49:13 -07:00
Sakthivel Velumani
35d150771e L1 perf logging changes
Moved the L1 timing stats logs from stdout to nrL1_stats.log
2021-10-02 14:02:29 +05:30
Melissa Elkadi
fb0a80ee84 Adding memset of def_dci_pdu_rel15 back in
Removing the memset seemed to hide the problem
and now the problem is appearing in a differnt
manner... it is causing the NRUE to skip HARQ
PIDs as its filling the UCI indication and process
the DCI PDUs. So adding the memset causes the NR UE
to crash becasue the DL_BWP_ID is becoming 0
which leads us to index into an pointer that is not
allocated and then a crash happens in DCI handling.
2021-10-01 15:53:23 -07:00
David Kim
eb5f517165 updated configuration file location for ci test. 2021-10-01 15:34:12 -07:00
Melissa Elkadi
8c6723ca74 Lowering log level so it is not so verbose 2021-10-01 15:14:50 -07:00
Melissa Elkadi
373d292a48 Merge remote-tracking branch 'origin/episys/master-nsa' into eurecom-episys-merge-nsa 2021-10-01 15:02:21 -07:00
Melissa Elkadi
78b6988735 Merge branch 'episys/master-nsa' into eurecom-episys-merge-nsa 2021-10-01 15:01:57 -07:00
Melissa Elkadi
a5d6ff5a75 We are now sending either SR or HARQ based on UL_TTI_REQ
This requires some updates to the nFAPI code as well.
We also have declared the def_dci_rel15 extern variable
consistently throughout the code.

In this commit, the gNB is still crashing. However, it seems
that the NSA UE is sending the proper responses back, but there
some sort of incorrect management of the def_dci_pdu_rel15
variable. If we memset this array to 0, we can see incorrect
0 assignments to elements of the UCI indications. Hopefully
fixing this issue will result in less gNB crashes.
2021-10-01 14:52:32 -07:00
Melissa
7e806ad0e9 Merge branch 'episys/david/moving_config_files_into_a_folder' into 'episys/master-nsa'
Updated configuration file location for CI test.

See merge request aburger/openairinterface5g!67
2021-10-01 21:45:30 +00:00
David Kim
eef6ca5037 updated configuration file location for ci test. 2021-10-01 10:21:42 -07:00
Laurent THOMAS
b7a91d5607 Merge branch 'NR_F1C_F1U_extensions' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-10-01 17:14:27 +02:00
Laurent THOMAS
c17ba044bc make gtp-u port on F1-U configurable 2021-10-01 17:14:02 +02:00
Raphael Defosseux
0fcb4098d8 fix(ci): wrong plmn
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-10-01 15:54:42 +02:00
Laurent THOMAS
fd816a037c remove hardcoded log level 2021-10-01 15:43:49 +02:00
Laurent THOMAS
1e3c0fa7e3 only change LOG_x format 2021-10-01 15:05:52 +02:00
Laurent THOMAS
2acecb40a2 code review, CI result configuration issues, gcc warnings 2021-10-01 12:59:08 +02:00
matzakos
da65316765 Additional corrections for non-mandatory presence of DRB,SRB setup lists in handling of F1AP UE ctxt setup request,response messages 2021-10-01 12:42:37 +02:00
matzakos
b75fc441c5 Change presence of gNB_CU_UE_F1AP_ID as mandatory field in handling UE context setup response 2021-10-01 12:23:11 +02:00
matzakos
c43bde33f5 Use the updates of the masterCellGroup configuration as input to UE context setup response, instead of the whole mastercellgroup configuration stored at the UE context of the DU.
-Deallocate memory for the updates on masterCellGroup config. after the information is encoded.
2021-10-01 10:58:35 +02:00
Melissa Elkadi
ce8301ba38 Setting SR flag to 0 in NR UE to ensure we dont handle SRs 2021-09-30 19:25:57 -07:00
David Kim
b2d1052fe9 Added some config files after restoring original config files. 2021-09-30 18:39:30 -07:00
Melissa
e915230c28 Merge branch 'episys/david/adding_config_files' into 'episys/master-nsa'
Added some config files after restoring original config files.

See merge request aburger/openairinterface5g!66
2021-10-01 01:33:27 +00:00
Melissa Elkadi
d26aefaa87 Merge remote-tracking branch 'origin/episys/david/adding_config_files' into eurecom-episys-merge-nsa 2021-09-30 18:25:40 -07:00
Melissa Elkadi
d586689a33 Merge branch 'episys/master-nsa' of 10.1.1.59:aburger/openairinterface5g into episys/master-nsa 2021-09-30 18:04:37 -07:00
David Kim
bab9c42e59 Added some config files after restoring original config files. 2021-09-30 17:07:44 -07:00
Melissa
680278c03d Merge branch 'origin-episys-merge-nsa' into 'episys/master-nsa'
Syncing our OAI merge branch with our internal NSA master branch

See merge request aburger/openairinterface5g!64
2021-09-30 23:16:47 +00:00
Melissa
3eafdff63a Syncing our OAI merge branch with our internal NSA master branch 2021-09-30 23:16:46 +00:00
Melissa Elkadi
eccab94b2a Merge branch 'eurecom-episys-merge-nsa' into origin-episys-merge-nsa 2021-09-30 16:00:17 -07:00
Melissa Elkadi
a30f6791f7 Incorrectly removed timeout variable in PNF
Also, putting memset back to help us locate a
bug in the handling of the def_dci_pdu_rel15
2021-09-30 15:57:10 -07:00
Laurent THOMAS
2a1e7b739f fix gcc warnings, hardcode gtpu debug level for ci debug 2021-09-30 21:40:11 +02:00
Raymond Knopp
9e5a4a4868 MAC statistics in separate thread 2021-09-30 17:22:45 +02:00
Melissa Elkadi
354cf0820f Merge remote-tracking branch 'eurecom/bandwidth-testing-abs' into episys/mel/merge_bw_testing_abs 2021-09-30 07:10:51 -07:00
Melissa Elkadi
e8631811bd Merge remote-tracking branch 'eurecom/episys-merge-nsa' into origin-episys-merge-nsa 2021-09-30 06:30:37 -07:00
Melissa Elkadi
11ab8b55f0 Removing unused variables to get rid of warnings. 2021-09-30 06:29:35 -07:00
francescomani
fe0aa1a2b8 remove band 96 config file for merge 2021-09-30 09:14:08 +02:00
Melissa Elkadi
3eb6f5313f Merge branch 'eurecom-episys-merge-nsa' into origin-episys-merge-nsa 2021-09-29 12:31:55 -07:00
Melissa Elkadi
82af1cbc80 Correctly packing UCI indications
Also, removing memset for def_dci_pdu_rel15 because
it is setting the DL_BWP_ID = 0 before we have used
it.
2021-09-29 12:25:40 -07:00
Melissa Elkadi
cf0430a5bc Correctly packing UCI indications.
Also, removing memset for def_dci_pdu_rel15 because
it is setting the DL_BWP_ID = 0 before we have used
it.
2021-09-29 12:15:58 -07:00
Melissa Elkadi
5ab30707d0 Merge remote-tracking branch 'eurecom/episys-merge-nsa' into origin-episys-merge-nsa 2021-09-29 07:36:01 -07:00
Melissa Elkadi
8cf07859ca Processing crc_ind and rx_inds per PDU in gNb 2021-09-29 07:10:23 -07:00
mjoang
721594102a run astyle to change format 2021-09-29 09:57:15 -04:00
francescomani
36c321a785 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-09-29 14:11:27 +02:00
francescomani
485acb4ffa changes in ci config files 2021-09-29 10:55:59 +02:00
mjoang
5664999f9b Fix a bug so that BSR will be triggered when RLC entity has data. 2021-09-28 17:58:08 -04:00
Melissa
622410db32 Merge branch 'episys/david/processing_crc_ind_rx_ind_per_pdu' into 'episys/master-nsa'
processing crc_ind and rx_ind per pdu in gNB.

See merge request aburger/openairinterface5g!63
2021-09-28 21:57:11 +00:00
Deokseong "David" Kim
a3557eb486 processing crc_ind and rx_ind per pdu in gNB. 2021-09-28 21:57:10 +00:00
Melissa Elkadi
abb81d8d70 Fixing a typo 2021-09-28 14:46:40 -07:00
Melissa Elkadi
4cbea4cc8c Cleaning up MR code 2021-09-28 14:30:31 -07:00
Melissa Elkadi
df79567b16 Merge remote-tracking branch 'origin/episys/david/processing_crc_ind_rx_ind_per_pdu' into episys/mel/merge_bw_testing_abs 2021-09-28 13:18:06 -07:00
Melissa Elkadi
62118252dd Merge remote-tracking branch 'eurecom/bandwidth-testing-abs' into episys/mel/merge_bw_testing_abs 2021-09-28 13:13:54 -07:00
Melissa
9b1b629843 Merge branch 'develop' into 'episys-merge-nsa'
# Conflicts:
#   executables/nr-uesoftmodem.c
2021-09-28 20:06:11 +00:00
Masayuki Harada
f818307143 Remove warning. 2021-09-29 01:20:36 +09:00
Masayuki Harada
7cd75730d3 Remove ifndef PHYSIM conditions. 2021-09-29 01:02:22 +09:00
Masayuki Harada
80831cd48f Fix nr_derive_key memory problem. 2021-09-29 00:10:48 +09:00
Masayuki Harada
2fb3816722 Fix NRUE NAS security configuration. 2021-09-28 20:26:48 +09:00
Laurent THOMAS
c739058c5b enhanced macros for asn1c 2021-09-28 11:38:59 +02:00
francescomani
df4a57096b dlsim fix 2021-09-28 11:28:14 +02:00
Raphael Defosseux
fefeb1694e fix(ci): proper tab names for scenarios
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-09-28 10:52:21 +02:00
David Kim
60dca0657b processing crc_ind and rx_ind per pdu in gNB.
1. If matched rnti does not exist between crc_ind pdus and rx_ind puds, the ind or unmatched pdus will be requeued.
2. Sending crc_ind and rx_ind togetehr with crc_ind first in nrUE.
2021-09-27 12:59:40 -07:00
francescomani
1022311a8e another fix in acknack scheduling 2021-09-27 19:35:34 +02:00
francescomani
e946804bbf Minimum value of DL to ACK 2021-09-27 18:45:59 +02:00
athanassopoulos
86161e475d Fix: nrUE not processing SDAP header 2021-09-27 18:37:06 +02:00
Laurent THOMAS
57aed7ea9b fix memory error in do_nrMeasurementReport 2021-09-27 18:11:55 +02:00
athanassopoulos
01093063d7 NR SDAP gNB - Transparent Mode 2021-09-27 16:26:49 +02:00
francescomani
655bead8f1 logs 2021-09-27 12:19:40 +02:00
francescomani
b57b83faf3 bugfix in pucch scheduler at ue 2021-09-27 12:12:02 +02:00
francescomani
388918768a another fix in scheduler acknack 2021-09-27 11:52:47 +02:00
francescomani
c2a56faea8 fix retransmission of acknack in pucch after ack missed detection 2021-09-27 11:52:10 +02:00
Laurent THOMAS
fccb986f25 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into develop-NR_SA_nrUE_security_update 2021-09-27 09:53:36 +02:00
francescomani
849a388f72 acknack fixes at UE 2021-09-27 09:34:55 +02:00
francescomani
ef75edeae5 fix acknack scheduling compilation 2021-09-27 09:22:54 +02:00
Laurent THOMAS
d460a3a8b3 merge develop 2021-09-27 09:18:45 +02:00
francescomani
a21b6e0f06 update get_pdsch_to_harq_feedback 2021-09-27 09:08:19 +02:00
francescomani
68f6047c60 reworking acknack scheduling function 2021-09-27 08:48:38 +02:00
Melissa Elkadi
ca0bf39d36 Code clean up part 3.
I have removed more irrelevant comments and
updated a few logs.
2021-09-24 07:44:36 -07:00
Mario Joa-Ng
a64a892abc remove #if 0 2021-09-24 09:24:44 -04:00
Melissa Elkadi
f41452cce1 Merge remote-tracking branch 'origin/episys/mel/merge_develop_cfra_working_9_14_21' into eurecom-episys-merge-nsa 2021-09-23 15:06:01 -07:00
Melissa
79aeea60e9 Merge branch 'episys/mel/merge_to_cfra_working_9_14_21' into 'episys/mel/merge_develop_cfra_working_9_14_21'
Added slot_ind queue and handling slot_inds in VNF

See merge request aburger/openairinterface5g!61
2021-09-23 21:54:23 +00:00
Melissa
4b8f62b011 Added slot_ind queue and handling slot_inds in VNF 2021-09-23 21:54:22 +00:00
Melissa Elkadi
70be674227 Code clean up part 2.
This commit continues to clean up the reminader
of the changed files in the merge req 1274.
The changes include log updates, comment removals,
etc.
2021-09-23 14:19:55 -07:00
Melissa Elkadi
82ba5a3531 Code clean up part one.
This commit includes about 1/3 of the code clean up
in preparation for the merge to the OAI develop
branch. Several of the changes are white space changes,
removing of logs, comment removals, and updating any
changed code for our use-case to be clear for NSA mode.
2021-09-23 12:53:38 -07:00
matzakos
5e0c05dd61 Remove a hardcoding of RRC instance 2021-09-23 17:11:09 +02:00
mjoang
626e3a7015 merge develop 2021-09-23 10:44:43 -04:00
Raphael Defosseux
9fa353b719 fix(ci): better handling of logs
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-09-23 13:30:46 +02:00
Laurent THOMAS
8c55ccc9b7 Fix a critical bug introduced by F1-U in 4G 2021-09-22 17:09:24 +02:00
Melissa Elkadi
30065ef014 Removing hacks to gNB code for NSA mode 2021-09-22 07:27:13 -07:00
Laurent THOMAS
32ebb876f4 F1-U in gtp-U LTE case, working 2021-09-22 10:52:38 +02:00
Melissa
61e242199a Merge branch 'episys/david/sync_between_dl_tti_req_and_tx_data_req' into 'episys/mel/merge_develop_cfra_working_9_14_21'
Episys/david/sync between dl tti req and tx data req

See merge request aburger/openairinterface5g!60
2021-09-21 22:38:30 +00:00
Deokseong "David" Kim
6a7fe60266 Episys/david/sync between dl tti req and tx data req 2021-09-21 22:38:29 +00:00
Melissa Elkadi
c4e27cf8b4 Properly assigning the rx_ind.pdu pointer
Also, the ul_slot was not properly wrapping.
It was increased to a value greater than the
largest slot value.
2021-09-21 15:16:36 -07:00
Laurent THOMAS
c7f9365ccf Merge branch 'NR_F1C_F1U_extensions' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-09-21 20:34:01 +02:00
Laurent THOMAS
9b691b3ecf fix old code errors, add CU to DU, 4G F1-U 2021-09-21 20:33:35 +02:00
Raphael Defosseux
edb093f173 test(ci): adding 5G F1 RF simulator scenario
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-09-21 16:01:32 +02:00
Raphael Defosseux
9463741fc7 feat(docker): adding CU/DU conf file to gNB docker image
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2021-09-21 12:14:38 +02:00
Laurent THOMAS
686e585666 replace protobuf in 4G F1 split, first step: UL packets 2021-09-21 10:30:46 +02:00
Masayuki Harada
c522caf490 Merge remote-tracking branch 'remotes/oai/develop' into develop-NR_SA_nrUE_security_update 2021-09-18 19:07:17 +09:00
Laurent THOMAS
df82ee1b9c F1 4G signaling working, up to user data, 5G F1 config files example, documentation update 2021-09-16 19:14:28 +02:00
matzakos
c1220b37e2 Avoid hardcoding SRB2 id in F1 UE context setup request message and extract from RRC itti message instead 2021-09-16 11:42:30 +02:00
Laurent THOMAS
f20125f717 fix 4GF1 regressions 2021-09-16 09:59:27 +02:00
Masayuki Harada
d6475ac6e3 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into oai_develop 2021-09-16 15:37:32 +09:00
Melissa Elkadi
5ae3c8914a Only filtering tx_requests if RAR has been rx'd
But, we are not going to process the tx_request
unless we are waiting for the RAR OR if the RNTI
from the previous DCI matches.
2021-09-15 15:32:17 -07:00
Melissa Elkadi
54e231bfeb Filtering tx_requests based on prev DCI RNTI
In this commit, we create a new flag in the MAC
instance which is set to true if the recevied
DL DCI PDU's RNTI value matches the current UEs
RNTI value. If the RNTI value does not match,
then we should not process the recevied tx_request.
This check should only take place after the CFRA
procedure is complete.
2021-09-15 15:20:07 -07:00
Melissa Elkadi
d2daf8e860 Change slot_ahead to process ack/nack after pdsch 2021-09-15 11:07:27 -07:00
Melissa Elkadi
88e1b55f02 Filling UCI after DCI because info is available
Previously, we thought that filling the UCI ind
after we got the pdsch payload would stop the
 harq_pid from going inactive, but this was not
the case. The harq_pid is getting set to inactive
too early because of the sf_slot ahead value. The
fix for this will come in the next commit.
2021-09-15 10:03:21 -07:00
Laurent THOMAS
970acbe929 Merge branch 'NR_F1C_F1U_extensions' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-09-15 18:56:36 +02:00
Laurent THOMAS
4ac02d07fa seevral fixes for F1 in 4G 2021-09-15 18:56:31 +02:00
matzakos
c0aadc70e0 Change name for common itti message structure used for handling F1 UE context setup request and response messages 2021-09-15 17:23:00 +02:00
matzakos
4325b1fcda Updates in the UE context setup request handling function at the DU 2021-09-15 16:37:01 +02:00
francescomani
056ccbf39c change in some logs 2021-09-14 22:13:21 +02:00
Melissa Elkadi
77548d5bec Properly filtering DCIs in the NR UE 2021-09-14 12:53:39 -07:00
Melissa Elkadi
dbc4b0e321 Updating merged code with harq_pid global
The harq_pid is set to inactive during the scheduling
of ACK/NACK, but this is happening before tx_req (PDSCH)
is recevied. We update the global harq_pid then use it
once we get the PDSCH PDU, then we set it to inactive.
Also, the global previously wasnt being set properly because
a memset was changing the def_dci_re15 struct. We now
memset after we update the harq_pid global.
2021-09-14 12:08:38 -07:00
Melissa Elkadi
1f4b552063 Revering nr_ue_get_rach() to complete CFRA 2021-09-14 12:05:24 -07:00
francescomani
41f8f4fdd1 additional fixes in config file 2021-09-14 19:27:16 +02:00
Melissa Elkadi
2ac8d4b680 Properly handling cellGroupConfig in NR UE 2021-09-14 09:10:47 -07:00
Melissa Elkadi
c8ca564212 Merge remote-tracking branch 'eurecom/develop' into episys/mel/merge_develop_cfra_working_9_14_21 2021-09-14 08:36:54 -07:00
Melissa Elkadi
6a8e4e2883 Merge remote-tracking branch 'eurecom/develop' into episys/mel/merge_develop_cfra_working 2021-09-14 07:34:58 -07:00
francescomani
7e3cb7a32d adapting coreset0 parameter 2021-09-14 16:22:51 +02:00
francescomani
b93cb71483 improvement in setting ssb parameters 2021-09-14 13:52:02 +02:00
matzakos
222419ddbf Bring back sib1 tda from config file in du conf. file 2021-09-14 13:22:59 +02:00
francescomani
9eb813b02b improvement in setting ssb parameters 2021-09-14 12:42:10 +02:00
matzakos
97bedd6481 Update config. files for CU, DU and UE 2021-09-14 12:15:52 +02:00
matzakos
7d8224863e Add gtpu instance print in gtpu_send logs 2021-09-14 12:14:48 +02:00
francescomani
aa308ab262 bugfix in get_nr_table_idx 2021-09-14 11:58:34 +02:00
Xue Song
124ccbf14c modify pdusession modify procedure 2021-09-14 09:53:42 +00:00
francescomani
1dd512873f adding band 96 in bandtable 2021-09-14 11:19:48 +02:00
francescomani
0d35f8a24f band 96 config file 2021-09-14 11:18:34 +02:00
Laurent THOMAS
e77a177f28 use older cmake version 2021-09-14 10:37:14 +02:00
Laurent THOMAS
af19655763 Compile all targets to fix compilation regression 2021-09-14 09:37:06 +02:00
Laurent THOMAS
8078e0b4a1 F1-U ping first full user plane ping working 2021-09-13 16:58:09 +02:00
Laurent THOMAS
b94aee2e97 fixing F1-U 2021-09-13 15:54:01 +02:00
francescomani
9fb094600f cosmetic changes and duplicate code 2021-09-13 14:54:49 +02:00
Laurent THOMAS
a455ce7cab fix F1-U bugs 2021-09-13 11:04:38 +02:00
francescomani
cfccd8ece8 fix another compilation issue 2021-09-13 10:01:05 +02:00
Xue Song
64a7359a4c set fiveQI in ngap_gNB_handle_pdusession_modify_request() 2021-09-13 07:59:22 +00:00
francescomani
b31199c4ef make csirs prb occupation generic 2021-09-12 11:27:45 +02:00
francescomani
736b8be64d fix phy sim compilation issue 2021-09-12 10:08:26 +02:00
francescomani
3c766d29f3 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-09-12 09:38:38 +02:00
Melissa Elkadi
3abc7f93e7 Preparing UCIs after we have recevied PDSCH PDU
In this commit, we introduced a new global to save
the harq_pid from the PDCCH that comes down in the
DCI message so that we can use the harq_pid in the
PDSCH. Now, the UCI ind will be filled after we
have recevied the PDSCH in the tx_request.
2021-09-10 14:34:48 -07:00
francescomani
10c4e95704 moving get_coreset_rballoc to nr_common 2021-09-10 11:55:57 +02:00
Laurent Thomas
62f2d43f75 merge develop 2021-09-10 11:11:20 +02:00
Xue Song
9a09335495 add rrc_gNB_modify_dedicatedRRCReconfiguration()
add rrc_gNB_process_NGAP_PDUSESSION_MODIFY_REQ()
add rrc_gNB_send_NGAP_PDUSESSION_MODIFY_RESP()
2021-09-10 08:41:21 +00:00
Masayuki Harada
fd297ef080 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into oai_develop 2021-09-10 15:13:37 +09:00
Mario Joa-Ng
82e6d04e56 fix bugs in GNB MAC nr_store_dlsch_buffer()
This commit is to handle multipe UE correctly.
Right now UE #1 and UE #2 can both ping google.
2021-09-09 16:10:20 -07:00
Melissa Elkadi
a34856ba38 Filtering DCI PDUs by RNTI in NR UE 2021-09-09 14:47:58 -07:00
Laurent Thomas
2bf553638f Merge branch 'NR_F1C_F1U_extensions' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-09-09 19:37:31 +02:00
Laurent Thomas
8e66c6a489 F1-U development 2021-09-09 19:37:07 +02:00
Masayuki Harada
edd179c263 Merge remote-tracking branch 'remotes/oai/nr-pdcp-security-w34' into develop-NR_SA_nrUE_security_update 2021-09-09 19:40:46 +09:00
matzakos
a8550e4215 Fix memory allocation issue at UE ctxt setup response handling 2021-09-09 12:17:10 +02:00
Laurent Thomas
21a9ca8cce gcc warning fix 2021-09-09 11:46:34 +02:00
Laurent Thomas
6086d9c093 Merge branch 'NR_F1C_F1U_extensions' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-09-09 11:37:05 +02:00
Laurent Thomas
b5f300171d change instance id to 3GPP length 2021-09-09 11:37:00 +02:00
francescomani
d8e7167c20 Merge remote-tracking branch 'origin/develop' into NR_BWP_fixes 2021-09-09 10:53:12 +02:00
francescomani
cd11e1d8a2 fixes for cset0 bwp start and size 2021-09-09 10:20:15 +02:00
matzakos
c0e9c0eac9 Update handling of UE context setup Response at F1AP and RRC of the CU 2021-09-08 16:37:18 +02:00
Masayuki Harada
d0575640fc Add calc kgnb and PDCP security settings in nrUE. 2021-09-08 22:52:50 +09:00
francescomani
17c0268775 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-09-07 17:17:35 +02:00
francescomani
32bbf94c5d adding condition to use type 2 only for OAI UE 2021-09-07 16:54:53 +02:00
Laurent Thomas
7b2f3440e9 merge develop 2021-09-07 16:51:30 +02:00
matzakos
a75d200888 Trigger UE context response from RRC by sending ITTI to F1AP task
-Fix contents of F1AP UE context setup response message
2021-09-07 15:30:14 +02:00
Laurent Thomas
16ea018601 fix a abort() call let in the source 2021-09-07 11:57:58 +02:00
Laurent Thomas
e1741d72b2 Merge branch 'NR_F1C_F1U_extensions' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-09-06 18:28:28 +02:00
Laurent Thomas
36000a3e89 add F1-U callbacks implem 2021-09-06 18:27:51 +02:00
matzakos
842bf6e346 Add rrc handling for F1 UE context setup response message at the CU and gtp-u tunnel update functionality
-Remains to be tested
2021-09-06 14:44:53 +02:00
Melissa Elkadi
3df849eca2 Code clean up 2021-09-03 13:04:15 -07:00
Melissa Elkadi
0b7ce4351d Adding error checking in processing CCCH msgs. 2021-09-03 12:37:07 -07:00
Melissa Elkadi
d60dfa552a Properly initializing the PDCP layer
Previously, the ue_id passed into the
init_pdcp() in  the proxy would be 41.
This is outside of the bounds of the
nas_sock_fd array and would cause a crash.
This was occuring because the node_number
in the NRUE starts at 2, not 1.
2021-09-03 11:40:53 -07:00
Melissa
0f3340011a Merge branch 'episys/david/Adding_function_declaration_to_read_config_file' into 'episys/mel/merge_develop_cfra_working'
Added function declaration to read config file.

See merge request aburger/openairinterface5g!58
2021-09-03 18:37:24 +00:00
David Kim
f8c9be3af9 Added function declaration to read config file.
config files were also updated.
2021-09-03 10:46:09 -07:00
Melissa Elkadi
ca1805faaf IP ping traffic is working correctly
In this commit we have updated the NRUE
to properly get the RadioBearer info from
the gNB. Because NSA and SA mode both use
this information, we have updated the SA
function previously in place by changing
the name to allow both NSA and SA mode to
use. This commit also updated the NR/LTE UEs
configuration files to with the correct
proxy IP address.
2021-09-03 10:13:59 -07:00
Laurent THOMAS
e942193824 add partial coding ue context resp 2021-09-03 14:14:43 +02:00
Laurent THOMAS
14775c9dd2 partial coding ue context setup resp 2021-09-03 13:51:17 +02:00
matzakos
7fab01472e Preliminary work to handle UE context setup response at F1AP layer of the CU
-Remaining to handle the incoming information at RRC layer of the CU as well
2021-09-03 11:17:48 +02:00
Melissa Elkadi
5c49b19788 Merge remote-tracking branch 'origin/episys/david/merge_develop_cfra_working_using_ue_config_for_IP_address' into episys/mel/merge_develop_cfra_working 2021-09-02 15:36:40 -07:00
Melissa Elkadi
2cb934ac2d Didnt mean to redefine variables in 1c11708501
This commit fixes commit 1c11708501 which
we are redefining data_buffer and size_to_write.
2021-09-02 15:34:32 -07:00
Melissa Elkadi
1c11708501 IP working. but HACK!! Changed SN size to 12
Also changed the code to only remove the first
byte of the PDU if it is 00.
2021-09-02 15:29:18 -07:00
David Kim
6342e67c33 Setting UE and nrUE IP address in config file.
1. Removed hard coded IP address in the code for UE and nrUE's remote address.
2. Read IP address from config file for UE and nrUE's remote address.
2021-09-02 13:33:42 -07:00
Laurent THOMAS
00a47807b1 some progress in du ue context setup 2021-09-02 19:28:28 +02:00
matzakos
7e1febcecf Change the order of sequence of bytes in IP conversion functions used in F1AP
-Now IP address appears correctly in wireshark
2021-09-02 19:17:03 +02:00
Melissa Elkadi
233e567a4a Merge branch 'episys/mel/merge_develop_cfra_working' of 10.1.1.59:aburger/openairinterface5g into episys/mel/merge_develop_cfra_working 2021-09-02 10:16:25 -07:00
Melissa Elkadi
b003f37490 Comment for removed first byte before write to TUN 2021-09-02 10:13:44 -07:00
Laurent THOMAS
7cde9f7a88 DU sends packet in UL over F1-U 2021-09-02 15:10:11 +02:00
Melissa
672459ad15 Merge branch 'episys/mel/merge_develop_cfra_working_for_multiUE' into 'episys/mel/merge_develop_cfra_working'
Fix to handle multiple UEs and typo bug.

See merge request aburger/openairinterface5g!56
2021-09-01 21:10:12 +00:00
Deokseong "David" Kim
262efe7902 Fix to handle multiple UEs and typo bug. 2021-09-01 21:10:10 +00:00
matzakos
1f346f1bdf Add structure for ue_context_setup_response to be used for ITTI msgs between RRC<->F1 2021-09-01 19:09:53 +02:00
matzakos
e1e5b56a77 Fix IP address parsing for CU/DU tunnel information info 2021-09-01 15:46:11 +02:00
matzakos
01504dcab1 Small correction to obtain the rnti from the CU or DU UE id 2021-09-01 13:32:43 +02:00
David Kim
d72d646c0d Adjusted code format to increase code readability. 2021-08-31 18:21:54 -07:00
David Kim
ea63a9eeb0 Merge remote-tracking branch 'origin/episys/mel/merge_develop_cfra_working' into episys/mel/merge_develop_cfra_working_for_multiUE
Resolved merge conflict.
2021-08-31 17:45:26 -07:00
Melissa Elkadi
bfa8c8355c Updated logic for getting IP data in scheduler
Also, the error checking for writing to the TUN
interface was incorrect so that was fixed as well.
2021-08-31 16:06:45 -07:00
Melissa Elkadi
1c248bcf49 Successfully writing to TUN if and removed usleep 2021-08-31 15:53:14 -07:00
Laurent THOMAS
ba277b479d Merge branch 'NR_F1C_F1U_extensions' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-08-31 21:31:53 +02:00
Laurent THOMAS
9ee167c829 draft F1-C for DU 2021-08-31 21:31:24 +02:00
Laurent THOMAS
5c3abe6fc8 add F1-U DU Uplink 2021-08-31 21:03:22 +02:00
Laurent THOMAS
49c4fceb76 fix memory error: too early paramters read, then free (before end of usage 2021-08-31 20:51:11 +02:00
Melissa Elkadi
24d75a99af Only initializing PDCP if using EPC (S1 mode) 2021-08-31 11:48:21 -07:00
francescomani
189ed94542 Merge remote-tracking branch 'origin/develop' into NR_BWP_fixes 2021-08-31 19:05:16 +02:00
matzakos
2616ef6bdf Correct the placement of memory initialization for F1-U create_tunnel_req 2021-08-31 17:04:48 +02:00
matzakos
7a2f88040f Correction to parse the IP address for F1-U tunnels creation
however the address in the NGAP message is still wrong
2021-08-31 15:39:51 +02:00
Laurent THOMAS
7ca1f045d0 typo remaining 2021-08-31 14:36:56 +02:00
Laurent THOMAS
0f033d99ff merge develop 2021-08-31 13:29:28 +02:00
Laurent THOMAS
01b92ebd26 Merge branch 'NR_F1C_F1U_extensions' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-08-31 13:26:33 +02:00
Laurent THOMAS
0976f3e988 bug fix 2021-08-31 13:26:29 +02:00
matzakos
4e667929b7 Add gtp-u tunnel creation at the CU side
- Change some elements names inside create_tunnel structure so that they are more generic to capture both N3 and F1-U use cases
2021-08-31 11:18:30 +02:00
Laurent THOMAS
69c87b2344 add F1-U DU Uplink 2021-08-31 10:37:27 +02:00
Laurent THOMAS
229ccd6b14 fix F1AP error on srb id 2021-08-31 08:35:55 +02:00
David Kim
86d605eea1 Fix to handle multiple UEs and typo bug.
1. Changed hard coded preamble index(63) to soft coded.
2. Active UE will not be considered in gNB scheduging RA.
3. Added condition to process dci indication to handle multiple UEs.
4. Bug fix in mutex_lock (unlock to lock). It should be lock rather than unlock.
5. nr_ue_scheduler update not to entering into getting IP traffic to be transmitted in noS1 mode.
6. log update in checking the number of rx_ind or crc
2021-08-30 11:01:32 -07:00
Mario Joa-Ng
b5536c3a9c gNB assigns SR resources for UE according to its rtni 2021-08-27 17:29:34 -04:00
francescomani
822d8e71ad fixed missed initialization 2021-08-27 16:05:35 +02:00
francescomani
b10d32d8b8 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-08-27 16:02:58 +02:00
Laurent THOMAS
af7892e2eb Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-08-27 09:43:15 +02:00
Laurent THOMAS
b06d7bfe0f Merge branch 'NR_F1C_F1U_extensions' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-08-27 09:36:22 +02:00
Laurent THOMAS
ad27ec9811 add UE wireshark trace 2021-08-27 09:36:17 +02:00
Melissa Elkadi
512e76dee8 Error checking and meas sending wait for EPC only 2021-08-26 17:37:51 -07:00
Melissa Elkadi
6ec545e29d Error checking for processing DL PDUs
Also, we only should be handling/generating AM
PDUs in the PDCP/RLC layer, not UM PDUs. Updated
the pre-configuration settings. This seemed to
make the uplink traffic work (meaning it gets
from NR UE to the gNB to the EPC). Woo! Still
working on the downlink.
2021-08-26 15:44:45 -07:00
He Shanyun
cc7c4ba2e4 Merge commit '6df331d80ec05aca315778708ce72914f961ee7b' into oai_develop 2021-08-26 05:49:12 +00:00
Melissa Elkadi
cad1175154 Get IP traffic in MAC layer and handling of RAR
Previously, we would assume every downlink in
slot 7 was an RAR; now we assume every slot 7
that occurs before the CFRA procedure is done
is an RAR. Also changed the logic in scheduler
to allow us to get nr_ue_sdus in the MAC layer.
2021-08-25 17:15:16 -07:00
Melissa Elkadi
63cb61db7d Only do DRB preconfiguration if NOT in noS1 mode 2021-08-25 16:09:20 -07:00
Melissa
b6e8266732 Merge branch 'episys/david/cfra_working_update_0824' into 'episys/mel/merge_develop_cfra_working'
Update on scheduler to relax AssertFatal.

See merge request aburger/openairinterface5g!55
2021-08-25 22:52:59 +00:00
Deokseong "David" Kim
43d8ed216e Update on scheduler to relax AssertFatal. 2021-08-25 22:52:58 +00:00
Melissa Elkadi
72675ef351 Updating .gitignore for logs and strace files 2021-08-25 15:43:33 -07:00
Melissa Elkadi
1b49e7e2ef Additions to get UE connected to EPC 2021-08-25 12:10:12 -07:00
Melissa Elkadi
b7e5c9cf9f Update logic for calling scheduler 2021-08-25 11:28:19 -07:00
matzakos
ca8b7c915c Merge remote-tracking branch 'origin/develop' into NR_F1C_F1U_extensions 2021-08-25 17:06:17 +02:00
matzakos
bdef3296c4 Add handling of F1 Ue context setup request message at the DU side
- Trigger SRB2 and DRB configuration and RRC->MAC configuration
- Remaining: gtp-u tunnel creation at the DU side, triggering and handling of UE context setup response
2021-08-25 16:58:29 +02:00
Laurent THOMAS
22b072d85a fix my regression 2021-08-25 13:24:31 +02:00
Melissa Elkadi
9b6b905bb8 Adding hacks to stop gNB from crashing 2021-08-24 16:25:40 -07:00
Melissa Elkadi
e695224903 Adding 'Receiving RAR' as LOG_A for NSA mode 2021-08-24 15:51:58 -07:00
Mario Joa-Ng
382086d151 NR_UE: set mac->logicalChannelBearer_exist to false when RLC bearer is released. 2021-08-24 14:28:23 -04:00
Mario Joa-Ng
1d33305a70 NR_UE: set mac->logicalChannelBearer_exist to false when RLC bearer is released. 2021-08-24 12:51:32 -04:00
francescomani
a1595c3109 setting ulsch inactivity timer from slots to frames and removing it from config files (default 10 frames) 2021-08-24 18:02:54 +02:00
Laurent THOMAS
e0cb79d2d8 make SIB1 encoding readable and ARM compatible 2021-08-24 11:21:53 +02:00
Melissa
d1c9821869 Merge branch 'episys/mel/merge_develop_cfra_working_bufsize' into 'episys/mel/merge_develop_cfra_working'
Be more careful about buffer sizes

See merge request aburger/openairinterface5g!54
2021-08-23 21:06:10 +00:00
Michael Cook
d768522466 Be more careful about buffer sizes 2021-08-23 21:06:09 +00:00
mjoang
e8156ddba7 1. Move NR_LONG_BSR_TABLE and NR_SHORT_BSR_TABLE to nr_mac_common.c 2. Change nr_rlc_mac_config_req_ue_logicalChannelBearer to nr_rrc_mac_config_req_ue_logicalChannelBearer. 2021-08-23 15:38:52 -04:00
mjoang
f2c0178b34 1. Call mac_rlc_status_ind only for existing bearers. 2. Re-enable logging in mac_rlc_status to detect any call for non-existing bearer. 2021-08-23 11:52:28 -04:00
Melissa Elkadi
1116d16df2 Need to call scheduler after RACH indefinitly
The ue_sched_mode is reset to 0 again when we
memset the ul_info and after the CFRA procedure
is complete, then uplink CRCs with the PUCCH
response (PUSCH) are not being sent because the
scheduler isnt being called. This makes the
gNB run out of uplink harq ids since its never
getting the proper responses. The change below
will ensure that we call the scheduler AFTER the
RACH is sent and all the time after that.
2021-08-20 14:50:23 -07:00
Melissa Elkadi
671f461e6c Making sure we never are in ONLY_PUSCH mode
When running on some machines, the ue_sched_mode
will be initialized to zero. This will cause
the ul_info the go into the ONLY_PUSCH mode.
We do not want to ever call the scheduler and return.
Furthermore, we only want to call the scheduler after
the NRUE has sent the RACH_IND to the gNB.
2021-08-20 10:50:39 -07:00
Melissa Elkadi
0eb90bd8c8 Setting ue_sched_mode after filling RACH_IND
Also, removed the check before calling the
nr_uescheduler that was associated with the
ra.state. Lastly, removed the DL_HARQ_PID
position change as that was incorrect.
2021-08-20 09:55:17 -07:00
matzakos
2c5a5f9f57 Remove redundant second call for initialization of oai ue tun interface 2021-08-20 16:42:22 +02:00
Melissa Elkadi
e6709fe9e6 DCI format options were being set incorrectly.
Had to add a check for our NSA mode. If we are in
NSA mode, the DCI format options should be populated
with formats 1 and 7 exclusively. This fixed the
DLBWP calculation for the PDCCH PDUs.
2021-08-20 07:41:54 -07:00
francescomani
17b1db302c adjusting vrb map in uci functions 2021-08-20 11:10:58 +02:00
Laurent Thomas
d7ed6d6270 small fix 2021-08-20 09:59:32 +02:00
francescomani
b962dda8c9 prach vrb wrt bwp start 2021-08-20 08:41:21 +02:00
Melissa Elkadi
2fb0e41d44 Merge branch 'episys/mel/merge_develop_cfra_working' of 10.1.1.59:aburger/openairinterface5g into episys/mel/merge_develop_cfra_working 2021-08-19 13:54:31 -07:00
Melissa Elkadi
0ee8f20d54 Updated gNB conf file & last RRC msg in LTE/NR UE 2021-08-19 13:53:12 -07:00
Melissa Elkadi
9fb130b8b4 Updated gNB conf file & last RRC msg in LTE/NR UE 2021-08-19 10:26:50 -07:00
francescomani
44fc5c1072 fix vrb occupation for msg2 and msg4 2021-08-19 13:00:02 +02:00
Laurent Thomas
1a43c21b12 remove a race F1AP->NR RRC 2021-08-19 12:09:06 +02:00
francescomani
1ff08037fb other fixes for msg3 bwp start 2021-08-19 12:08:10 +02:00
francescomani
282fd65575 fix msg3 rb_start condition 2021-08-19 11:37:21 +02:00
francescomani
76bc07a35d Merge remote-tracking branch 'origin/NR_msg3_allocation_fix' into NR_BWP_fixes 2021-08-19 11:19:59 +02:00
Melissa Elkadi
2c5f0af081 CFRA procedure is working! But gNB still crashes
How? Well, we had to properly allocate the
ul_config_req. We also had to update the
ue_get_rach function. There were several
places where the functionality would check
for a particular mode (ra, sa, phy_test, etc).
In some of these places we had to add NSA mode.
In the VNF, they start the scheduler after 3 sec,
this is sort of a hack, might want to revisit.
This commit also includes removal of printfs.
2021-08-18 16:09:37 -07:00
mjoang
464c095420 Suppress warning message. 2021-08-18 14:59:13 -04:00
mjoang
120e6a59b3 Suppress warning message. 2021-08-18 12:29:06 -04:00
francescomani
2780e00456 fix vrb map filling for csi-rs 2021-08-18 18:21:08 +02:00
francescomani
d606e73a53 fix PRB allocation for phytest mode 2021-08-18 18:11:04 +02:00
francescomani
ba816f699f fix PRB allocation for UE-specific ULSCH 2021-08-18 17:59:35 +02:00
francescomani
1f1d40591e fix PRB allocation for UE-specific DLSCH 2021-08-18 17:37:18 +02:00
David Kim
933dcd2894 Updated vnf codes to fix merge errors.
1. Prototype of nr indication functions were updated.
2. nr_rx_indication name changed to nr_rx_data_indication
3. Added other logs and assert conditions that were gone away from merge.
4. pnf files were not touched.
5. To be sync with original nfapi branch, the following file was checkout from eurocom-nfapi_nr_arch_mod
   nfapi/open-nFAPI/vnf/public_inc/nfapi_vnf_interface.h
2021-08-17 10:03:06 -07:00
mjoang
9e59a26146 1. Add nr_ue_init_mac() to initialize the fields in nr_mac instance. 2. Fix bug on handling padding BSR. 2021-08-17 12:29:34 -04:00
Laurent THOMAS
18fce2b173 fix several bugs, remain critical design mistakes 2021-08-17 14:55:44 +02:00
Laurent THOMAS
058b040c56 ue context setup first fix, the feature is not well implemented 2021-08-17 09:04:28 +02:00
mjoang
4db04d7bee first version of sr bsr. remove test code 2021-08-16 14:19:29 -04:00
mjoang
5df1f412be first version of sr bsr. remove test code 2021-08-16 12:35:40 -04:00
mjoang
607578f080 first version of sr bsr. 2021-08-16 10:09:53 -04:00
Laurent THOMAS
90999e5a15 Fix F1 bugs 2021-08-16 14:14:52 +02:00
Laurent THOMAS
1c00e712ae Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-08-16 09:10:56 +02:00
Melissa Elkadi
2a979f4e2f Merge branch 'eurecom-nfapi-nr-arch-mod' into episys/merge_nsa_w_develop 2021-08-13 10:27:30 -07:00
Melissa Elkadi
3a51e7c352 Successfully encoding meas report! Woohoo!
However, when we free after we encode, fsanitize isnt happy.
Need to clean that up. Also, found an actual bug in LTE.
For the random value issue from fall 2020, we added a fix.
This fix uses ctxt and we were getting ctxt properly.
Lastly, we allocated some memory in processing of the
NR Meas report in the eNB.
2021-08-12 13:21:58 -07:00
Laurent THOMAS
19af86b163 little fixes 2021-08-12 21:53:56 +02:00
Francesco Mani
8f4a46e316 fix in msg3 tbs 2021-08-12 11:36:39 +00:00
francescomani
9fb4f28e28 fix in checking available RBs for msg3 allocationg 2021-08-12 10:57:55 +02:00
Laurent THOMAS
89eb5850cf merge develop, no big issue, we are sync 2021-08-12 10:08:25 +02:00
Laurent THOMAS
457dc5816b fixes commit before merge develop 2021-08-12 09:31:36 +02:00
Melissa Elkadi
9b16c1d860 Merge branch 'eurecom-develop' into episys/merge_nsa_w_develop
At this point we are successfully able to build.
Additionally, we can run the scenario,
however, it does not pass. It seems that the gNB
is not connecting to the proxy correctly. Just
wanted to push the progress so far. FYI, the items
that had to be changed to correct the linking issues
were the following:

 - mac_rrc_data_ind_ue vs. nr_mac_rrc_data_ind_ue
 - rrc_data_req vs. nr_rrc_data_req
 - mac_rrc_data_req_ue vs. nr_mac_rrc_data_req_ue
 - rrc_data_req_ue vs. rrc_data_req_nr_ue
 - rrc_data_req vs. nr_rrc_data_req

The listed functions should be declard in the LTE/NR
UE directory depending on the functionality. Several
were mixed. i.e.: LTE functions being called in NR UE.

Also, removing siWindowLength, siWindowLength_int,
SIBType, SIBPeriod, and siPeriod_int from the NR UE RRC.
These variable were not used in the NR UE and are defined
for LTE only.

Lastly, in the NR_IF_Module.c of the NR UE, the global
variable def_dci_pdu_rel15 is not accessible. Need to
revisit this. For not it is commented out.
2021-08-11 10:23:42 -07:00
Melissa Elkadi
2f89161363 Merge branch 'episys/mel_and_david_ip' of 10.1.1.59:aburger/openairinterface5g into episys/mel_and_david_ip 2021-08-10 06:15:06 -07:00
francescomani
0934403a42 bugfix in setting the nb of layers for sa 2021-08-10 14:26:09 +02:00
francescomani
2e8018d28f avoid segmentation fault in scheduling csirs for sa 2021-08-10 12:32:52 +02:00
Melissa
56d2985c21 Merge branch 'episys/david/multiUE_with_crnti_checking' into 'episys/mel_and_david_ip'
Added crnti checking in nrUE and update in gNB

See merge request aburger/openairinterface5g!53
2021-08-09 23:46:31 +00:00
Deokseong "David" Kim
4133b6bb60 Added crnti checking in nrUE and update in gNB 2021-08-09 23:46:31 +00:00
Melissa Elkadi
8de86da7f5 Merge branch 'episys/david/multiUE_with_crnti_checking' into episys/mel_and_david_ip 2021-08-09 16:30:38 -07:00
Melissa Elkadi
cf4771520b Merge branch 'episys/david/multiUE_with_crnti_checking' of 10.1.1.59:aburger/openairinterface5g into episys/david/multiUE_with_crnti_checking
Also changed a log and typo
2021-08-09 16:29:58 -07:00
Melissa Elkadi
4e6e7519af Semicolon in RRC NR UE incorrect 2021-08-09 15:54:59 -07:00
Melissa Elkadi
4f1d543478 Adding hexdumps to see dc/p bit in PDU
At this point we can see the UDP uplink data
getting to the GTP layer of the gNB. This
only works if you change the memcpy in serialize_sdu()
to not have the encoded.byte
2021-08-09 14:59:27 -07:00
Laurent THOMAS
e4ec620e6b fix a regression I made 2021-08-09 22:01:30 +02:00
David Kim
85fb91dff7 Merge branch 'episys/nsa_epc_gnb_updates' into episys/david/multiUE_with_crnti_checking 2021-08-09 09:06:15 -07:00
David Kim
5c10d7ed1b Uncommented downlink harq ACK/NACK scheduling condition. 2021-08-08 22:32:13 -07:00
David Kim
845a5dc2d7 Added time window for handling rach indication. 2021-08-07 15:34:33 -07:00
David Kim
6b1651c404 put lines into the inside of { } after 'if' condition. 2021-08-06 12:08:08 -07:00
David Kim
507c34609e bug fix: removed ';' at the end of 'if' condition. 2021-08-06 11:56:51 -07:00
David Kim
a8517323e7 Code cleanup for debug logs. 2021-08-06 10:37:02 -07:00
Melissa Elkadi
745241bd63 Merge branch 'episys/nsa_epc_gnb_updates' into episys/david/multiUE_with_crnti_checking
Also, lots of debugging logs added
2021-08-04 16:24:27 -07:00
David Kim
c619833442 Added crnti checking routine in nrUE. 2021-08-04 10:08:22 -07:00
Laurent THOMAS
7fcd5e3e29 Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-08-04 13:49:43 +02:00
Melissa Elkadi
d95e35df3c Reverted AssertFatal and just return instead
In the PDCP layer, if the sdu size < 3, this
just means control information is being passed.
In this case, we do not want to cipher the sdu,
its better to just return.
]
2021-08-03 17:04:35 -07:00
Melissa Elkadi
7d505e70f2 Updated PDSCH pdu copy from tx_data_req
Also, finally committing the critical logs for IP traffic.
2021-08-03 16:38:07 -07:00
Melissa Elkadi
952e2cd131 Adding #include assertions.h for PDCP file 2021-08-03 13:29:32 -07:00
Melissa Elkadi
5751a0a435 Not sending random data to gNB, sending IP
The IP traffic still does not work. But we are
updating the NR UE scheduler to ensure we are are
sending true IP traffic. Also, we were getting an
assert(); as well, and there was no logs, so we
fix that in this commit as well.
2021-08-03 13:25:45 -07:00
Thomas Laurent
609ea60774 Update SW_archi.md 2021-08-03 07:59:42 +00:00
Thomas Laurent
6a2b312a86 Update SW_archi.md 2021-08-03 07:55:07 +00:00
Laurent THOMAS
5d2fa9265d fix a test line i missed to remove before commit right changes 2021-08-02 18:27:01 +02:00
Laurent OpenCells
b0af61dd20 F1AP improvement 2021-07-31 09:51:55 +02:00
David Kim
54465993d5 queueing sfn slot information contained in channel params. 2021-07-30 16:44:39 -07:00
Melissa Elkadi
702a060e65 Added check for EPC mode to init RLC layer 2021-07-30 14:52:40 -07:00
David Kim
dd73b2df87 Updated AssertFatal conditions and LOG level from I to D
Regarding dl_hard, some AssertFatal commented out.
Regarding to memory allocation error, AssertFatal was used.
2021-07-30 08:35:57 -07:00
Melissa Elkadi
b5e8954476 Changed logic in MAC layer to allow RLC data read
Also changed logic in the NR UE schedule to read
IP traffic. Also, configured the RLC layer in the
NR UE softmodem and the DRBs with the cRNTI once
the RACH procedure is complete in the NR UE.
2021-07-29 15:55:59 -07:00
David Kim
61aa4f99dd Code cleaning in formatting and fixing typo. 2021-07-29 13:32:21 -07:00
David Kim
c80193731d Commented some AssertFatal condition in dlsch ack/nack scheduling. 2021-07-29 10:38:56 -07:00
Melissa Elkadi
97a648e35f IP Traffic not working, tun if established by NRUE
Updated the configuration files. Added a sleep to
ensure that the LTE UE gets attached to the EPC
before the bearer is modified to be gNB. Updated
the ifconfig tunnel up command to be brought up
by the NR UE socket when in NSA mode. Lastly,
started the gNB PDCP layer in S1 mode.
2021-07-28 15:36:11 -07:00
David Kim
829bf4f8a2 Restored to the original OAI ue and nr-ue config file
Restored original LOG level.
Code cleanup to remove emptry space and added some logs.
2021-07-28 00:24:35 -07:00
David Kim
38e5415f34 Fixing "Unexpected ULSCH HARQ PID" issue.
1. If VNF is slower than PNF, next scheduling will be done after resync.
2. If VNF is unstable in slot progress, next scheduling will be done in next stable status.
3. SFN/SLOT indications are queued in nrUE.
4. get_queue is used instead of unquque for FIFO operation.
2021-07-27 21:02:01 -07:00
francescomani
3c7796adaa Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-07-27 11:00:29 +02:00
Laurent OpenCells
a03ee3548f merge latest develop 2021-07-26 15:03:47 +02:00
Laurent OpenCells
39e637b60e add race codnition test 2021-07-23 15:03:51 +02:00
Melissa Elkadi
24245d8805 Log argument indexed passed the end of array.
Unnecessary dl_ind_type array for logging.
2021-07-20 15:21:23 -07:00
David Kim
4f23fa2f61 added queues between VNF and MAC to handle indications. 2021-07-19 18:55:02 -07:00
Melissa
7df8064bb7 Merge branch 'proxy-nfapi-conf' into 'episys/x2_trigger_nsa'
Separate nfapi.conf files for proxy

See merge request aburger/openairinterface5g!47
2021-07-19 21:30:42 +00:00
Thomas Laurent
ec9a5cfd99 Update F1-design.md 2021-07-19 11:42:35 +00:00
Michael Cook
102ff853ec Separate nfapi.conf files for proxy
In scripts/conf_files, restore ue.nfapi.conf and nr-ue.nfapi.conf
to the template versions.  And add proxy_ue.nfapi.conf
proxy_nr-ue.nfapi.conf for use with emane.git's run-oai and
multi-ue-proxy.git's run-oai.
2021-07-17 07:52:49 -07:00
Laurent OpenCells
02fcc2ad7f small fix, documentation enhancement 2021-07-14 22:27:43 +02:00
Raymond Knopp
72751870cf Merge remote-tracking branch 'origin/develop' into develop-aw2sori 2021-07-14 12:02:29 +02:00
Raymond Knopp
0aaee3f031 added X2 Reset procedure (partially). Still to be added to top-level when gNB or eNB are stopped or crash (Assert) 2021-07-14 12:01:09 +02:00
Laurent THOMAS
7ac44159b0 first draft of code design documentation 2021-07-13 15:40:11 +02:00
Laurent THOMAS
bb6ded4258 Remove big race condition, remove name "callback" on what is not a callback 2021-07-13 13:40:28 +02:00
Thomas Schlichter
cdbdb15858 fix 2 layer MIMO in nr_dlsim after last merge with develop 2021-07-12 14:42:03 +02:00
Laurent THOMAS
53f1ebde67 add processing of pduSessionEstablishmentAccept 2021-07-12 14:40:40 +02:00
francescomani
57775af3c1 Merge remote-tracking branch 'origin/develop' into NR_2port_CSIRS 2021-07-12 14:02:31 +02:00
Melissa Elkadi
7f2e622b0e Sending tunnel interface 'up' command to NR UE
Once the LTE UE's tunnel interface with the EPC
is ready to be established, if we are in NSA mode,
we do not want to launch the tunnel interface
from the LTE UE side, but in the NR UE. Via itti_msgs
we send the string containing the tunnel interface
'up' command to the NR UE and bring it up from the NR UE.
2021-07-07 11:55:34 -07:00
francescomani
9709b5efe7 copying retInfo to sched_pusch in the right place 2021-07-07 17:41:36 +02:00
francescomani
c72156aa07 bugfix in set_dl_mcs 2021-07-06 17:45:10 +02:00
Laurent THOMAS
afcbf7b6cc remove most of globale variables, remain data model inconsistency and race conditions 2021-07-06 09:49:47 +02:00
Melissa Elkadi
9d644f247c Fixed memory leak for unqueuing uci_inds 2021-07-05 10:15:26 -07:00
Laurent THOMAS
6ce958f7ed Coarse grain cleanup: a lot of errors fixed 2021-07-03 16:32:20 +02:00
Melissa Elkadi
6ddb49d09c Sending uci_ind based on rx'd ul_tti's sfn/slot
Also, updated the filing of the DCI payload
based on the actual number of recevied bits
and not based on the max number of rx'd bits.
2021-07-02 13:51:39 -07:00
Melissa Elkadi
4dfe7c2596 5G Userplane working 50% of the time
This commit includes several changes.
First, it updates the way we fill the uplink
UCI indication. This still has some todo comments
since all the fields in this ind were hardcoded.
It also updates the pack and unpack functions for
the NR_UCI incations. Lastly, it includes updates
to the gNB UCI scheduler. The updates in the gNB
were cherry picked from develop. There are two updates
to the VNF which allow the VNF timing/slots to be
adjusted based on the received timing_info packets
from the VNF. This adjustment was disabled in IISc's
nFAPI code. For now, it is improving the timing
between the VNF and PNF.
2021-07-01 12:21:57 -07:00
francescomani
1de542eb35 removing layers from UE_info 2021-07-01 14:41:05 +02:00
Melissa Elkadi
90d5641770 Filling, queuing and sending UCI ind to gNB
Currently, the pull8 in nFAPI of the VNF
is failing.
2021-06-30 17:21:41 -07:00
Melissa Elkadi
fc79bb1c91 Updating dropping of PUSCH if repeated sfn/slot
The previous two commits did not correctly check
the gNB sfn and slot. The code now correctly sets
the slot in which the PUSCH is SCHEDULED, not the slot
the rx is expected. Also, the sfn/slot is only updated
if we do in fact schedule a PUSCH.
2021-06-30 11:32:57 -07:00
Laurent Thomas
305a268173 bug fix in F1 2021-06-30 16:49:33 +02:00
Laurent Thomas
d3f09fda93 Merge branch 'NR_SA_F1AP_5GRECORDS' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_F1C_F1U_extensions 2021-06-30 11:57:18 +02:00
Melissa Elkadi
ad653819b9 Not sending DCI if repeated sfn/slot
Also, we are now updating ul_tti_future
for every index in the array, not just slot 7, 8, and 9.
2021-06-29 15:51:48 -07:00
Melissa Elkadi
30fe619000 Dont send DCIs repeatedly for a given sfn/slot
Although the timing isnt perfect, if the VNF adjusts
in the middle of scheduling a DCI the gNB would try to
send two DCIs for a certain sfn/slot; this commit will
stop that from happening. The timing issue still persits.
2021-06-29 13:24:07 -07:00
Laurent Thomas
9f07b3704b sctp source port allocation to Linux automatic, heap corruption fix 2021-06-29 13:13:20 +02:00
Melissa Elkadi
5ee9bc2cc9 Updating matacher function for de-queuing 2021-06-28 16:58:01 -07:00
Melissa Elkadi
f61d5b74b1 Removing free of unallocated memory 2021-06-28 15:02:04 -07:00
Melissa
01127c6ce7 Merge branch 'episys/sync-nfapi-with-muep-more' into 'episys/x2_trigger_nsa'
Sync more NFAPI changes from multi-ue-proxy.git

See merge request aburger/openairinterface5g!45
2021-06-28 14:53:37 -07:00
Michael Cook
9ac2d7724d Merge remote-tracking branch 'origin/episys/x2_trigger_nsa' into episys/sync-nfapi-with-muep-more 2021-06-28 17:44:21 -04:00
Melissa
13c1379958 Merge branch 'episys/sync-nfapi-with-muep' into 'episys/x2_trigger_nsa'
Sync nfapi_p[57].c with multi-ue-proxy.git

See merge request aburger/openairinterface5g!44
2021-06-28 14:43:39 -07:00
Michael Cook
cf4758a742 Merge remote-tracking branch 'origin/episys/x2_trigger_nsa' into episys/sync-nfapi-with-muep-more 2021-06-28 17:40:00 -04:00
Michael Cook
4fb933cbdf Copy review feedback from multi-ue-proxy.git 2021-06-28 17:39:16 -04:00
Melissa Elkadi
9b96dd2a5f Unqueue based on sfn_slot
Also, added functionality to fill tx_req in NR UE
when a DCI is received after the slot indication.
2021-06-28 12:39:28 -07:00
Laurent THOMAS
42ea1f8261 fix F1 setup messages memory error 2021-06-27 21:51:04 +02:00
Michael Cook
e54896591b Sync more NFAPI changes from multi-ue-proxy.git
Most notably, nfapi_rx_indication_pdu_t.data type is changed from
`uint8_t*` to `uint8_t[]`.  Also, renamed from `data` to
`rx_ind_data` to make it easier to find.
2021-06-26 10:20:48 -07:00
Michael Cook
9a0926bdee Sync nfapi_p[57].c with multi-ue-proxy.git
These are all superficial, low-risk changes
2021-06-26 09:08:54 -07:00
Melissa Elkadi
46488432e6 This commit includes the iisc pnf_p7 slot tick fix
It also includes the queuing development. The idea
is that the 5G Userplane messages will be filled
and configured the same as previous commit, but
the uplink messages will be queued and then sent to
the gNB during the correct slot. Still WIP.
2021-06-25 14:49:02 -07:00
francescomani
a8c4dd537f fill dmrs mask depending on actual number of frontloaded symbols, not maxlength 2021-06-25 18:10:16 +02:00
Melissa Elkadi
912cba163d Enabled VNF timing adjustments.
Also ported in new gNB ulsch scheduler code from
Eurecom/develop branch.
2021-06-24 15:33:22 -07:00
francescomani
c9a3125937 get nrOfLayers from DCI info at UE 2021-06-24 14:37:24 +02:00
francescomani
ee2079816b handling dl dmrs ports at mac and other modifications for semi static parameters for dlsch 2021-06-23 18:30:24 +02:00
matzakos
66e31967d8 Merge remote-tracking branch 'origin/NR_SA_F1AP_5GRECORDS' into NR_F1C_F1U_extensions 2021-06-23 15:56:12 +02:00
francescomani
ed54f59818 handling dl dmrs ports at phy 2021-06-22 18:29:22 +02:00
Raymond Knopp
32c682a7d0 Preliminary work for integration of F1AP UE Context Setup Request/Response
- Encoding of UE Context Setup Request is failing. Problem seems to be with SST encoding
2021-06-22 15:36:18 +02:00
Melissa
3da3b20c86 Merge branch 'episys/use-Werror' into 'episys/x2_trigger_nsa'
Enable -Werror compiler option

See merge request aburger/openairinterface5g!43
2021-06-21 14:11:53 -07:00
Michael Cook
96efbb2cab Add -Werror compiler option
Fix some warnings, too.
2021-06-21 14:11:53 -07:00
Melissa Elkadi
3605fed468 Already filling rx_ind so removing stub functions 2021-06-21 14:05:54 -07:00
francescomani
ee2f133cae max mimo layers depending on antenna ports from config file 2021-06-21 12:19:39 +02:00
Melissa Elkadi
e3bf4940fd WIP: Not working or building.
Starting to complete the final fill of
dl_indication and an rx_indication
2021-06-18 15:06:59 -07:00
Melissa Elkadi
c7875ce24c Properly filling the dci_format
This commit properly is filing the dci_format but the
rx_ind and dl_ind has not been updated in the NR UE
prior to sending to gNB. The chnages in this commit
to properly fill the dci_format include:
- filling the dci canidates every slot indiction
- checking for a dl_tti/ul_tti containing a dci
- when dci payload is received we use the filled
  dci canidates to update the dci_format

Also, a bug in LTE UE is found where we are indexing
passed the end of ue_sdu array. We added a check for this.
Furthermore, in the nr_ue_scheduler we were utilizing
tx_req but the memory wasnt properly initialized.
2021-06-18 13:33:20 -07:00
francescomani
d3ad905324 remove debug print from log 2021-06-17 18:24:13 +02:00
francescomani
549e3a9159 remove choice in CSI report structure 2021-06-17 18:21:25 +02:00
francescomani
0ec932b57f nb of layers from CSI Report 2021-06-17 13:18:45 +02:00
francescomani
5e4d40b1ec bugfix in rrc configuration 2021-06-17 12:55:43 +02:00
francescomani
39defb49ed passing nroflayers to nr_find_nb_rb 2021-06-17 10:54:52 +02:00
Thomas Schlichter
311b97685e gNB: add nrOfLayers to sched_pdsch 2021-06-17 10:41:30 +02:00
francescomani
40c51ebc0b tbs computation on the fly in pf_dl 2021-06-17 10:37:34 +02:00
francescomani
5d34f4906d set mcs from csi report 2021-06-17 10:04:03 +02:00
Melissa
9cce04efd6 Merge branch 'episys/x2_trigger_nsa_for_multi_ues' into 'episys/x2_trigger_nsa'
Adjusted UDP port ids for multiple UE connection with proxy

See merge request aburger/openairinterface5g!41
2021-06-16 16:06:39 -07:00
Deokseong "David" Kim
591e0e1f36 Adjusted UDP port ids for multiple UE connection with proxy 2021-06-16 16:06:38 -07:00
Melissa Elkadi
777bcc6c37 Saving DCI format to mac instance to fill in stub 2021-06-16 14:52:47 -07:00
francescomani
63d0c085a6 fixing dlsim ulsim 2021-06-16 18:47:03 +02:00
francescomani
3ca8ee8601 some cleanup and fixes 2021-06-16 10:51:17 +02:00
francescomani
ec36342fa6 Merge branch 'NR_2port_CSIRS' of https://gitlab.eurecom.fr/oai/openairinterface5g into NR_2port_CSIRS 2021-06-16 08:50:08 +02:00
Melissa Elkadi
17222c91e0 Added assert fatals for ul_config and TLVs
Also started handling ul_dci that is received in NR UE.
We now receive dci format 01, 10, and 11 at the NR UE.
The dl_info being filled in NRUE was not memset to 0, that
has been added. Additionally, we will need to get the dci_format
based on the length in the dl_config structs and map it.
For the moment the dci_format values are hard coded.
2021-06-15 15:55:59 -07:00
francescomani
71a9ee0c4e flexible csi configuration including do_csirs config parameter 2021-06-15 18:04:06 +02:00
Eurecom
0cdff39806 Merge remote-tracking branch 'origin/develop-NR_SA_F1AP_5GRECORDS' into NR_2port_CSIRS 2021-06-15 17:54:37 +02:00
Melissa Elkadi
c3710ecfc4 Handling channel information if rx'd in slot_ind 2021-06-15 07:03:48 -07:00
Melissa Elkadi
52dafe61c7 Fixed a bug in rx and crc filling in the NR UE
Also, there is not a field for dci_format in
nFAPI so there is a way it is detected by the NR UE.
For now, we have hardcoded the value in the stub when
we receive the DCI. Lastly, updated the nr_harq_handling
in the gNB.
2021-06-14 16:29:42 -07:00
Melissa Elkadi
2b698b77e4 CFRA procedure success commit pt. 2
This commit includes the changes made to gNB.
All of these changes were cherry picked from
the Eurecom/develop branch to ensure the
CFRA procedure is working. Without these changes
there were several seg. faults.
2021-06-11 12:39:01 -07:00
Melissa Elkadi
e8cfcbe607 CFRA Procedure success commit pt. 1
This commit contains the changes to the OAI code in
the NR UE and in nFAPI.
- Filling crc_ind for msg3
- Updating pack/unpack of CRC_ind
- Creating phy abstraction CRC_ind handling in VNF
- Removal of old comments
- Only sending on RACH in phy_stub
- Calling nr_msg3_transmitted in scheduler for NSA mode
2021-06-11 12:35:40 -07:00
francescomani
0f5071c166 bugfix in zero padding 2021-06-11 12:06:13 +02:00
Melissa Elkadi
04ab6dbad5 Added an RX_IND handle in the gNB/VNF
Also updated the NR nFAPI for properly packing
and unpacking the ra_indication. Lastly, added
the functionality for calling the callback RX_ind
functions in the VNF. The RX_IND PDU is recevied
as NULL in the gNB so need to investigate how to
properly pack and unpack the *pdu in the RX_ind.
2021-06-10 15:39:18 -07:00
Melissa Elkadi
b91251d1e0 Changed nsa_send_standalone_msg() and sending RX
The send_standlone_msg will now be able to send
any type of uplink message and we fill the RX
indication in the stub_schedule_response and
are trying to send to gNB. Need to update the NR nfapi.
2021-06-10 12:44:34 -07:00
Melissa Elkadi
0752dd20d1 Filling rx_ind with tx_req information 2021-06-10 10:24:21 -07:00
Raymond Knopp
9f81f5746b small changes in CMakeLists.txt 2021-06-10 09:34:26 +02:00
Melissa Elkadi
d5a7a1a352 Filling RACH ind with prach_pdu
Also added logs for handling Msg3 and
initialized ul_config->num_pdus at every
received slot ind instead of every time
we call get_ul_config()
2021-06-09 14:57:43 -07:00
Melissa Elkadi
4f0c8fbf86 Split process RAR function into 3 functions 2021-06-09 08:02:22 -07:00
francescomani
5451db54f1 RRC configuration for CSI-IM 2021-06-09 15:27:34 +02:00
Raymond Knopp
fee9440959 changed target to thirdparty_transpro and added oai_eth_transpro when building eCPRI target 2021-06-09 15:12:39 +02:00
Melissa Elkadi
88c614eefc RAR successful here. This commit includes:
- Hardcoding the freq_index when filling RACH
- Not handling DCI unless dci_rel_15 global is allocated
- Verifies ra_rnti matches in prach pdu and RACH
- Updates handling of DCI and RX from dl and tx reqs
2021-06-08 12:31:52 -07:00
Eurecom
3e8bc05bdf testing with 2x2 and 4x4 with N310, small modifications in nr_ru_procedures and usrp_lib.cpp for multiple antennas 2021-06-08 19:23:00 +02:00
Eurecom
3dbf4e94cb handling for UL failure. added do_precoding flag to nr-ru procedures. testing with 2x2 N310. 2021-06-08 18:38:17 +02:00
francescomani
9a030b42f0 Merge remote-tracking branch 'origin/develop-NR_SA_F1AP_5GRECORDS' into NR_2port_CSIRS 2021-06-08 14:50:52 +02:00
francescomani
601381cb44 another tentative change of configuration for 2 port CSI 2021-06-08 08:47:55 +02:00
Melissa Elkadi
082afd0c05 Updated log in gNB 2021-06-07 15:11:15 -07:00
Melissa Elkadi
d434439596 Using ul_config->prach_pdu in get_rach()
Also, changed freq_index hardcode to 0.
Logging ra_rnti in gNB and NR UE
2021-06-07 14:15:40 -07:00
francescomani
4819b14671 bitlen for typeI single panel 2021-06-07 17:36:16 +02:00
Melissa Elkadi
2dc4addf11 Added logs for understanding mac->ra_rnti.
Need to figure out where to set ra_rnti in the NRUE.
2021-06-04 14:10:30 -07:00
Melissa Elkadi
6d93b6a663 Removed change to gNB scheduler
Changed NFAPI_mode check in the gNB scheduler
to ensure that the frame is correctly updated for
msg3. Also added comments in NR UE for handling
the RAR and implementing the dci/rx_ind handover
for the RAR procedure.
2021-06-04 10:02:17 -07:00
francescomani
c114c245de adding rrc parameter csi-ReportingBand 2021-06-04 18:19:54 +02:00
Raymond Knopp
91d518c771 removed warnings in oaiori.c 2021-06-04 15:37:31 +02:00
francescomani
4b0883f2e0 adding cri_RI_LI_PMI_CQI option 2021-06-04 11:56:15 +02:00
francescomani
9cda0a0ced update in CSI report evaluation including PMI 2021-06-04 09:54:01 +02:00
Melissa Elkadi
0dfffed0d2 Added processing RAR function. Still WIP. 2021-06-03 14:33:43 -07:00
Melissa Elkadi
4f5f1a27da Checking dl_tti and ul_tti for RAR and Msg3 2021-06-03 13:09:34 -07:00
Melissa Elkadi
5ba3d16fbc gNB scheduler was not updating Msg3 future frame
The fix added in this commit may not be correct and
should be reviewed by Eurecom. For now we set the
future frame based on the PRACH recevied frame + 1.
Also fixed the copying of RACH ind into UL_INFO global.
RAR is being passed to NR UE.
2021-06-03 12:24:13 -07:00
francescomani
c3627daa22 update in CSI meas computation, including PMI for 2 port 2021-06-03 16:03:48 +02:00
Melissa Elkadi
6299d4515e Creating UL_ind RACH handle function in VNF
Also fixed a few bugs in nr-nFAPI:
- Push16->push8 fix in packing of RACH
- Allocating memory for pdu_list and preamble_list in unpack
- Properly indexing through both lists during unpack
- Created new nr_rach handling function
2021-06-02 16:33:12 -07:00
Melissa Elkadi
f768b90f59 Fixing how we set slot_tx in the NR UE.
Also fixed unpacking ul_tti_inds.
2021-06-02 10:02:03 -07:00
francescomani
2959b34704 2 port CSI configuration 2021-06-02 12:37:43 +02:00
Melissa Elkadi
2949d3008e Updating gNB configuration for EMANE 2021-06-01 15:57:41 -07:00
Melissa Elkadi
7a7b668e16 The pRACH is now only generated for slot 19.
Several other changes in this commit include:
- Setting the number of PDUS in the ul_config
  to be zero when we will it (inside of the
  get_ul_config() function.)
- We reset the nprach flag to 0 for each slot.
- We return out of the prach scheduler if
  mac->ul_config == NULL
- Added error checking for array indexing
- Created a dummy scheduler response function.
- Allocated ul_config_req initially
2021-06-01 12:09:15 -07:00
Raymond Knopp
d6fe58e436 addition of AW2S OAIORI interface, -w AW2SORI target added to build_oai and generation of libthirdparty_transpro.so build rules in CMakelists.txt 2021-06-01 16:25:04 +02:00
Raymond Knopp
24a0f1b851 small change in openair0_cfg interface to support AW2S RRUs. 2021-06-01 13:44:24 +02:00
Melissa Elkadi
7db52420bf Created new fill_rach function in the NR UE
Also calling the new L1_nsa_prach_procedures()
function after using the nr_ue_scheduler. Added
some error checking in the nr_ue_scheduler. Added
some error checking in the process_nsa_msg in both
the NR and LTE UE
2021-05-28 15:30:56 -07:00
Melissa Elkadi
4fb87f9d08 Filling rach_ind and sending to proxy
Seems to be working at the moment but
may need to add more info in the rach_ind.
Also, need to verify gNB is getting the
rach_ind and starting RA procedure.
2021-05-27 15:46:00 -07:00
Melissa Elkadi
7a15a21980 Fix copy/paste error 2021-05-27 15:27:43 -07:00
Melissa Elkadi
96be5588b4 Ready to fill rach indication.
Had to hack the code to schedule the prach.
Need to verify this is ok because ul_config = NULL.
Also had to change logic for calling fill_schedule_response.
2021-05-27 12:53:27 -07:00
Melissa Elkadi
b32e3f735f This commit breaks in RACH procedure
However, we are not properly calling the
nr_ue_get_rach() function. The RA is being
properly initialized. In the nr_ue_get_rach()
the pRACH is not scheduled. Tried to add in
the scheduling of this, but it crashes here.
The other changes include revering the
nr_ue_get_rach() changes from previous commit.
Also, changed a few log levels and reverted
a previous change in the NR UE RRC layer that
was incorrect.
2021-05-26 14:36:29 -07:00
Melissa Elkadi
eecd5935ee Not working pRACH but starting it 2021-05-25 15:56:08 -07:00
Melissa Elkadi
f3c2a2a659 Changed LOG_As and logic in NR_Cap filling 2021-05-25 15:50:54 -07:00
Melissa Elkadi
005c2e0121 Creating seprate proxy config files 2021-05-25 11:57:33 -07:00
Melissa Elkadi
67cbf77a2b Removing a log 2021-05-24 18:58:17 -07:00
Melissa Elkadi
b2b8d297a0 Memory bug fixes
Several places where memory ownership was changed
and the original owner was not set to NULL. Also,
the transaction_identifier is now based on the
received dl_dcch_msg in the LTE UE. Still need to
fix the t_id for the NR UE. Also added comments for
RACH procedure in NR UE.
2021-05-24 18:55:42 -07:00
Melissa Elkadi
da2873d63c Updating LOG_As for the test script. 2021-05-24 16:19:01 -07:00
Melissa Elkadi
2eacb8666b Filling ctxt in LTE UE RRC layer 2021-05-24 10:25:20 -07:00
Michael Cook
7224adba65 Fix spelling: parced -> parsed 2021-05-23 11:52:03 -04:00
Michael Cook
16ba3194c7 Fix warning about uninitialized variable 2021-05-23 08:20:17 -07:00
Melissa Elkadi
caa3e034b6 Have completed full NSA procedure once.
At the moment, the NSA mode worked once, but shows
unpredictable behavior. Other times it does not work.
In this commit I added several LOG_A messages for NSA
mode. Also removed old comments that were added during
development. Lastly, more comments for all the hacks
have been added.
2021-05-21 11:53:35 -07:00
Melissa Elkadi
30c92c1a22 Debugging why NR elements of RRC_complete arent seen at eNB 2021-05-20 16:38:02 -07:00
Melissa Elkadi
e2c0bd52f0 Successfully encoding RRC_Complete in LTE UE
The eNB may only check for RRC_Complete in EPC
mode. Need to look at this further. Updated how
we pass the RRC_Complete msg from NR UE to LTE UE.
Need to still handle transaction_id from dl_dcch_msg
in the LTE UE and trans_id from nr_dl_msg.
2021-05-20 15:04:33 -07:00
Melissa Elkadi
4129f8c6c9 Attempting to send RRCComplete message to eNB
It is seg faulting at the moment.
2021-05-19 16:42:22 -07:00
Melissa Elkadi
02928ec2b2 Passing RRCConfigComplete to LTE UE success!
However, the NR UE is crashing because it is receiving
a second RRCReconfig message from the LTE UE and it is
having trouble decoding it. Need to understand this.
2021-05-19 15:38:05 -07:00
Melissa Elkadi
b4faa5990e Trying to send last RRC message to NRUE 2021-05-18 16:00:21 -07:00
Melissa Elkadi
a31ee2f051 Checking for nr_r15 configs in RRC message
Also, updated the DCCH decode message to use
the sdu_size not RRC_BUF_SIZE. This was a bug fix.
2021-05-18 14:38:07 -07:00
Melissa Elkadi
3416b84675 Log demotion and size for buffer encoding updated 2021-05-18 12:02:39 -07:00
Melissa Elkadi
09fb68de74 Cleaned up trigger function for meas reports
Also removed several warnings by properly
declaring nr-nFAPI functions and removed
declaration of unused functions. Also, reverted
eNB configuration file changes.
2021-05-18 10:25:04 -07:00
Michael Cook
9ac06d4b3a Fix warning about log message argument type 2021-05-16 05:44:25 -07:00
Melissa
30dfc64592 Merge branch 'episys/david/nfapi_update_in_x2_trigger_nsa' into 'episys/x2_trigger_nsa'
nFAPI library update from IISc

See merge request aburger/openairinterface5g!40
2021-05-13 15:22:11 -07:00
Deokseong "David" Kim
ef56a5dd42 nFAPI library update from IISc 2021-05-13 15:22:11 -07:00
Melissa Elkadi
dc2865f3ba Added logs and updated eNB conf file for EPC if necessary 2021-05-13 15:13:59 -07:00
Melissa Elkadi
bfa5d486e3 Added comments to show MRDC and free() hacks 2021-05-13 13:45:47 -07:00
Melissa Elkadi
bc5677f4c4 Triggering works, not using OAI mechanism
gNB is crashing when setting up the tunnel interface
between the NR UE and itself.
2021-05-13 09:30:30 -07:00
Melissa Elkadi
63ca5f692d Hack to not free measObjs
Also, 12 Frame triggering of MeasurementReport
is still in development and not working.
2021-05-12 16:10:14 -07:00
Melissa Elkadi
e455ae22c8 Added MRDC capabilites in a hacky way 2021-05-11 17:03:35 -07:00
Melissa Elkadi
31e51f3663 Processing NR_UE_Capability_info and sending 2021-05-11 15:40:43 -07:00
Melissa Elkadi
04315e89f5 Reverting acccidental changes. 2021-05-10 17:03:08 -07:00
Melissa Elkadi
a7cbe98fa7 mbms_create_tasks was calling SCTP task again.
This caused the SCTP descriptor to be reset. This
made issues in the X2 interface between gNB and eNB.
Lots of logs added here. Need to fill NR_UE_Capability_Info
properly.
2021-05-10 17:01:12 -07:00
Melissa Elkadi
9009124223 Handling UE_capability_enquiry at NR UE
Now, we are able to fill the UE_Capability_Info that
the LTE UE and eNB are expecting. We then are able to
generate a RRC_DCCH_DATA_COPY_IND to trigger the
processing of the UE_Capability_Info (and sending the
info to the eNB). The info being received at eNB has not
been tested yet.
Also some code clean up.
2021-05-10 11:06:45 -07:00
Melissa Elkadi
5f2d246a8c Added comments and cleaned up the code.
The encode is still  working but now we need to
add in some new functionality to handle NR Capabilites.
2021-05-08 14:52:08 -07:00
Melissa Elkadi
56f2203b1d WIP: Encoding is succeeding. Hacked phy_id. 2021-05-08 09:30:55 -07:00
Melissa Elkadi
997c2e07ad Added rsrp/q back into report. ASN debug on. 2021-05-07 15:19:55 -07:00
Melissa Elkadi
1f3b397043 do_nrMeasReport updated for elements eNB expects
Also updated the generate_nrMeasReport().
The uper_encode_to_buffer is still not working.
2021-05-06 16:54:01 -07:00
Melissa Elkadi
c4d7e11c1c Working on do_nrMeasurementReport 2021-05-05 16:42:22 -07:00
Melissa Elkadi
cee317b73f Removed reportConfig dump funciton
Also removed the [eNB_index + 1] saving/writing
in the process_MeasObj function. This indexing
was incorrect. Also cleaned up the code, fixed
ssRSRB -> ssbRSRP. Lastly, added assertFatals
around indexing in process_measObj function.
2021-05-05 10:07:37 -07:00
Melissa Elkadi
842774254b ReportConfig was being indexed out of bounds
Added check and logs. If we change ind = 1 it
crashes the LTE UE so we log for now. Also cleaned
up a lot of the code. Lastly, we set freed vars to NULL.
2021-05-04 16:20:37 -07:00
Melissa Elkadi
7e339b4610 Currently receiving measurement data from NR UE
This commit has several other changes. The changes
include the following:
1. Changed the port numbers for the NRUE<->Proxy
2. Fixed the send to function in the NR UE
   (Previously only sending buffer not buffer+msg_type)
3. Updated pack/unpack of the SSB PDU (new RSRB field added)
4. Fixed several NR logs
5. Opening socket with NRUE<->Proxy AFTER receving RRC
   measurement request from the LTE UE
2021-05-03 15:31:32 -07:00
Melissa Elkadi
34eeae0874 NR SA thread and sockets have been added.
This commit also removed MAX_NUM_NEIGH_CELLs and
replaced it with MAX_GNB_CELLS. This was a minor change
OAI added. The standalone sockets for the NR UE correctly
connect to the proxy. We are currently receiving dl_tti
messages from the proxy.
2021-05-01 15:05:04 -07:00
Melissa Elkadi
6cace48013 Added in init function in RRC_NSA_NRUE task creation 2021-05-01 12:47:16 -07:00
Melissa Elkadi
539b1b564a Removed commented code in nr-softmodem.c
Also enabled X2 when we are not using the EPC
Added in the case statement for handling the
dl_dcch_msg from the NR UE. Also added in the
proper decoding of that dl_dcch_msg and freeing
2021-05-01 11:48:21 -07:00
Melissa Elkadi
e50ca02957 Chaging NR functions to be properly named
This commit removed all the linking errors
between the NR UE and the LTE UE. This was done by
changing:
-      rrc_data_req_ue
+      rrc_data_req_nr_ue
2021-05-01 11:32:26 -07:00
Melissa Elkadi
e1a77b2d82 Add NSA mode to working dl_tti messages from gNB
This commit is not currently building, but I wanted
to be able to save the changes that I have added.
2021-04-30 13:36:18 -07:00
Melissa Elkadi
f434a8ded9 Updating conf files. DL messages from gNB working.
NR UE is ending early. LTE is not passing at all.
X2 interface is not working either.
2021-04-30 11:03:30 -07:00
David Kim
2c40332482 showing dl_tti msg 2021-04-29 15:10:33 -07:00
David Kim
bdf98b03f5 updating vnf ip and udp port 2021-03-31 22:44:42 -07:00
David Kim
45bd0274c4 Updating gNB tun interface name and adding nsa config file. 2021-03-30 11:54:49 -07:00
David Kim
480ae78df0 adding nr_ue.nfapi.conf file 2021-03-29 11:58:08 -07:00
David Kim
7dbdcc2d34 changing env for test
1. restoring ci test environment.
2. packet drop disabled.
2021-03-23 13:45:24 -07:00
Melissa Elkadi
eb3436c01c Added comment in configs for networking help 2021-03-19 10:54:35 -07:00
Melissa Elkadi
4dad535ef9 Reverted white space changes 2021-03-19 09:58:44 -07:00
Melissa Elkadi
6b0a173007 Updated configuration files 2021-03-19 09:53:30 -07:00
David Kim
58894c58cf resolving conflict 2021-03-18 11:43:10 -07:00
David Kim
7c6e4ed01d adding nfapi_new update 2021-03-18 11:22:06 -07:00
David Kim
aaf50cbb80 revert to previous openair3/S1AP/s1ap_eNB_handlers.c version due to compile error 2021-03-17 23:31:40 -07:00
David Kim
b90c0680ec adding x2c setting with epc 2021-03-17 21:08:41 -07:00
Melissa Elkadi
9f3a2a1a85 Demoted a few error logs 2021-03-17 09:24:19 -07:00
Melissa Elkadi
c08743907a Updated the eNB conf file for EPC 2021-03-16 07:43:56 -07:00
David Kim
2948a2445e Merge branch 'episys/master' into episys/david/episys-merge-2nd-x2c 2021-03-15 11:05:35 -07:00
Michael Cook
8120c7978c Merge branch 'episys-merge-future' into episys/master 2021-03-14 09:17:34 -07:00
Michael Cook
bd0359c3bd Enable assert for RelWithDebInfo builds
assert() statements were enabled for C code but disabled for C++
code.  With this commit, assert() is enabled for both C and C++
for RelWithDebInfo builds.
2021-03-14 09:13:50 -07:00
Michael Cook
176a52f581 pnf.c: Disable some printfs 2021-03-14 08:44:42 -07:00
Michael Cook
39fbe322aa Fix #include 2021-03-14 10:59:05 -04:00
Michael Cook
092caec8ca Merge branch 'episys-merge' into episys/trial-merge-to-master 2021-03-14 10:58:46 -04:00
David Kim
94c9866b7e adding nfapi_nr_develop_new changes 2021-03-13 13:09:34 -08:00
Michael Cook
c5ff3376ef Size asserts for harq_pdu_list, sr_pdu_list, cqi_pdu_list 2021-03-13 11:56:55 -08:00
Michael Cook
6d2590906c Assert NFAPI_CRC_IND_MAX_PDU 2021-03-13 10:58:33 -08:00
Michael Cook
df81c0de14 Add asserts for size of rx_indication_body.rx_pdu_list 2021-03-13 10:26:33 -08:00
Michael Cook
b726053982 find_ulsch: Skip past null uslch[i]
With a small number of runs with 16 UEs, I've seen this
AssertFatal fail twice.

There are many other places in the code that simply skip over
ulsch[i] values that are NULL.
2021-03-13 10:24:00 -08:00
David Kim
c68de3ba8c Merge remote-tracking branch 'eurocom/episys-merge' into episys-merge 2021-03-12 19:24:29 -08:00
Melissa Elkadi
10519da95f Merge remote-tracking branch 'eurecom/develop' into eurecom-episys-merge 2021-03-12 15:30:38 -08:00
David Kim
765f516a9f Merge remote-tracking branch 'eurocom/episys-merge' into episys-merge 2021-03-12 15:17:27 -08:00
Melissa Elkadi
e5b0c26549 Changed sf_ahead based on NFAPI_MODE 2021-03-10 16:20:55 -08:00
Melissa Elkadi
34b53ea9b4 Merge branch 'episys-merge' of https://gitlab.eurecom.fr/oai/openairinterface5g into eurecom-episys-merge 2021-03-10 08:59:22 -08:00
Melissa Elkadi
e50de8be02 Demoting logs and removing duplicate #define
Commented out an abort(); used for debugging.
An incoming merge request will properly handle
the issue of multiple CQIs.
2021-03-06 12:22:52 -08:00
Melissa Elkadi
e3168a7d8c Merge remote-tracking branch 'eurecom/develop' into eurecom-episys-merge 2021-03-03 16:12:04 -08:00
Melissa
47f006d9e0 Update README.md 2021-03-03 17:07:49 +01:00
Melissa Elkadi
9fe1167f29 Remove cppcheck-suppressions that were prev added
These cppcheck errors are occuring in code
that is untouched by this merge request.
2021-03-02 13:10:09 -08:00
Melissa Elkadi
d3891eb108 Merge remote-tracking branch 'eurecom/episys-merge' into origin-episys-merge 2021-03-01 15:22:36 -08:00
Melissa Elkadi
15905c746d Fixing cppcheck issues 2021-03-01 15:13:50 -08:00
Michael Cook
27c40d563f build_oai: Add --sanitize-address option
To enable -fsanitize=address option to the compiler
which enables run-time checks for some kinds of memory
mismanagement.
2021-03-01 09:10:50 -08:00
Michael Cook
8988d8ef8c Revert change that enabled -fsanituze=address 2021-03-01 08:26:59 -08:00
Michael Cook
034d2cfed6 lte-ue.c: Allocate bigger arrays
This code allocates memory from the heap:

```
static void *UE_phy_stub_standalone_pnf_task(void *arg)
{
...
  UL_INFO->crc_ind.crc_indication_body.crc_pdu_list =
  calloc(NB_UE_INST, sizeof(nfapi_crc_indication_pdu_t));
```

I see NB_UE_INST==1.

Then this code:

```
void fill_crc_indication_UE_MAC(int Mod_id,
                                int frame,
                                int subframe,
                                UL_IND_t *UL_INFO,
                                uint8_t crc_flag,
                                int index,
                                uint16_t rnti,
                                nfapi_ul_config_request_t
                                *ul_config_req) {
...
  nfapi_crc_indication_pdu_t *pdu =
      &UL_INFO->crc_ind.crc_indication_body
           .crc_pdu_list[UL_INFO->crc_ind.crc_indication_body.number_of_crcs];
```

used .number_of_crcs to index into .crc_pdu_list without first
checking if .number_of_crcs is in range.

When run with multiple UEs, sometimes .number_of_crcs==1 and then
-fsanitize=address complains.

Change is to use NUMBER_OF_UE_MAX instead of NB_UE_INST.

With this change, -fsanitize=address stopping complaining.
2021-02-28 09:45:31 -08:00
Michael Cook
11270af81e eNB_scheduler_ulsch.c: Range checking on array access
-fsanitize=address complained about this code.
2021-02-28 09:29:29 -08:00
Michael Cook
706f0e4421 pdcp_fifo_flush_sdus: Fix message size calculation
-fsanitize=address detected that we were trying to access bytes
past the end of a block of malloc'ed memory.

Specifically, in this code:

```
    } else if (ENB_NAS_USE_TUN) {
      if( LOG_DEBUGFLAG(DEBUG_PDCP) )
        log_dump(PDCP, pdcpData, sizeToWrite, LOG_DUMP_CHAR,"PDCP
      output to be sent to TUN interface: \n");
      ret = write(nas_sock_fd[0], pdcpData, sizeToWrite);
```

-fsanitize=address said:

```
==80==ERROR: AddressSanitizer: heap-buffer-overflow on address
0x61100004ffdc at pc 0x7f57c5f576a5 bp 0x7f57bb53c240 sp
0x7f57bb53b9e8
READ of size 108 at 0x61100004ffdc thread T7

0x61100004ffdc is located 0 bytes to the right of 220-byte region
[0x61100004ff00,0x61100004ffdc)
```

So, the code was trying to access the first byte after a block of
heap memory.

sizeToWrite was calculated like this:

```
    int sizeToWrite= sizeof (pdcp_data_ind_header_t) +
      pdcpHead->data_size;
```

There were a few other similar invocations of write() in the same
function used the wrong size.  That sizeToWrite calculation
should be used only when the header is being sent, too, which
happens in only one place in this function.

With this commit, our tests pass and -fsanitize=address is happy.
2021-02-28 07:39:33 -08:00
Michael Cook
b6766ee8ae decode_SIB1: Was reading past the end of plmn_data
Found by -fsanitize=address
2021-02-27 09:29:09 -08:00
Michael Cook
d8a7414e48 eNB_scheduler_mch.c: Memory corruption
The global mbms_rab_id was defined as `uint16_t` in
eNB_scheduler_mch.c but `int` in other places.  So, code that
wrotes this global would clobber the two bytes that follow the
variable in memory.

Found by `-fsanitize=address`.
2021-02-27 09:16:27 -08:00
Michael Cook
414d3794fd netlink_init.c: Memory leak
Found by `-fsanitize=address`.
2021-02-27 09:15:38 -08:00
Michael Cook
2520d111da Fix shutdown crashes
In phy_free_lte_eNB in lte_init.c, the lte-uesoftmodem would
crash during shutdown because it was dereferencing null pointers.
This commit adds checks to avoid that.
2021-02-27 07:20:43 -08:00
Melissa Elkadi
8b2b78e477 Fixed remote_addr.sin_port
For some reason the htons invocation got deleted which broke
the VNF P7 interface.

Also fixed some build issues, not sure how these got onto the
develop branch to begin with.
2021-02-26 15:57:35 -08:00
Melissa Elkadi
98c8ddb673 Merge remote-tracking branch 'origin/develop' into episys-merge
Removing references to memcpy_dl_config_req and
memcpy_tx_req because these functions are leaking
memory. For our standalone mode we have created
new/modified memcpy_dl/tx_req functions.
2021-02-24 11:49:17 -08:00
Melissa Elkadi
4dcb32c180 Removed unused memcpy functions and references 2021-02-24 09:12:00 -08:00
Melissa Elkadi
125e0aa186 Updating incorrect logic in phy_stub_ue.c 2021-02-24 07:07:45 -08:00
Melissa Elkadi
df2d3459d8 Set first random value to be UE number
Also added logs for debugging this rare random value issue.
2021-02-19 15:00:36 -08:00
Melissa Elkadi
2c8aab0671 Included PHY channel parameter handling
Also, updated openairinterface5g_limits.h to match develop branch.
2021-02-17 16:04:00 -08:00
Melissa Elkadi
17ede97029 Changed UE Capabilities log to a LOG_A 2021-02-15 15:27:25 -08:00
Melissa Elkadi
ecaa20ed14 Re-do fix for merge issues 2021-02-15 15:08:46 -08:00
Melissa Elkadi
26e3f32b69 Fixed fill_ul_mutex
Mutexes were not being initialized. In multiple
places they were not being unlocked. In fill rach
it was not being locked or unlocked.
2021-02-15 12:40:32 -08:00
Melissa Elkadi
bc524ea192 Minor fixes and new definitions for build success 2021-02-15 09:00:22 -08:00
Raymond Knopp
a446eb0ebc Merge branch 'episys/master' into episys-merge
Conflicts:
	common/utils/LOG/log.h
	common/utils/ocp_itti/intertask_interface.cpp
	nfapi/oai_integration/nfapi_vnf.c
	nfapi/open-nFAPI/nfapi/src/nfapi.c
	openair2/LAYER2/MAC/main_ue.c
	openair2/LAYER2/PDCP_v10.1.0/pdcp.c
	openair2/LAYER2/PDCP_v10.1.0/pdcp_fifo.c
	openair2/PHY_INTERFACE/phy_stub_UE.c
	openair2/RRC/LTE/rrc_UE.c
	openair2/RRC/LTE/rrc_eNB.c
	openair3/NAS/UE/ESM/esm_ebr_context.c
	targets/COMMON/openairinterface5g_limits.h
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-uesoftmodem.c
2021-02-13 22:52:33 +01:00
Michael Cook
eec846a555 Merge branch 'episys/mel/pdcp_write_update' into 'episys/master'
Episys/mel/pdcp write update

See merge request aburger/openairinterface5g!26
2021-02-12 08:59:00 -08:00
Melissa
3a5912a00a Updated non-blocking PDCP socket
More accurately, we changed the do/while infinite
loop to be an infinite for loop for the read command of
the socket. The socket file descriptor choice is more clear now.
2021-02-12 08:59:00 -08:00
Michael Cook
181ae665bd Merge branch 'episys/mel/pdcp_socket_update' into 'episys/master'
Episys/mel/pdcp socket update

See merge request aburger/openairinterface5g!25
2021-02-09 14:09:39 -08:00
Melissa
9fa09f530f Updated non-blocking PDCP socket
More accurately, we changed the do/while infinite
loop to be an infinite for loop for the read command of
the socket. The socket file descriptor choice is more clear now.
2021-02-09 14:09:39 -08:00
Melissa Elkadi
b68479aa10 Updating .gitignore file 2021-01-25 14:55:46 -08:00
Melissa Elkadi
78341d9db1 Updated bler table lookup mechanism and logs 2021-01-25 14:52:44 -08:00
Michael Cook
02571e63bb gdb.txt: Linux versions should be the same 2021-01-24 12:38:15 -05:00
Michael Cook
563064ce0b gdb.txt: Notes on loading coredump files into Vscode 2021-01-24 12:27:20 -05:00
Melissa
fbbc54dd9f Merge branch 'episys/mel/drop_pkts_merge_req' into 'episys/master'
Updated dropping packet mechanism for only c-rnti

See merge request aburger/openairinterface5g!24
2021-01-22 16:37:41 -08:00
Melissa
0f210073c5 Fixed two bugs
There was a variable that was being used that was undefined.
Also fixed save_dci_pdu_for_crnti() function.
2021-01-22 16:37:41 -08:00
Michael Cook
06db0b7730 Merge branch 'episys/mel/fixing_harq_ack_nack' into 'episys/master'
Sending ACK or NACK for uci_harq_ind fix

See merge request aburger/openairinterface5g!23
2021-01-18 13:37:49 -08:00
Melissa Elkadi
80fc9b3908 Removed duplicate def of pdu_size 2021-01-18 13:06:57 -08:00
Melissa Elkadi
4a763d14cd Utilizing local pdu_size variable 2021-01-18 11:53:04 -08:00
Melissa Elkadi
d0e380da1e Updated array index check with macro def in log.h 2021-01-18 11:39:03 -08:00
Melissa Elkadi
a1ec989d47 Added array index checks and local loop variable 2021-01-18 11:03:42 -08:00
Michael Cook
5fef878293 gdb.txt: Running Vscode remotely 2021-01-17 12:32:27 -05:00
Melissa Elkadi
48662ed520 Fixed uci_harq_ind issue by adding drop_tb call
Also updated the spelling of global variable NUM_NFAPI_SUBFRAME
2021-01-15 15:39:09 -08:00
Melissa Elkadi
27a232ab63 Sending ACK or NACK for uci_harq_ind fix
A fix had to be made in the uci_harq indication function
in the UE. The uci_harq indicaiton function was not properly
checking for dropped packets four subframes back in the UE.
2021-01-15 13:42:31 -08:00
Michael Cook
e437a19c50 lte-uesoftmodem.c: issues reading bler files 2021-01-14 16:34:30 -08:00
Michael Cook
12d41fdf72 Merge branch 'episys/oai_home_update' into 'episys/master'
Episys/oai home update

See merge request aburger/openairinterface5g!22
2021-01-14 16:14:38 -08:00
David Kim
c541324c5d updating mcs file location to openair_dir 2021-01-14 16:08:54 -08:00
Michael Cook
0b7452a6e4 Merge branch 'episys/Initial_ChannelModel' into 'episys/master'
Episys/initial channel model

See merge request aburger/openairinterface5g!21
2021-01-14 15:53:07 -08:00
Ricky S
b2f85f7ac2 Episys/initial channel model 2021-01-14 15:53:06 -08:00
melissa-elkadi
b5ff5516a1 Update README.md 2021-01-13 08:39:42 -08:00
Michael Cook
ee86a66722 Merge commit '0b40edef2adc45965dcfe2071b0c4170389ae8b5' into episys/master 2021-01-12 18:11:10 -05:00
Michael Cook
0b40edef2a Merge branch 'episys/david/proxy_oai' into 'episys/master'
Updating for operation with Proxy

See merge request aburger/openairinterface5g!18
2021-01-12 14:45:52 -08:00
Deokseong "David" Kim
b220ed29c4 Updating PDCP module for proxy
Adding ue id parameter to pdcp_init
Updating tun interface functions for proxy
2021-01-12 14:45:52 -08:00
Michael Cook
355e5919de Merge branch 'episys/mel/nfapi_mode_logic' into 'episys/master'
Episys/mel/nfapi mode logic

See merge request aburger/openairinterface5g!19
2021-01-12 08:55:03 -08:00
Melissa Elkadi
42ae8207ee NFAPI_MODE logic to include standalone mode
Every if statement that includes a check for
the NFAPI_MODE that did not check for the new
PNF_STANDALONE_MODE now has been updated. Also
changed the tx_req and dl_config_req logs
when they are received at the OAI UE to be
info logs instead of error logs.
2021-01-12 06:54:16 -08:00
Melissa Elkadi
a288e502f0 Cleanup before merge
The clean up includes removing white space changes, adding logs,
adding comments to make various changes more obvious, etc.
2021-01-08 14:31:13 -08:00
Melissa Elkadi
3108258bb6 Adding USIM data for up to 18 UEs 2021-01-06 14:24:15 -08:00
Michael Cook
f9898d97e8 gdb.txt: Refine
Based on issues discovered by Zaid
2020-12-29 16:04:21 -05:00
Michael Cook
b10cc9eb38 Merge branch 'episys/temp_merge_req' into 'episys/master'
Select fair RR packet scheduler

See merge request aburger/openairinterface5g!16
2020-12-23 09:31:47 -08:00
Melissa Elkadi
08cfc0c9df Select fair RR packet scheduler
Also fixed some build problems
2020-12-23 09:28:54 -08:00
Michael Cook
1a3ef7ab8c rrc_UE.c: Log the initial random values 2020-12-23 11:58:24 -05:00
Michael Cook
380de1761c taus.c: Make globals static 2020-12-23 11:57:58 -05:00
Michael Cook
a0ddf3b015 Run lte-softmodem via gdb and vscode
See cmake_targets/gdb.txt for notes
2020-12-22 08:13:53 -05:00
Michael Cook
cb84581678 Set max UEs to 40 (was 20) 2020-12-13 09:19:03 -08:00
Michael Cook
53cb3e25a9 Merge branch 'episys/andrew/fixing_multiue_config' into 'episys/master'
Episys/andrew/fixing multiue config

See merge request aburger/openairinterface5g!15
2020-12-01 13:39:05 -08:00
Melissa
e3d34c8b01 Fixed multiple UE EPC integration by resetting user->ueid=0;. Lots of logs in this commit, will remove later 2020-12-01 13:39:05 -08:00
Michael Cook
e5fac31f2f Merge branch 'episys/mcook-log-scheduler' into 'episys/master'
Log the processor info like scheduler policy

See merge request aburger/openairinterface5g!14
2020-11-23 15:06:55 -08:00
Michael Cook
1687896730 Log the processor info like scheduler policy
And CPU affinity.
Also, use mlockall to keep our memory from being swapped out.
2020-11-22 13:50:35 -05:00
Michael Cook
f13875b141 Merge branch 'episys/foobar' into 'episys/master'
Dl_config_req and tx_req filtering allowed for either order

See merge request aburger/openairinterface5g!13
2020-11-20 16:04:14 -08:00
Melissa
4fe4f6cd60 dl_config_Req and tx_reqs are queued together
Additionally, combined many of the individual
dl_config_req and tx_req handle functions.
Also removed some unused functions we added.
Futhermore, removed our additions to the
dl_config_req and tx_req memcpy functions.
2020-11-20 16:04:14 -08:00
Michael Cook
b209f2ff23 Merge branch 'episys/andrew/dl_config+tx_req_combination' into 'episys/master'
Episys/andrew/dl config+tx req combination

See merge request aburger/openairinterface5g!12
2020-11-20 15:06:30 -08:00
Melissa
7aa9a95e8e dl_config_Req and tx_reqs are queued together
Additionally, combined many of the individual
dl_config_req and tx_req handle functions.
Also removed some unused functions we added.
Futhermore, removed our additions to the
dl_config_req and tx_req memcpy functions.
2020-11-20 15:06:30 -08:00
Michael Cook
b6b9f25082 Merge branch 'episys/andrew/dci0_filtering' into 'episys/master'
Episys/andrew/dci0 filtering

See merge request aburger/openairinterface5g!10
2020-11-16 15:33:50 -08:00
Andrew Burger
206fd09bd6 Adding comments for less confusion 2020-11-16 15:33:23 -08:00
Andrew Burger
0d865eea8a merging 2020-11-16 11:50:27 -08:00
Michael Cook
4ad7d7b5f6 Merge branch 'episys/andrew/dlsch_pdu_index_bug_fix' into 'episys/master'
Episys/andrew/dlsch pdu index bug fix

See merge request aburger/openairinterface5g!9
2020-11-13 14:11:35 -08:00
Andrew Burger
cb4e5a35c4 Episys/andrew/dlsch pdu index bug fix 2020-11-13 14:11:35 -08:00
Andrew Burger
3960694b27 Revert "This commit includes:"
This reverts commit b1ff8e1a6a.
2020-11-12 15:50:49 -08:00
Michael Cook
3011e229d4 Merge branch 'episys/andrew/fixing_s1_mode+change_to_shutdown' into 'episys/master'
This commit includes:

See merge request aburger/openairinterface5g!7
2020-11-04 14:29:07 -08:00
Andrew Burger
b1ff8e1a6a This commit includes:
1.) Shutdown fix which allows us to see who requested to abort the simulation
2.) Properly initializing the NAS layer which previously was not happening for our simulation mode 5
3.) Changes in configurations to support the EPC(Have Melissa Verify these)
2020-11-04 13:39:43 -08:00
Michael Cook
ade37fea82 unqueue_matching: Add max_depth argument
Look only at the last `max_depth` items on the queue, at most.
2020-10-24 09:50:00 -04:00
Andrew Burger
67e190960f Merge branch 'episys/andrew+mc/tx_pdu_list_change+dl_config_req_dropping' into 'episys/master'
Episys/andrew+mc/tx pdu list change+dl config req dropping

See merge request aburger/openairinterface5g!5
2020-10-23 14:54:40 -07:00
Andrew Burger
39f07d7ac9 Set scheduler priorty to 1
To match emane.

Checked with:
```
ps ax -o pid,class,priority,comm |grep RR
```
2020-10-23 14:54:40 -07:00
Michael Cook
6dd80ffd2f queue: add requeue, fix unqueue_matching
Synchronized with emane.git's implementation of this code which
includes a unit test.

This commit also fixes two bugs in unqueue_matching and one inb
unqueue:

- unqueue_matching was returning the wrong pointer when
  there was no match

- both unqueue_matching and unqueue were not clearing the vacated
  queue entry after removing the item
2020-10-20 09:04:23 -04:00
Michael Cook
d449a4de8a Align thread priorities
```
$ ps -eL -o pid,lwp,class,priority,comm | grep -E softmodem|oai:'
 6500  6500 RR  -80 lte-softmodem
 6500  6520 RR  -80 oai:enb-L1-rx
 6500  6522 RR  -80 oai:enb-L1-tx
 6508  6508 RR  -80 lte-uesoftmodem
 6508  6537 RR  -80 oai:ue-phy
 6508  6538 RR  -80 oai:ue-stand
 6509  6509 RR  -80 lte-uesoftmodem
$
```
2020-10-18 12:11:10 -04:00
Michael Cook
d61bb9836c Merge branch 'episys/andrew/dropping_dl_config_req_and_tx_req' into 'episys/master'
Episys/andrew/dropping dl config req and tx req

See merge request aburger/openairinterface5g!3
2020-10-14 14:52:25 -07:00
Andrew Burger
1a96de4518 Set scheduler priorty to 1
To match emane.

Checked with:
```
ps ax -o pid,class,priority,comm |grep RR
```
2020-10-14 14:52:25 -07:00
Andrew Burger
645bcc5eff Merge branch 'episys/andrew/ul_config_req_filtering' into 'episys/master'
Episys/andrew/ul config req filtering

See merge request aburger/openairinterface5g!2
2020-10-12 14:35:53 -07:00
Andrew Burger
ec4a05515c Set scheduler priorty to 1
To match emane.

Checked with:
```
ps ax -o pid,class,priority,comm |grep RR
```
2020-10-12 14:35:53 -07:00
Michael Cook
ee8781f7e1 Support for using gprof profiling 2020-10-11 12:31:40 -04:00
Michael Cook
7d0497ca80 Fix a compiler warning 2020-10-11 11:02:47 -04:00
Michael Cook
79ba247fe6 Catch SIGTERM and attempt to exit cleanly
This change is to enable use of gprof which requires the process
call `exit` to write out the collected data.

The UE (lte-uesoftmodem) exits cleanly, but the eNB
(lte-softmodem) crashes as it tries to shut down...
2020-10-11 10:22:24 -04:00
Michael Cook
f4fc89bce8 Uninitialized memory
Found by valgrind
2020-10-10 12:06:32 -04:00
Michael Cook
da81c6f97b Fix uninitialized memory
Found by valgrind
2020-10-10 11:56:55 -04:00
Michael Cook
870465e0a9 Fix numerous uninitialized memory issues
Found by valgrind.
2020-10-10 11:00:38 -04:00
Michael Cook
920fde6a69 Fix a compiler warning 2020-10-10 11:00:19 -04:00
Michael Cook
f489a751b9 Fix memcpy with overlapping memory
Found by valgrind.
2020-10-10 10:40:26 -04:00
Andrew Burger
03157f93d6 Merge branch 'episys/andrew/msg4_reception_failure' into 'episys/master'
Episys/andrew/msg4 reception failure

See merge request aburger/openairinterface5g!1
2020-10-02 15:19:12 -07:00
Andrew Burger
ce2cbb9017 Episys/andrew/msg4 reception failure 2020-10-02 15:19:11 -07:00
Michael Cook
ed01a338c0 Fix compiler warnings 2020-09-26 13:31:46 -04:00
Andrew Burger
a67379ea52 platform constants change 2020-09-21 18:13:27 -07:00
Andrew Burger
6d566eb583 Merge branch 'episys/andrew/debugging_rach+fixing_rx_unpack' into 'episys/master'
Episys/andrew/debugging rach+fixing rx unpack

See merge request aburger/openairinterface5g!4
2020-09-19 11:32:25 -07:00
Andrew Burger
516de3ae9c fixing remove ul_config_req pdu func 2020-09-19 11:30:03 -07:00
Andrew Burger
129b95eec5 removing comment 2020-09-18 17:28:21 -07:00
Andrew Burger
634872b611 Changing back to 10 max indicies 2020-09-18 17:27:42 -07:00
Andrew Burger
fe6d713988 Cleaning up merge request 2020-09-18 16:58:16 -07:00
Andrew Burger
9bb8390578 Merge branch 'episys/master' into episys/andrew/debugging_rach+fixing_rx_unpack 2020-09-18 14:34:54 -07:00
Andrew Burger
f383a5bc5b Wrong code 2020-09-18 14:24:20 -07:00
Andrew Burger
d3747fe122 non-used code 2020-09-18 13:55:48 -07:00
Andrew Burger
78744a4f7a Added dropping multi cqis 2020-09-18 13:16:32 -07:00
Andrew Burger
08e52445a4 Before testing 2020-09-18 09:11:56 -07:00
Andrew Burger
fc0673bdd1 Allocating memory for new oai unpack rx_ind func 2020-09-17 12:27:42 -07:00
Andrew Burger
7045166f68 cant unpack rx_ind in UE 2020-09-16 10:44:05 -07:00
Andrew Burger
6ed8610a53 Fix for rx_ind 2020-09-16 09:54:52 -07:00
Andrew Burger
2d657b5e30 another rx_ind print 2020-09-15 16:54:08 -07:00
Andrew Burger
6cef6c340c print function for rx_ind 2020-09-15 16:23:52 -07:00
Andrew Burger
8852bb19c9 Adding hexdump logs in unpack 2020-09-15 14:44:43 -07:00
Andrew Burger
e19cee6386 hexdumping packed buffer 2020-09-15 14:12:42 -07:00
Andrew Burger
9339b06315 pack unpack 2020-09-15 13:45:34 -07:00
Andrew Burger
791347d5da forgot comma 2020-09-15 13:36:22 -07:00
Andrew Burger
1655324b69 Some logging 2020-09-15 13:35:23 -07:00
Andrew Burger
348fcb47b2 Logging 2020-09-12 15:04:13 -07:00
Andrew Burger
90af41e68e Logging buflen of rx_ind data 2020-09-12 14:47:31 -07:00
Andrew Burger
3d39494854 Logging cqi issue re emerging 2020-09-09 09:30:22 -07:00
Andrew Burger
915be291cb Damn Fujitsu 2020-09-08 14:57:55 -07:00
Andrew Burger
96d7214c68 Changing constants 2020-09-08 14:50:20 -07:00
Andrew Burger
821ef8572a RRCConnectionsetup happening too early 2020-09-08 12:14:26 -07:00
Andrew Burger
25f8761b84 whoops 2020-09-08 11:15:44 -07:00
Andrew Burger
96b5525d88 removal of LOG_A messages 2020-09-08 10:50:46 -07:00
Andrew Burger
465f1a77e0 New prach procedures 2020-09-08 10:31:36 -07:00
Andrew Burger
d089d4a289 Additional warning/Analysis logs 2020-09-06 11:45:18 -07:00
Andrew Burger
3483f7ad36 New timing members 2020-09-06 11:31:55 -07:00
Michael Cook
a0797e76c4 Use LOG_A for lte_timing_analysis.py 2020-09-06 11:29:39 -07:00
Andrew Burger
851170379c Log_As 2020-09-06 11:01:17 -07:00
Michael Cook
1f771f74a2 Change some printf statements to LOG_I
The printfs were mangling the log.
2020-09-06 10:45:03 -07:00
Andrew Burger
09b6294b24 Merge branch 'episys/log-A' into 'episys/master'
Use LOG_A for log messages intended for analysis

See merge request aburger/openairinterface5g!2
2020-09-06 10:24:19 -07:00
Michael Cook
3a2e4a3189 Use LOG_A for log messages intended for analysis
This change allows us to disable the LOG_I messages to reduce
overhead.

Removed LOG_VAR macro because it was used in only one place, and
a better solution is to simply use `__attribute__((unused))`.
2020-09-06 07:54:56 -07:00
Andrew Burger
506000cdc9 Saving work 2020-09-05 10:30:32 -07:00
Michael Cook
36c9df19b8 Merge branch 'episys/fixing_cqi_problem' into 'episys/master'
Episys/fixing cqi problem

See merge request aburger/openairinterface5g!1
2020-09-02 12:27:09 -07:00
Andrew Burger
79df38d515 Episys/fixing cqi problem 2020-09-02 12:27:09 -07:00
Michael Cook
24f82c5d6f Revert unnecessary whitespace changes
Relative to origin/develop
2020-08-08 08:57:35 -04:00
Andrew Burger
319b0fde99 Cleaning up logs removing unecessary code 2020-07-25 12:14:56 -07:00
Michael Cook
681d705e2e Fix warning 2020-07-25 12:12:03 -04:00
Michael Cook
66bfc517d1 Restore wacky carriage returns
This file has a mixture of line endings: some lines end in CR/LF,
others end in only LF.  Editors tend not to like this and will
switch the whole file to one kind of line ending or the other,
introducing gratuitous whitespace changes.
2020-07-25 11:56:33 -04:00
Michael Cook
3f874ee6ac Revert whitespace changes 2020-07-25 11:39:44 -04:00
Andrew Burger
5ead5cf2da Fixed memory error 2020-07-24 15:19:04 -07:00
Andrew Burger
5db290dd96 Need to fix these carriage returns but here are some important changes 2020-07-24 10:38:46 -07:00
Andrew Burger
b397bc4460 Broken Message still 2020-07-22 16:30:08 -07:00
Andrew Burger
4e1f08fd7e Debugging after msg4 Problem 2020-07-22 12:01:15 -07:00
Michael Cook
8c75f74cd1 Don't invoke multicast_link_start for NFAPI_MODE_STANDALONE_PNF
This code was previously commented out.
But the `if` expression was wrong.
2020-07-19 14:05:15 -04:00
Michael Cook
5714440427 Cleanup
Revert unnecessary changes relative to origin/develop

Reviewed with Andrew
2020-07-19 13:42:35 -04:00
Michael Cook
5ed1390898 Fix warnings 2020-07-19 12:24:48 -04:00
Michael Cook
c508d51b21 Remove color escape sequences in log messages
They cause more grief than they're worth

Define `LOG_WITH_COLORS` to re-enable them
2020-07-19 12:23:57 -04:00
Andrew Burger
8536a38f64 Merge branch 'episys/new_pnf_system' of 10.1.1.52:aburger/openairinterface5g into episys/new_pnf_system 2020-07-17 09:52:56 -07:00
Andrew Burger
8e706131d1 New logs 2020-07-17 09:52:17 -07:00
Melissa Elkadi
aeac176418 Turned off color in log messages 2020-07-17 08:07:24 -07:00
Andrew Burger
03e0656e69 Debugging msg4 2020-07-16 12:29:05 -07:00
Andrew Burger
efb786d808 Merge branch 'episys/sfn_semaphore' into episys/new_queue_system 2020-07-13 11:30:27 -07:00
Andrew Burger
f3d30dae15 Removed trailing white space and added subfram and frame log to CRC_IND 2020-07-13 10:59:48 -07:00
Andrew Burger
42709fce5a Fixing subframe issue in UE UL 2020-07-13 10:37:37 -07:00
Andrew Burger
864e594e14 Removed logging to speed up system 2020-07-11 10:20:14 -07:00
RS
7b387999b3 Replaced usleep with semaphore for current_sfn_sf 2020-07-10 15:05:02 -07:00
Andrew Burger
9a8880fd39 Added timestamps and logging 2020-07-10 10:39:55 -07:00
Andrew Burger
423cd20c43 Changes to sfn_sf before sending to Raymond 2020-07-09 11:09:26 -07:00
Andrew Burger
1fd307636a Fixing sf_ahead variable 2020-07-08 15:32:42 -07:00
Andrew Burger
4ae7d777bb added logging for debugging sockets and changed connect to bind 2020-07-08 10:03:42 -07:00
Andrew Burger
ddca335b5e New address port setup 2020-07-07 16:11:50 -07:00
RS
3936ceaa36 UE socket changed from SCTP to UDP 2020-07-01 11:48:31 -07:00
Andrew Burger
4b5f608c44 Added logging of encoded size 2020-06-30 15:29:53 -07:00
Michael Cook
d836650d41 Call sched_setscheduler 2020-06-27 14:24:56 -04:00
Michael Cook
2499b48092 Fix hexdump signature 2020-06-27 12:21:58 -04:00
Andrew Burger
ac9076761a Allowing fill functions to set correct headers 2020-06-25 17:02:57 -07:00
Andrew Burger
b6fbb51d7d Additional logging for debugging fill functions 2020-06-24 15:12:00 -07:00
Andrew Burger
16209b0555 Changes for supporting UL_config req and DCI0_req 2020-06-24 11:46:22 -07:00
Andrew Burger
6a34a8ad39 Adding ul_config_req cleanup and hi_dci0_req 2020-06-24 11:11:19 -07:00
Michael Cook
03394da33f Revert whitespace changes 2020-06-20 08:37:37 -04:00
Michael Cook
8204f3eaeb Restore original UE_phy_stub_single_thread_rxn_txnp4
Rename our version to `UE_phy_stub_standalone_pnf_task`
2020-06-20 08:35:14 -04:00
Michael Cook
92a64358d5 Fix nfapi_str_mode type 2020-06-20 08:34:59 -04:00
Michael Cook
bde572d9c3 Remove redundant declaration of send_standalone_dummy
It's in phy_stub_UE.h
2020-06-20 07:34:42 -04:00
Michael Cook
21bb7b84cd Revert some whitespace changes 2020-06-20 07:34:25 -04:00
Andrew Burger
c39276cadb Added send nfapi functions including send dummy 2020-06-16 16:39:11 -07:00
Andrew Burger
79f13e919f Added send standalone msg 2020-06-16 11:38:34 -07:00
Andrew Burger
bfc1e8b7d7 Cleaned up behemoth 2020-06-15 15:31:01 -07:00
Michael Cook
b5708a3a80 Checkpoint. 2020-06-13 10:53:01 -04:00
Michael Cook
6e721cec84 Move queue_t into it own .h, .c 2020-06-13 10:27:52 -04:00
Melissa Elkadi
7c37d6d3f2 Fixed compilation issues with standalone rach function 2020-06-12 14:25:27 -07:00
Andrew Burger
4d98e76d0c Rach being generated I think 2020-06-11 15:50:02 -07:00
Andrew Burger
1dc4eb00ff Rach Problem Solves Hopefully 2020-06-11 14:40:41 -07:00
Andrew Burger
04d27b9c64 Finalized Raymond changes 2020-06-11 03:50:06 -07:00
Andrew Burger
898d402ac0 trying to get oai sfnTo work 2020-06-10 13:30:06 -07:00
Andrew Burger
e7eabf3f0f Notes for Sync changes and format cleanup 2020-06-09 10:09:32 -07:00
Andrew Burger
de33309935 New changes to get rach working.. Still not working 2020-06-08 10:41:34 -07:00
Andrew Burger
3c9cb7f161 pairing up the dl_config_req and tx_req
Going wild..
2020-06-06 11:28:03 -07:00
Andrew Burger
af92c512cf Major queue changes note all the log supressions 2020-06-04 15:54:38 -07:00
Andrew Burger
1b4c8d9ebe Before explosion of Andrews machine 2020-06-03 14:55:40 -07:00
Andrew Burger
f815a22eb4 Changes to allow dl_config_req and tx_req to be sent without crashing 2020-06-01 15:23:04 -07:00
Andrew Burger
df2134026a OAI UE receive dl_config_request and call memcpy additions 2020-05-30 12:50:27 -07:00
Michael Cook
d3398332c7 Fix build issues 2020-05-30 13:47:28 -04:00
Andrew Burger
d6b038fa27 Trying to read a single packet inside oai ue 2020-05-29 15:57:43 -07:00
Andrew Burger
ebc8d95dc7 Base skeleton and comments of where socket needs to be implemented 2020-05-29 11:38:23 -07:00
1115 changed files with 95888 additions and 78651 deletions

5
.gitignore vendored
View File

@@ -18,3 +18,8 @@ GPATH
GRTAGS
GTAGS
tags
# others
nfapi_nr_interface_scf
*.log
*.out

39
.vscode/launch.json vendored
View File

@@ -8,14 +8,18 @@
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "enter program name, for example ${workspaceFolder}/a.exe",
"args": [],
"program": "${workspaceFolder}/cmake_targets/ran_build/build/lte-softmodem",
"args": [
"-O",
"../ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf",
"--noS1"
],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"cwd": "${workspaceFolder}/cmake_targets",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "/path/to/gdb",
"miDebuggerPath": "${workspaceFolder}/cmake_targets/sudo-gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
@@ -23,6 +27,31 @@
"ignoreFailures": true
}
]
},
{
"name": "Launch Chrome (4200 ng serve)",
"type": "chrome",
"request": "launch",
"url": "http://localhost:4200",
"webRoot": "${workspaceFolder}/common/utils/websrv/frontend"
},
{
"name": "Launch Chrome (localhost)",
"type": "chrome",
"request": "launch",
"url": "http://localhost",
"webRoot": "${workspaceFolder}",
"sourceMapPathOverrides": {
"webpack:/*": "${webRoot}/*",
"/./*": "${webRoot}/*",
"/src/*": "${webRoot}/*",
"/*": "*",
"/./~/*": "${webRoot}/node_modules/*"
},
"trace": true,
"runtimeArgs": [
"--remote-debugging-port=9222"
]
}
]
}
}

View File

@@ -1,15 +1,48 @@
<h1 align="center">
<a href="https://openairinterface.org/"><img src="https://openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png" alt="OAI" width="550"></a>
</h1>
<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/18.04/"><img src="https://img.shields.io/badge/OS-Ubuntu18-Green" alt="Supported OS"></a>
<a href="https://www.redhat.com/en/enterprise-linux-8"><img src="https://img.shields.io/badge/OS-RHEL8-Green" alt="Supported OS"></a>
</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>
</p>
<p align="center">
<a href="https://hub.docker.com/r/rdefosseoai/oai-enb"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/rdefosseoai/oai-enb?label=eNB%20docker%20pulls"></a>
<a href="https://hub.docker.com/r/rdefosseoai/oai-lte-ue"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/rdefosseoai/oai-lte-ue?label=LTE-UE%20docker%20pulls"></a>
<a href="https://hub.docker.com/r/rdefosseoai/oai-gnb"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/rdefosseoai/oai-gnb?label=gNB%20docker%20pulls"></a>
<a href="https://hub.docker.com/r/rdefosseoai/oai-nr-ue"><img alt="Docker Pulls" src="https://img.shields.io/docker/pulls/rdefosseoai/oai-nr-ue?label=NR-UE%20docker%20pulls"></a>
</p>
# OpenAirInterface License #
OpenAirInterface is under OpenAirInterface Software Alliance license.
### Included Fixes: ###
- Ease of use of gprof and address sanitizer for debugging purposes
- Updated json files to allow for GDB, real-time debugging capabilities
- Updated logging features to minimally log only key connection milestones. This imroves scalability of multiple UEs.
- Updated logging to include time stamp for timing analysis
- Updated memory allocation procedures to correct size requirements
- Added debugging features to handle signal terminations
- nfapi.c pullarray8 fix invalid pointer math
- Overlapping destination and source memory in memcpy, so updated to memmove to check for this bug
- Advanced error checking mechanisms in critical pack and unpack functions
- Created option for CPU assignment to UE to improve scalability
- Added EPC integration to allow multiple individual UE entities to each have their USIM information parced by the executables
- Updated random value seeds to minimize probability of error in generation of random values
- Enables capability round robin scheduler if desired
- Enables capability real time scheduler if desired
- Added new standalone functions to the UE phy-layer (phy_stub_ue.c) to incorporate individual UE entities
- Updated sending and packing functions in UE (lte_ue.c) to incorporate new standalone changes
- Incorporated semaphores to control timing of incoming downlink packets
- Implemented new queuing system to handle message exchange from UE to eNB and vice versa
- Updated global value in nFAPI for size of subframe
- Updated global value to increase scalability in system
* [OAI License Model](http://www.openairinterface.org/?page_id=101)
* [OAI License v1.1 on our website](http://www.openairinterface.org/?page_id=698)
It is distributed under **OAI Public License V1.1**.
The license information is distributed under [LICENSE](LICENSE) file in the same directory.
Please see [NOTICE](NOTICE.md) file for third party software that is included in the sources.
# Where to Start #

View File

@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -33,7 +33,9 @@ podSecurityContext:
securityContext:
privileged: true
# capabilities:
capabilities:
add:
- SYS_CAP_PTRACE
# drop:
# - ALL
# readOnlyRootFilesystem: true

View File

@@ -198,17 +198,77 @@ pipeline {
}
}
}
stage ("RF Simulators") {
stage ("4G RF Simulators") {
when { expression {doMandatoryTests} }
steps {
script {
triggerSlaveJob ('RAN-RF-Sim-Test', 'Test-RF-Sim-Container')
triggerSlaveJob ('RAN-RF-Sim-Test-4G', 'Test-RF-Sim-Container-4G')
}
}
post {
always {
script {
finalizeSlaveJob('RAN-RF-Sim-Test')
finalizeSlaveJob('RAN-RF-Sim-Test-4G')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("5G RF Simulators") {
when { expression {doMandatoryTests} }
steps {
script {
triggerSlaveJob ('RAN-RF-Sim-Test-5G', 'Test-RF-Sim-Container-4G')
}
}
post {
always {
script {
finalizeSlaveJob('RAN-RF-Sim-Test-5G')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("NSA B200 Sanity Check") {
when { expression {doMandatoryTests} }
steps {
script {
triggerSlaveJob ('RAN-NSA-B200-Module-LTEBOX-Container', 'Test-NSA-B200')
}
}
post {
always {
script {
finalizeSlaveJob('RAN-NSA-B200-Module-LTEBOX-Container')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test OAI NR UE - OAI gNB - TDD - Band 78 - N300") {
when { expression {doMandatoryTests} }
steps {
script {
triggerSlaveJob ('RAN-gNB-nrUE-MONO-TDD-Band78-N300', 'Test-TDD-Band78-gNB-NR-UE')
}
}
post {
always {
script {
finalizeSlaveJob('RAN-gNB-nrUE-MONO-TDD-Band78-N300')
}
}
failure {
@@ -226,11 +286,12 @@ pipeline {
script {
triggerSlaveJob ('RAN-DockerHub-Push', 'Push-to-Docker-Hub')
}
post {
failure {
script {
currentBuild.result = 'FAILURE'
}
}
post {
failure {
script {
echo "Push to Docker-Hub KO"
currentBuild.result = 'FAILURE'
}
}
}
@@ -262,6 +323,7 @@ pipeline {
echo "This is a MERGE event"
addGitLabMRComment comment: message
}
echo "Pipeline is SUCCESSFUL"
}
}
failure {
@@ -271,6 +333,7 @@ pipeline {
echo "This is a MERGE event"
addGitLabMRComment comment: message
}
echo "Pipeline FAILED"
}
}
}
@@ -279,6 +342,11 @@ pipeline {
// ---- Slave Job functions
def triggerSlaveJob (jobName, gitlabStatusName) {
if ("MERGE".equals(env.gitlabActionType)) {
MR_NUMBER = env.gitlabMergeRequestIid
} else {
MR_NUMBER = 'develop'
}
// Workaround for the "cancelled" GitLab pipeline notification
// The slave job is triggered with the propagate false so the following commands are executed
// Its status is now PASS/SUCCESS from a stage pipeline point of view
@@ -288,6 +356,7 @@ def triggerSlaveJob (jobName, gitlabStatusName) {
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
string(name: 'eNB_MR', value: String.valueOf(MR_NUMBER)),
booleanParam(name: 'eNB_mergeRequest', value: "MERGE".equals(env.gitlabActionType)),
string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
], propagate: false
@@ -304,6 +373,11 @@ def triggerSlaveJob (jobName, gitlabStatusName) {
}
def triggerSlaveJobNoGitLab (jobName) {
if ("MERGE".equals(env.gitlabActionType)) {
MR_NUMBER = env.gitlabMergeRequestIid
} else {
MR_NUMBER = 'develop'
}
// Workaround for the "cancelled" GitLab pipeline notification
// The slave job is triggered with the propagate false so the following commands are executed
// Its status is now PASS/SUCCESS from a stage pipeline point of view
@@ -313,6 +387,7 @@ def triggerSlaveJobNoGitLab (jobName) {
string(name: 'eNB_Repository', value: String.valueOf(GIT_URL)),
string(name: 'eNB_Branch', value: String.valueOf(env.gitlabSourceBranch)),
string(name: 'eNB_CommitID', value: String.valueOf(env.gitlabMergeRequestLastCommit)),
string(name: 'eNB_MR', value: String.valueOf(MR_NUMBER)),
booleanParam(name: 'eNB_mergeRequest', value: "MERGE".equals(env.gitlabActionType)),
string(name: 'eNB_TargetBranch', value: String.valueOf(env.gitlabTargetBranch))
], propagate: false

View File

@@ -33,9 +33,12 @@ pipeline {
stages {
stage ("gDashboard") {
steps {
script {
//retrieve MR data from gitlab and export to gSheet
sh returnStdout: true, script: 'python3 ci-scripts/ran_dashboard.py'
script {
dir ("ci-scripts/ran_dashboard") {
//retrieve MR data from gitlab / mySQL db, build HTML pages and load them to AWS S3 bucket (configured as static web page hosting)
//deprecated method : sh returnStdout: true, script: 'python3 ran_dashboard.py'
sh returnStdout: true, script: 'python3 Hdashboard.py'
}
}
}
}

View File

@@ -404,26 +404,6 @@ pipeline {
}
}
}
stage ("Test L2 simulator") {
when {
expression {doFullTestsuite}
}
steps {
lock (vmResource) {
script {
timeout (time: 30, unit: 'MINUTES') {
try {
gitlabCommitStatus(name: "Test L2-sim") {
sh "./ci-scripts/oai-ci-vm-tool test --workspace $WORKSPACE --variant l2-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
}
} catch (Exception e) {
currentBuild.result = 'FAILURE'
}
}
}
}
}
}
stage ("Destroy all Virtual Machines") {
when {
expression {doMandatoryTests}
@@ -549,74 +529,6 @@ pipeline {
}
}
}
stage ("Test MONOLITHIC - FDD - Band 13 - B210") {
when {
expression {doFullTestsuite}
}
steps {
script {
sh "sleep 60"
triggerSlaveJob ('eNB-CI-MONO-FDD-Band13-B210', 'Test-Mono-FDD-Band13-LTE-M')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-MONO-FDD-Band13-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test X2 Handover - FDD - Band 13 - B210") {
when {
expression {doFullTestsuite}
}
steps {
script {
sh "sleep 60"
triggerSlaveJob ('eNB-CI-MONO-FDD-Band13-X2HO-B210', 'Test-Mono-FDD-Band13-X2-HO')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-MONO-FDD-Band13-X2HO-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test IF4p5 - TDD - Band 38 - B210 - MultiRRU") {
when {
expression {doFullTestsuite}
}
steps {
script {
triggerSlaveJob ('eNB-CI-IF4p5-TDD-Band38-MultiRRU-B210', 'Test-IF4p5-TDD-Band38-Multi-RRU')
}
}
post {
always {
script {
finalizeSlaveJob('eNB-CI-IF4p5-TDD-Band38-MultiRRU-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test OAI UE - FDD - Band 20 - B200") {
when {
expression {doFullTestsuite}
@@ -663,50 +575,6 @@ pipeline {
}
}
}
stage ("Test OAI NR UE - OAI gNB - TDD - Band 78 - N300") {
when {
expression {doMandatoryTests}
}
steps {
script {
triggerSlaveJob ('gNB-nrUE-MONO-TDD-Band78-N300', 'Test-TDD-Band78-gNB-NR-UE')
}
}
post {
always {
script {
finalizeSlaveJob('gNB-nrUE-MONO-TDD-Band78-N300')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
stage ("Test OAI OCP-eNB - FDD - Band 7 - B210") {
when {
expression {doFullTestsuite}
}
steps {
script {
triggerSlaveJob ('OCPeNB-FDD-Band7-B210', 'Test-OCP-FDD-Band7')
}
}
post {
always {
script {
finalizeSlaveJob('OCPeNB-FDD-Band7-B210')
}
}
failure {
script {
currentBuild.result = 'FAILURE'
}
}
}
}
}
post {
always {

View File

@@ -134,8 +134,8 @@ pipeline {
eNB_CommitID = params.eNB_CommitID
}
echo "eNB_CommitID : ${eNB_CommitID}"
if (params.eNB_AllowMergeRequestProcess!= null) {
eNB_AllowMergeRequestProcess = params.eNB_AllowMergeRequestProcess
if (params.eNB_mergeRequest!= null) {
eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
if (eNB_AllowMergeRequestProcess) {
if (params.eNB_TargetBranch != null) {
eNB_TargetBranch = params.eNB_TargetBranch

View File

@@ -145,8 +145,8 @@ pipeline {
// eNB_CommitID = params.eNB_CommitID
//}
echo "eNB_CommitID : ${eNB_CommitID}"
if (params.eNB_AllowMergeRequestProcess!= null) {
eNB_AllowMergeRequestProcess = params.eNB_AllowMergeRequestProcess
if (params.eNB_mergeRequest!= null) {
eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
if (eNB_AllowMergeRequestProcess) {
if (params.eNB_TargetBranch != null) {
eNB_TargetBranch = params.eNB_TargetBranch

View File

@@ -37,6 +37,7 @@ def testStageName = params.pipelineTestStageName
// Name of the phone/server resource
def ciSmartPhonesResource1 = params.SmartPhonesResource1
def ciSmartPhonesResource2 = params.SmartPhonesResource2
def ciSmartPhonesResource3 = params.SmartPhonesResource3
// Global Parameters. Normally they should be populated when the master job
// triggers the slave job with parameters
@@ -51,270 +52,372 @@ def StatusForDb = ""
pipeline {
agent {label pythonExecutor}
options {
disableConcurrentBuilds()
ansiColor('xterm')
lock(extra: [[resource: ciSmartPhonesResource2]], resource: ciSmartPhonesResource1)
agent {label pythonExecutor}
options {
disableConcurrentBuilds()
ansiColor('xterm')
lock(extra: [[resource: ciSmartPhonesResource2],[resource: ciSmartPhonesResource1]],resource: ciSmartPhonesResource3)
}
stages {
stage("Build Init") {
steps {
// update the build name and description
buildName "${params.eNB_MR}"
buildDescription "Branch : ${params.eNB_Branch}"
}
}
stages {
stage("Build Init") {
steps {
// update the build name and description
buildName "${params.eNB_MR}"
buildDescription "Branch : ${params.eNB_Branch}"
stage ("Verify Parameters") {
steps {
script {
echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
def allParametersPresent = true
// It is already to late to check it
if (params.pythonExecutor != null) {
echo "eNB CI executor node : ${pythonExecutor}"
}
// If not present picking a default Stage Name
if (params.pipelineTestStageName == null) {
// picking default
testStageName = 'Template Test Stage'
}
if (params.SmartPhonesResource1 == null) {
allParametersPresent = false
}
if (params.SmartPhonesResource2 == null) {
allParametersPresent = false
}
if (params.SmartPhonesResource3 == null) {
allParametersPresent = false
}
// 1st eNB parameters
if (params.eNB_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB_Credentials == null) {
allParametersPresent = false
}
// 2nd eNB parameters
if (params.eNB1_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB1_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB1_Credentials == null) {
allParametersPresent = false
}
// 3rd eNB parameters
if (params.eNB2_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB2_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB2_Credentials == null) {
allParametersPresent = false
}
if (params.UE_IPAddress == null) {
allParametersPresent = false
}
if (params.UE_SourceCodePath == null) {
allParametersPresent = false
}
if (params.UE_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) {
eNB_Repository = env.GIT_URL
} else {
eNB_Repository = params.eNB_Repository
}
echo "eNB_Repository : ${eNB_Repository}"
if (params.eNB_Branch == null) {
eNB_Branch = env.GIT_BRANCH
} else {
eNB_Branch = params.eNB_Branch
}
echo "eNB_Branch : ${eNB_Branch}"
if (params.eNB_CommitID == null) {
eNB_CommitID = env.GIT_COMMIT
} else {
eNB_CommitID = params.eNB_CommitID
}
echo "eNB_CommitID : ${eNB_CommitID}"
if (params.eNB_mergeRequest!= null) {
eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
if (eNB_AllowMergeRequestProcess) {
if (params.eNB_TargetBranch != null) {
eNB_TargetBranch = params.eNB_TargetBranch
} else {
eNB_TargetBranch = 'develop'
}
echo "eNB_TargetBranch : ${eNB_TargetBranch}"
}
}
stage ("Verify Parameters") {
steps {
script {
echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
def allParametersPresent = true
}
// It is already to late to check it
if (params.pythonExecutor != null) {
echo "eNB CI executor node : ${pythonExecutor}"
}
// If not present picking a default Stage Name
if (params.pipelineTestStageName == null) {
// picking default
testStageName = 'Template Test Stage'
}
if (params.EPC_IPAddress == null) {
allParametersPresent = false
}
if (params.EPC_Type == null) {
allParametersPresent = false
}
if (params.EPC_SourceCodePath == null) {
allParametersPresent = false
}
if (params.EPC_Credentials == null) {
allParametersPresent = false
}
if (params.SmartPhonesResource1 == null) {
allParametersPresent = false
}
if (params.SmartPhonesResource2 == null) {
allParametersPresent = false
}
// 1st eNB parameters
if (params.eNB_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB_Credentials == null) {
allParametersPresent = false
}
// 2nd eNB parameters
if (params.eNB1_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB1_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB1_Credentials == null) {
allParametersPresent = false
}
// 3rd eNB parameters
if (params.eNB2_IPAddress == null) {
allParametersPresent = false
}
if (params.eNB2_SourceCodePath == null) {
allParametersPresent = false
}
if (params.eNB2_Credentials == null) {
allParametersPresent = false
}
// the following 4 parameters should be pushed by the master trigger
// if not present, take the job GIT variables (used for developing)
if (params.eNB_Repository == null) {
eNB_Repository = env.GIT_URL
} else {
eNB_Repository = params.eNB_Repository
}
echo "eNB_Repository : ${eNB_Repository}"
if (params.eNB_Branch == null) {
eNB_Branch = env.GIT_BRANCH
} else {
eNB_Branch = params.eNB_Branch
}
echo "eNB_Branch : ${eNB_Branch}"
if (params.eNB_CommitID == null) {
eNB_CommitID = env.GIT_COMMIT
} else {
eNB_CommitID = params.eNB_CommitID
}
echo "eNB_CommitID : ${eNB_CommitID}"
if (params.eNB_AllowMergeRequestProcess!= null) {
eNB_AllowMergeRequestProcess = params.eNB_AllowMergeRequestProcess
if (eNB_AllowMergeRequestProcess) {
if (params.eNB_TargetBranch != null) {
eNB_TargetBranch = params.eNB_TargetBranch
} else {
eNB_TargetBranch = 'develop'
}
echo "eNB_TargetBranch : ${eNB_TargetBranch}"
}
}
if (params.ADB_IPAddress == null) {
allParametersPresent = false
}
if (params.ADB_Credentials == null) {
allParametersPresent = false
}
if (params.DataBaseHost == "none") {
DataBaseHost = pythonExecutor
}
if (params.EPC_IPAddress == null) {
allParametersPresent = false
}
if (params.EPC_Type == null) {
allParametersPresent = false
}
if (params.EPC_SourceCodePath == null) {
allParametersPresent = false
}
if (params.EPC_Credentials == null) {
allParametersPresent = false
}
if (params.ADB_IPAddress == null) {
allParametersPresent = false
}
if (params.ADB_Credentials == null) {
allParametersPresent = false
}
if (allParametersPresent) {
echo "All parameters are present"
if (eNB_AllowMergeRequestProcess) {
sh "git fetch"
sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
} else {
sh "git fetch"
sh "git checkout -f ${eNB_CommitID}"
}
} else {
echo "Some parameters are missing"
sh "./ci-scripts/fail.sh"
}
}
if (allParametersPresent) {
echo "All parameters are present"
if (eNB_AllowMergeRequestProcess) {
sh "git fetch"
sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
} else {
sh "git fetch"
sh "git checkout -f ${eNB_CommitID}"
}
} else {
echo "Some parameters are missing"
sh "./ci-scripts/fail.sh"
}
}
stage ("Build and Test") {
steps {
script {
dir ('ci-scripts') {
echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
// If not present picking a default XML file
if (params.pythonTestXmlFile == null) {
// picking default
testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
echo "Test XML file(default): ${testXMLFile}"
mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
} else {
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
echo "Test XML file : ${xmlFile}"
}
}
}
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB1_Credentials}", usernameVariable: 'eNB1_Username', passwordVariable: 'eNB1_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB2_Credentials}", usernameVariable: 'eNB2_Username', passwordVariable: 'eNB2_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password']
]) {
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
try {
sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --eNB1IPAddress=${params.eNB1_IPAddress} --eNB1UserName=${eNB1_Username} --eNB1Password=${eNB1_Password} --eNB1SourceCodePath=${params.eNB1_SourceCodePath} --eNB2IPAddress=${params.eNB2_IPAddress} --eNB2UserName=${eNB2_Username} --eNB2Password=${eNB2_Password} --eNB2SourceCodePath=${params.eNB2_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
} catch (Exception e) {
currentBuild.result = 'FAILURE'
buildStageStatus = false
}
}
}
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password}"
}
}
}
}
stage ("Build and Test") {
steps {
script {
dir ('ci-scripts') {
echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
// If not present picking a default XML file
if (params.pythonTestXmlFile == null) {
// picking default
testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
echo "Test XML file(default): ${testXMLFile}"
mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
} else {
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
echo "Test XML file : ${xmlFile}"
}
}
}
}
stage('Log Collection') {
parallel {
stage('Log Collection (eNB - Build)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Build)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectBuild --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Build)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/build.log.zip ./build.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("build.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "build.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (eNB - Run)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Run)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/enb.log.zip ./enb.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (CN)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Transfer (CN)\u001B[0m'
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/logs/oai-cn5g.log.zip ./oai-cn5g.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("oai-cn5g.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "oai-cn5g.log.${env.BUILD_ID}.zip"
}
if(fileExists("ci-scripts/test_results.html")) {
sh "mv ci-scripts/test_results.html test_results-${JOB_NAME}.html"
sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
archiveArtifacts "test_results-${JOB_NAME}.html"
}
}
}
}
stage ("SQL Collect"){
agent {label DataBaseHost}
steps {
script {
if (currentBuild.result=='FAILURE') {StatusForDb = 'FAIL'} else {StatusForDb = 'PASS'}
sh "python3 /home/oaicicd/mysql/sql_connect.py ${JOB_NAME} ${params.eNB_MR} ${params.eNB_Branch} ${env.BUILD_ID} ${env.BUILD_URL} ${StatusForDb} ''"
}
}
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB1_Credentials}", usernameVariable: 'eNB1_Username', passwordVariable: 'eNB1_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB2_Credentials}", usernameVariable: 'eNB2_Username', passwordVariable: 'eNB2_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.ADB_Credentials}", usernameVariable: 'ADB_Username', passwordVariable: 'ADB_Password'],
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
]) {
sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} ${mainPythonAllXmlFiles}"
String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
for (xmlFile in myXmlTestSuite) {
if (fileExists(xmlFile)) {
try {
sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath} --eNB1IPAddress=${params.eNB1_IPAddress} --eNB1UserName=${eNB1_Username} --eNB1Password=${eNB1_Password} --eNB1SourceCodePath=${params.eNB1_SourceCodePath} --eNB2IPAddress=${params.eNB2_IPAddress} --eNB2UserName=${eNB2_Username} --eNB2Password=${eNB2_Password} --eNB2SourceCodePath=${params.eNB2_SourceCodePath} --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath} --EPCIPAddress=${params.EPC_IPAddress} --EPCType=${params.EPC_Type} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --ADBIPAddress=${params.ADB_IPAddress} --ADBUserName=${ADB_Username} --ADBPassword=${ADB_Password} --XMLTestFile=${xmlFile}"
} catch (Exception e) {
currentBuild.result = 'FAILURE'
buildStageStatus = false
}
}
}
sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus} --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password}"
}
}
}
}
}
}
stage('Log Collection') {
parallel {
stage('Log Collection (eNB - Build)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Build)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectBuild --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath}"
post {
always {
echo '\u2705 \u001B[32mLog Transfer (eNB - Build)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/build.log.zip ./build.log.${env.BUILD_ID}.zip || true"
}
script {
if (params.pipelineZipsConsoleLog != null) {
if (params.pipelineZipsConsoleLog) {
echo "Archiving Jenkins console log"
sh "wget --no-check-certificate --no-proxy ${env.JENKINS_URL}/job/${env.JOB_NAME}/${env.BUILD_ID}/consoleText -O consoleText.log || true"
sh "zip -m consoleText.log.${env.BUILD_ID}.zip consoleText.log || true"
if(fileExists("consoleText.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "consoleText.log.${env.BUILD_ID}.zip"
}
}
}
if(fileExists("build.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "build.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (OAI UE - Build)') {
steps {
echo '\u2705 \u001B[32mLog Collection (OAI UE - Build)\u001B[0m'
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
]) {
sh "python3 ci-scripts/main.py --mode=LogCollectBuild --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (UE - Build)\u001B[0m'
sh "sshpass -p \'${UE_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${UE_Username}@${params.UE_IPAddress}:${UE_SourceCodePath}/cmake_targets/build.log.zip ./build.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("build.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "build.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (eNB - Run)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.eNB_Credentials}", usernameVariable: 'eNB_Username', passwordVariable: 'eNB_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBIPAddress=${params.eNB_IPAddress} --eNBUserName=${eNB_Username} --eNBPassword=${eNB_Password} --eNBSourceCodePath=${params.eNB_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (eNB - Run)\u001B[0m'
sh "sshpass -p \'${eNB_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${eNB_Username}@${params.eNB_IPAddress}:${eNB_SourceCodePath}/cmake_targets/enb.log.zip ./enb.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (OAI UE - Run)') {
steps {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.UE_Credentials}", usernameVariable: 'UE_Username', passwordVariable: 'UE_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (OAI UE - Run)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectOAIUE --UEIPAddress=${params.UE_IPAddress} --UEUserName=${UE_Username} --UEPassword=${UE_Password} --UESourceCodePath=${params.UE_SourceCodePath}"
echo '\u2705 \u001B[32mLog Transfer (OAI UE - Run)\u001B[0m'
sh "sshpass -p \'${UE_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${UE_Username}@${params.UE_IPAddress}:${UE_SourceCodePath}/cmake_targets/ue.log.zip ./ue.log.${env.BUILD_ID}.zip || true"
}
script {
if(fileExists("ue.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "ue.log.${env.BUILD_ID}.zip"
}
}
}
}
stage('Log Collection (CN)') {
// Bypassing this stage if EPC server is not defined
when {
expression { params.EPC_IPAddress != "none" }
}
steps {
script {
withCredentials([
[$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.EPC_Credentials}", usernameVariable: 'EPC_Username', passwordVariable: 'EPC_Password']
]) {
echo '\u2705 \u001B[32mLog Collection (HSS)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectHSS --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
if (params.EPC_Type != 'OAICN5G') {
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/hss.log.zip ./hss.log.${env.BUILD_ID}.zip || true"
}
echo '\u2705 \u001B[32mLog Collection (MME or AMF)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectMME --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
if (params.EPC_Type == 'OAICN5G') {
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/mme.log.zip ./amf.log.${env.BUILD_ID}.zip || true"
} else {
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/mme.log.zip ./mme.log.${env.BUILD_ID}.zip || true"
}
echo '\u2705 \u001B[32mLog Collection (SPGW or SMF/UPF)\u001B[0m'
sh "python3 ci-scripts/main.py --mode=LogCollectSPGW --EPCIPAddress=${params.EPC_IPAddress} --EPCUserName=${EPC_Username} --EPCPassword=${EPC_Password} --EPCSourceCodePath=${params.EPC_SourceCodePath} --EPCType=${params.EPC_Type}"
if (params.EPC_Type == 'OAICN5G') {
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/spgw.log.zip ./smf-upf.log.${env.BUILD_ID}.zip || true"
} else {
sh "sshpass -p \'${EPC_Password}\' scp -o 'StrictHostKeyChecking no' -o 'ConnectTimeout 10' ${EPC_Username}@${params.EPC_IPAddress}:${EPC_SourceCodePath}/scripts/spgw.log.zip ./spgw.log.${env.BUILD_ID}.zip || true"
}
}
if(fileExists("hss.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "hss.log.${env.BUILD_ID}.zip"
}
if(fileExists("mme.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "mme.log.${env.BUILD_ID}.zip"
}
if(fileExists("spgw.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "spgw.log.${env.BUILD_ID}.zip"
}
if(fileExists("amf.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "amf.log.${env.BUILD_ID}.zip"
}
if(fileExists("smf-upf.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "smf-upf.log.${env.BUILD_ID}.zip"
}
echo '\u2705 \u001B[32mLog Collection for CoreNetwork Done!\u001B[0m'
}
}
}
stage ("SQL Collect"){
when {
expression { params.DataBaseHost != "none" }
}
agent {label DataBaseHost}
steps {
script {
if (currentBuild.result=='FAILURE') {StatusForDb = 'FAIL'} else {StatusForDb = 'PASS'}
sh "python3 /home/oaicicd/mysql/sql_connect.py ${JOB_NAME} ${params.eNB_MR} ${params.eNB_Branch} ${env.BUILD_ID} ${env.BUILD_URL} ${StatusForDb} ''"
}
}
}
stage ("Result Update"){
when {
expression { params.DataBaseHost != "none" }
}
agent {label DataBaseHost}
steps {
script {
dir ('ci-scripts/ran_dashboard') {
sh "python3 Hdashboard.py testevent ${params.eNB_MR} "
}
}
}
}
}
}
}
post {
always {
script {
if(fileExists("ci-scripts/test_results.html")) {
sh "mv ci-scripts/test_results.html test_results-${JOB_NAME}.html"
sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
archiveArtifacts "test_results-${JOB_NAME}.html"
}
if (params.pipelineZipsConsoleLog != null) {
if (params.pipelineZipsConsoleLog) {
echo "Archiving Jenkins console log"
sh "wget --no-check-certificate --no-proxy ${env.JENKINS_URL}/job/${env.JOB_NAME}/${env.BUILD_ID}/consoleText -O consoleText.log || true"
sh "zip -m consoleText.log.${env.BUILD_ID}.zip consoleText.log || true"
if(fileExists("consoleText.log.${env.BUILD_ID}.zip")) {
archiveArtifacts "consoleText.log.${env.BUILD_ID}.zip"
}
}
}
}
}
}
}

View File

@@ -27,6 +27,8 @@ def pythonExecutor = params.pythonExecutor
def TARGET_BRANCH = "develop"
def ALLOW_MERGE = true
def GitPostArgs = ''
def jobStatus
pipeline {
agent {
@@ -47,39 +49,89 @@ pipeline {
COMMIT_ID=sh returnStdout: true, script: """curl --silent "https://gitlab.eurecom.fr/api/v4/projects/oai%2Fopenairinterface5g/merge_requests/${MR}" | jq ".sha" || true """
COMMIT_ID=COMMIT_ID.trim()
echo "Testing NSA on : ${MR} ${SRC_BRANCH} ${COMMIT_ID}"
//calling NSA B200
build job: "RAN-NSA-B200-Module-LTEBOX", wait : true, propagate : false, parameters: [
string(name: 'eNB_MR', value: String.valueOf(MR)),
string(name: 'eNB_Branch', value: String.valueOf(SRC_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(COMMIT_ID)),
string(name: 'eNB_TargetBranch', value: String.valueOf(TARGET_BRANCH)),
booleanParam(name: 'eNB_AllowMergeRequestProcess', value: Boolean.valueOf(ALLOW_MERGE))
]
//calling NSA 2x2
build job: "RAN-NSA-2x2-Module-OAIEPC", wait : true, propagate : false, parameters: [
string(name: 'eNB_MR', value: String.valueOf(MR)),
string(name: 'eNB_Branch', value: String.valueOf(SRC_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(COMMIT_ID)),
string(name: 'eNB_TargetBranch', value: String.valueOf(TARGET_BRANCH)),
booleanParam(name: 'eNB_AllowMergeRequestProcess', value: Boolean.valueOf(ALLOW_MERGE))
]
//calling LTE 2x2
build job: "RAN-LTE-2x2-Module-OAIEPC", wait : true, propagate : false, parameters: [
string(name: 'eNB_MR', value: String.valueOf(MR)),
string(name: 'eNB_Branch', value: String.valueOf(SRC_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(COMMIT_ID)),
string(name: 'eNB_TargetBranch', value: String.valueOf(TARGET_BRANCH)),
booleanParam(name: 'eNB_AllowMergeRequestProcess', value: Boolean.valueOf(ALLOW_MERGE))
]
//calling SA
build job: "RAN-SA-Module-CN5G", wait : true, propagate : false, parameters: [
string(name: 'eNB_MR', value: String.valueOf(MR)),
string(name: 'eNB_Branch', value: String.valueOf(SRC_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(COMMIT_ID)),
string(name: 'eNB_TargetBranch', value: String.valueOf(TARGET_BRANCH)),
booleanParam(name: 'eNB_AllowMergeRequestProcess', value: Boolean.valueOf(ALLOW_MERGE))
]
commit = COMMIT_ID.replace("\"","")
GitPostArgs = MR + ' ' + commit + ' '
echo GitPostArgs
//calling LTE 2x2
jobName = "RAN-LTE-2x2-Module-OAIEPC"
jobStatus = build job: jobName, wait : true, propagate : false, parameters: [
string(name: 'eNB_MR', value: String.valueOf(MR)),
string(name: 'eNB_Branch', value: String.valueOf(SRC_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(COMMIT_ID)),
string(name: 'eNB_TargetBranch', value: String.valueOf(TARGET_BRANCH)),
booleanParam(name: 'eNB_mergeRequest', value: Boolean.valueOf(ALLOW_MERGE))
]
jobResult = jobStatus.getResult()
build_url = jobStatus.getAbsoluteUrl()
build_id = jobStatus.getNumber().toString()
GitPostArgs += jobName + ' ' + build_url + ' ' + build_id + ' ' + jobResult + ' '
echo GitPostArgs
//calling NSA B200
jobName = "RAN-NSA-B200-Module-LTEBOX"
jobStatus = build job: jobName, wait : true, propagate : false, parameters: [
string(name: 'eNB_MR', value: String.valueOf(MR)),
string(name: 'eNB_Branch', value: String.valueOf(SRC_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(COMMIT_ID)),
string(name: 'eNB_TargetBranch', value: String.valueOf(TARGET_BRANCH)),
booleanParam(name: 'eNB_mergeRequest', value: Boolean.valueOf(ALLOW_MERGE))
]
jobResult = jobStatus.getResult()
build_url = jobStatus.getAbsoluteUrl()
build_id = jobStatus.getNumber().toString()
GitPostArgs += jobName + ' ' + build_url + ' ' + build_id + ' ' + jobResult + ' '
echo GitPostArgs
//calling NSA 2x2
jobName = "RAN-NSA-2x2-Module-OAIEPC"
jobStatus = build job: jobName, wait : true, propagate : false, parameters: [
string(name: 'eNB_MR', value: String.valueOf(MR)),
string(name: 'eNB_Branch', value: String.valueOf(SRC_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(COMMIT_ID)),
string(name: 'eNB_TargetBranch', value: String.valueOf(TARGET_BRANCH)),
booleanParam(name: 'eNB_mergeRequest', value: Boolean.valueOf(ALLOW_MERGE))
]
jobResult = jobStatus.getResult()
build_url = jobStatus.getAbsoluteUrl()
build_id = jobStatus.getNumber().toString()
GitPostArgs += jobName + ' ' + build_url + ' ' + build_id + ' ' + jobResult + ' '
echo GitPostArgs
//calling SA
jobName = "RAN-SA-Module-CN5G"
jobStatus = build job: jobName, wait : true, propagate : false, parameters: [
string(name: 'eNB_MR', value: String.valueOf(MR)),
string(name: 'eNB_Branch', value: String.valueOf(SRC_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(COMMIT_ID)),
string(name: 'eNB_TargetBranch', value: String.valueOf(TARGET_BRANCH)),
booleanParam(name: 'eNB_mergeRequest', value: Boolean.valueOf(ALLOW_MERGE))
]
jobResult = jobStatus.getResult()
build_url = jobStatus.getAbsoluteUrl()
build_id = jobStatus.getNumber().toString()
GitPostArgs += jobName + ' ' + build_url + ' ' + build_id + ' ' + jobResult + ' '
echo GitPostArgs
//calling OAIUE N310-X300
jobName = "RAN-SA-OAIUE-N310-X300-CN5G"
jobStatus = build job: jobName, wait : true, propagate : false, parameters: [
string(name: 'eNB_MR', value: String.valueOf(MR)),
string(name: 'eNB_Branch', value: String.valueOf(SRC_BRANCH)),
string(name: 'eNB_CommitID', value: String.valueOf(COMMIT_ID)),
string(name: 'eNB_TargetBranch', value: String.valueOf(TARGET_BRANCH)),
booleanParam(name: 'eNB_mergeRequest', value: Boolean.valueOf(ALLOW_MERGE))
]
jobResult = jobStatus.getResult()
build_url = jobStatus.getAbsoluteUrl()
build_id = jobStatus.getNumber().toString()
GitPostArgs += jobName + ' ' + build_url + ' ' + build_id + ' ' + jobResult + ' '
echo GitPostArgs
//git report the test results in 1 block, at the end of the test sequence of one MR
dir ('ci-scripts/ran_dashboard') {
sh "python3 Hdashboard.py gitpost ${GitPostArgs}"
}
}
}
}

View File

@@ -77,7 +77,7 @@ then
IS_NFAPI=`echo $FILE | egrep -c "nfapi/open-nFAPI|nfapi/oai_integration/vendor_ext" || true`
IS_OAI_LICENCE_PRESENT=`egrep -c "OAI Public License" $FILE || true`
IS_BSD_LICENCE_PRESENT=`egrep -c "the terms of the BSD Licence|License-Identifier: BSD-2-Clause" $FILE || true`
IS_EXCEPTION=`echo $FILE | egrep -c "common/utils/collection/tree.h|common/utils/collection/queue.h|common/utils/itti_analyzer/common/queue.h|openair3/UTILS/tree.h|openair3/UTILS/queue.h|openair3/GTPV1-U/nw-gtpv1u|openair2/UTIL/OPT/ws_|openair2/UTIL/OPT/packet-rohc.h|openair3/NAS/COMMON/milenage.h" || true`
IS_EXCEPTION=`echo $FILE | egrep -c "common/utils/collection/tree.h|common/utils/collection/queue.h|common/utils/itti_analyzer/common/queue.h|openair3/UTILS/tree.h|openair3/UTILS/queue.h|openair3/GTPV1-U/nw-gtpv1u|openair2/UTIL/OPT/ws_|openair2/UTIL/OPT/packet-rohc.h|openair3/NAS/COMMON/milenage.h|openair1/PHY/CODING/crc|openair1/PHY/CODING/types.h" || true`
if [ $IS_OAI_LICENCE_PRESENT -eq 0 ] && [ $IS_BSD_LICENCE_PRESENT -eq 0 ]
then
if [ $IS_NFAPI -eq 0 ] && [ $IS_EXCEPTION -eq 0 ]
@@ -198,7 +198,7 @@ do
IS_NFAPI=`echo $FULLFILE | egrep -c "nfapi/open-nFAPI|nfapi/oai_integration/vendor_ext" || true`
IS_OAI_LICENCE_PRESENT=`egrep -c "OAI Public License" $FULLFILE || true`
IS_BSD_LICENCE_PRESENT=`egrep -c "the terms of the BSD Licence|License-Identifier: BSD-2-Clause" $FULLFILE || true`
IS_EXCEPTION=`echo $FULLFILE | egrep -c "common/utils/collection/tree.h|common/utils/collection/queue.h|common/utils/itti_analyzer/common/queue.h|openair3/UTILS/tree.h|openair3/UTILS/queue.h|openair3/GTPV1-U/nw-gtpv1u|openair2/UTIL/OPT/ws_|openair2/UTIL/OPT/packet-rohc.h|openair3/NAS/COMMON/milenage.h" || true`
IS_EXCEPTION=`echo $FULLFILE | egrep -c "common/utils/collection/tree.h|common/utils/collection/queue.h|common/utils/itti_analyzer/common/queue.h|openair3/UTILS/tree.h|openair3/UTILS/queue.h|openair3/GTPV1-U/nw-gtpv1u|openair2/UTIL/OPT/ws_|openair2/UTIL/OPT/packet-rohc.h|openair3/NAS/COMMON/milenage.h|openair1/PHY/CODING/crc|openair1/PHY/CODING/types.h" || true`
if [ $IS_OAI_LICENCE_PRESENT -eq 0 ] && [ $IS_BSD_LICENCE_PRESENT -eq 0 ]
then
if [ $IS_NFAPI -eq 0 ] && [ $IS_EXCEPTION -eq 0 ]

View File

@@ -93,6 +93,7 @@ class Containerize():
self.allImagesSize = {}
self.collectInfo = {}
self.tsharkStarted = False
self.pingContName = ''
self.pingOptions = ''
self.pingLossThreshold = ''
@@ -101,10 +102,46 @@ class Containerize():
self.cliContName = ''
self.cliOptions = ''
self.imageToCopy = ''
self.registrySvrId = ''
self.testSvrId = ''
#checkers from xml
self.ran_checkers={}
#-----------------------------------------------------------
# Container management functions
#-----------------------------------------------------------
def _createWorkspace(self, sshSession, password, sourcePath):
# on RedHat/CentOS .git extension is mandatory
result = re.search('([a-zA-Z0-9\:\-\.\/])+\.git', self.ranRepository)
if result is not None:
full_ran_repo_name = self.ranRepository.replace('git/', 'git')
else:
full_ran_repo_name = self.ranRepository + '.git'
sshSession.command('mkdir -p ' + sourcePath, '\$', 5)
sshSession.command('cd ' + sourcePath, '\$', 5)
sshSession.command('if [ ! -e .git ]; then stdbuf -o0 git clone ' + full_ran_repo_name + ' .; else stdbuf -o0 git fetch --prune; fi', '\$', 600)
# Raphael: here add a check if git clone or git fetch went smoothly
sshSession.command('git config user.email "jenkins@openairinterface.org"', '\$', 5)
sshSession.command('git config user.name "OAI Jenkins"', '\$', 5)
sshSession.command('echo ' + password + ' | sudo -S git clean -x -d -ff', '\$', 30)
sshSession.command('mkdir -p cmake_targets/log', '\$', 5)
# if the commit ID is provided use it to point to it
if self.ranCommitID != '':
sshSession.command('git checkout -f ' + self.ranCommitID, '\$', 30)
# if the branch is not develop, then it is a merge request and we need to do
# the potential merge. Note that merge conflicts should already been checked earlier
if (self.ranAllowMerge):
if self.ranTargetBranch == '':
if (self.ranBranch != 'develop') and (self.ranBranch != 'origin/develop'):
sshSession.command('git merge --ff origin/develop -m "Temporary merge for CI"', '\$', 5)
else:
logging.debug('Merging with the target branch: ' + self.ranTargetBranch)
sshSession.command('git merge --ff origin/' + self.ranTargetBranch + ' -m "Temporary merge for CI"', '\$', 5)
def BuildImage(self, HTML):
if self.ranRepository == '' or self.ranBranch == '' or self.ranCommitID == '':
HELP.GenericHelp(CONST.Version)
@@ -144,7 +181,8 @@ class Containerize():
self.dockerfileprefix = '.rhel8.2'
self.cliBuildOptions = '--no-cache --disable-compression'
imageNames = []
# we always build the ran-build image with all targets
imageNames = [('ran-build', 'build')]
result = re.search('eNB', self.imageKind)
# Creating a tupple with the imageName and the DockerFile prefix pattern on obelix
if result is not None:
@@ -164,8 +202,6 @@ class Containerize():
imageNames.append(('oai-physim', 'phySim'))
if self.host == 'Ubuntu':
imageNames.append(('oai-lte-ru', 'lteRU'))
if len(imageNames) == 0:
imageNames.append(('oai-enb', 'eNB'))
# Workaround for some servers, we need to erase completely the workspace
if self.forcedWorkspaceCleanup:
@@ -173,60 +209,45 @@ class Containerize():
self.testCase_id = HTML.testCase_id
# on RedHat/CentOS .git extension is mandatory
result = re.search('([a-zA-Z0-9\:\-\.\/])+\.git', self.ranRepository)
if result is not None:
full_ran_repo_name = self.ranRepository.replace('git/', 'git')
else:
full_ran_repo_name = self.ranRepository + '.git'
mySSH.command('mkdir -p ' + lSourcePath, '\$', 5)
mySSH.command('cd ' + lSourcePath, '\$', 5)
mySSH.command('if [ ! -e .git ]; then stdbuf -o0 git clone ' + full_ran_repo_name + ' .; else stdbuf -o0 git fetch --prune; fi', '\$', 600)
# Raphael: here add a check if git clone or git fetch went smoothly
mySSH.command('git config user.email "jenkins@openairinterface.org"', '\$', 5)
mySSH.command('git config user.name "OAI Jenkins"', '\$', 5)
mySSH.command('echo ' + lPassWord + ' | sudo -S git clean -x -d -ff', '\$', 30)
mySSH.command('mkdir -p cmake_targets/log', '\$', 5)
# if the commit ID is provided use it to point to it
if self.ranCommitID != '':
mySSH.command('git checkout -f ' + self.ranCommitID, '\$', 30)
# if the branch is not develop, then it is a merge request and we need to do
# the potential merge. Note that merge conflicts should already been checked earlier
imageTag = 'develop'
sharedTag = 'develop'
if (self.ranAllowMerge):
imageTag = 'ci-temp'
if self.ranTargetBranch == '':
if (self.ranBranch != 'develop') and (self.ranBranch != 'origin/develop'):
mySSH.command('git merge --ff origin/develop -m "Temporary merge for CI"', '\$', 5)
else:
logging.debug('Merging with the target branch: ' + self.ranTargetBranch)
mySSH.command('git merge --ff origin/' + self.ranTargetBranch + ' -m "Temporary merge for CI"', '\$', 5)
self._createWorkspace(mySSH, lPassWord, lSourcePath)
# if asterix, copy the entitlement and subscription manager configurations
if self.host == 'Red Hat':
mySSH.command('mkdir -p tmp/ca/', '\$', 5)
mySSH.command('mkdir -p tmp/entitlement/', '\$', 5)
mySSH.command('mkdir -p tmp/ca/ tmp/entitlement/', '\$', 5)
mySSH.command('sudo cp /etc/rhsm/ca/redhat-uep.pem tmp/ca/', '\$', 5)
mySSH.command('sudo cp /etc/pki/entitlement/*.pem tmp/entitlement/', '\$', 5)
sharedimage = 'ran-build'
baseImage = 'ran-base'
baseTag = 'develop'
forceBaseImageBuild = False
imageTag = 'develop'
if (self.ranAllowMerge):
imageTag = 'ci-temp'
if self.ranTargetBranch == 'develop':
mySSH.command('git diff HEAD..origin/develop -- cmake_targets/build_oai cmake_targets/tools/build_helper docker/Dockerfile.base' + self.dockerfileprefix + ' | grep --colour=never -i INDEX', '\$', 5)
result = re.search('index', mySSH.getBefore())
if result is not None:
forceBaseImageBuild = True
baseTag = 'ci-temp'
else:
forceBaseImageBuild = True
# Let's remove any previous run artifacts if still there
mySSH.command(self.cli + ' image prune --force', '\$', 30)
if (not self.ranAllowMerge):
mySSH.command(self.cli + ' image rm ' + sharedimage + ':' + sharedTag, '\$', 30)
if forceBaseImageBuild:
mySSH.command(self.cli + ' image rm ' + baseImage + ':' + baseTag + ' || true', '\$', 30)
for image,pattern in imageNames:
mySSH.command(self.cli + ' image rm ' + image + ':' + imageTag, '\$', 30)
mySSH.command(self.cli + ' image rm ' + image + ':' + imageTag + ' || true', '\$', 30)
# Build the shared image only on Push Events (not on Merge Requests)
if (not self.ranAllowMerge):
mySSH.command(self.cli + ' build ' + self.cliBuildOptions + ' --target ' + sharedimage + ' --tag ' + sharedimage + ':' + sharedTag + ' --file docker/Dockerfile.ran' + self.dockerfileprefix + ' --build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" . > cmake_targets/log/ran-build.log 2>&1', '\$', 1600)
# First verify if the shared image was properly created.
# Build the base image only on Push Events (not on Merge Requests)
# On when the base image docker file is being modified.
if forceBaseImageBuild:
mySSH.command(self.cli + ' build ' + self.cliBuildOptions + ' --target ' + baseImage + ' --tag ' + baseImage + ':' + baseTag + ' --file docker/Dockerfile.base' + self.dockerfileprefix + ' --build-arg NEEDED_GIT_PROXY="http://proxy.eurecom.fr:8080" . > cmake_targets/log/ran-base.log 2>&1', '\$', 1600)
# First verify if the base image was properly created.
status = True
mySSH.command(self.cli + ' image inspect --format=\'Size = {{.Size}} bytes\' ' + sharedimage + ':' + sharedTag, '\$', 5)
mySSH.command(self.cli + ' image inspect --format=\'Size = {{.Size}} bytes\' ' + baseImage + ':' + baseTag, '\$', 5)
if mySSH.getBefore().count('o such image') != 0:
logging.error('\u001B[1m Could not build properly ran-build\u001B[0m')
logging.error('\u001B[1m Could not build properly ran-base\u001B[0m')
status = False
else:
result = re.search('Size *= *(?P<size>[0-9\-]+) *bytes', mySSH.getBefore())
@@ -234,20 +255,20 @@ class Containerize():
imageSize = float(result.group('size'))
imageSize = imageSize / 1000
if imageSize < 1000:
logging.debug('\u001B[1m ran-build size is ' + ('%.0f' % imageSize) + ' kbytes\u001B[0m')
self.allImagesSize['ran-build'] = str(round(imageSize,1)) + ' kbytes'
logging.debug('\u001B[1m ran-base size is ' + ('%.0f' % imageSize) + ' kbytes\u001B[0m')
self.allImagesSize['ran-base'] = str(round(imageSize,1)) + ' kbytes'
else:
imageSize = imageSize / 1000
if imageSize < 1000:
logging.debug('\u001B[1m ran-build size is ' + ('%.0f' % imageSize) + ' Mbytes\u001B[0m')
self.allImagesSize['ran-build'] = str(round(imageSize,1)) + ' Mbytes'
logging.debug('\u001B[1m ran-base size is ' + ('%.0f' % imageSize) + ' Mbytes\u001B[0m')
self.allImagesSize['ran-base'] = str(round(imageSize,1)) + ' Mbytes'
else:
imageSize = imageSize / 1000
logging.debug('\u001B[1m ran-build size is ' + ('%.3f' % imageSize) + ' Gbytes\u001B[0m')
self.allImagesSize['ran-build'] = str(round(imageSize,1)) + ' Gbytes'
logging.debug('\u001B[1m ran-base size is ' + ('%.3f' % imageSize) + ' Gbytes\u001B[0m')
self.allImagesSize['ran-base'] = str(round(imageSize,1)) + ' Gbytes'
else:
logging.debug('ran-build size is unknown')
# If the shared image failed, no need to continue
logging.debug('ran-base size is unknown')
# If the base image failed, no need to continue
if not status:
# Recover the name of the failed container?
mySSH.command(self.cli + ' ps --quiet --filter "status=exited" -n1 | xargs ' + self.cli + ' rm -f', '\$', 5)
@@ -259,16 +280,18 @@ class Containerize():
sys.exit(1)
else:
# Recover build logs, for the moment only possible when build is successful
mySSH.command(self.cli + ' create --name test ' + sharedimage + ':' + sharedTag, '\$', 5)
mySSH.command('mkdir -p cmake_targets/log/ran-build', '\$', 5)
mySSH.command(self.cli + ' cp test:/oai-ran/cmake_targets/log/. cmake_targets/log/ran-build', '\$', 5)
mySSH.command(self.cli + ' create --name test ' + baseImage + ':' + baseTag, '\$', 5)
mySSH.command('mkdir -p cmake_targets/log/ran-base', '\$', 5)
mySSH.command(self.cli + ' cp test:/oai-ran/cmake_targets/log/. cmake_targets/log/ran-base', '\$', 5)
mySSH.command(self.cli + ' rm -f test', '\$', 5)
# Build the target image(s)
for image,pattern in imageNames:
# the archived Dockerfiles have "ran-build:latest" as base image
# the archived Dockerfiles have "ran-base:latest" as base image
# we need to update them with proper tag
mySSH.command('sed -i -e "s#' + sharedimage + ':latest#' + sharedimage + ':' + sharedTag + '#" docker/Dockerfile.' + pattern + self.dockerfileprefix, '\$', 5)
mySSH.command('sed -i -e "s#' + baseImage + ':latest#' + baseImage + ':' + baseTag + '#" docker/Dockerfile.' + pattern + self.dockerfileprefix, '\$', 5)
if image != 'ran-build':
mySSH.command('sed -i -e "s#' + "ran-build" + ':latest#' + "ran-build" + ':' + imageTag + '#" docker/Dockerfile.' + pattern + self.dockerfileprefix, '\$', 5)
mySSH.command(self.cli + ' build ' + self.cliBuildOptions + ' --target ' + image + ' --tag ' + image + ':' + imageTag + ' --file docker/Dockerfile.' + pattern + self.dockerfileprefix + ' . > cmake_targets/log/' + image + '.log 2>&1', '\$', 1200)
# split the log
mySSH.command('mkdir -p cmake_targets/log/' + image, '\$', 5)
@@ -299,7 +322,7 @@ class Containerize():
logging.debug('\u001B[1m ' + image + ' size is ' + ('%.3f' % imageSize) + ' Gbytes\u001B[0m')
self.allImagesSize[image] = str(round(imageSize,1)) + ' Gbytes'
else:
logging.debug('ran-build size is unknown')
logging.debug('ran-base size is unknown')
self.allImagesSize[image] = 'unknown'
# Now pruning dangling images in between target builds
mySSH.command(self.cli + ' image prune --force', '\$', 30)
@@ -318,13 +341,19 @@ class Containerize():
mySSH.command('zip -r -qq build_log_' + self.testCase_id + '.zip build_log_' + self.testCase_id, '\$', 5)
mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/build_log_' + self.testCase_id + '.zip', '.')
mySSH.command('rm -f build_log_' + self.testCase_id + '.zip','\$', 5)
# Remove all intermediate build images
if self.ranAllowMerge and forceBaseImageBuild:
mySSH.command(self.cli + ' image rm ' + baseImage + ':' + baseTag + ' || true', '\$', 30)
mySSH.command(self.cli + ' image rm ran-build:' + imageTag + ' || true','\$', 30)
# Cleaning any created tmp volume
mySSH.command(self.cli + ' volume prune --force || true','\$', 15)
mySSH.close()
ZipFile('build_log_' + self.testCase_id + '.zip').extractall('.')
#Trying to identify the errors and warnings for each built images
imageNames1 = imageNames
shared = ('ran-build','ran')
imageNames1.insert(0, shared)
base = ('ran-base','ran')
imageNames1.insert(0, base)
for image,pattern in imageNames1:
files = {}
file_list = [f for f in os.listdir('build_log_' + self.testCase_id + '/' + image) if os.path.isfile(os.path.join('build_log_' + self.testCase_id + '/' + image, f)) and f.endswith('.txt')]
@@ -388,6 +417,56 @@ class Containerize():
HTML.CreateHtmlTabFooter(False)
sys.exit(1)
def Copy_Image_to_Test_Server(self, HTML):
imageTag = 'develop'
if (self.ranAllowMerge):
imageTag = 'ci-temp'
lSsh = SSH.SSHConnection()
# Going to the Docker Registry server
if self.registrySvrId == '0':
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
elif self.registrySvrId == '1':
lIpAddr = self.eNB1IPAddress
lUserName = self.eNB1UserName
lPassWord = self.eNB1Password
elif self.registrySvrId == '2':
lIpAddr = self.eNB2IPAddress
lUserName = self.eNB2UserName
lPassWord = self.eNB2Password
lSsh.open(lIpAddr, lUserName, lPassWord)
lSsh.command('docker save ' + self.imageToCopy + ':' + imageTag + ' | gzip > ' + self.imageToCopy + '-' + imageTag + '.tar.gz', '\$', 60)
lSsh.copyin(lIpAddr, lUserName, lPassWord, '~/' + self.imageToCopy + '-' + imageTag + '.tar.gz', '.')
lSsh.command('rm ' + self.imageToCopy + '-' + imageTag + '.tar.gz', '\$', 60)
lSsh.close()
# Going to the Test Server
if self.testSvrId == '0':
lIpAddr = self.eNBIPAddress
lUserName = self.eNBUserName
lPassWord = self.eNBPassword
elif self.testSvrId == '1':
lIpAddr = self.eNB1IPAddress
lUserName = self.eNB1UserName
lPassWord = self.eNB1Password
elif self.testSvrId == '2':
lIpAddr = self.eNB2IPAddress
lUserName = self.eNB2UserName
lPassWord = self.eNB2Password
lSsh.open(lIpAddr, lUserName, lPassWord)
lSsh.copyout(lIpAddr, lUserName, lPassWord, './' + self.imageToCopy + '-' + imageTag + '.tar.gz', '~')
lSsh.command('docker rmi ' + self.imageToCopy + ':' + imageTag, '\$', 10)
lSsh.command('docker load < ' + self.imageToCopy + '-' + imageTag + '.tar.gz', '\$', 60)
lSsh.command('rm ' + self.imageToCopy + '-' + imageTag + '.tar.gz', '\$', 60)
lSsh.close()
if os.path.isfile('./' + self.imageToCopy + '-' + imageTag + '.tar.gz'):
os.remove('./' + self.imageToCopy + '-' + imageTag + '.tar.gz')
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
def DeployObject(self, HTML, EPC):
if self.eNB_serverId[self.eNB_instance] == '0':
lIpAddr = self.eNBIPAddress
@@ -408,35 +487,34 @@ class Containerize():
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
logging.debug('\u001B[1m Deploying OAI Object on server: ' + lIpAddr + '\u001B[0m')
mySSH = SSH.SSHConnection()
mySSH.open(lIpAddr, lUserName, lPassWord)
# Putting the CPUs in a good state, we do that only on a few servers
mySSH.command('hostname', '\$', 5)
result = re.search('obelix|asterix', mySSH.getBefore())
if result is not None:
mySSH.command('if command -v cpupower &> /dev/null; then echo ' + lPassWord + ' | sudo -S cpupower idle-set -D 0; fi', '\$', 5)
time.sleep(5)
self._createWorkspace(mySSH, lPassWord, lSourcePath)
mySSH.command('cd ' + lSourcePath + '/' + self.yamlPath[self.eNB_instance], '\$', 5)
mySSH.command('cp docker-compose.yml ci-docker-compose.yml', '\$', 5)
imageTag = 'develop'
if (self.ranAllowMerge):
imageTag = 'ci-temp'
mySSH.command('sed -i -e "s/image: oai-enb:latest/image: oai-enb:' + imageTag + '/" ci-docker-compose.yml', '\$', 2)
mySSH.command('sed -i -e "s/image: oai-gnb:latest/image: oai-gnb:' + imageTag + '/" ci-docker-compose.yml', '\$', 2)
localMmeIpAddr = EPC.MmeIPAddress
mySSH.command('sed -i -e "s/CI_MME_IP_ADDR/' + localMmeIpAddr + '/" ci-docker-compose.yml', '\$', 2)
if self.flexranCtrlDeployed:
mySSH.command('sed -i -e \'s/FLEXRAN_ENABLED:.*/FLEXRAN_ENABLED: "yes"/\' ci-docker-compose.yml', '\$', 2)
mySSH.command('sed -i -e "s/CI_FLEXRAN_CTL_IP_ADDR/' + self.flexranCtrlIpAddress + '/" ci-docker-compose.yml', '\$', 2)
else:
mySSH.command('sed -i -e "s/FLEXRAN_ENABLED:.*$/FLEXRAN_ENABLED: \"no\"/" ci-docker-compose.yml', '\$', 2)
mySSH.command('sed -i -e "s/CI_FLEXRAN_CTL_IP_ADDR/127.0.0.1/" ci-docker-compose.yml', '\$', 2)
# if self.flexranCtrlDeployed:
# mySSH.command('sed -i -e "s/FLEXRAN_ENABLED:.*/FLEXRAN_ENABLED: \'yes\'/" ci-docker-compose.yml', '\$', 2)
# mySSH.command('sed -i -e "s/CI_FLEXRAN_CTL_IP_ADDR/' + self.flexranCtrlIpAddress + '/" ci-docker-compose.yml', '\$', 2)
# else:
# mySSH.command('sed -i -e "s/FLEXRAN_ENABLED:.*$/FLEXRAN_ENABLED: \'no\'/" ci-docker-compose.yml', '\$', 2)
# mySSH.command('sed -i -e "s/CI_FLEXRAN_CTL_IP_ADDR/127.0.0.1/" ci-docker-compose.yml', '\$', 2)
# Currently support only one
mySSH.command('docker-compose --file ci-docker-compose.yml config --services | sed -e "s@^@service=@"', '\$', 2)
mySSH.command('echo ' + lPassWord + ' | sudo -S b2xx_fx3_utils --reset-device', '\$', 15)
mySSH.command('docker-compose --file ci-docker-compose.yml config --services | sed -e "s@^@service=@" 2>&1', '\$', 10)
result = re.search('service=(?P<svc_name>[a-zA-Z0-9\_]+)', mySSH.getBefore())
if result is not None:
svcName = result.group('svc_name')
mySSH.command('docker-compose --file ci-docker-compose.yml up -d ' + svcName, '\$', 2)
mySSH.command('docker-compose --file ci-docker-compose.yml up -d ' + svcName, '\$', 10)
# Checking Status
mySSH.command('docker-compose --file ci-docker-compose.yml config', '\$', 5)
@@ -450,7 +528,7 @@ class Containerize():
time.sleep(5)
cnt = 0
while (cnt < 3):
mySSH.command('docker inspect --format=\'{{.State.Health.Status}}\' ' + containerName, '\$', 5)
mySSH.command('docker inspect --format="{{.State.Health.Status}}" ' + containerName, '\$', 5)
unhealthyNb = mySSH.getBefore().count('unhealthy')
healthyNb = mySSH.getBefore().count('healthy') - unhealthyNb
startingNb = mySSH.getBefore().count('starting')
@@ -512,37 +590,56 @@ class Containerize():
mySSH.command('cd ' + lSourcePath + '/' + self.yamlPath[self.eNB_instance], '\$', 5)
# Currently support only one
mySSH.command('docker-compose --file ci-docker-compose.yml config', '\$', 5)
containerName = ''
containerToKill = False
result = re.search('container_name: (?P<container_name>[a-zA-Z0-9\-\_]+)', mySSH.getBefore())
if self.eNB_logFile[self.eNB_instance] == '':
self.eNB_logFile[self.eNB_instance] = 'enb_' + HTML.testCase_id + '.log'
if result is not None:
containerName = result.group('container_name')
containerToKill = True
if containerToKill:
mySSH.command('docker inspect ' + containerName, '\$', 30)
result = re.search('Error: No such object: ' + containerName, mySSH.getBefore())
if result is not None:
containerToKill = False
if containerToKill:
mySSH.command('docker kill --signal INT ' + containerName, '\$', 30)
time.sleep(5)
mySSH.command('docker logs ' + containerName + ' > ' + lSourcePath + '/cmake_targets/' + self.eNB_logFile[self.eNB_instance], '\$', 30)
mySSH.command('docker rm -f ' + containerName, '\$', 30)
# Forcing the down now to remove the networks and any artifacts
mySSH.command('docker-compose --file ci-docker-compose.yml down', '\$', 5)
# Cleaning any created tmp volume
mySSH.command('docker volume prune --force || true', '\$', 20)
# Putting the CPUs back in a idle state, we do that only on a few servers
mySSH.command('hostname', '\$', 5)
result = re.search('obelix|asterix', mySSH.getBefore())
if result is not None:
mySSH.command('if command -v cpupower &> /dev/null; then echo ' + lPassWord + ' | sudo -S cpupower idle-set -E; fi', '\$', 5)
mySSH.close()
# Analyzing log file!
copyin_res = mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/' + self.eNB_logFile[self.eNB_instance], '.')
if containerToKill:
copyin_res = mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/' + self.eNB_logFile[self.eNB_instance], '.')
else:
copyin_res = 0
nodeB_prefix = 'e'
if (copyin_res == -1):
HTML.htmleNBFailureMsg='Could not copy ' + nodeB_prefix + 'NB logfile to analyze it!'
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.ENB_PROCESS_NOLOGFILE_TO_ANALYZE)
else:
logging.debug('\u001B[1m Analyzing ' + nodeB_prefix + 'NB logfile \u001B[0m ' + self.eNB_logFile[self.eNB_instance])
logStatus = RAN.AnalyzeLogFile_eNB(self.eNB_logFile[self.eNB_instance], HTML)
if containerToKill:
logging.debug('\u001B[1m Analyzing ' + nodeB_prefix + 'NB logfile \u001B[0m ' + self.eNB_logFile[self.eNB_instance])
logStatus = RAN.AnalyzeLogFile_eNB(self.eNB_logFile[self.eNB_instance], HTML, self.ran_checkers)
else:
logStatus = 0
if (logStatus < 0):
HTML.CreateHtmlTestRow(RAN.runtime_stats, 'KO', logStatus)
else:
HTML.CreateHtmlTestRow(RAN.runtime_stats, 'OK', CONST.ALL_PROCESSES_OK)
# all the xNB run logs shall be on the server 0 for logCollecting
if containerToKill and self.eNB_serverId[self.eNB_instance] != '0':
mySSH.copyout(self.eNBIPAddress, self.eNBUserName, self.eNBPassword, './' + self.eNB_logFile[self.eNB_instance], self.eNBSourceCodePath + '/cmake_targets/')
logging.info('\u001B[1m Undeploying OAI Object Pass\u001B[0m')
def DeployGenObject(self, HTML):
def DeployGenObject(self, HTML, RAN, UE):
self.exitStatus = 0
logging.info('\u001B[1m Checking Services to deploy\u001B[0m')
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose config --services'
@@ -572,7 +669,7 @@ class Containerize():
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml up -d ' + self.services[0]
logging.debug(cmd)
try:
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
except Exception as e:
self.exitStatus = 1
logging.error('Could not deploy')
@@ -585,27 +682,64 @@ class Containerize():
healthy = 0
while (count < 10):
count += 1
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
containerStatus = []
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
healthy = 0
for state in deployStatus.split('\n'):
res = re.search('Up \(healthy\)', state)
if res is not None:
if re.search('Up \(healthy\)', state) is not None:
healthy += 1
if re.search('rfsim4g-db-init.*Exit 0', state) is not None:
subprocess.check_output('docker rm -f rfsim4g-db-init || true', shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
containerStatus.append(state)
if healthy == self.nb_healthy[0]:
count = 100
else:
time.sleep(10)
if count == 100 and healthy == self.nb_healthy[0]:
if self.tsharkStarted == False:
logging.debug('Starting tshark on public network')
self.CaptureOnDockerNetworks()
HTML.CreateHtmlTestRow('n/a', 'OK', CONST.ALL_PROCESSES_OK)
for cState in containerStatus:
logging.debug(cState)
logging.info('\u001B[1m Deploying OAI Object(s) PASS\u001B[0m')
else:
self.exitStatus = 1
HTML.CreateHtmlTestRow('Could not deploy in time', 'KO', CONST.ALL_PROCESSES_OK)
for cState in containerStatus:
logging.debug(cState)
logging.error('\u001B[1m Deploying OAI Object(s) FAILED\u001B[0m')
HTML.testCase_id = 'AUTO-UNDEPLOY'
UE.testCase_id = 'AUTO-UNDEPLOY'
HTML.desc = 'Automatic Undeployment'
UE.desc = 'Automatic Undeployment'
UE.ShowTestID()
self.UndeployGenObject(HTML, RAN, UE)
self.exitStatus = 1
def UndeployGenObject(self, HTML):
def CaptureOnDockerNetworks(self):
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml config | grep com.docker.network.bridge.name | sed -e "s@^.*name: @@"'
networkNames = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
if re.search('4g.*rfsimulator', self.yamlPath[0]) is not None:
cmd = 'sudo nohup tshark -f "(host 192.168.61.11 and icmp) or (not host 192.168.61.11 and not host 192.168.61.30 and not arp and not port 53 and not port 2152)"'
elif re.search('5g.*rfsimulator', self.yamlPath[0]) is not None:
cmd = 'sudo nohup tshark -f "(host 192.168.72.135 and icmp) or (not host 192.168.72.135 and not host 192.168.71.150 and not arp and not port 53 and not port 2152 and not port 2153)"'
else:
return
for name in networkNames.split('\n'):
if re.search('rfsim', name) is not None:
cmd += ' -i ' + name
cmd += ' -w /tmp/capture_'
ymlPath = self.yamlPath[0].split('/')
cmd += ymlPath[1] + '.pcap > /tmp/tshark.log 2>&1 &'
logging.debug(cmd)
networkNames = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
self.tsharkStarted = True
def UndeployGenObject(self, HTML, RAN, UE):
self.exitStatus = 0
ymlPath = self.yamlPath[0].split('/')
logPath = '../cmake_targets/log/' + ymlPath[1]
if (self.ranAllowMerge):
cmd = 'cd ' + self.yamlPath[0] + ' && sed -e "s@develop@ci-temp@" docker-compose.y*ml > docker-compose-ci.yml'
@@ -617,7 +751,7 @@ class Containerize():
# if the containers are running, recover the logs!
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml ps --all'
logging.debug(cmd)
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
anyLogs = False
for state in deployStatus.split('\n'):
res = re.search('Name|----------', state)
@@ -631,12 +765,79 @@ class Containerize():
cName = res.group('container_name')
cmd = 'cd ' + self.yamlPath[0] + ' && docker logs ' + cName + ' > ' + cName + '.log 2>&1'
logging.debug(cmd)
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
if re.search('magma-mme', cName) is not None:
cmd = 'cd ' + self.yamlPath[0] + ' && docker cp -L ' + cName + ':/var/log/mme.log ' + cName + '-full.log'
logging.debug(cmd)
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
fullStatus = True
if anyLogs:
cmd = 'mkdir -p ../cmake_targets/log && mv ' + self.yamlPath[0] + '/*.log ../cmake_targets/log'
cmd = 'mkdir -p '+ logPath + ' && cp ' + self.yamlPath[0] + '/*.log ' + logPath
logging.debug(cmd)
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
# Analyzing log file(s)!
listOfPossibleRanContainers = ['enb', 'gnb', 'cu', 'du']
for container in listOfPossibleRanContainers:
filename = self.yamlPath[0] + '/rfsim?g-oai-' + container + '.log'
cmd = 'ls ' + filename
containerStatus = True
try:
lsStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
filename = str(lsStatus).strip()
except:
containerStatus = False
if not containerStatus:
continue
logging.debug('\u001B[1m Analyzing xNB logfile ' + filename + ' \u001B[0m')
logStatus = RAN.AnalyzeLogFile_eNB(filename, HTML, self.ran_checkers)
if (logStatus < 0):
fullStatus = False
self.exitStatus = 1
HTML.CreateHtmlTestRow(RAN.runtime_stats, 'KO', logStatus)
else:
HTML.CreateHtmlTestRow(RAN.runtime_stats, 'OK', CONST.ALL_PROCESSES_OK)
listOfPossibleUeContainers = ['lte-ue*', 'nr-ue*']
for container in listOfPossibleUeContainers:
filename = self.yamlPath[0] + '/rfsim?g-oai-' + container + '.log'
cmd = 'ls ' + filename
containerStatus = True
try:
lsStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
filename = str(lsStatus).strip()
except:
containerStatus = False
if not containerStatus:
continue
logging.debug('\u001B[1m Analyzing UE logfile ' + filename + ' \u001B[0m')
logStatus = UE.AnalyzeLogFile_UE(filename, HTML, RAN)
if (logStatus < 0):
fullStatus = False
HTML.CreateHtmlTestRow('UE log Analysis', 'KO', logStatus)
else:
HTML.CreateHtmlTestRow('UE log Analysis', 'OK', CONST.ALL_PROCESSES_OK)
cmd = 'rm ' + self.yamlPath[0] + '/*.log'
logging.debug(cmd)
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
if self.tsharkStarted:
self.tsharkStarted = True
ymlPath = self.yamlPath[0].split('/')
cmd = 'sudo chmod 666 /tmp/capture_' + ymlPath[1] + '.pcap'
logging.debug(cmd)
copyStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
cmd = 'cp /tmp/capture_' + ymlPath[1] + '.pcap ' + logPath
logging.debug(cmd)
copyStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
cmd = 'sudo rm /tmp/capture_' + ymlPath[1] + '.pcap'
logging.debug(cmd)
copyStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
self.tsharkStarted = False
logging.debug('\u001B[1m Undeploying \u001B[0m')
cmd = 'cd ' + self.yamlPath[0] + ' && docker-compose -f docker-compose-ci.yml down'
logging.debug(cmd)
try:
@@ -648,31 +849,43 @@ class Containerize():
logging.error('\u001B[1m Undeploying OAI Object(s) FAILED\u001B[0m')
return
HTML.CreateHtmlTestRow('n/a', 'OK', CONST.ALL_PROCESSES_OK)
logging.info('\u001B[1m Undeploying OAI Object(s) PASS\u001B[0m')
# Cleaning any created tmp volume
cmd = 'docker volume prune --force || true'
logging.debug(cmd)
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
def PingFromContainer(self, HTML):
if fullStatus:
HTML.CreateHtmlTestRow('n/a', 'OK', CONST.ALL_PROCESSES_OK)
logging.info('\u001B[1m Undeploying OAI Object(s) PASS\u001B[0m')
else:
HTML.CreateHtmlTestRow('n/a', 'KO', CONST.ALL_PROCESSES_OK)
logging.info('\u001B[1m Undeploying OAI Object(s) FAIL\u001B[0m')
def PingFromContainer(self, HTML, RAN, UE):
self.exitStatus = 0
cmd = 'mkdir -p ../cmake_targets/log'
ymlPath = self.yamlPath[0].split('/')
logPath = '../cmake_targets/log/' + ymlPath[1]
cmd = 'mkdir -p ' + logPath
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
cmd = 'docker exec ' + self.pingContName + ' /bin/bash -c "ping ' + self.pingOptions + '" 2>&1 | tee ../cmake_targets/log/ping_' + HTML.testCase_id + '.log'
cmd = 'docker exec ' + self.pingContName + ' /bin/bash -c "ping ' + self.pingOptions + '" 2>&1 | tee ' + logPath + '/ping_' + HTML.testCase_id + '.log || true'
logging.debug(cmd)
deployStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
result = re.search(', (?P<packetloss>[0-9\.]+)% packet loss, time [0-9\.]+ms', deployStatus)
if result is None:
self.PingExit(HTML, False, 'Packet Loss Not Found')
self.PingExit(HTML, RAN, UE, False, 'Packet Loss Not Found')
return
packetloss = result.group('packetloss')
if float(packetloss) == 100:
self.PingExit(HTML, False, 'Packet Loss is 100%')
self.PingExit(HTML, RAN, UE, False, 'Packet Loss is 100%')
return
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', deployStatus)
if result is None:
self.PingExit(HTML, False, 'Ping RTT_Min RTT_Avg RTT_Max Not Found!')
self.PingExit(HTML, RAN, UE, False, 'Ping RTT_Min RTT_Avg RTT_Max Not Found!')
return
rtt_min = result.group('rtt_min')
@@ -694,7 +907,7 @@ class Containerize():
packetLossOK = False
elif float(packetloss) > 0:
message += '\nPacket Loss is not 0%'
self.PingExit(HTML, packetLossOK, message)
self.PingExit(HTML, RAN, UE, packetLossOK, message)
if packetLossOK:
logging.debug('\u001B[1;37;44m ping result \u001B[0m')
@@ -704,42 +917,52 @@ class Containerize():
logging.debug('\u001B[1;34m ' + max_msg + '\u001B[0m')
logging.info('\u001B[1m Ping Test PASS\u001B[0m')
def PingExit(self, HTML, status, message):
def PingExit(self, HTML, RAN, UE, status, message):
html_queue = SimpleQueue()
html_cell = '<pre style="background-color:white">UE\n' + message + '</pre>'
html_queue.put(html_cell)
if status:
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'OK', 1, html_queue)
else:
self.exitStatus = 1
logging.error('\u001B[1;37;41m ' + message + ' \u001B[0m')
logging.error('\u001B[1;37;41m ping test FAIL -- ' + message + ' \u001B[0m')
HTML.CreateHtmlTestRowQueue(self.pingOptions, 'KO', 1, html_queue)
# Automatic undeployment
logging.debug('----------------------------------------')
logging.debug('\u001B[1m Starting Automatic undeployment \u001B[0m')
logging.debug('----------------------------------------')
HTML.testCase_id = 'AUTO-UNDEPLOY'
HTML.desc = 'Automatic Un-Deployment'
self.UndeployGenObject(HTML, RAN, UE)
self.exitStatus = 1
def IperfFromContainer(self, HTML):
def IperfFromContainer(self, HTML, RAN):
self.exitStatus = 0
cmd = 'mkdir -p ../cmake_targets/log'
ymlPath = self.yamlPath[0].split('/')
logPath = '../cmake_targets/log/' + ymlPath[1]
cmd = 'mkdir -p ' + logPath
logStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
# Start the server process
cmd = 'docker exec -d ' + self.svrContName + ' /bin/bash -c "nohup iperf ' + self.svrOptions + ' > /tmp/iperf_server.log 2>&1"'
cmd = 'docker exec -d ' + self.svrContName + ' /bin/bash -c "nohup iperf ' + self.svrOptions + ' > /tmp/iperf_server.log 2>&1" || true'
logging.debug(cmd)
serverStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
time.sleep(5)
# Start the client process
cmd = 'docker exec ' + self.cliContName + ' /bin/bash -c "iperf ' + self.cliOptions + '" 2>&1 | tee ../cmake_targets/log/iperf_client_' + HTML.testCase_id + '.log'
cmd = 'docker exec ' + self.cliContName + ' /bin/bash -c "iperf ' + self.cliOptions + '" 2>&1 | tee '+ logPath + '/iperf_client_' + HTML.testCase_id + '.log || true'
logging.debug(cmd)
clientStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=100)
# Stop the server process
cmd = 'docker exec ' + self.svrContName + ' /bin/bash -c "pkill iperf"'
cmd = 'docker exec ' + self.svrContName + ' /bin/bash -c "pkill iperf" || true'
logging.debug(cmd)
serverStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
time.sleep(5)
cmd = 'docker cp ' + self.svrContName + ':/tmp/iperf_server.log ../cmake_targets/log/iperf_server_' + HTML.testCase_id + '.log'
cmd = 'docker cp ' + self.svrContName + ':/tmp/iperf_server.log '+ logPath + '/iperf_server_' + HTML.testCase_id + '.log'
logging.debug(cmd)
serverStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=10)
serverStatus = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30)
# Analyze client output
result = re.search('Server Report:', clientStatus)
@@ -750,6 +973,7 @@ class Containerize():
else:
message = 'Server Report and Connection refused Not Found!'
self.IperfExit(HTML, False, message)
logging.error('\u001B[1;37;41m Iperf Test FAIL\u001B[0m')
return
# Computing the requested bandwidth in float
@@ -822,6 +1046,8 @@ class Containerize():
self.IperfExit(HTML, iperfStatus, 'problem?')
if iperfStatus:
logging.info('\u001B[1m Iperf Test PASS\u001B[0m')
else:
logging.error('\u001B[1;37;41m Iperf Test FAIL\u001B[0m')
def IperfExit(self, HTML, status, message):
html_queue = SimpleQueue()
@@ -830,5 +1056,118 @@ class Containerize():
if status:
HTML.CreateHtmlTestRowQueue(self.cliOptions, 'OK', 1, html_queue)
else:
self.exitStatus = 1
logging.error('\u001B[1m Iperf Test FAIL -- ' + message + ' \u001B[0m')
HTML.CreateHtmlTestRowQueue(self.cliOptions, 'KO', 1, html_queue)
def CheckAndAddRoute(self, svrName, ipAddr, userName, password):
logging.debug('Checking IP routing on ' + svrName)
mySSH = SSH.SSHConnection()
if svrName == 'porcepix':
mySSH.open(ipAddr, userName, password)
# Check if route to asterix gnb exists
mySSH.command('ip route | grep --colour=never "192.168.68.64/26"', '\$', 10)
result = re.search('192.168.18.194', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.64/26 via 192.168.18.194 dev eno1', '\$', 10)
# Check if route to obelix enb exists
mySSH.command('ip route | grep --colour=never "192.168.68.128/26"', '\$', 10)
result = re.search('192.168.18.193', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.128/26 via 192.168.18.193 dev eno1', '\$', 10)
# Check if route to nepes gnb exists
mySSH.command('ip route | grep --colour=never "192.168.68.192/26"', '\$', 10)
result = re.search('192.168.18.209', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.192/26 via 192.168.18.209 dev eno1', '\$', 10)
# Check if forwarding is enabled
mySSH.command('sysctl net.ipv4.conf.all.forwarding', '\$', 10)
result = re.search('net.ipv4.conf.all.forwarding = 1', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S sysctl net.ipv4.conf.all.forwarding=1', '\$', 10)
# Check if iptables forwarding is accepted
mySSH.command('echo ' + password + ' | sudo -S iptables -L FORWARD', '\$', 10)
result = re.search('Chain FORWARD .*policy ACCEPT', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S iptables -P FORWARD ACCEPT', '\$', 10)
mySSH.close()
if svrName == 'asterix':
mySSH.open(ipAddr, userName, password)
# Check if route to porcepix epc exists
mySSH.command('ip route | grep --colour=never "192.168.61.192/26"', '\$', 10)
result = re.search('192.168.18.210', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.61.192/26 via 192.168.18.210 dev em1', '\$', 10)
# Check if route to porcepix cn5g exists
mySSH.command('ip route | grep --colour=never "192.168.70.128/26"', '\$', 10)
result = re.search('192.168.18.210', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.70.128/26 via 192.168.18.210 dev em1', '\$', 10)
# Check if X2 route to obelix enb exists
mySSH.command('ip route | grep --colour=never "192.168.68.128/26"', '\$', 10)
result = re.search('192.168.18.193', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.128/26 via 192.168.18.193 dev em1', '\$', 10)
# Check if forwarding is enabled
mySSH.command('sysctl net.ipv4.conf.all.forwarding', '\$', 10)
result = re.search('net.ipv4.conf.all.forwarding = 1', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S sysctl net.ipv4.conf.all.forwarding=1', '\$', 10)
# Check if iptables forwarding is accepted
mySSH.command('echo ' + password + ' | sudo -S iptables -L FORWARD', '\$', 10)
result = re.search('Chain FORWARD .*policy ACCEPT', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S iptables -P FORWARD ACCEPT', '\$', 10)
mySSH.close()
if svrName == 'obelix':
mySSH.open(ipAddr, userName, password)
# Check if route to porcepix epc exists
mySSH.command('ip route | grep --colour=never "192.168.61.192/26"', '\$', 10)
result = re.search('192.168.18.210', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.61.192/26 via 192.168.18.210 dev eno1', '\$', 10)
# Check if X2 route to asterix gnb exists
mySSH.command('ip route | grep --colour=never "192.168.68.64/26"', '\$', 10)
result = re.search('192.168.18.194', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.64/26 via 192.168.18.194 dev eno1', '\$', 10)
# Check if X2 route to nepes gnb exists
mySSH.command('ip route | grep --colour=never "192.168.68.192/26"', '\$', 10)
result = re.search('192.168.18.209', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.192/26 via 192.168.18.209 dev eno1', '\$', 10)
# Check if forwarding is enabled
mySSH.command('sysctl net.ipv4.conf.all.forwarding', '\$', 10)
result = re.search('net.ipv4.conf.all.forwarding = 1', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S sysctl net.ipv4.conf.all.forwarding=1', '\$', 10)
# Check if iptables forwarding is accepted
mySSH.command('echo ' + password + ' | sudo -S iptables -L FORWARD', '\$', 10)
result = re.search('Chain FORWARD .*policy ACCEPT', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S iptables -P FORWARD ACCEPT', '\$', 10)
mySSH.close()
if svrName == 'nepes':
mySSH.open(ipAddr, userName, password)
# Check if route to porcepix epc exists
mySSH.command('ip route | grep --colour=never "192.168.61.192/26"', '\$', 10)
result = re.search('192.168.18.210', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.61.192/26 via 192.168.18.210 dev enp0s31f6', '\$', 10)
# Check if X2 route to obelix enb exists
mySSH.command('ip route | grep --colour=never "192.168.68.128/26"', '\$', 10)
result = re.search('192.168.18.193', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S ip route add 192.168.68.128/26 via 192.168.18.193 dev enp0s31f6', '\$', 10)
# Check if forwarding is enabled
mySSH.command('sysctl net.ipv4.conf.all.forwarding', '\$', 10)
result = re.search('net.ipv4.conf.all.forwarding = 1', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S sysctl net.ipv4.conf.all.forwarding=1', '\$', 10)
# Check if iptables forwarding is accepted
mySSH.command('echo ' + password + ' | sudo -S iptables -L FORWARD', '\$', 10)
result = re.search('Chain FORWARD .*policy ACCEPT', mySSH.getBefore())
if result is None:
mySSH.command('echo ' + password + ' | sudo -S iptables -P FORWARD ACCEPT', '\$', 10)
mySSH.close()

View File

@@ -30,11 +30,15 @@
import logging
import re
import subprocess
import logging
import math
import sshconnection
logging.basicConfig(
level=logging.DEBUG,
format="[%(asctime)s] %(name)s:%(levelname)s: %(message)s"
)
class Log_Mgt:
@@ -49,40 +53,25 @@ class Log_Mgt:
#-----------------$
def __CheckAvailSpace(self):
def __CheckUsedSpace(self):
HOST=self.Username+'@'+self.IPAddress
COMMAND="df "+ self.path
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
s=result[1].decode('utf-8').rstrip()#result[1] is the second line with the results we are looking for
tmp=s.split()
return tmp[3] #return avail space from the line
used=s.split()[4] #get 4th field ex: 70%
m = re.match('^(\d+)\%',used)
if m is not None:
return int(m.group(1))
def __GetOldestFile(self):
HOST=self.Username+'@'+self.IPAddress
COMMAND="ls -rtl "+ self.path #-rtl will bring oldest file on top
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
s=result[1].decode('utf-8').rstrip()
tmp=s.split()
return tmp[8]#return filename from the line
def __RemoveOldest(self):
mySSH = sshconnection.SSHConnection()
mySSH.open(self.IPAddress, self.Username, self.Password)
COMMAND='echo ' + self.Password + ' | sudo -S find ' + self.path + ' -type f -mtime +14 -delete'
mySSH.command(COMMAND,'\$',20)
mySSH.close()
def __AvgSize(self):
HOST=self.Username+'@'+self.IPAddress
COMMAND="ls -rtl "+ self.path
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
if len(result)>1: #at least 1 file present
total_size=0
for i in range(1,len(result)):
s=result[i].decode('utf-8').rstrip()
tmp=s.split()
total_size+=int(tmp[4]) #get filesize
return math.floor(total_size/(len(result)-1)) #compute average file/artifact size
else:#empty,no files
return 0
#-----------------$
#PUBLIC Methods$
@@ -90,17 +79,15 @@ class Log_Mgt:
def LogRotation(self):
avail_space =int(self.__CheckAvailSpace())*1000 #avail space in target folder, initially displayed in Gb
avg_size=self.__AvgSize() #average size of artifacts in the target folder
logging.debug("Avail Space : " + str(avail_space) + " / Artifact Avg Size : " + str(avg_size))
if avail_space < 2*avg_size: #reserved space is 2x artifact file ; oldest file will be deleted
oldestfile=self.__GetOldestFile()
HOST=self.Username+'@'+self.IPAddress
COMMAND="echo " + self.Password + " | sudo -S rm "+ self.path + "/" + oldestfile
logging.debug(COMMAND)
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
used_space = self.__CheckUsedSpace() #avail space in target folder
if used_space > 80 :
logging.debug('\u001B[1;37;41m Used Disk > 80%, on ' + self.Username+'@'+self.IPAddress + '\u001B[0m')
logging.debug('\u001B[1;37;41m Removing Artifacts older than 14 days \u001B[0m')
self.__RemoveOldest()
else:
logging.debug("Still some space left for artifacts storage")
logging.debug('Used Disk < 80%, on ' + self.Username+'@'+self.IPAddress +', no cleaning required')

View File

@@ -63,7 +63,7 @@ class Module_UE:
#if not it will be started
def CheckCMProcess(self,CNType):
HOST=self.HostUsername+'@'+self.HostIPAddress
COMMAND="ps aux | grep " + self.Process['Name'] + " | grep -v grep "
COMMAND="ps aux | grep --colour=never " + self.Process['Name'] + " | grep -v grep "
logging.debug(COMMAND)
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
@@ -76,12 +76,12 @@ class Module_UE:
logging.debug('Starting ' + self.Process['Name'])
mySSH = sshconnection.SSHConnection()
mySSH.open(self.HostIPAddress, self.HostUsername, self.HostPassword)
mySSH.command('echo $USER; echo ' + self.HostPassword + ' | nohup sudo -S ' + self.Process['Cmd'] + ' ' + self.Process['Apn'][CNType] + ' &','\$',5)
mySSH.command('echo $USER; echo ' + self.HostPassword + ' | nohup sudo -S ' + self.Process['Cmd'] + ' ' + self.Process['Apn'][CNType] + ' > /dev/null 2>&1 &','\$',5)
mySSH.close()
#checking the process
time.sleep(5)
HOST=self.HostUsername+'@'+self.HostIPAddress
COMMAND="ps aux | grep " + self.Process['Name'] + " | grep -v grep "
COMMAND="ps aux | grep --colour=never " + self.Process['Name'] + " | grep -v grep "
logging.debug(COMMAND)
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
@@ -108,7 +108,7 @@ class Module_UE:
response= []
tentative = 3
while (len(response)==0) and (tentative>0):
COMMAND="ip a show dev " + self.UENetwork + " | grep inet | grep " + self.UENetwork
COMMAND="ip a show dev " + self.UENetwork + " | grep --colour=never inet | grep " + self.UENetwork
logging.debug(COMMAND)
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
response = ssh.stdout.readlines()
@@ -136,7 +136,7 @@ class Module_UE:
response= []
tentative = 3
while (len(response)==0) and (tentative>0):
COMMAND="ip a show dev " + self.UENetwork + " | grep mtu"
COMMAND="ip a show dev " + self.UENetwork + " | grep --colour=never mtu"
logging.debug(COMMAND)
ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],shell=False,stdout=subprocess.PIPE,stderr=subprocess.PIPE)
response = ssh.stdout.readlines()
@@ -165,7 +165,7 @@ class Module_UE:
#delete old artifacts
mySSH.command('echo ' + self.HostPassword + ' | sudo -S rm -rf ci_qlog','\$',5)
#start Trace, artifact is created in home dir
mySSH.command('echo $USER; nohup sudo -E QLog/QLog -s ci_qlog -f NR5G.cfg &','\$', 5)
mySSH.command('echo $USER; nohup sudo -E QLog/QLog -s ci_qlog -f NR5G.cfg > /dev/null 2>&1 &','\$', 5)
mySSH.close()
def DisableTrace(self):
@@ -192,7 +192,7 @@ class Module_UE:
source='ci_qlog'
destination= self.LogStore + '/ci_qlog_'+now_string+'.zip'
#qlog artifact is zipped into the target folder
mySSH.command('echo $USER; echo ' + self.HostPassword + ' | nohup sudo -S zip -r '+destination+' '+source+' &','\$', 10)
mySSH.command('echo $USER; echo ' + self.HostPassword + ' | nohup sudo -S zip -r '+destination+' '+source+' > /dev/null 2>&1 &','\$', 10)
mySSH.close()
#post action : log cleaning to make sure enough space is reserved for the next run
Log_Mgt=cls_log_mgt.Log_Mgt(self.HostUsername,self.HostIPAddress, self.HostPassword, self.LogStore)

View File

@@ -57,12 +57,15 @@ import sshconnection
import cls_module_ue
import cls_ci_ueinfra #class defining the multi Ue infrastrucure
logging.getLogger("matplotlib").setLevel(logging.WARNING)
import matplotlib.pyplot as plt
import numpy as np
#-----------------------------------------------------------
# Utility functions
#-----------------------------------------------------------
def GetPingTimeAnalysis(ping_log_file):
def GetPingTimeAnalysis(RAN,ping_log_file,ping_rttavg_threshold):
#ping time values read from file
t_ping=[]
#ping stats (dictionary) to be returned by the function
@@ -86,17 +89,46 @@ def GetPingTimeAnalysis(ping_log_file):
max_loc=t_ping.index(max(t_ping))
ping_stat['max_loc']=max_loc
#remove it
t_ping.pop(max_loc)
t_ping_post=t_ping.copy()
t_ping_post.pop(max_loc)
#new stats after removing max value
ping_stat['min_1']=min(t_ping)
ping_stat['mean_1']=stat.mean(t_ping)
ping_stat['median_1']=stat.median(t_ping)
ping_stat['max_1']=max(t_ping)
ping_stat['min_1']=min(t_ping_post)
ping_stat['mean_1']=stat.mean(t_ping_post)
ping_stat['median_1']=stat.median(t_ping_post)
ping_stat['max_1']=max(t_ping_post)
#plot ping over time and save png for artifacts
ticks = np.arange(0, len(t_ping), 1)
figure, axis = plt.subplots(figsize=(10, 10))
axis.plot(ticks,t_ping,marker='o')
axis.set_xlabel('Ping Events')
axis.set_ylabel("Ping RTT (in ms)")
axis.set_title(ping_log_file)
axis.set_xticks(ticks)
axis.set_xticklabels([])
YMAX=20 #base scale
if max(t_ping) > YMAX:
y_max=max(t_ping)+1
else:
y_max=YMAX+1
plt.ylim(0,y_max)
if ping_rttavg_threshold != '':
th_label="AVG Ping Fail Threshold="+ping_rttavg_threshold
plt.axhline(y=float(ping_rttavg_threshold), color='r', linestyle='-',label=th_label)
axis.legend()
plt.savefig(ping_log_file+'.png')
#copy the png file already to enb to move it move it later into the artifacts
try:
mySSH = sshconnection.SSHConnection()
mySSH.copyout(RAN.eNBIPAddress, RAN.eNBUserName, RAN.eNBPassword, ping_log_file+'.png', RAN.eNBSourceCodePath + '/cmake_targets/')
except:
logging.debug('\u001B[1;37;41m Ping PNG SCP to eNB FAILED\u001B[0m')
return ping_stat
else:
logging.error("Ping log file does not exist")
logging.error("GetPingTimeAnalysis : Ping log file does not exist")
return -1
@@ -126,8 +158,10 @@ class OaiCiTest():
self.desc = ''
self.ping_args = ''
self.ping_packetloss_threshold = ''
self.ping_rttavg_threshold =''
self.iperf_args = ''
self.iperf_packetloss_threshold = ''
self.iperf_bitrate_threshold = ''
self.iperf_profile = ''
self.iperf_options = ''
self.iperf_direction = ''
@@ -192,16 +226,16 @@ class OaiCiTest():
result = re.search('LAST_BUILD_INFO', SSH.getBefore())
if result is not None:
mismatch = False
SSH.command('grep SRC_COMMIT LAST_BUILD_INFO.txt', '\$', 2)
SSH.command('grep --colour=never SRC_COMMIT LAST_BUILD_INFO.txt', '\$', 2)
result = re.search(self.ranCommitID, SSH.getBefore())
if result is None:
mismatch = True
SSH.command('grep MERGED_W_TGT_BRANCH LAST_BUILD_INFO.txt', '\$', 2)
SSH.command('grep --colour=never MERGED_W_TGT_BRANCH LAST_BUILD_INFO.txt', '\$', 2)
if self.ranAllowMerge:
result = re.search('YES', SSH.getBefore())
if result is None:
mismatch = True
SSH.command('grep TGT_BRANCH LAST_BUILD_INFO.txt', '\$', 2)
SSH.command('grep --colour=never TGT_BRANCH LAST_BUILD_INFO.txt', '\$', 2)
if self.ranTargetBranch == '':
result = re.search('develop', SSH.getBefore())
else:
@@ -368,7 +402,7 @@ class OaiCiTest():
except:
os.kill(os.getppid(),signal.SIGUSR1)
def InitializeUE(self,HTML,RAN,EPC, COTS_UE, InfraUE,ue_trace):
def InitializeUE(self,HTML,RAN,EPC, COTS_UE, InfraUE,ue_trace,CONTAINERS):
if self.ue_id=='':#no ID specified, then it is a COTS controlled by ADB
if self.ADBIPAddress == '' or self.ADBUserName == '' or self.ADBPassword == '':
HELP.GenericHelp(CONST.Version)
@@ -424,12 +458,12 @@ class OaiCiTest():
Module_UE.CheckModuleMTU()
else: #status==-1 failed to retrieve IP address
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.UE_IP_ADDRESS_ISSUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
def InitializeOAIUE(self,HTML,RAN,EPC,COTS_UE,InfraUE):
def InitializeOAIUE(self,HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS):
if self.UEIPAddress == '' or self.UEUserName == '' or self.UEPassword == '' or self.UESourceCodePath == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
@@ -451,13 +485,13 @@ class OaiCiTest():
SSH = sshconnection.SSHConnection()
SSH.open(self.UEIPAddress, self.UEUserName, self.UEPassword)
# b2xx_fx3_utils reset procedure
SSH.command('echo ' + self.UEPassword + ' | sudo -S uhd_find_devices', '\$', 90)
SSH.command('echo ' + self.UEPassword + ' | sudo -S uhd_find_devices', '\$', 180)
result = re.search('type: b200', SSH.getBefore())
if result is not None:
logging.debug('Found a B2xx device --> resetting it')
SSH.command('echo ' + self.UEPassword + ' | sudo -S b2xx_fx3_utils --reset-device', '\$', 10)
# Reloading FGPA bin firmware
SSH.command('echo ' + self.UEPassword + ' | sudo -S uhd_find_devices', '\$', 90)
SSH.command('echo ' + self.UEPassword + ' | sudo -S uhd_find_devices', '\$', 180)
result = re.search('type: n3xx', str(SSH.getBefore()))
if result is not None:
logging.debug('Found a N3xx device --> resetting it')
@@ -653,14 +687,14 @@ class OaiCiTest():
HTML.htmlUEFailureMsg='nr-uesoftmodem did NOT synced'
HTML.CreateHtmlTestRow(self.air_interface + ' ' + self.Initialize_OAI_UE_args, 'KO', CONST.OAI_UE_PROCESS_COULD_NOT_SYNC, 'OAI UE')
logging.error('\033[91mInitialize OAI UE Failed! \033[0m')
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
def checkDevTTYisUnlocked(self):
SSH = sshconnection.SSHConnection()
SSH.open(self.ADBIPAddress, self.ADBUserName, self.ADBPassword)
count = 0
while count < 5:
SSH.command('echo ' + self.ADBPassword + ' | sudo -S lsof | grep ttyUSB0', '\$', 10)
SSH.command('echo ' + self.ADBPassword + ' | sudo -S lsof | grep --colour=never ttyUSB0', '\$', 10)
result = re.search('picocom', SSH.getBefore())
if result is None:
count = 10
@@ -731,7 +765,7 @@ class OaiCiTest():
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
self.checkDevTTYisUnlocked()
def AttachCatM(self,HTML,RAN,COTS_UE,EPC,InfraUE):
def AttachCatM(self,HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS):
if self.ADBIPAddress == '' or self.ADBUserName == '' or self.ADBPassword == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
@@ -804,9 +838,9 @@ class OaiCiTest():
html_cell = '<pre style="background-color:white">CAT-M module Attachment Failed</pre>'
html_queue.put(html_cell)
HTML.CreateHtmlTestRowQueue('N/A', 'KO', 1, html_queue)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
def PingCatM(self,HTML,RAN,EPC,COTS_UE,InfraUE):
def PingCatM(self,HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS):
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.SourceCodePath == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
@@ -815,7 +849,7 @@ class OaiCiTest():
pStatus = self.CheckProcessExist(check_eNB, check_OAI_UE,RAN,EPC)
if (pStatus < 0):
HTML.CreateHtmlTestRow(self.ping_args, 'KO', pStatus)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
try:
statusQueue = SimpleQueue()
@@ -836,7 +870,7 @@ class OaiCiTest():
moduleIPAddr = result.group('ipaddr')
else:
HTML.CreateHtmlTestRow(self.ping_args, 'KO', pStatus)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
ping_time = re.findall("-c (\d+)",str(self.ping_args))
device_id = 'catm'
@@ -900,7 +934,7 @@ class OaiCiTest():
HTML.CreateHtmlTestRowQueue(self.ping_args, 'OK', 1, statusQueue)
else:
HTML.CreateHtmlTestRowQueue(self.ping_args, 'KO', 1, statusQueue)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
except:
os.kill(os.getppid(),signal.SIGUSR1)
@@ -992,7 +1026,7 @@ class OaiCiTest():
except:
os.kill(os.getppid(),signal.SIGUSR1)
def AttachUE(self,HTML,RAN,EPC,COTS_UE,InfraUE):
def AttachUE(self,HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS):
if self.ue_id=='':#no ID specified, then it is a COTS controlled by ADB
if self.ADBIPAddress == '' or self.ADBUserName == '' or self.ADBPassword == '':
HELP.GenericHelp(CONST.Version)
@@ -1002,7 +1036,7 @@ class OaiCiTest():
pStatus = self.CheckProcessExist(check_eNB, check_OAI_UE,RAN,EPC)
if (pStatus < 0):
HTML.CreateHtmlTestRow('N/A', 'KO', pStatus)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
multi_jobs = []
status_queue = SimpleQueue()
@@ -1021,7 +1055,7 @@ class OaiCiTest():
if (status_queue.empty()):
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.ALL_PROCESSES_OK)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
else:
attach_status = True
@@ -1050,7 +1084,7 @@ class OaiCiTest():
time.sleep(5)
else:
HTML.CreateHtmlTestRowQueue('N/A', 'KO', len(self.UEDevices), html_queue)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
else: #if an ID is specified, it is a module from the yaml infrastructure file
#Attention, as opposed to InitializeUE, the connect manager process is not checked as it is supposed to be active already
@@ -1086,7 +1120,7 @@ class OaiCiTest():
Module_UE.CheckModuleMTU()
else: #status==-1 failed to retrieve IP address
HTML.CreateHtmlTestRow('N/A', 'KO', CONST.UE_IP_ADDRESS_ISSUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
def DetachUE_common(self, device_id, idx,COTS_UE):
@@ -1111,7 +1145,7 @@ class OaiCiTest():
except:
os.kill(os.getppid(),signal.SIGUSR1)
def DetachUE(self,HTML,RAN,EPC,COTS_UE,InfraUE):
def DetachUE(self,HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS):
if self.ue_id=='':#no ID specified, then it is a COTS controlled by ADB
if self.ADBIPAddress == '' or self.ADBUserName == '' or self.ADBPassword == '':
HELP.GenericHelp(CONST.Version)
@@ -1121,7 +1155,7 @@ class OaiCiTest():
pStatus = self.CheckProcessExist(check_eNB, check_OAI_UE,RAN,EPC)
if (pStatus < 0):
HTML.CreateHtmlTestRow('N/A', 'KO', pStatus)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
multi_jobs = []
cnt = 0
@@ -1328,7 +1362,7 @@ class OaiCiTest():
SSH = sshconnection.SSHConnection()
SSH.open(self.ADBIPAddress, self.ADBUserName, self.ADBPassword)
if self.ADBCentralized:
SSH.command('lsusb | egrep "Future Technology Devices International, Ltd FT2232C" | sed -e "s#:.*##" -e "s# #_#g"', '\$', 15)
SSH.command('lsusb | egrep --colour=never "Future Technology Devices International, Ltd FT2232C" | sed -e "s#:.*##" -e "s# #_#g"', '\$', 15)
#self.CatMDevices = re.findall("\\\\r\\\\n([A-Za-z0-9_]+)",SSH.getBefore())
self.CatMDevices = re.findall("\\\\r\\\\n([A-Za-z0-9_]+)",SSH.getBefore())
else:
@@ -1396,7 +1430,7 @@ class OaiCiTest():
except:
os.kill(os.getppid(),signal.SIGUSR1)
def CheckStatusUE(self,HTML,RAN,EPC,COTS_UE,InfraUE):
def CheckStatusUE(self,HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS):
if self.ADBIPAddress == '' or self.ADBUserName == '' or self.ADBPassword == '':
HELP.GenericHelp(CONST.Version)
sys.exit('Insufficient Parameter')
@@ -1443,7 +1477,7 @@ class OaiCiTest():
if (status_queue.empty()):
HTML.CreateHtmlTestRow(htmlOptions, 'KO', CONST.ALL_PROCESSES_OK)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
else:
check_status = True
html_queue = SimpleQueue()
@@ -1459,7 +1493,7 @@ class OaiCiTest():
HTML.CreateHtmlTestRowQueue(htmlOptions, 'OK', len(self.UEDevices), html_queue)
else:
HTML.CreateHtmlTestRowQueue(htmlOptions, 'KO', len(self.UEDevices), html_queue)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
def GetAllUEIPAddresses(self):
SSH = sshconnection.SSHConnection()
@@ -1530,7 +1564,7 @@ class OaiCiTest():
statusQueue.put(message)
lock.release()
def Ping_common(self, lock, UE_IPAddress, device_id, statusQueue,EPC, Module_UE):
def Ping_common(self, lock, UE_IPAddress, device_id, statusQueue,EPC, Module_UE,RAN):
try:
SSH = sshconnection.SSHConnection()
# Launch ping on the EPC side (true for ltebox and old open-air-cn)
@@ -1552,12 +1586,13 @@ class OaiCiTest():
SSH.command('cd scripts', '\$', 5)
# In case of a docker-based deployment, we need to ping from the trf-gen container
launchFromTrfContainer = False
if re.match('OAI-Rel14-Docker', EPC.Type, re.IGNORECASE):
if (re.match('OAI-Rel14-Docker', EPC.Type, re.IGNORECASE)) or (re.match('OAICN5G', EPC.Type, re.IGNORECASE)):
launchFromTrfContainer = True
if launchFromTrfContainer:
ping_status = SSH.command('docker exec -it prod-trf-gen /bin/bash -c "ping ' + self.ping_args + ' ' + UE_IPAddress + '" 2>&1 | tee ping_' + self.testCase_id + '_' + device_id + '.log', '\$', int(ping_time[0])*1.5)
else:
ping_status = SSH.command('stdbuf -o0 ping ' + self.ping_args + ' ' + UE_IPAddress + ' 2>&1 | stdbuf -o0 tee ping_' + self.testCase_id + '_' + device_id + '.log', '\$', int(ping_time[0])*1.5)
ping_log_file='ping_' + self.testCase_id + '_' + device_id + '.log'
#copy the ping log file to have it locally for analysis (ping stats)
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/scripts/ping_' + self.testCase_id + '_' + device_id + '.log', '.')
else:
@@ -1577,13 +1612,14 @@ class OaiCiTest():
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
#cat is executed on EPC
SSH.command('cat ' + EPC.SourceCodePath + '/scripts/ping_' + self.testCase_id + '_' + device_id + '.log', '\$', 5)
ping_log_file='/scripts/ping_' + self.testCase_id + '_' + device_id + '.log'
else: #launch from Module
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
#target address is different depending on EPC type
if re.match('OAI-Rel14-Docker', EPC.Type, re.IGNORECASE):
Target = EPC.MmeIPAddress
elif re.match('OAICN5G', EPC.Type, re.IGNORECASE):
Target = '8.8.8.8'
Target = EPC.MmeIPAddress
else:
Target = EPC.IPAddress
#ping from module NIC rather than IP address to make sure round trip is over the air
@@ -1594,6 +1630,7 @@ class OaiCiTest():
#cat is executed locally
SSH.command('cat ping_' + self.testCase_id + '_' + self.ue_id + '.log', '\$', 5)
ping_log_file='ping_' + self.testCase_id + '_' + self.ue_id + '.log'
ping_status=0
# TIMEOUT CASE
@@ -1632,6 +1669,7 @@ class OaiCiTest():
min_msg = 'RTT(Min) : ' + rtt_min + ' ms'
avg_msg = 'RTT(Avg) : ' + rtt_avg + ' ms'
max_msg = 'RTT(Max) : ' + rtt_max + ' ms'
lock.acquire()
logging.debug('\u001B[1;37;44m ping result (' + UE_IPAddress + ') \u001B[0m')
logging.debug('\u001B[1;34m ' + pal_msg + '\u001B[0m')
@@ -1640,9 +1678,9 @@ class OaiCiTest():
logging.debug('\u001B[1;34m ' + max_msg + '\u001B[0m')
#adding extra ping stats from local file
ping_log_file='ping_' + self.testCase_id + '_' + device_id + '.log'
#ping_log_file variable is defined above in this function, depending on device/ue
logging.debug('Analyzing Ping log file : ' + os.getcwd() + '/' + ping_log_file)
ping_stat=GetPingTimeAnalysis(ping_log_file)
ping_stat=GetPingTimeAnalysis(RAN,ping_log_file,self.ping_rttavg_threshold)
ping_stat_msg=''
if (ping_stat!=-1) and (len(ping_stat)!=0):
ping_stat_msg+='Ping stats before removing largest value : \n'
@@ -1658,17 +1696,29 @@ class OaiCiTest():
ping_stat_msg+='RTT(Max) : ' + str("{:.2f}".format(ping_stat['max_1'])) + 'ms \n'
#building html message
qMsg = pal_msg + '\n' + min_msg + '\n' + avg_msg + '\n' + max_msg + '\n' + ping_stat_msg
qMsg = pal_msg + '\n' + min_msg + '\n' + avg_msg + '\n' + max_msg + '\n' + ping_stat_msg
#checking packet loss compliance
packetLossOK = True
if packetloss is not None:
if float(packetloss) > float(self.ping_packetloss_threshold):
qMsg += '\nPacket Loss too high'
logging.debug('\u001B[1;37;41m Packet Loss too high \u001B[0m')
logging.debug('\u001B[1;37;41m Packet Loss too high; Target: '+ self.ping_packetloss_threshold + '%\u001B[0m')
packetLossOK = False
elif float(packetloss) > 0:
qMsg += '\nPacket Loss is not 0%'
logging.debug('\u001B[1;30;43m Packet Loss is not 0% \u001B[0m')
if (packetLossOK):
#checking RTT avg compliance
rttavgOK = True
if self.ping_rttavg_threshold != '':
if float(rtt_avg)>float(self.ping_rttavg_threshold):
ping_rttavg_error_msg = 'RTT(Avg) too high: ' + rtt_avg + ' ms; Target: '+ self.ping_rttavg_threshold+ ' ms'
qMsg += '\n'+ping_rttavg_error_msg
logging.debug('\u001B[1;37;41m'+ ping_rttavg_error_msg +' \u001B[0m')
rttavgOK = False
if packetLossOK and rttavgOK:
statusQueue.put(0)
else:
statusQueue.put(-1)
@@ -1686,14 +1736,14 @@ class OaiCiTest():
html_queue.put(html_cell)
HTML.CreateHtmlTestRowQueue(self.ping_args, 'KO', len(self.UEDevices), html_queue)
def PingNoS1(self,HTML,RAN,EPC,COTS_UE,InfraUE):
def PingNoS1(self,HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS):
SSH=sshconnection.SSHConnection()
check_eNB = True
check_OAI_UE = True
pStatus = self.CheckProcessExist(check_eNB, check_OAI_UE,RAN,EPC)
if (pStatus < 0):
HTML.CreateHtmlTestRow(self.ping_args, 'KO', pStatus)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
ping_from_eNB = re.search('oaitun_enb1', str(self.ping_args))
if ping_from_eNB is not None:
@@ -1779,10 +1829,10 @@ class OaiCiTest():
except:
os.kill(os.getppid(),signal.SIGUSR1)
def Ping(self,HTML,RAN,EPC,COTS_UE, InfraUE):
def Ping(self,HTML,RAN,EPC,COTS_UE, InfraUE, CONTAINERS):
result = re.search('noS1', str(RAN.Initialize_eNB_args))
if result is not None:
self.PingNoS1(HTML,RAN,EPC,COTS_UE,InfraUE)
self.PingNoS1(HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS)
return
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.SourceCodePath == '':
HELP.GenericHelp(CONST.Version)
@@ -1795,7 +1845,7 @@ class OaiCiTest():
pStatus = self.CheckProcessExist(check_eNB, check_OAI_UE,RAN,EPC)
if (pStatus < 0):
HTML.CreateHtmlTestRow(self.ping_args, 'KO', pStatus)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
if self.ue_id=="":
@@ -1803,7 +1853,7 @@ class OaiCiTest():
ueIpStatus = self.GetAllUEIPAddresses()
if (ueIpStatus < 0):
HTML.CreateHtmlTestRow(self.ping_args, 'KO', CONST.UE_IP_ADDRESS_ISSUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
else:
self.UEIPAddresses=[]
@@ -1820,7 +1870,7 @@ class OaiCiTest():
device_id = self.UEDevices[i]
else:
device_id = Module_UE.ID + "-" + Module_UE.Kind
p = Process(target = self.Ping_common, args = (lock,UE_IPAddress,device_id,status_queue,EPC,Module_UE,))
p = Process(target = self.Ping_common, args = (lock,UE_IPAddress,device_id,status_queue,EPC,Module_UE,RAN,))
p.daemon = True
p.start()
multi_jobs.append(p)
@@ -1830,7 +1880,7 @@ class OaiCiTest():
if (status_queue.empty()):
HTML.CreateHtmlTestRow(self.ping_args, 'KO', CONST.ALL_PROCESSES_OK)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
else:
ping_status = True
html_queue = SimpleQueue()
@@ -1847,7 +1897,7 @@ class OaiCiTest():
HTML.CreateHtmlTestRowQueue(self.ping_args, 'OK', len(self.UEDevices), html_queue)
else:
HTML.CreateHtmlTestRowQueue(self.ping_args, 'KO', len(self.UEDevices), html_queue)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
def Iperf_ComputeTime(self):
result = re.search('-t (?P<iperf_time>\d+)', str(self.iperf_args))
@@ -1995,6 +2045,52 @@ class OaiCiTest():
else:
return -2
def Iperf_analyzeV2BIDIR(self, lock, UE_IPAddress, device_id, statusQueue,server_filename,client_filename):
#check the 2 files are here
if (not os.path.isfile(client_filename)) or (not os.path.isfile(server_filename)):
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Client or Server Log File not present')
return
#check the 2 files size
if (os.path.getsize(client_filename)==0) and (os.path.getsize(server_filename)==0):
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Client and Server Log File are empty')
return
report_msg='TCP BIDIR Report:\n'
#if client is not empty, all the info is in, otherwise we ll use the server file to get some partial info
client_filesize = os.path.getsize(client_filename)
if client_filesize == 0:
report_msg+="Client file (UE) present but !!! EMPTY !!!\n"
report_msg+="Partial report from server file\n"
filename = server_filename
else :
report_msg+="Report from client file (UE)\n"
filename = client_filename
report=[] #used to check if relevant lines were found
with open(filename, 'r') as f_client:
for line in f_client.readlines():
result = re.search(rf'^\[\s+\d+\](?P<direction>\[.+\]).*\s+(?P<bitrate>[0-9\.]+ [KMG]bits\/sec).*\s+(?P<role>\bsender|receiver\b)', str(line))
if result is not None:
report.append(str(line))
report_msg+=result.group('role') + ' ' + result.group('direction')+ '\t = ' +result.group('bitrate')+'\n'
if len(report)>0:
lock.acquire()
statusQueue.put(0)
statusQueue.put(device_id)
statusQueue.put(UE_IPAddress)
statusQueue.put(report_msg)
logging.debug('\u001B[1;37;45m TCP Bidir Iperf Result (' + UE_IPAddress + ') \u001B[0m')
logging.debug('\u001B[1;35m ' + report_msg + '\u001B[0m')
lock.release()
else:
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Bidir TCP : Could not analyze from Log file')
def Iperf_analyzeV2Server(self, lock, UE_IPAddress, device_id, statusQueue, iperf_real_options, filename,type):
if (not os.path.isfile(filename)):
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Could not analyze from server log')
@@ -2071,12 +2167,20 @@ class OaiCiTest():
pl = float(100 * pl_sum / ps_sum)
packetloss = '%2.1f ' % (pl)
packetloss += '%'
#checking packet loss compliance
if float(pl) > float(self.iperf_packetloss_threshold):
pal_too_high_msg = 'Packet Loss too high : actual = '+packetloss+', target = '+self.iperf_packetloss_threshold+'%\n'
pal_too_high_msg = 'Packet Loss too high : tested = '+packetloss+', target = '+self.iperf_packetloss_threshold+'%'
else:
pal_too_high_msg=''
pal_too_high_msg='Packet Loss value is within acceptance range'
#checking bitrate perf compliance
if float(br_loss) < float(self.iperf_bitrate_threshold):
bit_too_low_msg = 'Bitrate too low : tested = '+bitperf+', target = '+self.iperf_bitrate_threshold+'%'
else:
bit_too_low_msg='Bitrate perf value is within acceptance range'
lock.acquire()
if (br_loss < 90) or (float(pl) > float(self.iperf_packetloss_threshold)):
if (float(br_loss) < float(self.iperf_bitrate_threshold)) and (float(pl) > float(self.iperf_packetloss_threshold)):
statusQueue.put(-1)
elif (float(br_loss) < float(self.iperf_bitrate_threshold)) or (float(pl) > float(self.iperf_packetloss_threshold)):
statusQueue.put(1)
else:
statusQueue.put(0)
@@ -2087,7 +2191,7 @@ class OaiCiTest():
brl_msg = 'Bitrate Perf: ' + bitperf
jit_msg = 'Jitter : ' + jitter
pal_msg = 'Packet Loss : ' + packetloss
statusQueue.put(req_msg + '\n' + bir_msg + '\n' + brl_msg + '\n' + jit_msg + '\n' + pal_msg + '\n' + pal_too_high_msg + '\n')
statusQueue.put(req_msg + '\n' + bir_msg + '\n' + brl_msg + '\n' + jit_msg + '\n' + pal_msg + '\n' + pal_too_high_msg + '\n' + bit_too_low_msg + '\n')
logging.debug('\u001B[1;37;45m iperf result (' + UE_IPAddress + ') \u001B[0m')
logging.debug('\u001B[1;35m ' + req_msg + '\u001B[0m')
logging.debug('\u001B[1;35m ' + bir_msg + '\u001B[0m')
@@ -2095,6 +2199,7 @@ class OaiCiTest():
logging.debug('\u001B[1;35m ' + jit_msg + '\u001B[0m')
logging.debug('\u001B[1;35m ' + pal_msg + '\u001B[0m')
logging.debug('\u001B[1;35m ' + pal_too_high_msg + '\u001B[0m')
logging.debug('\u001B[1;35m ' + bit_too_low_msg + '\u001B[0m')
lock.release()
else:
self.ping_iperf_wrong_exit(lock, UE_IPAddress, device_id, statusQueue, 'Could not analyze from server log')
@@ -2283,17 +2388,22 @@ class OaiCiTest():
result = re.search('TRF_IP_ADDR = (?P<trf_ip_addr>[0-9\.]+)', SSH.getBefore())
if result is not None:
trf_gen_IP = result.group('trf_ip_addr')
#kill iperf processes on EPC side
SSH.command('docker exec -it prod-trf-gen /bin/bash -c "killall --signal SIGKILL iperf"', '\$', 5)
SSH.command('docker exec -it prod-trf-gen /bin/bash -c "killall --signal SIGKILL iperf3"', '\$', 5)
SSH.close()
#kill iperf processes on UE side before (in case there are still some remaining)
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'killall --signal=SIGKILL iperf'
SSH.command(cmd,'\$',5)
cmd = 'killall --signal=SIGKILL iperf3'
SSH.command(cmd,'\$',5)
SSH.close()
iperf_time = self.Iperf_ComputeTime()
iperf_time = self.Iperf_ComputeTime()
if self.iperf_direction=="DL":
logging.debug("Iperf for Module in DL mode detected")
#server side UE
##server side UE
server_filename='iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'rm ' + server_filename
@@ -2301,20 +2411,21 @@ class OaiCiTest():
cmd = 'echo $USER; nohup iperf -s -B ' + UE_IPAddress + ' -u 2>&1 > ' + server_filename + ' &'
SSH.command(cmd,'\$',5)
SSH.close()
#client side EPC
##client side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
SSH.command('docker exec -it prod-trf-gen /bin/bash -c "killall --signal SIGKILL iperf"', '\$', 5)
#remove old client file in EPC.SourceCodePath
cmd = 'rm ' + EPC.SourceCodePath + '/' + client_filename
SSH.command(cmd,'\$',5)
iperf_cmd = 'bin/iperf -c ' + UE_IPAddress + ' ' + self.iperf_args + ' 2>&1 > ' + client_filename
cmd = 'docker exec -it prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
cmd = 'docker exec -w /iperf-2.0.13 -it prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
SSH.command(cmd,'\$',int(iperf_time)*5.0)
SSH.command('docker cp prod-trf-gen:/iperf-2.0.13/'+ client_filename + ' ' + EPC.SourceCodePath, '\$', 5)
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + client_filename, '.')
SSH.close()
#copy the 2 resulting files locally
#copy the 2 resulting files locally (python executor)
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, server_filename, '.')
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, client_filename, '.')
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + client_filename, '.')
#send for analysis
self.Iperf_analyzeV2Server(lock, UE_IPAddress, device_id, statusQueue, self.iperf_args,server_filename,1)
@@ -2323,9 +2434,9 @@ class OaiCiTest():
#server side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
SSH.command('docker exec -it prod-trf-gen /bin/bash -c "killall --signal SIGKILL iperf"', '\$', 5)
iperf_cmd = 'echo $USER; nohup bin/iperf -s -u 2>&1 > ' + server_filename
cmd = 'docker exec -it prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
cmd = 'docker exec -d -w /iperf-2.0.13 prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
SSH.command(cmd,'\$',5)
SSH.close()
@@ -2340,14 +2451,49 @@ class OaiCiTest():
#once client is done, retrieve the server file from container to EPC Host
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
SSH.command('docker cp prod-trf-gen:/iperf-2.0.13/' + server_filename + ' ' + EPC.SourceCodePath, '\$', 5)
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + server_filename, '.')
SSH.close()
#copy the 2 resulting files locally
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, client_filename, '.')
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, server_filename, '.')
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + server_filename, '.')
#send for analysis
self.Iperf_analyzeV2Server(lock, UE_IPAddress, device_id, statusQueue, self.iperf_args,server_filename,1)
elif self.iperf_direction=="BIDIR":
logging.debug("Iperf for Module in BIDIR mode detected")
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
#server side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
iperf_cmd = 'echo $USER; nohup /usr/local/bin/iperf3 -s 2>&1 > ' + server_filename
cmd = 'docker exec -d -w /iperf-2.0.13 prod-trf-gen /bin/bash -c \"' + iperf_cmd + '\"'
SSH.command(cmd,'\$',5)
SSH.close()
#client side UE
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'rm '+ client_filename
SSH.command(cmd,'\$',5)
SSH.command('iperf3 -B ' + UE_IPAddress + ' -c ' + trf_gen_IP + ' ' + self.iperf_args + ' 2>&1 > ' + client_filename, '\$', int(iperf_time)*5.0)
SSH.close()
#once client is done, retrieve the server file from container to EPC Host
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
#remove old server file in EPC.SourceCodePath
cmd = 'rm ' + EPC.SourceCodePath + '/' + server_filename
SSH.command(cmd,'\$',5)
#copy from docker container to EPC.SourceCodePath
SSH.command('docker cp prod-trf-gen:/iperf-2.0.13/' + server_filename + ' ' + EPC.SourceCodePath, '\$', 5)
SSH.close()
#copy the 2 resulting files locally
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, client_filename, '.')
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, EPC.SourceCodePath + '/' + server_filename, '.')
#send for analysis
self.Iperf_analyzeV2BIDIR(lock, UE_IPAddress, device_id, statusQueue, server_filename, client_filename)
else :
logging.debug("Incorrect or missing IPERF direction in XML")
@@ -2359,10 +2505,15 @@ class OaiCiTest():
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'killall --signal=SIGKILL iperf'
SSH.command(cmd,'\$',5)
cmd = 'killall --signal=SIGKILL iperf3'
SSH.command(cmd,'\$',5)
SSH.close()
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
cmd = 'killall --signal=SIGKILL iperf'
SSH.command(cmd,'\$',5)
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
cmd = 'killall --signal=SIGKILL iperf3'
SSH.command(cmd,'\$',5)
SSH.close()
@@ -2413,6 +2564,32 @@ class OaiCiTest():
#send for analysis
filename='iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
self.Iperf_analyzeV2Server(lock, UE_IPAddress, device_id, statusQueue, self.iperf_args,filename,1)
elif self.iperf_direction=="BIDIR":
logging.debug("Iperf for Module in BIDIR mode detected")
server_filename = 'iperf_server_' + self.testCase_id + '_' + self.ue_id + '.log'
client_filename = 'iperf_client_' + self.testCase_id + '_' + self.ue_id + '.log'
#server side EPC
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
cmd = 'rm ' + server_filename
SSH.command(cmd,'\$',5)
cmd = 'echo $USER; nohup iperf3 -s 2>&1 > '+server_filename+' &'
SSH.command(cmd,'\$',5)
SSH.close()
#client side UE
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'rm ' + client_filename
SSH.command(cmd,'\$',5)
SSH.command('iperf3 -c 192.172.0.1 ' + self.iperf_args + ' 2>&1 > '+client_filename, '\$', int(iperf_time)*5.0)
SSH.close()
#copy the 2 resulting files locally
SSH.copyin(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword, client_filename, '.')
SSH.copyin(EPC.IPAddress, EPC.UserName, EPC.Password, server_filename, '.')
#send for analysis
self.Iperf_analyzeV2BIDIR(lock, UE_IPAddress, device_id, statusQueue, server_filename, client_filename)
else :
logging.debug("Incorrect or missing IPERF direction in XML")
@@ -2420,10 +2597,14 @@ class OaiCiTest():
SSH.open(Module_UE.HostIPAddress, Module_UE.HostUsername, Module_UE.HostPassword)
cmd = 'killall --signal=SIGKILL iperf'
SSH.command(cmd,'\$',5)
cmd = 'killall --signal=SIGKILL iperf3'
SSH.command(cmd,'\$',5)
SSH.close()
SSH.open(EPC.IPAddress, EPC.UserName, EPC.Password)
cmd = 'killall --signal=SIGKILL iperf'
SSH.command(cmd,'\$',5)
cmd = 'killall --signal=SIGKILL iperf3'
SSH.command(cmd,'\$',5)
SSH.close()
return
@@ -2647,7 +2828,7 @@ class OaiCiTest():
except:
os.kill(os.getppid(),signal.SIGUSR1)
def IperfNoS1(self,HTML,RAN,EPC,COTS_UE,InfraUE):
def IperfNoS1(self,HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS):
SSH = sshconnection.SSHConnection()
if RAN.eNBIPAddress == '' or RAN.eNBUserName == '' or RAN.eNBPassword == '' or self.UEIPAddress == '' or self.UEUserName == '' or self.UEPassword == '':
HELP.GenericHelp(CONST.Version)
@@ -2657,7 +2838,7 @@ class OaiCiTest():
pStatus = self.CheckProcessExist(check_eNB, check_OAI_UE,RAN,EPC)
if (pStatus < 0):
HTML.CreateHtmlTestRow(self.iperf_args, 'KO', pStatus)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
server_on_enb = re.search('-R', str(self.iperf_args))
if server_on_enb is not None:
@@ -2756,12 +2937,12 @@ class OaiCiTest():
HTML.CreateHtmlTestRowQueue(self.iperf_args, 'OK', len(self.UEDevices), html_queue)
else:
HTML.CreateHtmlTestRowQueue(self.iperf_args, 'KO', len(self.UEDevices), html_queue)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
def Iperf(self,HTML,RAN,EPC,COTS_UE, InfraUE):
def Iperf(self,HTML,RAN,EPC,COTS_UE, InfraUE,CONTAINERS):
result = re.search('noS1', str(RAN.Initialize_eNB_args))
if result is not None:
self.IperfNoS1(HTML,RAN,EPC,COTS_UE,InfraUE)
self.IperfNoS1(HTML,RAN,EPC,COTS_UE,InfraUE,CONTAINERS)
return
if EPC.IPAddress == '' or EPC.UserName == '' or EPC.Password == '' or EPC.SourceCodePath == '' or self.ADBIPAddress == '' or self.ADBUserName == '' or self.ADBPassword == '':
HELP.GenericHelp(CONST.Version)
@@ -2774,14 +2955,14 @@ class OaiCiTest():
pStatus = self.CheckProcessExist(check_eNB, check_OAI_UE,RAN,EPC)
if (pStatus < 0):
HTML.CreateHtmlTestRow(self.iperf_args, 'KO', pStatus)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
if self.ue_id=="":#is not a module, follow legacy code
ueIpStatus = self.GetAllUEIPAddresses()
if (ueIpStatus < 0):
HTML.CreateHtmlTestRow(self.iperf_args, 'KO', CONST.UE_IP_ADDRESS_ISSUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
return
else: #is a module
self.UEIPAddresses=[]
@@ -2826,7 +3007,7 @@ class OaiCiTest():
if (status_queue.empty()):
HTML.CreateHtmlTestRow(self.iperf_args, 'KO', CONST.ALL_PROCESSES_OK)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
else:
iperf_status = True
iperf_noperf = False
@@ -2848,7 +3029,7 @@ class OaiCiTest():
HTML.CreateHtmlTestRowQueue(self.iperf_args, 'OK', len(self.UEDevices), html_queue)
else:
HTML.CreateHtmlTestRowQueue(self.iperf_args, 'KO', len(self.UEDevices), html_queue)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
def CheckProcessExist(self, check_eNB, check_OAI_UE,RAN,EPC):
multi_jobs = []
@@ -2998,9 +3179,6 @@ class OaiCiTest():
if result is not None and not exitSignalReceived:
foundSegFault = True
result = re.search('[Cc]ore [dD]ump', str(line))
if result is not None and not exitSignalReceived:
foundSegFault = True
result = re.search('./lte-uesoftmodem', str(line))
if result is not None and not exitSignalReceived:
foundSegFault = True
result = re.search('[Aa]ssertion', str(line))
@@ -3280,7 +3458,7 @@ class OaiCiTest():
else:
HTML.CreateHtmlTestRow('QLog trace is disabled', 'OK', CONST.ALL_PROCESSES_OK)
def TerminateOAIUE(self,HTML,RAN,COTS_UE,EPC, InfraUE):
def TerminateOAIUE(self,HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS):
SSH = sshconnection.SSHConnection()
SSH.open(self.UEIPAddress, self.UEUserName, self.UEPassword)
SSH.command('cd ' + self.UESourceCodePath + '/cmake_targets', '\$', 5)
@@ -3321,11 +3499,11 @@ class OaiCiTest():
# Not an error then
if (logStatus != CONST.OAI_UE_PROCESS_COULD_NOT_SYNC) or (ueAction != 'Sniffing'):
self.Initialize_OAI_UE_args = ''
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
else:
if (logStatus == CONST.OAI_UE_PROCESS_COULD_NOT_SYNC):
self.Initialize_OAI_UE_args = ''
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE)
self.AutoTerminateUEandeNB(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
else:
logging.debug('\u001B[1m' + ueAction + ' Completed \u001B[0m')
HTML.htmlUEFailureMsg='<b>' + ueAction + ' Completed</b>\n' + HTML.htmlUEFailureMsg
@@ -3334,26 +3512,26 @@ class OaiCiTest():
else:
HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK)
def AutoTerminateUEandeNB(self,HTML,RAN,COTS_UE,EPC,InfraUE):
def AutoTerminateUEandeNB(self,HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS):
if (self.ADBIPAddress != 'none'):
self.testCase_id = 'AUTO-KILL-UE'
HTML.testCase_id=self.testCase_id
HTML.testCase_id = self.testCase_id
self.desc = 'Automatic Termination of UE'
HTML.desc='Automatic Termination of UE'
HTML.desc = self.desc
self.ShowTestID()
self.TerminateUE(HTML,COTS_UE,InfraUE,self.ue_trace)
if (self.Initialize_OAI_UE_args != ''):
self.testCase_id = 'AUTO-KILL-OAI-UE'
HTML.testCase_id=self.testCase_id
HTML.testCase_id = self.testCase_id
self.desc = 'Automatic Termination of OAI-UE'
HTML.desc='Automatic Termination of OAI-UE'
HTML.desc = self.desc
self.ShowTestID()
self.TerminateOAIUE(HTML,RAN,COTS_UE,EPC,InfraUE)
self.TerminateOAIUE(HTML,RAN,COTS_UE,EPC,InfraUE,CONTAINERS)
if (RAN.Initialize_eNB_args != ''):
self.testCase_id = 'AUTO-KILL-RAN'
HTML.testCase_id=self.testCase_id
HTML.testCase_id = self.testCase_id
self.desc = 'Automatic Termination of all RAN nodes'
HTML.desc='Automatic Termination of RAN nodes'
HTML.desc = self.desc
self.ShowTestID()
#terminate all RAN nodes eNB/gNB/OCP
for instance in range(0, len(RAN.air_interface)):
@@ -3363,13 +3541,58 @@ class OaiCiTest():
RAN.TerminateeNB(HTML,EPC)
if RAN.flexranCtrlInstalled and RAN.flexranCtrlStarted:
self.testCase_id = 'AUTO-KILL-flexran-ctl'
HTML.testCase_id=self.testCase_id
HTML.testCase_id = self.testCase_id
self.desc = 'Automatic Termination of FlexRan CTL'
HTML.desc='Automatic Termination of FlexRan CTL'
HTML.desc = self.desc
self.ShowTestID()
self.TerminateFlexranCtrl(HTML,RAN,EPC)
if CONTAINERS.yamlPath[0] != '':
self.testCase_id = 'AUTO-KILL-CONTAINERS'
HTML.testCase_id = self.testCase_id
self.desc = 'Automatic Termination of all RAN containers'
HTML.desc = self.desc
self.ShowTestID()
for instance in range(0, len(CONTAINERS.yamlPath)):
if CONTAINERS.yamlPath[instance]!='':
CONTAINERS.eNB_instance=instance
CONTAINERS.UndeployObject(HTML,RAN)
RAN.prematureExit=True
#this function is called only if eNB/gNB fails to start
#RH to be re-factored
def AutoTerminateeNB(self,HTML,RAN,EPC,CONTAINERS):
if (RAN.Initialize_eNB_args != ''):
self.testCase_id = 'AUTO-KILL-RAN'
HTML.testCase_id = self.testCase_id
self.desc = 'Automatic Termination of all RAN nodes'
HTML.desc = self.desc
self.ShowTestID()
#terminate all RAN nodes eNB/gNB/OCP
for instance in range(0, len(RAN.air_interface)):
if RAN.air_interface[instance]!='':
logging.debug('Auto Termination of Instance ' + str(instance) + ' : ' + RAN.air_interface[instance])
RAN.eNB_instance=instance
RAN.TerminateeNB(HTML,EPC)
if RAN.flexranCtrlInstalled and RAN.flexranCtrlStarted:
self.testCase_id = 'AUTO-KILL-flexran-ctl'
HTML.testCase_id = self.testCase_id
self.desc = 'Automatic Termination of FlexRan CTL'
HTML.desc = self.desc
self.ShowTestID()
self.TerminateFlexranCtrl(HTML,RAN,EPC)
if CONTAINERS.yamlPath[0] != '':
self.testCase_id = 'AUTO-KILL-CONTAINERS'
HTML.testCase_id = self.testCase_id
self.desc = 'Automatic Termination of all RAN containers'
HTML.desc = self.desc
self.ShowTestID()
for instance in range(0, len(CONTAINERS.yamlPath)):
if CONTAINERS.yamlPath[instance]!='':
CONTAINERS.eNB_instance=instance
CONTAINERS.UndeployObject(HTML,RAN)
RAN.prematureExit=True
def IdleSleep(self,HTML):
time.sleep(self.idle_sleep_time)
HTML.CreateHtmlTestRow(str(self.idle_sleep_time) + ' sec', 'OK', CONST.ALL_PROCESSES_OK)
@@ -3601,7 +3824,7 @@ class OaiCiTest():
UhdVersion = result.group('uhd_version')
logging.debug('UHD Version is: ' + UhdVersion)
HTML.UhdVersion[idx]=UhdVersion
SSH.command('echo ' + Password + ' | sudo -S uhd_find_devices', '\$', 90)
SSH.command('echo ' + Password + ' | sudo -S uhd_find_devices', '\$', 180)
usrp_boards = re.findall('product: ([0-9A-Za-z]+)\\\\r\\\\n', SSH.getBefore())
count = 0
for board in usrp_boards:

View File

@@ -183,7 +183,7 @@ class PhySim:
mySSH.open(self.eNBIpAddr, self.eNBUserName, self.eNBPassWord)
mySSH.command('cd '+self.__workSpacePath,'\$',5)
#run and redirect the results to a log file
mySSH.command(self.__workSpacePath+'phy_simulators/build/ldpctest ' + self.runargs + ' >> '+self.__runLogFile, '\$', 30)
mySSH.command(self.__workSpacePath+'ran_build/build/ldpctest ' + self.runargs + ' >> '+self.__runLogFile, '\$', 30)
mySSH.close()
#return updated HTML to main
lHTML = html.HTMLManagement()

View File

@@ -37,6 +37,7 @@ import html
import os
import re
import time
import subprocess
import sys
import constants as CONST
import helpreadme as HELP
@@ -115,7 +116,7 @@ class PhySim:
else:
imageTag = "develop"
# Check if image is exist on the Red Hat server, before pushing it to OC cluster
mySSH.command("sudo podman image inspect --format='Size = {{.Size}} bytes' oai-physim:" + imageTag, '\$', 60)
mySSH.command('sudo podman image inspect --format="Size = {{.Size}} bytes" oai-physim:' + imageTag, '\$', 60)
if mySSH.getBefore().count('no such image') != 0:
logging.error('\u001B[1m No such image oai-physim\u001B[0m')
mySSH.close()
@@ -140,7 +141,7 @@ class PhySim:
logging.debug('oai-physim size is unknown')
# logging to OC Cluster and then switch to corresponding project
mySSH.command(f'oc login -u {ocUserName} -p {ocPassword}', '\$', 6)
mySSH.command(f'oc login -u {ocUserName} -p {ocPassword}', '\$', 30)
if mySSH.getBefore().count('Login successful.') == 0:
logging.error('\u001B[1m OC Cluster Login Failed\u001B[0m')
mySSH.close()
@@ -149,7 +150,7 @@ class PhySim:
return
else:
logging.debug('\u001B[1m Login to OC Cluster Successfully\u001B[0m')
mySSH.command(f'oc project {ocProjectName}', '\$', 6)
mySSH.command(f'oc project {ocProjectName}', '\$', 30)
if mySSH.getBefore().count(f'Already on project "{ocProjectName}"') == 0 and mySSH.getBefore().count(f'Now using project "{self.OCProjectName}"') == 0:
logging.error(f'\u001B[1m Unable to access OC project {ocProjectName}\u001B[0m')
mySSH.close()
@@ -160,7 +161,7 @@ class PhySim:
logging.debug(f'\u001B[1m Now using project {ocProjectName}\u001B[0m')
# Tag the image and push to the OC cluster
mySSH.command('oc whoami -t | sudo podman login -u ' + ocUserName + ' --password-stdin https://default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/ --tls-verify=false', '\$', 6)
mySSH.command('oc whoami -t | sudo podman login -u ' + ocUserName + ' --password-stdin https://default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/ --tls-verify=false', '\$', 30)
if mySSH.getBefore().count('Login Succeeded!') == 0:
logging.error('\u001B[1m Podman Login to OC Cluster Registry Failed\u001B[0m')
mySSH.close()
@@ -170,7 +171,7 @@ class PhySim:
else:
logging.debug('\u001B[1m Podman Login to OC Cluster Registry Successfully\u001B[0m')
time.sleep(2)
mySSH.command('oc create -f openshift/oai-physim-image-stream.yml', '\$', 6)
mySSH.command('oc create -f openshift/oai-physim-image-stream.yml', '\$', 30)
if mySSH.getBefore().count('(AlreadyExists):') == 0 and mySSH.getBefore().count('created') == 0:
logging.error(f'\u001B[1m Image Stream "oai-physim" Creation Failed on OC Cluster {ocProjectName}\u001B[0m')
mySSH.close()
@@ -180,9 +181,9 @@ class PhySim:
else:
logging.debug(f'\u001B[1m Image Stream "oai-physim" created on OC project {ocProjectName}\u001B[0m')
time.sleep(2)
mySSH.command(f'sudo podman tag oai-physim:{imageTag} default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag}', '\$', 6)
mySSH.command(f'sudo podman tag oai-physim:{imageTag} default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag}', '\$', 30)
time.sleep(2)
mySSH.command(f'sudo podman push default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag} --tls-verify=false', '\$', 30)
mySSH.command(f'sudo podman push default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag} --tls-verify=false', '\$', 180)
if mySSH.getBefore().count('Storing signatures') == 0:
logging.error('\u001B[1m Image "oai-physim" push to OC Cluster Registry Failed\u001B[0m')
mySSH.close()
@@ -195,18 +196,18 @@ class PhySim:
# Using helm charts deployment
time.sleep(5)
mySSH.command(f'sed -i -e "s#TAG#{imageTag}#g" ./charts/physims/values.yaml', '\$', 6)
mySSH.command('helm install physim ./charts/physims/ | tee -a cmake_targets/log/physim_helm_summary.txt 2>&1', '\$', 6)
mySSH.command('helm install physim ./charts/physims/ | tee -a cmake_targets/log/physim_helm_summary.txt 2>&1', '\$', 30)
if mySSH.getBefore().count('STATUS: deployed') == 0:
logging.error('\u001B[1m Deploying PhySim Failed using helm chart on OC Cluster\u001B[0m')
mySSH.command('helm uninstall physim >> cmake_targets/log/physim_helm_summary.txt 2>&1', '\$', 6)
mySSH.command('helm uninstall physim >> cmake_targets/log/physim_helm_summary.txt 2>&1', '\$', 30)
isFinished1 = False
while(isFinished1 == False):
time.sleep(20)
mySSH.command('oc get pods -l app.kubernetes.io/instance=physim', '\$', 6, resync=True)
if re.search('No resources found', mySSH.getBefore()):
isFinished1 = True
mySSH.command(f'sudo podman rmi default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag}', '\$', 6)
mySSH.command('oc delete is oai-physim', '\$', 6)
mySSH.command(f'sudo podman rmi default-route-openshift-image-registry.apps.5glab.nsa.eurecom.fr/{self.OCProjectName}/oai-physim:{imageTag}', '\$', 30)
mySSH.command('oc delete is oai-physim', '\$', 30)
mySSH.close()
self.AnalyzeLogFile_phySim(HTML)
RAN.prematureExit = True
@@ -217,7 +218,7 @@ class PhySim:
count = 0
while(count < 2 and isRunning == False):
time.sleep(60)
mySSH.command('oc get pods -o wide -l app.kubernetes.io/instance=physim | tee -a cmake_targets/log/physim_pods_summary.txt', '\$', 6, resync=True)
mySSH.command('oc get pods -o wide -l app.kubernetes.io/instance=physim | tee -a cmake_targets/log/physim_pods_summary.txt', '\$', 30, resync=True)
if mySSH.getBefore().count('Running') == 12:
logging.debug('\u001B[1m Running the physim test Scenarios\u001B[0m')
isRunning = True
@@ -245,7 +246,7 @@ class PhySim:
isFinished = False
# doing a deep copy!
tmpPodNames = podNames.copy()
while(count < 32 and isFinished == False):
while(count < 50 and isFinished == False):
time.sleep(60)
for podName in tmpPodNames:
mySSH.command2(f'oc logs --tail=1 {podName} 2>&1', 6, silent=True)
@@ -264,6 +265,23 @@ class PhySim:
for podName in podNames:
mySSH.command(f'oc logs {podName} >> cmake_targets/log/physim_test.txt 2>&1', '\$', 15, resync=True)
time.sleep(30)
mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/log/physim_test.txt', '.')
try:
listLogFiles = subprocess.check_output('egrep --colour=never "Execution Log file|Linux oai-" physim_test.txt', shell=True, universal_newlines=True)
for line in listLogFiles.split('\n'):
res1 = re.search('Linux (?P<pod>oai-[a-zA-Z0-9\-]+) ', str(line))
res2 = re.search('Execution Log file = (?P<name>[a-zA-Z0-9\-\/\.\_]+)', str(line))
if res1 is not None:
podName = res1.group('pod')
if res2 is not None:
logFileInPod = res2.group('name')
folderName = re.sub('/opt/oai-physim/cmake_targets/autotests/log/', '', logFileInPod)
folderName = re.sub('/test.*', '', folderName)
fileName = re.sub('/opt/oai-physim/cmake_targets/autotests/log/' + folderName + '/', '', logFileInPod)
mySSH.command('mkdir -p cmake_targets/log/' + folderName, '\$', 5, silent=True)
mySSH.command('oc cp ' + podName + ':' + logFileInPod + ' cmake_targets/log/' + folderName + '/' + fileName, '\$', 20, silent=True)
except Exception as e:
pass
# UnDeploy the physical simulator pods
mySSH.command('helm uninstall physim | tee -a cmake_targets/log/physim_helm_summary.txt 2>&1', '\$', 6)
@@ -305,6 +323,7 @@ class PhySim:
mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5)
mySSH.command('mkdir -p physim_test_log_' + self.testCase_id, '\$', 5)
mySSH.command('cp log/physim_* ' + 'physim_test_log_' + self.testCase_id, '\$', 5)
mySSH.command('tar cvf physim_test_log_' + self.testCase_id + '/physim_log.tar log/015*', '\$', 180)
if not os.path.exists(f'./physim_test_logs_{self.testCase_id}'):
os.mkdir(f'./physim_test_logs_{self.testCase_id}')
mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/physim_test_log_' + self.testCase_id + '/*', './physim_test_logs_' + self.testCase_id)

View File

@@ -121,7 +121,7 @@ class StaticCodeAnalysis():
mySSH.command('docker build --tag oai-cppcheck:xenial --file ci-scripts/docker/Dockerfile.cppcheck.xenial . > cmake_targets/log/cppcheck-xenial.txt 2>&1', '\$', 600)
mySSH.command('sed -e "s@xenial@bionic@" ci-scripts/docker/Dockerfile.cppcheck.xenial > ci-scripts/docker/Dockerfile.cppcheck.bionic', '\$', 6)
mySSH.command('docker build --tag oai-cppcheck:bionic --file ci-scripts/docker/Dockerfile.cppcheck.bionic . > cmake_targets/log/cppcheck-bionic.txt 2>&1', '\$', 600)
mySSH.command('docker image rm oai-cppcheck:bionic oai-cppcheck:xenial || true', '\$', 60)
mySSH.command('docker image rm oai-cppcheck:bionic oai-cppcheck:xenial || true', '\$', 30)
# Analyzing the logs
mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5)

View File

@@ -269,17 +269,10 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -54,15 +54,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 0;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -119,19 +110,6 @@ gNBs =
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 2; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 55; # this is SS=0 L=12
initialULBWPk2_1 = 2; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 69; # this is SS=10 L=2
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
#p0_NominalWithGrant =-90;
@@ -237,11 +215,11 @@ MACRLCs = (
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 8;
}
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
}
);
RUs = (
@@ -284,18 +262,11 @@ THREAD_STRUCT = (
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -201,15 +201,10 @@ eNBs = (
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
pdcp_log_level = "info";
pdcp_log_verbosity = "high";
rrc_log_level = "info";
rrc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
gtp_log_level = "info";
gtp_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {

View File

@@ -201,15 +201,10 @@ eNBs = (
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
pdcp_log_level = "info";
pdcp_log_verbosity = "high";
rrc_log_level = "info";
rrc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
gtp_log_level = "info";
gtp_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {

View File

@@ -201,15 +201,10 @@ eNBs = (
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
pdcp_log_level = "info";
pdcp_log_verbosity = "high";
rrc_log_level = "info";
rrc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
gtp_log_level = "info";
gtp_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {

View File

@@ -96,17 +96,11 @@ RUs = (
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
hw_log_level = "info";
hw_log_verbosity = "medium";
phy_log_level = "info";
phy_log_verbosity = "medium";
mac_log_level = "info";
mac_log_verbosity = "high";
rlc_log_level = "info";
rlc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {

View File

@@ -96,17 +96,11 @@ RUs = (
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
hw_log_level = "info";
hw_log_verbosity = "medium";
phy_log_level = "info";
phy_log_verbosity = "medium";
mac_log_level = "info";
mac_log_verbosity = "high";
rlc_log_level = "info";
rlc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {

View File

@@ -96,17 +96,11 @@ RUs = (
log_config = {
global_log_level = "info";
global_log_verbosity = "medium";
hw_log_level = "info";
hw_log_verbosity = "medium";
phy_log_level = "info";
phy_log_verbosity = "medium";
mac_log_level = "info";
mac_log_verbosity = "high";
rlc_log_level = "info";
rlc_log_verbosity = "medium";
flexran_agent_log_level = "info";
flexran_agent_log_verbosity = "medium";
};
NETWORK_CONTROLLER : {

View File

@@ -257,18 +257,11 @@ THREAD_STRUCT = (
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -385,19 +385,12 @@ eNBs =
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}
);
@@ -457,17 +450,10 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -260,18 +260,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -404,18 +404,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -264,18 +264,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -0,0 +1,274 @@
Active_eNBs = ( "eNB-Eurecom-B38");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
////////// Identification parameters:
eNB_ID = 0xe02;
cell_type = "CELL_MACRO_ENB";
eNB_name = "eNB-Eurecom-B38";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ( { mcc = 208; mnc = 97; mnc_length = 2; } );
tr_s_preference = "local_mac"
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_eNODEB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "TDD";
tdd_config = 1;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 38;
downlink_frequency = 2605000000L;
nr_scg_ssb_freq = 624608;
uplink_frequency_offset = 0;
Nid_cell = 0;
N_RB_DL = 100;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 2;
nb_antennas_tx = 2;
nb_antennas_rx = 2;
tx_gain = 90;
rx_gain = 125;
pbch_repetition = "FALSE";
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 2;
pucch_delta_shift = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pdsch_referenceSignalPower = -29;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_groupHoppingEnabled = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
pusch_nDMRS1 = 1;
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -104;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
rach_maxHARQ_Msg3Tx = 4;
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
bcch_modificationPeriodCoeff = 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 2;
//Parameters for SIB18
rxPool_sc_CP_Len = "normal";
rxPool_sc_Period = "sf40";
rxPool_data_CP_Len = "normal";
rxPool_ResourceConfig_prb_Num = 20;
rxPool_ResourceConfig_prb_Start = 5;
rxPool_ResourceConfig_prb_End = 44;
rxPool_ResourceConfig_offsetIndicator_present = "prSmall";
rxPool_ResourceConfig_offsetIndicator_choice = 0;
rxPool_ResourceConfig_subframeBitmap_present = "prBs40";
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "00000000000000000000";
rxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
/* rxPool_dataHoppingConfig_hoppingParameter = 0;
rxPool_dataHoppingConfig_numSubbands = "ns1";
rxPool_dataHoppingConfig_rbOffset = 0;
rxPool_commTxResourceUC-ReqAllowed = "TRUE";
*/
// Parameters for SIB19
discRxPool_cp_Len = "normal"
discRxPool_discPeriod = "rf32"
discRxPool_numRetx = 1;
discRxPool_numRepetition = 2;
discRxPool_ResourceConfig_prb_Num = 5;
discRxPool_ResourceConfig_prb_Start = 3;
discRxPool_ResourceConfig_prb_End = 21;
discRxPool_ResourceConfig_offsetIndicator_present = "prSmall";
discRxPool_ResourceConfig_offsetIndicator_choice = 0;
discRxPool_ResourceConfig_subframeBitmap_present = "prBs40";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "f0ffffffff";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4;
}
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "yes";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
t_dc_prep = 1000; /* unit: millisecond */
t_dc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eno1";
ENB_IPV4_ADDRESS_FOR_S1_MME = "CI_ENB_IP_ADDR";
ENB_INTERFACE_NAME_FOR_S1U = "eno1";
ENB_IPV4_ADDRESS_FOR_S1U = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "CI_ENB_IP_ADDR";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
phy_test_mode = 0;
scheduler_mode = "fairRR";
bler_target_upper = 20.0;
bler_target_lower = 10.0;
max_ul_rb_index = 27;
puSch10xSnr = 200;
puCch10xSnr = 150;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
prach_dtx_threshold = 200;
pucch1_dtx_threshold = 5
pucch1ab_dtx_threshold =0;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
bands = [38];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
sdr_addrs = "mgmt_addr=192.168.18.241,addr=192.168.20.2,second_addr=192.168.10.2";
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
NETWORK_CONTROLLER :
{
FLEXRAN_ENABLED = "no";
FLEXRAN_INTERFACE_NAME = "lo";
FLEXRAN_IPV4_ADDRESS = "127.0.0.1";
FLEXRAN_PORT = 2210;
FLEXRAN_CACHE = "/mnt/oai_agent_cache";
FLEXRAN_AWAIT_RECONF = "no";
};
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};

View File

@@ -6,7 +6,7 @@ eNBs =
(
{
////////// Identification parameters:
eNB_ID = 0xe05;
eNB_ID = 0xe04;
cell_type = "CELL_MACRO_ENB";
@@ -264,18 +264,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -165,19 +165,12 @@ eNBs =
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}

View File

@@ -165,19 +165,12 @@ eNBs =
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}

View File

@@ -165,19 +165,12 @@ eNBs =
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}

View File

@@ -163,19 +163,12 @@ eNBs =
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}

View File

@@ -256,18 +256,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -265,18 +265,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -263,18 +263,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -263,19 +263,12 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
@include "channelmod_rfsimu.conf"

View File

@@ -245,7 +245,7 @@ THREAD_STRUCT =
(
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_RU_L1_TRX_SPLIT";
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
@@ -264,18 +264,11 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="high";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="high";
pdcp_log_level ="info";
pdcp_log_verbosity ="high";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -258,17 +258,10 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -262,18 +262,11 @@ THREAD_STRUCT = (
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -0,0 +1,317 @@
Active_gNBs = ( "gNB-OAI");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 40960;
plmn_list = ({
mcc = 208;
mnc = 95;
mnc_length = 2;
snssaiList = (
{
sst = 1;
sd = 0x1; // 0 false, else true
},
{
sst = 1;
sd = 0x112233; // 0 false, else true
}
);
});
nr_cellid = 12345678L;
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
ul_prbblacklist = "51,52,53,54"
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 12;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 641280;
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640008;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=27,L=48 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 12952; # 6366 12925 12956 28875 12952
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 12952;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -96;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "192.168.70.132";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "ctrl0";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.16.0.1";
GNB_INTERFACE_NAME_FOR_NGU = "ctrl0";
GNB_IPV4_ADDRESS_FOR_NGU = "172.16.0.1";
GNB_PORT_FOR_NGU = 2152; # Spec 2152
};
}
);
MACRLCs = (
{
num_cc = 1;
local_s_if_name = "lo:";
remote_s_address = "127.0.0.1"; // pnf addr [!]
local_s_address = "127.0.0.2"; // vnf addr
local_s_portc = 50601; // vnf p5 port
remote_s_portc = 50600; // pnf p5 port [!]
local_s_portd = 50611; // vnf p7 port [!]
remote_s_portd = 50610; // pnf p7 port [!]
tr_s_preference = "nfapi";
tr_n_preference = "local_RRC";
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 150;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [78];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
#clock_src = "external";
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
rfsimulator :
{
serveraddr = "server";
serverport = "4043";
options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs";
};
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms = ( "nea0" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering = "yes";
drb_integrity = "no";
};
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
ngap_log_level ="debug";
};

View File

@@ -0,0 +1,45 @@
log_config = {
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};
uicc0 = {
imsi = "208950000000031";
key = "0c0a34601d4f07677303652c0462535b";
opc= "63bfa50ee6523365ff14c1f45f88737d";
dnn= "oai";
nssai_sst=222;
nssai_sd=123;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -0,0 +1,45 @@
log_config = {
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};
uicc0 = {
imsi = "208950000000031";
key = "0c0a34601d4f07677303652c0462535b";
opc= "63bfa50ee6523365ff14c1f45f88737d";
dnn= "oai";
nssai_sst=222;
nssai_sd=123;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -0,0 +1,45 @@
log_config = {
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};
uicc0 = {
imsi = "208950000000032";
key = "0c0a34601d4f07677303652c0462535b";
opc= "63bfa50ee6523365ff14c1f45f88737d";
dnn= "oai";
nssai_sst=222;
nssai_sd=123;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -0,0 +1,45 @@
log_config = {
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};
uicc0 = {
imsi = "208950000000033";
key = "0c0a34601d4f07677303652c0462535b";
opc= "63bfa50ee6523365ff14c1f45f88737d";
dnn= "oai";
nssai_sst=222;
nssai_sd=123;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -0,0 +1,45 @@
log_config = {
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};
uicc0 = {
imsi = "208950000000034";
key = "0c0a34601d4f07677303652c0462535b";
opc= "63bfa50ee6523365ff14c1f45f88737d";
dnn= "oai";
nssai_sst=222;
nssai_sd=123;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -0,0 +1,240 @@
Active_eNBs = ( "eNB-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
////////// Identification parameters:
eNB_ID = 0xe00;
cell_type = "CELL_MACRO_ENB";
eNB_name = "eNB-Eurecom-LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 5;
plmn_list = ( { mcc = 320; mnc = 230; mnc_length = 3; } );
tr_s_preference = "local_mac"
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_eNODEB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 3;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2685000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 50;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 125;
pbch_repetition = "FALSE";
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 2;
pucch_delta_shift = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pdsch_referenceSignalPower = -27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_groupHoppingEnabled = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
pusch_nDMRS1 = 1;
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -104;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
rach_maxHARQ_Msg3Tx = 4;
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
bcch_modificationPeriodCoeff = 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 1;
//Parameters for SIB18
rxPool_sc_CP_Len = "normal";
rxPool_sc_Period = "sf40";
rxPool_data_CP_Len = "normal";
rxPool_ResourceConfig_prb_Num = 20;
rxPool_ResourceConfig_prb_Start = 5;
rxPool_ResourceConfig_prb_End = 44;
rxPool_ResourceConfig_offsetIndicator_present = "prSmall";
rxPool_ResourceConfig_offsetIndicator_choice = 0;
rxPool_ResourceConfig_subframeBitmap_present = "prBs40";
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "00000000000000000000";
rxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
/* rxPool_dataHoppingConfig_hoppingParameter = 0;
rxPool_dataHoppingConfig_numSubbands = "ns1";
rxPool_dataHoppingConfig_rbOffset = 0;
rxPool_commTxResourceUC-ReqAllowed = "TRUE";
*/
// Parameters for SIB19
discRxPool_cp_Len = "normal"
discRxPool_discPeriod = "rf32"
discRxPool_numRetx = 1;
discRxPool_numRepetition = 2;
discRxPool_ResourceConfig_prb_Num = 5;
discRxPool_ResourceConfig_prb_Start = 3;
discRxPool_ResourceConfig_prb_End = 21;
discRxPool_ResourceConfig_offsetIndicator_present = "prSmall";
discRxPool_ResourceConfig_offsetIndicator_choice = 0;
discRxPool_ResourceConfig_subframeBitmap_present = "prBs40";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "f0ffffffff";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4;
}
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "192.168.61.195";
ipv6 = "192:168:30::17";
port = 36412 ;
active = "yes";
preference = "ipv4";
}
);
enable_measurement_reports = "yes";
///X2
enable_x2 = "yes";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
t_dc_prep = 1000; /* unit: millisecond */
t_dc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "ctrl0";
ENB_IPV4_ADDRESS_FOR_S1_MME = "172.16.0.1";
ENB_INTERFACE_NAME_FOR_S1U = "ctrl0";
ENB_IPV4_ADDRESS_FOR_S1U = "172.16.0.1";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "172.16.0.1";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
};
}
);
MACRLCs = (
{
num_cc = 1;
local_s_if_name = "lo";
remote_s_address = "127.0.0.1";
local_s_address = "127.0.0.1";
local_s_portc = 50001;
remote_s_portc = 50000;
local_s_portd = 50011;
remote_s_portd = 50010;
tr_s_preference = "nfapi";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_RU_L1_SPLIT";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
log_config =
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};

View File

@@ -0,0 +1,258 @@
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
cell_type = "CELL_MACRO_GNB";
gNB_name = "gNB-Eurecom-5GNRBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 5;
plmn_list = ({mcc = 320; mnc = 230; mnc_length = 3;});
tr_s_preference = "local_mac"
////////// Physical parameters:
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 84 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 641272; //641032; #641968; 641968=start of ssb at 3600MHz + 82 RBs 641032=center of SSB at center of cell
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640000;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=84,L=13 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 6368;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 0;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 6368;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -100;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 5;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14; //15;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; #0x80;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7; //8; //7;
nrofDownlinkSymbols = 6; //0; //6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4; //0; //4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "192.168.61.195";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
///X2
enable_x2 = "yes";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
t_dc_prep = 1000; /* unit: millisecond */
t_dc_overall = 2000; /* unit: millisecond */
target_enb_x2_ip_address = (
{ ipv4 = "172.16.0.1"; # rrc.band7.tm1.nfapi.conf:line 201
ipv6 = "192:168:30::17";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{ # All of these have to be IP addr of gNB
# if in CORE container, make it 172.16.0.X
# if not launched in CORE, can set to lo (127.0.0.2)
GNB_INTERFACE_NAME_FOR_S1_MME = "ctrl0";
GNB_IPV4_ADDRESS_FOR_S1_MME = "172.16.0.2";
GNB_INTERFACE_NAME_FOR_S1U = "ctrl0";
GNB_IPV4_ADDRESS_FOR_S1U = "172.16.0.2";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
GNB_IPV4_ADDRESS_FOR_X2C = "172.16.0.2";
GNB_PORT_FOR_X2C = 36422; # Spec 36422
};
}
);
MACRLCs = (
{
num_cc = 1;
local_s_if_name = "lo:";
remote_s_address = "127.0.0.1"; // pnf addr [!]
local_s_address = "127.0.0.2"; // vnf addr
local_s_portc = 50601; // vnf p5 port
remote_s_portc = 50600; // pnf p5 port [!]
local_s_portd = 50611; // vnf p7 port [!]
remote_s_portd = 50610; // pnf p7 port [!]
tr_s_preference = "nfapi";
tr_n_preference = "local_RRC";
}
)
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_RU_L1_TRX_SPLIT";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
log_config =
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};

View File

@@ -0,0 +1,37 @@
log_config = {
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50000;
remote_n_portc = 50001;
local_n_portd = 50010;
remote_n_portd = 50011;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -0,0 +1,786 @@
# List of known PLMNS
PLMN: {
PLMN0: {
FULLNAME="Test network";
SHORTNAME="OAI4G";
MNC="01";
MCC="001";
};
PLMN1: {
FULLNAME="SFR France";
SHORTNAME="SFR";
MNC="10";
MCC="208";
};
PLMN2: {
FULLNAME="SFR France";
SHORTNAME="SFR";
MNC="11";
MCC="208";
};
PLMN3: {
FULLNAME="SFR France";
SHORTNAME="SFR";
MNC="13";
MCC="208";
};
PLMN4: {
FULLNAME="OAI LTEBOX";
SHORTNAME="OAIALU";
MNC="95";
MCC="208";
};
PLMN5: {
FULLNAME="T-Mobile USA";
SHORTNAME="T-Mobile";
MNC="280";
MCC="310";
};
PLMN6: {
FULLNAME="FICTITIOUS USA";
SHORTNAME="FICTITIO";
MNC="028";
MCC="310";
};
PLMN7: {
FULLNAME="Vodafone Italia";
SHORTNAME="VODAFONE";
MNC="10";
MCC="222";
};
PLMN8: {
FULLNAME="Vodafone Spain";
SHORTNAME="VODAFONE";
MNC="01";
MCC="214";
};
PLMN9: {
FULLNAME="Vodafone Spain";
SHORTNAME="VODAFONE";
MNC="06";
MCC="214";
};
PLMN10: {
FULLNAME="Vodafone Germ";
SHORTNAME="VODAFONE";
MNC="02";
MCC="262";
};
PLMN11: {
FULLNAME="Vodafone Germ";
SHORTNAME="VODAFONE";
MNC="04";
MCC="262";
};
PLMN12: {
FULLNAME="Vodafone Germ";
SHORTNAME="VODAFONE";
MNC="230";
MCC="320";
};
};
UE0:
{
USER: {
IMEI="356113022094148";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000025";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561024";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE1:
{
USER: {
IMEI="356113022094149";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000166";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561165";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE2:
{
USER: {
IMEI="356113022094150";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000012";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561011";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE3:
{
USER: {
IMEI="356113022094151";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000064";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561063";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE4:
{
USER: {
IMEI="356113022094152";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000082";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561081";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE5:
{
USER: {
IMEI="356113022094153";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000011";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561010";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE6:
{
USER: {
IMEI="356113022094154";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000093";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561092";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE7:
{
USER: {
IMEI="356113022094155";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000188";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561187";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE8:
{
USER: {
IMEI="356113022094158";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000017";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561016";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE9:
{
USER: {
IMEI="356113022094159";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000071";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561070";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE10:
{
USER: {
IMEI="356113022094110";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000125";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561124";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE11:
{
USER: {
IMEI="356113022094111";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000067";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561066";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE12:
{
USER: {
IMEI="356113022094112";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000152";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561151";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE13:
{
USER: {
IMEI="356113022094113";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000083";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561082";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE14:
{
USER: {
IMEI="356113022094114";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000086";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561085";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE15:
{
USER: {
IMEI="356113022094115";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000026";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561025";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE16:
{
USER: {
IMEI="356113022094116";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000114";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561113";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE17:
{
USER: {
IMEI="356113022094117";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000159";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561158";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};
UE18:
{
USER: {
IMEI="356113022094118";
MANUFACTURER="EURECOM";
MODEL="LTE Android PC";
PIN="0000";
};
SIM: {
MSIN="100000113";
USIM_API_K="0c0a34601d4f07677303652c0462535b";
OPC="ba05688178e398bedc100674071002cb";
MSISDN="1011234561112";
};
# Home PLMN Selector with Access Technology
HPLMN= "320230";
# User controlled PLMN Selector with Access Technology
UCPLMN_LIST = ();
# Operator PLMN List
OPLMN_LIST = ("00101", "20810", "20811", "20813", "20895", "310280", "310028", "320230");
# Operator controlled PLMN Selector with Access Technology
OCPLMN_LIST = ("22210", "21401", "21406", "26202", "26204");
# Forbidden plmns
FPLMN_LIST = ();
# List of Equivalent HPLMNs
#TODO: UE does not connect if set, to be fixed in the UE
# EHPLMN_LIST= ("20811", "20813");
EHPLMN_LIST= ();
};

View File

@@ -0,0 +1,318 @@
Active_gNBs = ( "gNB-OAI");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({
mcc = 208;
mnc = 99;
mnc_length = 2;
snssaiList = (
{
sst = 1;
sd = 0x1; // 0 false, else true
},
{
sst = 1;
sd = 0x112233; // 0 false, else true
}
);
});
nr_cellid = 12345678L;
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
ul_prbblacklist = "51,52,53,54"
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 12;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 641280;
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640008;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=27,L=48 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 12952; # 6366 12925 12956 28875 12952
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 12952;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -96;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "192.168.61.195";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "lo:";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "127.0.0.2";
GNB_INTERFACE_NAME_FOR_NGU = "lo:";
GNB_IPV4_ADDRESS_FOR_NGU = "127.0.0.2";
GNB_PORT_FOR_NGU = 2152; # Spec 2152
};
}
);
MACRLCs = (
{
num_cc = 1;
local_s_if_name = "lo:";
remote_s_address = "127.0.0.1"; // pnf addr [!]
local_s_address = "127.0.0.2"; // vnf addr
local_s_portc = 50601; // vnf p5 port
remote_s_portc = 50600; // pnf p5 port [!]
local_s_portd = 50611; // vnf p7 port [!]
remote_s_portd = 50610; // pnf p7 port [!]
tr_s_preference = "nfapi";
tr_n_preference = "local_RRC";
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 150;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [78];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
#clock_src = "external";
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
rfsimulator :
{
serveraddr = "server";
serverport = "4043";
options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs";
};
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms = ( "nea0" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering = "yes";
drb_integrity = "no";
};
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
ngap_log_level ="debug";
};

View File

@@ -0,0 +1,45 @@
log_config = {
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};
uicc0 = {
imsi = "2089900007487";
key = "fec86ba6eb707ed08905757b1bb44b8f";
opc= "C42449363BBAD02B66D16BC975D77CC1";
dnn= "oai";
nssai_sst=1;
nssai_sd=1;
}
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "lo:";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -0,0 +1,240 @@
Active_eNBs = ( "eNB-Eurecom-LTEBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
eNBs =
(
{
////////// Identification parameters:
eNB_ID = 0xe00;
cell_type = "CELL_MACRO_ENB";
eNB_name = "eNB-Eurecom-LTEBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 5;
plmn_list = ( { mcc = 320; mnc = 230; mnc_length = 3; } );
tr_s_preference = "local_mac"
////////// Physical parameters:
component_carriers = (
{
node_function = "3GPP_eNODEB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
frame_type = "FDD";
tdd_config = 3;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 7;
downlink_frequency = 2685000000L;
uplink_frequency_offset = -120000000;
Nid_cell = 0;
N_RB_DL = 50;
Nid_cell_mbsfn = 0;
nb_antenna_ports = 1;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
tx_gain = 90;
rx_gain = 125;
pbch_repetition = "FALSE";
prach_root = 0;
prach_config_index = 0;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 2;
pucch_delta_shift = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 0;
pdsch_referenceSignalPower = -27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_groupHoppingEnabled = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
pusch_nDMRS1 = 1;
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -104;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
rach_numberOfRA_Preambles = 64;
rach_preamblesGroupAConfig = "DISABLE";
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
rach_maxHARQ_Msg3Tx = 4;
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
bcch_modificationPeriodCoeff = 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
ue_TransmissionMode = 1;
//Parameters for SIB18
rxPool_sc_CP_Len = "normal";
rxPool_sc_Period = "sf40";
rxPool_data_CP_Len = "normal";
rxPool_ResourceConfig_prb_Num = 20;
rxPool_ResourceConfig_prb_Start = 5;
rxPool_ResourceConfig_prb_End = 44;
rxPool_ResourceConfig_offsetIndicator_present = "prSmall";
rxPool_ResourceConfig_offsetIndicator_choice = 0;
rxPool_ResourceConfig_subframeBitmap_present = "prBs40";
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "00000000000000000000";
rxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
/* rxPool_dataHoppingConfig_hoppingParameter = 0;
rxPool_dataHoppingConfig_numSubbands = "ns1";
rxPool_dataHoppingConfig_rbOffset = 0;
rxPool_commTxResourceUC-ReqAllowed = "TRUE";
*/
// Parameters for SIB19
discRxPool_cp_Len = "normal"
discRxPool_discPeriod = "rf32"
discRxPool_numRetx = 1;
discRxPool_numRepetition = 2;
discRxPool_ResourceConfig_prb_Num = 5;
discRxPool_ResourceConfig_prb_Start = 3;
discRxPool_ResourceConfig_prb_End = 21;
discRxPool_ResourceConfig_offsetIndicator_present = "prSmall";
discRxPool_ResourceConfig_offsetIndicator_choice = 0;
discRxPool_ResourceConfig_subframeBitmap_present = "prBs40";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf = "f0ffffffff";
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size = 5;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4;
}
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "192.168.61.3";
ipv6 = "192:168:30::17";
port = 36412 ;
active = "yes";
preference = "ipv4";
}
);
enable_measurement_reports = "no";
///X2
enable_x2 = "yes";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
t_dc_prep = 1000; /* unit: millisecond */
t_dc_overall = 2000; /* unit: millisecond */
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "lo";
ENB_IPV4_ADDRESS_FOR_S1_MME = "127.0.0.1";
ENB_INTERFACE_NAME_FOR_S1U = "lo";
ENB_IPV4_ADDRESS_FOR_S1U = "127.0.0.1";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C = "127.0.0.1";
ENB_PORT_FOR_X2C = 36422; # Spec 36422
};
}
);
MACRLCs = (
{
num_cc = 1;
local_s_if_name = "lo";
remote_s_address = "127.0.0.1";
local_s_address = "127.0.0.1";
local_s_portc = 50001;
remote_s_portc = 50000;
local_s_portd = 50011;
remote_s_portd = 50010;
tr_s_preference = "nfapi";
tr_n_preference = "local_RRC";
scheduler_mode = "fairRR";
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_RU_L1_SPLIT";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
log_config =
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};

View File

@@ -0,0 +1,298 @@
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
cell_type = "CELL_MACRO_GNB";
gNB_name = "gNB-Eurecom-5GNRBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 5;
plmn_list = ({mcc = 320; mnc = 230; mnc_length = 3;});
tr_s_preference = "local_mac"
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 641032;
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640000;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=41,L=24 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 6366;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0;
#initialULBWPmappingType
#0=typeA,1=typeB
initialDLBWPmappingType_0 = 0;
#this is SS=1,L=13
initialDLBWPstartSymbolAndLength_0 = 40;
initialDLBWPk0_1 = 0;
initialDLBWPmappingType_1 = 0;
#this is SS=2,L=12
initialDLBWPstartSymbolAndLength_1 = 53;
initialDLBWPk0_2 = 0;
initialDLBWPmappingType_2 = 0;
#this is SS=1,L=12
initialDLBWPstartSymbolAndLength_2 = 54;
initialDLBWPk0_3 = 0;
initialDLBWPmappingType_3 = 0;
#this is SS=1,L=5
initialDLBWPstartSymbolAndLength_3 = 57;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 6366;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -118;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6;
initialULBWPmappingType_0 = 1
# this is SS=0 L=11
initialULBWPstartSymbolAndLength_0 = 55;
initialULBWPk2_1 = 6;
initialULBWPmappingType_1 = 1;
# this is SS=0 L=12
initialULBWPstartSymbolAndLength_1 = 69;
initialULBWPk2_2 = 7;
initialULBWPmappingType_2 = 1;
# this is SS=10 L=4
initialULBWPstartSymbolAndLength_2 = 52;
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = 10;
}
);
srb1_parameters :
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit = 80;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering = 35;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit = 0;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu = 4;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte = 99999;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold = 4;
}
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
mme_ip_address = ( { ipv4 = "192.168.61.3";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
///X2
enable_x2 = "yes";
t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */
t_dc_prep = 1000; /* unit: millisecond */
t_dc_overall = 2000; /* unit: millisecond */
target_enb_x2_ip_address = (
{ ipv4 = "127.0.0.1"; # rrc.band7.tm1.nfapi.conf:line 201
ipv6 = "192:168:30::17";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{ # All of these have to be IP addr of gNB
# if in CORE container, make it 172.16.0.X
# if not launched in CORE, can set to lo (127.0.0.2)
GNB_INTERFACE_NAME_FOR_S1_MME = "lo:";
GNB_IPV4_ADDRESS_FOR_S1_MME = "127.0.0.2";
GNB_INTERFACE_NAME_FOR_S1U = "lo:";
GNB_IPV4_ADDRESS_FOR_S1U = "127.0.0.2";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
GNB_IPV4_ADDRESS_FOR_X2C = "127.0.0.2";
GNB_PORT_FOR_X2C = 36422; # Spec 36422
};
}
);
MACRLCs = (
{
num_cc = 1;
local_s_if_name = "lo:";
remote_s_address = "127.0.0.1"; // pnf addr [!]
local_s_address = "127.0.0.2"; // vnf addr
local_s_portc = 50601; // vnf p5 port
remote_s_portc = 50600; // pnf p5 port [!]
local_s_portd = 50611; // vnf p7 port [!]
remote_s_portd = 50610; // pnf p7 port [!]
tr_s_preference = "nfapi";
tr_n_preference = "local_RRC";
}
)
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_RU_L1_TRX_SPLIT";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
log_config =
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};

View File

@@ -0,0 +1,37 @@
log_config = {
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "lo";
remote_n_address = "127.0.0.1";
local_n_address = "127.0.0.1";
local_n_portc = 50000;
remote_n_portc = 50001;
local_n_portd = 50010;
remote_n_portd = 50011;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -0,0 +1,266 @@
Active_gNBs = ( "gNB-Eurecom-CU");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
Num_Threads_PUSCH = 8;
gNBs =
(
{
////////// Identification parameters:
gNB_CU_ID = 0xe00;
# cell_type = "CELL_MACRO_GNB";
gNB_name = "gNB-Eurecom-CU";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({
mcc = 208;
mnc = 99;
mnc_length = 2;
snssaiList = (
{
sst = 1;
sd = 0x010203; // 0 false, else true
},
{
sst = 1;
sd = 0x112233; // 0 false, else true
}
);
});
nr_cellid = 12345678L;
tr_s_preference = "f1";
local_s_if_name = "lo";
local_s_address = "127.0.0.4";
remote_s_address = "127.0.0.3";
local_s_portc = 501;
local_s_portd = 2152;
remote_s_portc = 500;
remote_s_portd = 2152;
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
sib1_tda = 0;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 12;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 641280;
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640008;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=27,L=48 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 28875; # 6366 12925 12956 28875 12952
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -96;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "192.168.5.233";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "eth0";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "CI_GNB_IP_ADDR";
GNB_INTERFACE_NAME_FOR_NGU = "eth0";
GNB_IPV4_ADDRESS_FOR_NGU = "CI_GNB_IP_ADDR";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
);
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms = ( "nea0" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering = "yes";
drb_integrity = "no";
};
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="debug";
pdcp_log_level ="info";
rrc_log_level ="info";
f1ap_log_level ="debug";
ngap_log_level ="debug";
};

View File

@@ -0,0 +1,285 @@
Active_gNBs = ( "gNB-Eurecom-DU");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_CU_ID = 0xe00;
# cell_type = "CELL_MACRO_GNB";
gNB_name = "gNB-Eurecom-DU";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({
mcc = 208;
mnc = 99;
mnc_length = 2;
snssaiList = (
{
sst = 1;
sd = 0x010203; // 0 false, else true
},
{
sst = 1;
sd = 0x112233; // 0 false, else true
}
);
});
nr_cellid = 12345678L;
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
sib1_tda = 0;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 12;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 641280;
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640008;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=27,L=48 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 28875; # 6366 12925 12956 28875 12952
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -96;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "f1";
local_n_if_name = "lo";
local_n_address = "127.0.0.3";
remote_n_address = "127.0.0.4";
local_n_portc = 500;
local_n_portd = 2152;
remote_n_portc = 501;
remote_n_portd = 2152;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 150;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [78];
max_pdschReferenceSignalPower = -27;
max_rxgain = 114;
eNB_instances = [0];
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
clock_src = "internal";
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
rfsimulator: {
serveraddr = "server";
serverport = "4043";
options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs"
}
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
f1ap_log_level ="debug";
ngap_log_level ="debug";
};

View File

@@ -89,19 +89,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 11;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0;
#initialULBWPmappingType
#0=typeA,1=typeB
initialDLBWPmappingType_0 = 0;
#this is SS=1,L=13
initialDLBWPstartSymbolAndLength_0 = 40;
initialDLBWPk0_1 = 0;
initialDLBWPmappingType_1 = 0;
#this is SS=1,L=5
initialDLBWPstartSymbolAndLength_1 = 57;
#uplinkConfigCommon
#frequencyInfoUL
@@ -156,22 +143,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 2;
initialULBWPmappingType_0 = 1
# this is SS=2 L=13
initialULBWPstartSymbolAndLength_0 = 41;
initialULBWPk2_1 = 2;
initialULBWPmappingType_1 = 1;
# this is SS=0 L=4
initialULBWPstartSymbolAndLength_1 = 52;
initialULBWPk2_2 = 7;
initialULBWPmappingType_2 = 1;
# this is SS=10 L=4
initialULBWPstartSymbolAndLength_2 = 52;
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -254,18 +225,17 @@ MACRLCs = (
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 150;
ulsch_max_slots_inactivity=20;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 2;
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 150;
}
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 150;
}
);
RUs = (
@@ -321,19 +291,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
f1ap_log_level ="debug";
f1ap_log_verbosity ="medium";
};

View File

@@ -86,19 +86,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 10;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0;
#initialULBWPmappingType
#0=typeA,1=typeB
initialDLBWPmappingType_0 = 0;
#this is SS=1,L=13
initialDLBWPstartSymbolAndLength_0 = 40;
initialDLBWPk0_1 = 0;
initialDLBWPmappingType_1 = 0;
#this is SS=1,L=5
initialDLBWPstartSymbolAndLength_1 = 57;
#uplinkConfigCommon
#frequencyInfoUL
@@ -153,22 +140,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6;
initialULBWPmappingType_0 = 1
# this is SS=2 L=13
initialULBWPstartSymbolAndLength_0 = 41;
initialULBWPk2_1 = 6;
initialULBWPmappingType_1 = 1;
# this is SS=0 L=4
initialULBWPstartSymbolAndLength_1 = 52;
initialULBWPk2_2 = 7;
initialULBWPmappingType_2 = 1;
# this is SS=10 L=4
initialULBWPstartSymbolAndLength_2 = 52;
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -251,17 +222,16 @@ MACRLCs = (
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 150;
ulsch_max_slots_inactivity=20;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 2;
prach_dtx_threshold = 120;
}
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
}
);
RUs = (
@@ -317,19 +287,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
f1ap_log_level ="debug";
f1ap_log_verbosity ="medium";
};

View File

@@ -24,6 +24,7 @@ gNBs =
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
{
@@ -54,15 +55,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_3 = 0; #for mixed slot
initialDLBWPmappingType_3 = 0;
initialDLBWPstartSymbolAndLength_3 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -117,21 +109,6 @@ gNBs =
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6;
initialULBWPmappingType_0 = 1
# this is SS=0 L=11
initialULBWPstartSymbolAndLength_0 = 41;
initialULBWPk2_1 = 6;
initialULBWPmappingType_1 = 1;
# this is SS=0 L=12
initialULBWPstartSymbolAndLength_1 = 69;
initialULBWPk2_2 = 14;
initialULBWPmappingType_2 = 1;
# this is SS=10 L=4
initialULBWPstartSymbolAndLength_2 = 52;
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -228,19 +205,18 @@ MACRLCs = (
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
ulsch_max_slots_inactivity = 1;
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 200;
}
);
L1s = (
{
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 8;
thread_pool_size = 8;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
}
);
RUs = (
@@ -290,18 +266,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -24,6 +24,7 @@ gNBs =
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
{
@@ -54,15 +55,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_3 = 0; #for mixed slot
initialDLBWPmappingType_3 = 0;
initialDLBWPstartSymbolAndLength_3 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -118,18 +110,6 @@ gNBs =
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 69; # this is SS=10 L=2
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -157,20 +137,6 @@ gNBs =
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
@@ -215,12 +181,12 @@ MACRLCs = (
);
L1s = (
{
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 8;
thread_pool_size = 8;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
}
);
RUs = (
@@ -279,18 +245,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -55,15 +55,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 0;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -118,18 +109,6 @@ gNBs =
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 2; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 2; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 24; # this is SS=10 L=2
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -226,16 +205,17 @@ MACRLCs = (
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
ulsch_max_frame_inactivity = 1;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 8;
prach_dtx_threshold = 120;
}
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
}
);
RUs = (
@@ -286,18 +266,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -41,6 +41,7 @@ gNBs =
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 2;
ul_prbblacklist = "51,52,53,54"
do_SRS = 1;
pdcch_ConfigSIB1 = (
{
@@ -90,19 +91,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 11;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0;
#initialULBWPmappingType
#0=typeA,1=typeB
initialDLBWPmappingType_0 = 0;
#this is SS=1,L=13
initialDLBWPstartSymbolAndLength_0 = 40;
initialDLBWPk0_1 = 0;
initialDLBWPmappingType_1 = 0;
#this is SS=1,L=5
initialDLBWPstartSymbolAndLength_1 = 57;
#uplinkConfigCommon
#frequencyInfoUL
@@ -157,22 +145,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6;
initialULBWPmappingType_0 = 1
# this is SS=2 L=13
initialULBWPstartSymbolAndLength_0 = 41;
initialULBWPk2_1 = 6;
initialULBWPmappingType_1 = 1;
# this is SS=0 L=4
initialULBWPstartSymbolAndLength_1 = 52;
initialULBWPk2_2 = 7;
initialULBWPmappingType_2 = 1;
# this is SS=10 L=4
initialULBWPstartSymbolAndLength_2 = 52;
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -255,18 +227,18 @@ MACRLCs = (
tr_n_preference = "local_RRC";
# pusch_TargetSNRx10 = 200;
# pucch_TargetSNRx10 = 150;
ulsch_max_slots_inactivity=20;
ulsch_max_frame_inactivity = 0;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 2;
prach_dtx_threshold = 120;
# pucch0_dtx_threshold = 150;
}
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
# pucch0_dtx_threshold = 150;
}
);
RUs = (
@@ -322,19 +294,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
f1ap_log_level ="debug";
f1ap_log_verbosity ="medium";
};

View File

@@ -6,43 +6,52 @@ gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
gNB_CU_ID = 0xe00;
# cell_type = "CELL_MACRO_GNB";
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({
mcc = 208;
mnc = 99;
mnc = 97;
mnc_length = 2;
snssaiList = (
{
sst = 1;
sd = 0x1; // 0 false, else true
},
{
sst = 1;
sd = 0x112233; // 0 false, else true
}
);
{
sst = 1;
sd = 0x010203; // 0 false, else true
},
{
sst = 1;
sd = 0x112233; // 0 false, else true
}
);
});
});
nr_cellid = 12345678L
nr_cellid = 12345678L;
# tr_s_preference = "local_mac"
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
#pusch_TargetSNRx10 = 200;
#pucch_TargetSNRx10 = 200;
ul_prbblacklist = "51,52,53,54"
min_rxtxtime = 6;
do_SRS = 1;
pdcch_ConfigSIB1 = (
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 12;
controlResourceSetZero = 11;
searchSpaceZero = 0;
}
);
);
servingCellConfigCommon = (
{
@@ -52,11 +61,23 @@ gNBs =
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 641280;
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640008;
# this is 3301.68 MHz + 22*12*30e-3 MHz = 3309.6
#absoluteFrequencySSB = 620640;
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
absoluteFrequencySSB = 621312;
# this is 3503.28 MHz + 22*12*30e-3 MHz = 3511.2
#absoluteFrequencySSB = 634080;
# this is 3600.48 MHz
#absoluteFrequencySSB = 640032;
#dl_frequencyBand = 78;
# this is 3301.68 MHz
#dl_absoluteFrequencyPointA = 620112;
# this is 3300.60 MHz
dl_absoluteFrequencyPointA = 620040;
# this is 3502.56 MHz
#dl_absoluteFrequencyPointA = 633552;
# this is 3600.48 MHz
#dl_absoluteFrequencyPointA = 640032;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
@@ -65,40 +86,33 @@ gNBs =
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=27,L=48 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 12952; # 6366 12925 12956 28875 12952
# this is RBstart=0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPcontrolResourceSetZero = 11;
initialDLBWPsearchSpaceZero = 0;
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 12952;
initialULBWPlocationAndBandwidth = 28875;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
@@ -106,8 +120,8 @@ gNBs =
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -96;
zeroCorrelationZoneConfig = 12;
preambleReceivedTargetPower = -104;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
@@ -118,9 +132,9 @@ gNBs =
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
@@ -136,19 +150,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -189,7 +190,7 @@ gNBs =
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
ssPBCH_BlockPower = -25;
}
);
@@ -203,47 +204,45 @@ gNBs =
SCTP_OUTSTREAMS = 2;
};
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
amf_ip_address = ( { ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "eth0";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "CI_GNB_IP_ADDR";
GNB_INTERFACE_NAME_FOR_NGU = "eth0";
GNB_IPV4_ADDRESS_FOR_NGU = "CI_GNB_IP_ADDR";
GNB_PORT_FOR_NGU = 2152; # Spec 2152
};
GNB_INTERFACE_NAME_FOR_NG_AMF = "em1";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "CI_GNB_IP_ADDR";
GNB_INTERFACE_NAME_FOR_NGU = "em1";
GNB_IPV4_ADDRESS_FOR_NGU = "CI_GNB_IP_ADDR";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 150;
ulsch_max_slots_inactivity = 10;
}
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 200;
ulsch_max_frame_inactivity = 1;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 8;
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 150;
}
{
num_cc = 1;
tr_n_preference = "local_mac";
prach_dtx_threshold = 120;
# pucch0_dtx_threshold = 150;
}
);
RUs = (
@@ -257,9 +256,15 @@ RUs = (
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
#clock_src = "external";
##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights = [0x00007fff, 0x0000];
##beamforming 1x4 matrix: 1 layer x 4 antennas
#bf_weights = [0x00007fff, 0x0000,0x0000, 0x0000];
## beamforming 2x2 matrix:
# bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension = 0
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
@@ -273,15 +278,6 @@ THREAD_STRUCT = (
}
);
rfsimulator :
{
serveraddr = "server";
serverport = "4043";
options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs";
};
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
@@ -302,20 +298,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
ngap_log_level ="debug";
ngap_log_verbosity ="medium";
f1ap_log_level ="debug";
};

View File

@@ -0,0 +1,303 @@
Active_gNBs = ( "gNB-OAI");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_CU_ID = 0xe00;
# cell_type = "CELL_MACRO_GNB";
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({
mcc = 208;
mnc = 97;
mnc_length = 2;
snssaiList = (
{
sst = 1;
sd = 0x010203; // 0 false, else true
},
{
sst = 1;
sd = 0x112233; // 0 false, else true
}
);
});
nr_cellid = 12345678L
# tr_s_preference = "local_mac"
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 2;
ul_prbblacklist = "79,80,81,82"
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 11;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3301.68 MHz + 22*12*30e-3 MHz = 3309.6
#absoluteFrequencySSB = 620640;
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
absoluteFrequencySSB = 621312;
# this is 3503.28 MHz + 22*12*30e-3 MHz = 3511.2
#absoluteFrequencySSB = 634080;
# this is 3600.48 MHz
#absoluteFrequencySSB = 640032;
#dl_frequencyBand = 78;
# this is 3301.68 MHz
#dl_absoluteFrequencyPointA = 620112;
# this is 3300.60 MHz
dl_absoluteFrequencyPointA = 620040;
# this is 3502.56 MHz
#dl_absoluteFrequencyPointA = 633552;
# this is 3600.48 MHz
#dl_absoluteFrequencyPointA = 640032;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 162;
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 31899;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 11;
initialDLBWPsearchSpaceZero = 0;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 162;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 31899;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 12;
preambleReceivedTargetPower = -104;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "CI_MME_IP_ADDR";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "em1";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "CI_GNB_IP_ADDR";
GNB_INTERFACE_NAME_FOR_NGU = "em1";
GNB_IPV4_ADDRESS_FOR_NGU = "CI_GNB_IP_ADDR";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
# pusch_TargetSNRx10 = 200;
# pucch_TargetSNRx10 = 150;
ulsch_max_frame_inactivity = 0;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
prach_dtx_threshold = 120;
# pucch0_dtx_threshold = 150;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 2
nb_rx = 2
att_tx = 0
att_rx = 0;
bands = [78];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights = [0x00007fff, 0x0000];
##beamforming 1x4 matrix: 1 layer x 4 antennas
#bf_weights = [0x00007fff, 0x0000,0x0000, 0x0000];
## beamforming 2x2 matrix:
# bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension = 0
sdr_addrs = "mgmt_addr=192.168.18.240,addr=192.168.10.2,second_addr=192.168.20.2,clock_source=internal,time_source=internal"
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms = ( "nea0" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering = "yes";
drb_integrity = "no";
};
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
f1ap_log_level ="debug";
};

View File

@@ -21,9 +21,10 @@ gNBs =
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
{
@@ -54,15 +55,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -117,19 +109,6 @@ gNBs =
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 69; # this is SS=10 L=2
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -211,16 +190,15 @@ MACRLCs = (
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
ulsch_max_slots_inactivity = 1;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 8;
}
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 8;
}
);
RUs = (
@@ -277,18 +255,11 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -52,15 +52,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 0;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0; #for DL slot
initialDLBWPmappingType_0 = 0; #0=typeA,1=typeB
initialDLBWPstartSymbolAndLength_0 = 40; #this is SS=1,L=13
initialDLBWPk0_1 = 0; #for mixed slot
initialDLBWPmappingType_1 = 0;
initialDLBWPstartSymbolAndLength_1 = 57; #this is SS=1,L=5
#uplinkConfigCommon
#frequencyInfoUL
@@ -115,18 +106,6 @@ gNBs =
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 6; # used for UL slot
initialULBWPmappingType_0 = 1
initialULBWPstartSymbolAndLength_0 = 41; # this is SS=0 L=13
initialULBWPk2_1 = 6; # used for mixed slot
initialULBWPmappingType_1 = 1;
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
initialULBWPk2_2 = 7; # used for Msg.3 during RA
initialULBWPmappingType_2 = 1;
initialULBWPstartSymbolAndLength_2 = 52; # this is SS=10 L=4
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -226,16 +205,17 @@ MACRLCs = (
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 200;
ulsch_max_frame_inactivity = 1;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 6;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
{
num_cc = 1;
tr_n_preference = "local_mac";
thread_pool_size = 6;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
);
RUs = (
@@ -249,6 +229,7 @@ RUs = (
max_pdschReferenceSignalPower = -27;
max_rxgain = 111;
eNB_instances = [0];
# sdr_addrs = "serial=30C51D4";
# clock_src = "external";
}
);
@@ -282,19 +263,12 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
uicc: {

View File

@@ -23,6 +23,7 @@ gNBs =
ssb_SubcarrierOffset = 31; //0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
servingCellConfigCommon = (
{
@@ -53,19 +54,6 @@ gNBs =
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 0;
initialDLBWPsearchSpaceZero = 0;
#pdsch-ConfigCommon
#pdschTimeDomainAllocationList (up to 16 entries)
initialDLBWPk0_0 = 0;
#initialULBWPmappingType
#0=typeA,1=typeB
initialDLBWPmappingType_0 = 0;#for DL slot
#this is SS=1,L=13
initialDLBWPstartSymbolAndLength_0 = 40;
initialDLBWPk0_1 = 0;#for mixed slot
initialDLBWPmappingType_1 = 0;
#this is SS=1,L=5
initialDLBWPstartSymbolAndLength_1 = 57;
#uplinkConfigCommon
#frequencyInfoUL
@@ -120,21 +108,6 @@ gNBs =
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0 = 2;
initialULBWPmappingType_0 = 1
# this is SS=0 L=11
initialULBWPstartSymbolAndLength_0 = 41;
initialULBWPk2_1 = 2;
initialULBWPmappingType_1 = 1;
# this is SS=0 L=12
initialULBWPstartSymbolAndLength_1 = 69;
initialULBWPk2_2 = 7;
initialULBWPmappingType_2 = 1;
# this is SS=10 L=4
initialULBWPstartSymbolAndLength_2 = 52;
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
@@ -238,11 +211,11 @@ MACRLCs = (
);
L1s = (
{
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 6;
}
thread_pool_size = 6;
}
);
RUs = (
@@ -292,19 +265,12 @@ security = {
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
uicc: {

View File

@@ -0,0 +1,291 @@
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
gNB_name = "gNB-Eurecom-5GNRBox";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({
mcc = 208;
mnc = 95;
mnc_length = 2;
snssaiList = (
{
sst = 1;
sd = 0x1; // 0 false, else true
},
{
sst = 2;
sd = 2; // 0 false, else true
}
);
});
nr_cellid = 12345678L;
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
min_rxtxtime = 6;
sib1_tda = 0;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 12;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 433096;
dl_frequencyBand = 66;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 430000;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 106;
#initialDownlinkBWP
#genericParameters
# this is RBstart=27,L=48 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 13475; # 6366 12925 12956 28875 12952
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 66;
ul_absoluteFrequencyPointA = 350000;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 106;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 13475;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -118;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// MME parameters:
amf_ip_address = ( { ipv4 = "192.168.70.132";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.70.129/24";
GNB_INTERFACE_NAME_FOR_NGU = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.70.129/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
ulsch_max_slots_inactivity = 100;
pusch_TargetSNRx10 = 200;
pucch_TargetSNRx10 = 200;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 8;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [7];
max_pdschReferenceSignalPower = -27;
max_rxgain = 75;
eNB_instances = [0];
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
clock_src = "internal";
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
rfsimulator :
{
serveraddr = "server";
serverport = "4043";
options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs";
};
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms = ( "nea0" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering = "yes";
drb_integrity = "no";
};
log_config :
{
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
ngap_log_level ="debug";
};

View File

@@ -0,0 +1,301 @@
Active_gNBs = ( "gNB-OAI");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";
gNBs =
(
{
////////// Identification parameters:
gNB_ID = 0xe00;
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1;
plmn_list = ({
mcc = 208;
mnc = 99;
mnc_length = 2;
snssaiList = (
{
sst = 1;
sd = 0x1; // 0 false, else true
},
{
sst = 1;
sd = 0x112233; // 0 false, else true
}
);
});
nr_cellid = 12345678L;
////////// Physical parameters:
ssb_SubcarrierOffset = 0;
pdsch_AntennaPorts = 1;
pusch_AntennaPorts = 1;
sib1_tda = 15;
min_rxtxtime = 6;
pdcch_ConfigSIB1 = (
{
controlResourceSetZero = 2;
searchSpaceZero = 0;
}
);
servingCellConfigCommon = (
{
#spCellConfigCommon
physCellId = 0;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3600 MHz + 12 PRBs@30kHz SCS (same as initial BWP)
absoluteFrequencySSB = 640288;
dl_frequencyBand = 78;
# this is 3600 MHz
dl_absoluteFrequencyPointA = 640000;
#scs-SpecificCarrierList
dl_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 24;
#initialDownlinkBWP
#genericParameters
# this is RBstart=27,L=48 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth = 6325;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 2;
initialDLBWPsearchSpaceZero = 0;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand = 78;
#scs-SpecificCarrierList
ul_offstToCarrier = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 24;
pMax = 20;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth = 6325;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing = 1;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex = 98;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM = 0;
prach_msg1_FrequencyStart = 0;
zeroCorrelationZoneConfig = 13;
preambleReceivedTargetPower = -96;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax = 6;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep = 1;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow = 4;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer = 7;
rsrp_ThresholdSSB = 19;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR = 2;
prach_RootSequenceIndex = 1;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0;
hoppingId = 40;
p0_nominal = -90;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing = 1;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2;
nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -25;
}
);
# ------- SCTP definitions
SCTP :
{
# Number of streams to use in input/output
SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2;
};
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "192.168.70.132";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES :
{
GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.70.129/24";
GNB_INTERFACE_NAME_FOR_NGU = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.70.129/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
}
);
MACRLCs = (
{
num_cc = 1;
tr_s_preference = "local_L1";
tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 150;
pucch_TargetSNRx10 = 200;
ulsch_max_frame_inactivity = 1;
}
);
L1s = (
{
num_cc = 1;
tr_n_preference = "local_mac";
pusch_proc_threads = 8;
prach_dtx_threshold = 120;
pucch0_dtx_threshold = 150;
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 0
att_rx = 0;
bands = [78];
max_pdschReferenceSignalPower = -27;
max_rxgain = 114;
sf_extension = 0;
eNB_instances = [0];
#beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
clock_src = "internal";
}
);
THREAD_STRUCT = (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config = "PARALLEL_SINGLE_THREAD";
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config = "WORKER_ENABLE";
}
);
rfsimulator :
{
serveraddr = "server";
serverport = "4043";
options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs";
};
security = {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms = ( "nea0" );
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms = ( "nia2", "nia0" );
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering = "yes";
drb_integrity = "no";
};
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
ngap_log_level ="debug";
ngap_log_verbosity ="medium";
};

View File

@@ -257,17 +257,10 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -406,19 +406,12 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
//rfsimulator :

View File

@@ -406,19 +406,12 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
//rfsimulator :

View File

@@ -165,19 +165,12 @@ eNBs =
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}

View File

@@ -0,0 +1,37 @@
log_config = {
global_log_level ="info";
hw_log_level ="info";
phy_log_level ="info";
mac_log_level ="info";
rlc_log_level ="info";
pdcp_log_level ="info";
rrc_log_level ="info";
};
L1s = (
{
num_cc = 1;
tr_n_preference = "nfapi";
local_n_if_name = "ens3";
remote_n_address = "127.0.0.1"; //Proxy IP
local_n_address = "127.0.0.1";
local_n_portc = 50600;
remote_n_portc = 50601;
local_n_portd = 50610;
remote_n_portd = 50611;
}
);
RUs = (
{
local_rf = "yes"
nb_tx = 1
nb_rx = 1
att_tx = 90
att_rx = 0;
bands = [7,38,42,43];
max_pdschReferenceSignalPower = -27;
max_rxgain = 125;
}
);

View File

@@ -227,17 +227,10 @@ THREAD_STRUCT = (
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -168,19 +168,12 @@ eNBs =
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}

View File

@@ -168,19 +168,12 @@ eNBs =
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}

View File

@@ -168,19 +168,12 @@ eNBs =
log_config :
{
global_log_level ="debug";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};
}

View File

@@ -263,17 +263,10 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -263,17 +263,10 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -263,17 +263,10 @@ NETWORK_CONTROLLER :
log_config :
{
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -365,17 +365,10 @@ THREAD_STRUCT = (
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

View File

@@ -365,17 +365,10 @@ THREAD_STRUCT = (
log_config = {
global_log_level ="info";
global_log_verbosity ="medium";
hw_log_level ="info";
hw_log_verbosity ="medium";
phy_log_level ="info";
phy_log_verbosity ="medium";
mac_log_level ="info";
mac_log_verbosity ="high";
rlc_log_level ="info";
rlc_log_verbosity ="medium";
pdcp_log_level ="info";
pdcp_log_verbosity ="medium";
rrc_log_level ="info";
rrc_log_verbosity ="medium";
};

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